On 2018/06/17 2:44, Jaromir Dolecek wrote:
Module Name:    src
Committed By:   jdolecek
Date:           Sat Jun 16 17:44:53 UTC 2018

Modified Files:
        src/sys/dev/mii: makphy.c
Added Files:
        src/sys/dev/mii: e1000phyreg.h
Removed Files:
        src/sys/dev/mii: makphyreg.h

Log Message:
switch to using OpenBSD eehpy(4) code to drive maphy(4), synchronizing support
for several special PHY conditions, particularly:
- Properly re-initialise the PHY upon resume
- Store next page in the Link Partner Next Page register for compatibility
   with 802.3ab on 88E3016 PHYs.  Fixes some autonegotiation problems on msk(4)
- Make 88E3016 actually work
- Make sure page 0 is selected when we initialize the PHY.  Fixes problems
   with the eephy(4) that attaches to nfe(4) on machines like the Sun Ultra 40.
   (we had condition for this, now the page 0 is selected for any PHY type)
- Disable fiber/copper auto-selection on the 88E1111 if it is in RGMII mode, to
   work around the fact that the onboard PHYs attached to nfe(4) on the Sun
   X4100 M2 have fiber/copper auto-selection enabled even though the interfaces
   are clearly copper-only

make sure to also add appropriate licenses, since basically nothing
really significant remains out of previous code

use FreeBSD <dev/mii/e1000reg.h> for register definitions as a base instead
of OpenBSD <dev/mii/eephyreg.h>, since it has some extra definitions for some
3016 bits, but add the several extra bits from OpenBSD needed by the code;
removed no longed used <dev/mii/makphyreg.h>

 IMHO, I would be better having discussion before committing this change.
At least, all of Marvell PHY's registers from addr 0x0 to 0xf conforms
IEEE 802.3 specification, so those register definitions are not required.



tested with PHY 88E1111, there no particular change observed - the
link status works as it did before, just now it does media nego
even before the interface is up

should however fix 88E3016 support and hence PR kern/49270 and PR kern/53301


To generate a diff of this commit:
cvs rdiff -u -r0 -r1.1 src/sys/dev/mii/e1000phyreg.h
cvs rdiff -u -r1.43 -r1.44 src/sys/dev/mii/makphy.c
cvs rdiff -u -r1.6 -r0 src/sys/dev/mii/makphyreg.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



--
-----------------------------------------------
                SAITOH Masanobu (msai...@execsw.org
                                 msai...@netbsd.org)

Reply via email to