Home | History | Annotate | Download | only in mii
History log of /src/sys/dev/mii/micphy.c
RevisionDateAuthorComments
 1.15  31-Oct-2022  jmcneill fix blank printf at attach
 1.14  28-Mar-2020  thorpej Don't set DVF_DETACH_SHUTDOWN. The MII layer wants to manage the lifecycle
of the PHY devices, and if a NIC driver chooses not to detach its PHYs
at shutdown, that's the driver's business.

PR kern/55121.
 1.13  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.12  14-Feb-2020  nisimura add missing two aprint_normal* lines
 1.11  13-Dec-2019  msaitoh branches: 1.11.2;
KNF. No functional change.
 1.10  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.9  06-Nov-2019  msaitoh Add support for KSZ80[0456]1, KSZ8721, KSZ9[01]31, KS8731 and KSZ9477.
It also supports LAN7430's internal PHY. First wrote by nisimura@ and added
some device support by me. Not tested well.
 1.8  25-Mar-2019  msaitoh branches: 1.8.4;
KNF. No functional change.
 1.7  24-Feb-2019  christos use a macro to tidy up the phydesc array initialization, from FreeBSD
 1.6  14-Feb-2019  msaitoh Add KSZ8081 support from FreeBSD.
 1.5  22-Jan-2019  skrll Fix build after API change
 1.4  07-Jul-2016  msaitoh branches: 1.4.10; 1.4.16; 1.4.18;
KNF. Remove extra spaces. No functional change.
 1.3  26-Sep-2014  ryo branches: 1.3.2;
s/__diagused/__debugused/ for KDASSERT
 1.2  10-Sep-2014  ryo add __diagused
 1.1  26-Feb-2014  ozaki-r branches: 1.1.4; 1.1.6; 1.1.10;
Add Micrel PHY (KSZ9021RN)

The new driver micphy is almost same as ukphy except that
micphy has a fixup for cpsw; a PHY with cpsw has to adjust
RGMII signal timing.

Reviewed by christos@
 1.1.10.3  03-Dec-2017  jdolecek update from HEAD
 1.1.10.2  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.10.1  26-Feb-2014  tls file micphy.c was added on branch tls-maxphys on 2014-08-20 00:03:41 +0000
 1.1.6.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.1.6.1  26-Feb-2014  yamt file micphy.c was added on branch yamt-pagecache on 2014-05-22 11:40:23 +0000
 1.1.4.2  18-May-2014  rmind sync with head
 1.1.4.1  26-Feb-2014  rmind file micphy.c was added on branch rmind-smpnet on 2014-05-18 17:45:39 +0000
 1.3.2.1  09-Jul-2016  skrll Sync with HEAD
 1.4.18.2  13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.4.18.1  10-Jun-2019  christos Sync with HEAD
 1.4.16.1  26-Jan-2019  pgoyette Sync with HEAD
 1.4.10.2  04-Sep-2019  martin The gcc on this branch is not smart enough and the build breaks due to
a bogus "may be used uninitialized" warning. Initialize to zero with
XXX gcc comment (suggested by msaitoh).
 1.4.10.1  01-Sep-2019  martin Pull up the following revisions, requested by msaitoh in ticket #1349:

sys/dev/mii/micphy.c 1.6 via patch

Add KSZ8081 support from FreeBSD.
 1.8.4.1  25-Nov-2019  martin Pull up following revision(s) (requested by msaitoh in ticket #479):

sys/dev/mii/micphy.c: revision 1.9
sys/dev/mii/miidevs: revision 1.161
share/man/man4/micphy.4: revision 1.3

Add Micrel (now Microchip) KSZ80[0456]1, KSZ8721, KSZ9[01]31, KS8731 and
KSZ9477.

Add support for KSZ80[0456]1, KSZ8721, KSZ9[01]31, KS8731 and KSZ9477.
It also supports LAN7430's internal PHY. First wrote by nisimura@ and added
some device support by me. Not tested well.
 1.11.2.1  29-Feb-2020  ad Sync with head.

RSS XML Feed