Home | History | Annotate | Download | only in sunxi
History log of /src/sys/arch/arm/sunxi/sun4i_emac.c
RevisionDateAuthorComments
 1.15  18-Sep-2022  thorpej Eliminate use of IFF_OACTIVE.
 1.14  27-Jan-2021  thorpej Rename of_match_compat_data() to of_compatible_match(). Similarly,
rename of_search_compatible() to of_compatible_lookup().

Standardize on of_compatible_match() for driver matching, and adapt
all call sites.
 1.13  15-Jan-2021  jmcneill use fdtbus_intr_establish_xname
 1.12  29-Jan-2020  thorpej branches: 1.12.6;
Adopt <net/if_stats.h>.
 1.11  28-May-2019  msaitoh branches: 1.11.4;
Use ETHER_LOCK()/ETHER_UNLOCK() for all ethernet drivers to protect ec_multi*.
 1.10  23-May-2019  msaitoh Whitespace fix (mainly tabify).
 1.9  23-May-2019  msaitoh -No functional change:
- KNF
- u_int*_t -> uint*_t.
 1.8  08-May-2019  ozaki-r Protect ether_multi list

PR 54153
 1.7  22-Apr-2019  msaitoh In drivers which use MII(4) and have hook SIOC[GS]IFMEDIA which just pass to
ifmedia_ioctl(), the hook is not required because ether_ioctl has it
(if_ethersubr.c rev. 1.160). These drivers don't return ENETRESET in
ifmedia_ioctl(), so no functional change.
 1.6  22-Jan-2019  msaitoh Change MII PHY read/write API from:

int (*mii_readreg_t)(device_t, int, int);
void (*mii_writereg_t)(device_t, int, int, int);
to:

int (*mii_readreg_t)(device_t, int, int, uint16_t *);
int (*mii_writereg_t)(device_t, int, int, uint16_t);

Now we can test if a read/write operation failed or not by the return value.

In 802.3 spec says that the PHY shall not respond to read/write transaction
to the unimplemented register(22.2.4.3). Detecting timeout can be used to
check whether a register is implemented or not (if the register conforms to
the spec). ukphy(4) can be used this for MII_MMDACR and MII_MMDAADR.

Note that I noticed that the following code do infinite loop in the
read/wirte function. If it accesses unimplemented PHY register, it will hang.
It should be fixed:

arm/at91/at91emac.c
arm/ep93xx/epe.c
arm/omap/omapl1x_emac.c
mips/ralink/ralink_eth.c
arch/powerpc/booke/dev/pq3etsec.c(read)
dev/cadence/if_cemac.c <- hkenken
dev/ic/lan9118.c


Tested with the following device:

axe+ukphy
axe+rgephy
axen+rgephy (tested by Andrius V)
wm+atphy
wm+ukphy
wm+igphy
wm+ihphy
wm+makphy
sk+makphy
sk+brgphy
sk+gentbi
msk+makphy
sip+icsphy
sip+ukphy
re+rgephy
bge+brgphy
bnx+brgphy
gsip+gphyter
rtk+rlphy
fxp+inphy (tested by Andrius V)
tlp+acphy
ex+exphy
epic+qsphy
vge+ciphy (tested by Andrius V)
vr+ukphy (tested by Andrius V)
vte+ukphy (tested by Andrius V)

Not tested (MAC):
arm:at91emac
arm:cemac
arm:epe
arm:geminigmac
arm:enet
arm:cpsw
arm:emac(omac)
arm:emac(sunxi)
arm:npe
evbppc:temac
macppc:bm
macppc:gm
mips:aumac
mips:ae
mips:cnmac
mips:reth
mips:sbmac
playstation2:smap
powerpc:tsec
powerpc:emac(ibm4xx)
sgimips:mec
sparc:be
sf
ne(ax88190, dl10019)
awge
ep
gem
hme
smsh
mtd
sm
age
alc
ale
bce
cas
et
jme
lii
nfe
pcn
ste
stge
tl
xi
aue
mue
smsc
udav
url

Not tested (PHY):
amhphy
bmtphy
dmphy
etphy
glxtphy
ikphy
iophy
lxtphy
nsphyter
pnaphy
rdcphy
sqphy
tlphy
tqphy
urlphy
 1.5  18-Jul-2018  sevan Be consistent among ethernet drivers on the convention for printing ethernet
addresses.

NFC
 1.4  26-Jun-2018  msaitoh branches: 1.4.2;
Implement the BPF direction filter (BIOC[GS]DIRECTION). It provides backward
compatibility with BIOC[GS]SEESENT ioctl. The userland interface is the same
as FreeBSD.

This change also fixes a bug that the direction is misunderstand on some
environment by passing the direction to bpf_mtap*() instead of checking
m->m_pkthdr.rcvif.
 1.3  12-Feb-2018  maxv branches: 1.3.2;
Another missing NULL-check.
 1.2  30-Nov-2017  jmcneill branches: 1.2.2;
report VLAN MTU capability
 1.1  20-Oct-2017  jmcneill Add driver for sun4i/sun7i 10/100 Fast Ethernet controller (EMAC).
 1.2.2.2  03-Dec-2017  jdolecek update from HEAD
 1.2.2.1  30-Nov-2017  jdolecek file sun4i_emac.c was added on branch tls-maxphys on 2017-12-03 11:35:56 +0000
 1.3.2.2  26-Jan-2019  pgoyette Sync with HEAD
 1.3.2.1  28-Jul-2018  pgoyette Sync with HEAD
 1.4.2.2  08-Apr-2020  martin Merge changes from current as of 20200406
 1.4.2.1  10-Jun-2019  christos Sync with HEAD
 1.11.4.1  29-Feb-2020  ad Sync with head.
 1.12.6.1  03-Apr-2021  thorpej Sync with HEAD.

RSS XML Feed