History log of /src/sys/dev/mii/atphy.c |
Revision | | Date | Author | Comments |
1.33 |
| 04-Oct-2025 |
thorpej | Use device_{get,set}prop_bool() for rgmii-related properties.
|
1.32 |
| 20-Jul-2024 |
andvar | fix typos in comments, mainly s/harware/hardware/.
|
1.31 |
| 22-Feb-2023 |
msaitoh | branches: 1.31.6; Retry autonegotiation every mii_anegticks seconds instead of mii_anegticks+1.
|
1.30 |
| 15-Mar-2020 |
thorpej | branches: 1.30.22; 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.29 |
| 13-Mar-2020 |
msaitoh | Fix a bug that atphy(4) doesn't work with Attansic L2 rev. 1. Reported by Rocky Hotas.
- On ASUS M2N-MX SE Plus (NVIDIA MCP61 with Attansic L2 rev. 1), changing debug port 0x29's value makes the next PHY read fail with error. Read any register to ignore this problem if the PHY is Attansic L2 revision 1. I don't know if this problem is from L2 rev. 1 itself or from the combination because I have only one machine which has L2 rev. "1". At least, ASUS eee pc 900 (Attansic L2 rev. "2") has no this problem. - Add comment. AR8021 document has no description about the power saving control register(debug port 0x29). - Add comment. AR8031 document says the lower 14 bits are reserved and the default value is 0x36d0. Shouldn't we clear those bits? - I have no document neither L1(F1) nor L2(F2), so I don't know whether the debug port access is correct or not.
Tested with the following machines: - ASUS P5B SE, L1 rev. 5, age(4) - ASUS K50IJ, L1 rev. 9, ale(4) - ASUS eee pc 900, L2 rev. 2, lii(4) - ASUS M2N-MX SE Plus, L2 rev. 1, nfe(4) - Intel DP55WB, 82578(AR8021 rev. 2), wm(4) - Dell inspiron 14z, AR0835 rev. 9, alc(4)
|
1.28 |
| 13-Mar-2020 |
msaitoh | 0x001374 is non-bitreversed value of Attansic OUI(0x00c82e).
Attansic/Atheros correctly uses ID1 and ID2 register, so delete all 0x001374 related entries.
|
1.27 |
| 13-Dec-2019 |
msaitoh | KNF. No functional change.
|
1.26 |
| 27-Nov-2019 |
msaitoh | - 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.25 |
| 20-Nov-2019 |
msaitoh | Fix a bug that atphy(4) can't negotiate correctly when the media setting is neither auto nor 1000baseT. Use correct index for mii_media_table[].
History: mii_anar() is first added in OpenBSD and ported to NetBSD. On NetBSD, only atphy(4) use this function. mii_physubr.c rev. 1.75 changed mii_anar() for simplify. It changed the argument from the ifmedia word to ifm_data used in our MII API, but the caller have not been changed. And then, PR kern/50206 was reported and the caller was modified by me to prevent panic but it was not correct fix.
|
1.24 |
| 18-Oct-2019 |
hkenken | Modified atphy(4)
* Support CLK_25M clock out. * Support internal delay for RGMII interface.
|
1.23 |
| 02-Sep-2019 |
msaitoh | s/etphy/atphy/. No functional change.
|
1.22 |
| 11-Apr-2019 |
msaitoh | branches: 1.22.4; Simplify. No functional change.
|
1.21 |
| 25-Mar-2019 |
msaitoh | KNF. No functional change.
|
1.20 |
| 24-Feb-2019 |
christos | use a macro to tidy up the phydesc array initialization, from FreeBSD
|
1.19 |
| 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.18 |
| 02-Nov-2016 |
msaitoh | branches: 1.18.8; 1.18.14; 1.18.16; Set mii_mpd_{oui,model,rev}.
|
1.17 |
| 08-Sep-2015 |
msaitoh | branches: 1.17.2; Fix incorrect argument of mii_anar(). Fixes PR#50206. XXX pullup -[567]
|
1.16 |
| 16-Jun-2014 |
msaitoh | branches: 1.16.2; 1.16.4; 1.16.6; Fix a bug that atphy doesn't set the capability of pause function correctly. This bug was added in "mii.h" rev. 1.17.
|
1.15 |
| 16-Jun-2013 |
msaitoh | branches: 1.15.6; The bit location of link ability is different between 1000Base-X and others (See annex 28B.2 and 28D). The old mii.h defined ANAR_X_PAUSE_* macros. Those macros were named for 1000Base-X, but the bit definitions were not for 1000Base-X but for others (e.g. 1000BaseT). So there was bug in auto negotiation for 1000Base-X, but there was no bug for other media. Define new macro named ANAR_PAUSE_* and ANLPAR_PAUSE_* for other than 1000Base-X and fix the bit definitions of ANAR_X_PAUSE_* and ANLPPAR_X_*. Change some PHY drivers to use true macro. Same as other *BSDs.
|
1.14 |
| 09-Jun-2013 |
msaitoh | atphy, ciphy, ihphy and rgephy are gigabit PHY, so not only check IFM_AUTO for autonegotiation but also check IFM_1000_T, too.
|
1.13 |
| 06-Jun-2013 |
msaitoh | Fix a bug that the auto negotiation timer isn't cleard as we expected. To not to forget clearing the timer and to reduce the code duplication, clear mii_ticks in *mii_phy_auto().
|
1.12 |
| 23-Jul-2012 |
matt | branches: 1.12.2; Make it match AR8035
|
1.11 |
| 02-Oct-2011 |
jmcneill | branches: 1.11.2; 1.11.8; 1.11.12; 1.11.14; Attansic L2 is 10/100 but the status registers report 1000 Mbps, so don't bother reading MII_EXTSR for this part. Also use MII_ANEGTICKS instead of MII_ANEGTICKS_GIGE for this part.
|
1.10 |
| 23-Feb-2011 |
jmcneill | match on MII_MODEL_ATTANSIC_L2
alc0 at pci3 dev 0 function 0: Atheros AR8152 v2.0 PCIe Fast Ethernet alc0: ioapic0 pin 17 alc0: Ethernet address 00:26:6c:9e:d4:c1 atphy0 at alc0 phy 0: L2 10/100 PHY, rev. 5 atphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT-FDX, auto
|
1.9 |
| 22-Jan-2011 |
cegger | fix comment. from PR kern/44395
|
1.8 |
| 22-Jan-2011 |
cegger | Fixes from PR kern/44395 Masanori Kanaoka: - Fix register address in ale_phy_reset(). from linux - Fix mask value in ale_stop_mac(). - Fix multicast handling. from openbsd - Fix phy reset handling.
|
1.7 |
| 11-Dec-2010 |
matt | branches: 1.7.2; 1.7.4; Recognize AR8021
|
1.6 |
| 25-Jul-2009 |
cegger | branches: 1.6.4; 1.6.6; - replace magic number with proper define from mii.h. From OpenBSD. - fix typo in comment. From OpenBSD.
|
1.5 |
| 27-Mar-2009 |
cegger | branches: 1.5.2; 1.5.4; use auto-negotiation for manual media type selection. This should fix establishment of 10/100Mbps link on L1E. Helpful to reduce watchdog timeout problems on L1 (age(4)) reported by Jochen Kunz. From FreeBSD via OpenBSD.
|
1.4 |
| 12-Feb-2009 |
cegger | pretty print atphy's supported medias in dmesg.
|
1.3 |
| 11-Feb-2009 |
cegger | Attach atphy(4) on ATTANSIC oui. ok cube@
|
1.2 |
| 16-Jan-2009 |
cegger | branches: 1.2.2; 1.2.4; 1.2.6; add RCSID
|
1.1 |
| 16-Jan-2009 |
cegger | Driver for Attansic Technology F1 10/100/1000 Ethernet PHY.
Written by Pyun YongHyeon for FreeBSD, ported to OpenBSD by Kevin Lo, ported to NetBSD by me.
|
1.2.6.1 |
| 13-May-2009 |
jym | Sync with HEAD.
Commit is split, to avoid a "too many arguments" protocol error.
|
1.2.4.4 |
| 28-Apr-2009 |
skrll | Sync with HEAD.
|
1.2.4.3 |
| 03-Mar-2009 |
skrll | Sync with HEAD.
|
1.2.4.2 |
| 19-Jan-2009 |
skrll | Sync with HEAD.
|
1.2.4.1 |
| 16-Jan-2009 |
skrll | file atphy.c was added on branch nick-hppapmap on 2009-01-19 13:18:14 +0000
|
1.2.2.2 |
| 17-Jan-2009 |
mjf | Sync with HEAD.
|
1.2.2.1 |
| 16-Jan-2009 |
mjf | file atphy.c was added on branch mjf-devfs2 on 2009-01-17 13:28:57 +0000
|
1.5.4.3 |
| 19-Aug-2009 |
yamt | sync with head.
|
1.5.4.2 |
| 04-May-2009 |
yamt | sync with head.
|
1.5.4.1 |
| 27-Mar-2009 |
yamt | file atphy.c was added on branch yamt-nfs-mp on 2009-05-04 08:12:52 +0000
|
1.5.2.3 |
| 07-Nov-2015 |
snj | Pull up following revision(s) (requested by msaitoh in ticket #1978): sys/dev/mii/atphy.c: revision 1.17 Fix incorrect argument of mii_anar(). Fixes PR#50206. XXX pullup -[567]
|
1.5.2.2 |
| 03-May-2009 |
snj | branches: 1.5.2.2.2; 1.5.2.2.4; 1.5.2.2.6; Pull up following revision(s) (requested by cegger in ticket #735): sys/dev/pci/if_age.c: revisions 1.1-1.28 sys/dev/pci/if_agereg.h: revisions 1.1-1.2 sys/dev/pci/if_ale.c: revisions 1.1-1.3 sys/dev/pci/if_alereg.h: revisions 1.1-1.2 sys/dev/pci/files.pci: revisions 1.310-1.313 sys/dev/mii/atphy.c: revisions 1.1-1.5 sys/dev/mii/files.mii: revision 1.42 share/man/man4/age.4: revisions 1.1-1.3 share/man/man4/ale.4: revisions 1.1-1.2 share/man/man4/atphy.4: revisions 1.1-1.2 share/man/man4/Makefile: revisions 1.486, 1.489 distrib/sets/lists/man/mi: revisions 1.1118, 1.1132 sys/arch/i386/conf/GENERIC: revisions 1.928, 1.933 sys/arch/i386/conf/XEN2_DOM0: revisions 1.57, 1.60 sys/arch/amd64/conf/GENERIC: revisions 1.239, 1.241 sys/arch/amd64/conf/XEN3_DOM0: revisions 1.38, 1.42 Add the age(4) and ale(4) drivers for Attansic L1 and Atheros AR8121/AR8113/AR8114 devices respectively.
|
1.5.2.1 |
| 27-Mar-2009 |
snj | file atphy.c was added on branch netbsd-5 on 2009-05-03 23:45:47 +0000
|
1.5.2.2.6.1 |
| 07-Nov-2015 |
snj | Pull up following revision(s) (requested by msaitoh in ticket #1978): sys/dev/mii/atphy.c: revision 1.17 Fix incorrect argument of mii_anar(). Fixes PR#50206.
|
1.5.2.2.4.1 |
| 07-Jan-2011 |
matt | Match some more phys.
|
1.5.2.2.2.1 |
| 07-Nov-2015 |
snj | Pull up following revision(s) (requested by msaitoh in ticket #1978): sys/dev/mii/atphy.c: revision 1.17 Fix incorrect argument of mii_anar(). Fixes PR#50206.
|
1.6.6.2 |
| 21-Apr-2010 |
matt | sync to netbsd-5
|
1.6.6.1 |
| 25-Jul-2009 |
matt | file atphy.c was added on branch matt-nb5-mips64 on 2010-04-21 00:27:39 +0000
|
1.6.4.1 |
| 05-Mar-2011 |
rmind | sync with head
|
1.7.4.2 |
| 05-Mar-2011 |
bouyer | Sync with HEAD
|
1.7.4.1 |
| 08-Feb-2011 |
bouyer | Sync with HEAD
|
1.7.2.1 |
| 06-Jun-2011 |
jruoho | Sync with HEAD.
|
1.11.14.1 |
| 15-Nov-2015 |
bouyer | Pull up following revision(s) (requested by msaitoh in ticket #1325): sys/dev/mii/atphy.c: revision 1.17 Fix incorrect argument of mii_anar(). Fixes PR#50206. XXX pullup -[567]
|
1.11.12.1 |
| 15-Nov-2015 |
bouyer | Pull up following revision(s) (requested by msaitoh in ticket #1325): sys/dev/mii/atphy.c: revision 1.17 Fix incorrect argument of mii_anar(). Fixes PR#50206. XXX pullup -[567]
|
1.11.8.3 |
| 15-Nov-2015 |
bouyer | Pull up following revision(s) (requested by msaitoh in ticket #1325): sys/dev/mii/atphy.c: revision 1.17 Fix incorrect argument of mii_anar(). Fixes PR#50206. XXX pullup -[567]
|
1.11.8.2 |
| 04-Feb-2015 |
martin | Pull up following revision(s) (requested by msaitoh in ticket #1245): sys/dev/mii/rgephy.c: revision 1.30 sys/dev/mii/brgphy.c: revision 1.64 sys/dev/mii/atphy.c: revision 1.13 sys/dev/mii/urlphy.c: revision 1.26 sys/dev/mii/ciphy.c: revision 1.20 sys/dev/mii/mii_physubr.c: revision 1.76 Fix a bug that the auto negotiation timer isn't cleard as we expected. To not to forget clearing the timer and to reduce the code duplication, clear mii_ticks in *mii_phy_auto().
|
1.11.8.1 |
| 04-Nov-2014 |
martin | Pull up following revision(s) (requested by msaitoh in ticket #1146): sys/dev/mii/mii_physubr.c: revision 1.79 sys/dev/mii/rgephy.c: revision 1.33 sys/dev/mii/brgphy.c: revision 1.66 sys/dev/mii/atphy.c: revision 1.15 sys/dev/mii/mii.h: revision 1.17 The bit location of link ability is different between 1000Base-X and others (See annex 28B.2 and 28D). The old mii.h defined ANAR_X_PAUSE_* macros. Those macros were named for 1000Base-X, but the bit definitions were not for 1000Base-X but for others (e.g. 1000BaseT). So there was bug in auto negotiation for 1000Base-X, but there was no bug for other media. Define new macro named ANAR_PAUSE_* and ANLPAR_PAUSE_* for other than 1000Base-X and fix the bit definitions of ANAR_X_PAUSE_* and ANLPPAR_X_*. Change some PHY drivers to use true macro. Same as other *BSDs.
|
1.11.2.2 |
| 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
1.11.2.1 |
| 30-Oct-2012 |
yamt | sync with head
|
1.12.2.3 |
| 03-Dec-2017 |
jdolecek | update from HEAD
|
1.12.2.2 |
| 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.12.2.1 |
| 23-Jun-2013 |
tls | resync from head
|
1.15.6.1 |
| 10-Aug-2014 |
tls | Rebase.
|
1.16.6.1 |
| 04-Nov-2015 |
riz | Pull up following revision(s) (requested by msaitoh in ticket #971): sys/dev/mii/atphy.c: revision 1.17 Fix incorrect argument of mii_anar(). Fixes PR#50206. XXX pullup -[567]
|
1.16.4.2 |
| 05-Dec-2016 |
skrll | Sync with HEAD
|
1.16.4.1 |
| 22-Sep-2015 |
skrll | Sync with HEAD
|
1.16.2.2 |
| 12-Dec-2016 |
snj | Pull up following revision(s) (requested by msaitoh in ticket #1301): sys/dev/mii/inphy.c: revision 1.55 sys/dev/mii/makphy.c: revision 1.42 sys/dev/mii/ikphy.c: revision 1.12 sys/dev/mii/atphy.c: revision 1.18 sys/dev/mii/ihphy.c: revision 1.10 Set mii_mpd_{oui,model,rev}. -- Set mii_mpd_{oui,model,rev}. -- Set mii_mpd_{oui,model,rev}. -- Set mii_mpd_{oui,rev}.
|
1.16.2.1 |
| 04-Nov-2015 |
riz | branches: 1.16.2.1.2; Pull up following revision(s) (requested by msaitoh in ticket #971): sys/dev/mii/atphy.c: revision 1.17 Fix incorrect argument of mii_anar(). Fixes PR#50206. XXX pullup -[567]
|
1.16.2.1.2.1 |
| 18-Jan-2017 |
skrll | Sync with netbsd-5
|
1.17.2.1 |
| 04-Nov-2016 |
pgoyette | Sync with HEAD
|
1.18.16.2 |
| 13-Apr-2020 |
martin | Mostly merge changes from HEAD upto 20200411
|
1.18.16.1 |
| 10-Jun-2019 |
christos | Sync with HEAD
|
1.18.14.1 |
| 26-Jan-2019 |
pgoyette | Sync with HEAD
|
1.18.8.2 |
| 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.18.8.1 |
| 21-Nov-2019 |
martin | Pull up the following revisions, requested by msaitoh in ticket #1454:
sys/dev/mii/atphy.c 1.22-1.23, 1.25 via patch sys/dev/mii/mii_physubr.c 1.88 via patch sys/dev/mii/miivar.h 1.69 via patch
- Fix a bug that atphy(4) can't negotiate correctly when the media setting is neither auto nor 1000baseT. - Code cleanup.
|
1.22.4.2 |
| 19-Mar-2020 |
martin | Pull up following revision(s) (requested by msaitoh in ticket #786):
sys/dev/pci/if_nfe.c: revision 1.77 sys/dev/pci/if_nfe.c: revision 1.78 sys/dev/mii/atphy.c: revision 1.28 sys/dev/mii/atphy.c: revision 1.29 sys/dev/mii/miidevs: revision 1.166
Use unsigned to avoid undefined behavior. Found by kUBSan. 0x001374 is non-bitreversed value of Attansic OUI(0x00c82e). Attansic/Atheros correctly uses ID1 and ID2 register, so delete all 0x001374 related entries.
Improve error check: - We check PHY register read error correctly (timeout and NFE_PHY_ERROR), so don't check NFE_PHY_DATA register's value with 0xffffffff or 0. At least, some registers may have 0. - Check NFE_PHY_ERROR bit in nfe_miibus_writereg(). - Improve debug printf
Fix a bug that atphy(4) doesn't work with Attansic L2 rev. 1. Reported by Rocky Hotas.
- On ASUS M2N-MX SE Plus (NVIDIA MCP61 with Attansic L2 rev. 1), changing debug port 0x29's value makes the next PHY read fail with error. Read any register to ignore this problem if the PHY is Attansic L2 revision 1. I don't know if this problem is from L2 rev. 1 itself or from the combination because I have only one machine which has L2 rev. "1". At least, ASUS eee pc 900 (Attansic L2 rev. "2") has no this problem. - Add comment. AR8021 document has no description about the power saving control register(debug port 0x29). - Add comment. AR8031 document says the lower 14 bits are reserved and the default value is 0x36d0. Shouldn't we clear those bits? - I have no document neither L1(F1) nor L2(F2), so I don't know whether the debug port access is correct or not. Tested with the following machines: - ASUS P5B SE, L1 rev. 5, age(4) - ASUS K50IJ, L1 rev. 9, ale(4) - ASUS eee pc 900, L2 rev. 2, lii(4) - ASUS M2N-MX SE Plus, L2 rev. 1, nfe(4) - Intel DP55WB, 82578(AR8021 rev. 2), wm(4) - Dell inspiron 14z, AR0835 rev. 9, alc(4)
|
1.22.4.1 |
| 21-Nov-2019 |
martin | Pull up following revision(s) (requested by msaitoh in ticket #459):
sys/dev/mii/atphy.c: revision 1.23 sys/dev/mii/atphy.c: revision 1.25 sys/dev/mii/miivar.h: revision 1.69 sys/dev/mii/mii_physubr.c: revision 1.88
s/etphy/atphy/. No functional change.
Fix a bug that atphy(4) can't negotiate correctly when the media setting is neither auto nor 1000baseT. Use correct index for mii_media_table[].
History: mii_anar() is first added in OpenBSD and ported to NetBSD. On NetBSD, only atphy(4) use this function. mii_physubr.c rev. 1.75 changed mii_anar() for simplify. It changed the argument from the ifmedia word to ifm_data used in our MII API, but the caller have not been changed. And then, PR kern/50206 was reported and the caller was modified by me to prevent panic but it was not correct fix.
|
1.30.22.1 |
| 21-Jun-2023 |
martin | Pull up following revision(s) (requested by msaitoh in ticket #208):
sys/dev/mii/ciphy.c: revision 1.42 sys/dev/mii/brgphy.c: revision 1.91 sys/dev/mii/mii_physubr.c: revision 1.102 sys/dev/mii/ipgphy.c: revision 1.11 sys/dev/mii/tlphy.c: revision 1.72 sys/dev/mii/jmphy.c: revision 1.5 sys/dev/mii/urlphy.c: revision 1.40 sys/dev/mii/atphy.c: revision 1.31
Retry autonegotiation every mii_anegticks seconds instead of mii_anegticks+1.
|
1.31.6.1 |
| 02-Aug-2025 |
perseant | Sync with HEAD
|