History log of /src/sys/dev/mii/rdcphy.c |
Revision | | Date | Author | Comments |
1.8 |
| 08-Apr-2020 |
msaitoh | Add two new RDC PHYs from Andrius V.
|
1.7 |
| 15-Mar-2020 |
thorpej | Define and implement a locking protocol for the ifmedia / mii layers: - MP-safe drivers provide a mutex to ifmedia that is used to serialize access to media-related structures / hardware regsiters. Converted drivers use the new ifmedia_init_with_lock() function for this. The new name is provided to ease the transition. - Un-converted drivers continue to call ifmedia_init(), which will supply a compatibility lock to be used instead. Several media-related entry points must be aware of this compatibility lock, and are able to acquire it recursively a limited number of times, if needed. This is a SPIN mutex with priority IPL_NET. - This same lock is used to serialize access to PHY registers and other MII-related data structures.
The PHY drivers are modified to acquire and release the lock, as needed, and assert the lock is held as a diagnostic aid.
The "usbnet" framework has had an overhaul of its internal locking protocols to fit in with the media / mii changes, and the drivers adapted.
USB wifi drivers have been changed to provide their own adaptive mutex to the ifmedia later via a new ieee80211_media_init_with_lock() function. This is required because the USB drivers need an adaptive mutex.
Besised "usbnet", a few other drivers are converted: vmx, wm, ixgbe / ixv.
mcx also now calls ifmedia_init_with_lock() because it needs to also use an adaptive mutex. The mcx driver still needs to be fully converted to NET_MPSAFE.
|
1.6 |
| 05-Feb-2020 |
msaitoh | RDC -> xxRDC. No functional change.
|
1.5 |
| 27-Nov-2019 |
msaitoh | branches: 1.5.2; - Simplify sc->mii_anegticks setting. Same as FreeBSD.
Don't set the default value not in the attach function. Instead, set the default value (MII_ANEGTICKS) first in the beginning of the mii_phy_add_media(). The function already has the code to change the value to MII_ANEGTICKS_GIGE if it's gigabit capable.
- Remove extra pmf_device_register() call. It's done in mii_phy_add_media().
|
1.4 |
| 25-Mar-2019 |
msaitoh | branches: 1.4.4; KNF. No functional change.
|
1.3 |
| 24-Feb-2019 |
christos | use a macro to tidy up the phydesc array initialization, from FreeBSD
|
1.2 |
| 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.1 |
| 26-Jan-2011 |
bouyer | branches: 1.1.2; 1.1.4; 1.1.8; 1.1.54; 1.1.60; 1.1.62; Add a driver for the RDC Semiconductor RDC R6040 10/100 Ethernet controller, as found in the vortex86 SoCs (http://www.vortex86dx.com). Ported from freebsd. Not added to amd64's GENERIC because this CPU is 32bit only.
thanks to DM&P Electronics, Inc for providing documentation and sample devices for this work.
|
1.1.62.3 |
| 13-Apr-2020 |
martin | Mostly merge changes from HEAD upto 20200411
|
1.1.62.2 |
| 08-Apr-2020 |
martin | Merge changes from current as of 20200406
|
1.1.62.1 |
| 10-Jun-2019 |
christos | Sync with HEAD
|
1.1.60.1 |
| 26-Jan-2019 |
pgoyette | Sync with HEAD
|
1.1.54.1 |
| 14-Apr-2020 |
martin | Pull up the following revisions, requested by msaitoh in ticket #1529:
sys/dev/mii/miidevs 1.154, 1.162-1.167 sys/dev/mii/atphy.c 1.28 via patch sys/dev/mii/brgphy.c 1.87 via patch sys/dev/mii/etphy.c 1.5, 1.6 via patch sys/dev/mii/rdcphy.c 1.6, 1.8 via patch
- Add support Broadcom BCM54213PE and some new RDC devices. - Rename RDC to xxRDC. - Use xxVIA instead of VIA. - etphy(4): - Rename ET1011 to ET1011C and add ET1011 support. - Use mii_phy_flowstatus() to reflect flow status from negotiated result. - Use static. - KNF.
|
1.1.8.2 |
| 06-Jun-2011 |
jruoho | Sync with HEAD.
|
1.1.8.1 |
| 26-Jan-2011 |
jruoho | file rdcphy.c was added on branch jruoho-x86intr on 2011-06-06 09:08:07 +0000
|
1.1.4.2 |
| 05-Mar-2011 |
rmind | sync with head
|
1.1.4.1 |
| 26-Jan-2011 |
rmind | file rdcphy.c was added on branch rmind-uvmplock on 2011-03-05 20:53:32 +0000
|
1.1.2.2 |
| 08-Feb-2011 |
bouyer | Sync with HEAD
|
1.1.2.1 |
| 26-Jan-2011 |
bouyer | file rdcphy.c was added on branch bouyer-quota2 on 2011-02-08 16:19:49 +0000
|
1.4.4.1 |
| 14-Apr-2020 |
martin | Pull up following revision(s) (requested by msaitoh in ticket #831):
sys/dev/mii/rdcphy.c: revision 1.6 sys/dev/mii/rdcphy.c: revision 1.8 sys/dev/mii/miidevs: revision 1.162 sys/dev/mii/miidevs: revision 1.163 sys/dev/mii/miidevs: revision 1.164 sys/dev/mii/miidevs: revision 1.165 sys/dev/mii/miidevs: revision 1.167 sys/dev/mii/brgphy.c: revision 1.87
Change the OUI macro name of RDC to xxRDC. 0x00d02d is non-bitreverse value of official 0x000bb4. From Andrius V. RDC -> xxRDC. No functional change.
Add BCM54213PE
Match BCM54213PE
Use xxVIA instead of VIA. 0x004063 is VIA's official OUI but VT6103 use 0x0002c6. 0x0002c6 is non-bitreversed value of 0x004063. Reported by Andrius V.
- Add Quake Technologies and Aeluros' OUI - Add Teranetics TN1010 10GBase-T PHY Add two new RDC PHYs from Andrius V. Add two new RDC PHYs from Andrius V.
|
1.5.2.1 |
| 29-Feb-2020 |
ad | Sync with head.
|