- 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().
This commit is contained in:
msaitoh 2019-11-27 10:19:20 +00:00
parent a4dc321947
commit 509697f3cf
39 changed files with 162 additions and 361 deletions

View File

@ -1,4 +1,4 @@
/* $NetBSD: gxlphy.c,v 1.1 2019/04/21 11:02:32 jmcneill Exp $ */
/* $NetBSD: gxlphy.c,v 1.2 2019/11/27 10:19:21 msaitoh Exp $ */
/*
* Copyright (c) 2019 Jared McNeill <jmcneill@invisible.ca>
@ -31,7 +31,7 @@
*/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: gxlphy.c,v 1.1 2019/04/21 11:02:32 jmcneill Exp $");
__KERNEL_RCSID(0, "$NetBSD: gxlphy.c,v 1.2 2019/11/27 10:19:21 msaitoh Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@ -168,7 +168,6 @@ gxlphyattach(device_t parent, device_t self, void *aux)
sc->mii_funcs = &gxlphy_funcs;
sc->mii_pdata = mii;
sc->mii_flags = ma->mii_flags;
sc->mii_anegticks = MII_ANEGTICKS;
PHY_RESET(sc);
@ -180,13 +179,8 @@ gxlphyattach(device_t parent, device_t self, void *aux)
sc->mii_capabilities &= ma->mii_capmask;
if (sc->mii_capabilities & BMSR_EXTSTAT)
PHY_READ(sc, MII_EXTSR, &sc->mii_extcapabilities);
aprint_normal_dev(self, "");
if ((sc->mii_capabilities & BMSR_MEDIAMASK) == 0 &&
(sc->mii_extcapabilities & EXTSR_MEDIAMASK) == 0)
aprint_error("no media present");
else
mii_phy_add_media(sc);
aprint_normal("\n");
mii_phy_add_media(sc);
}
static int

View File

@ -1,4 +1,4 @@
/* $NetBSD: acphy.c,v 1.28 2019/03/25 09:20:46 msaitoh Exp $ */
/* $NetBSD: acphy.c,v 1.29 2019/11/27 10:19:20 msaitoh Exp $ */
/*
* Copyright 2001 Wasabi Systems, Inc.
@ -40,7 +40,7 @@
*/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: acphy.c,v 1.28 2019/03/25 09:20:46 msaitoh Exp $");
__KERNEL_RCSID(0, "$NetBSD: acphy.c,v 1.29 2019/11/27 10:19:20 msaitoh Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@ -110,7 +110,6 @@ acphyattach(device_t parent, device_t self, void *aux)
sc->mii_funcs = &acphy_funcs;
sc->mii_pdata = mii;
sc->mii_flags = ma->mii_flags;
sc->mii_anegticks = MII_ANEGTICKS;
PHY_RESET(sc);
@ -122,20 +121,17 @@ acphyattach(device_t parent, device_t self, void *aux)
#define ADD(m, c) ifmedia_add(&mii->mii_media, (m), (c), NULL)
if (sc->mii_flags & MIIF_HAVEFIBER) {
sc->mii_anegticks = MII_ANEGTICKS;
ADD(IFM_MAKEWORD(IFM_ETHER, IFM_100_FX, 0, sc->mii_inst),
MII_MEDIA_100_TX);
aprint_normal("100baseFX, ");
ADD(IFM_MAKEWORD(IFM_ETHER, IFM_100_FX, IFM_FDX, sc->mii_inst),
MII_MEDIA_100_TX);
aprint_normal("100baseFX-FDX, ");
aprint_normal("100baseFX-FDX\n");
}
#undef ADD
if ((sc->mii_capabilities & BMSR_MEDIAMASK) == 0)
aprint_error("no media present");
else
mii_phy_add_media(sc);
aprint_normal("\n");
mii_phy_add_media(sc);
}
static int

View File

@ -1,4 +1,4 @@
/* $NetBSD: amhphy.c,v 1.24 2019/11/26 08:21:03 msaitoh Exp $ */
/* $NetBSD: amhphy.c,v 1.25 2019/11/27 10:19:20 msaitoh Exp $ */
/*
* Copyright 2001 Wasabi Systems, Inc.
@ -40,7 +40,7 @@
*/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: amhphy.c,v 1.24 2019/11/26 08:21:03 msaitoh Exp $");
__KERNEL_RCSID(0, "$NetBSD: amhphy.c,v 1.25 2019/11/27 10:19:20 msaitoh Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@ -105,18 +105,13 @@ amhphyattach(device_t parent, device_t self, void *aux)
sc->mii_funcs = &amhphy_funcs;
sc->mii_pdata = mii;
sc->mii_flags = ma->mii_flags;
sc->mii_anegticks = MII_ANEGTICKS;
PHY_RESET(sc);
PHY_READ(sc, MII_BMSR, &sc->mii_capabilities);
sc->mii_capabilities &= ma->mii_capmask;
aprint_normal_dev(self, "");
if ((sc->mii_capabilities & BMSR_MEDIAMASK) == 0)
aprint_error("no media present");
else
mii_phy_add_media(sc);
aprint_normal("\n");
mii_phy_add_media(sc);
}
static int

View File

@ -1,4 +1,4 @@
/* $NetBSD: atphy.c,v 1.25 2019/11/20 08:50:59 msaitoh Exp $ */
/* $NetBSD: atphy.c,v 1.26 2019/11/27 10:19:20 msaitoh Exp $ */
/* $OpenBSD: atphy.c,v 1.1 2008/09/25 20:47:16 brad Exp $ */
/*-
@ -33,7 +33,7 @@
*/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: atphy.c,v 1.25 2019/11/20 08:50:59 msaitoh Exp $");
__KERNEL_RCSID(0, "$NetBSD: atphy.c,v 1.26 2019/11/27 10:19:20 msaitoh Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@ -190,11 +190,6 @@ atphy_attach(device_t parent, device_t self, void *aux)
sc->mii_funcs = &atphy_funcs;
sc->mii_pdata = mii;
sc->mii_flags = ma->mii_flags;
if (atphy_is_gige(mpd))
sc->mii_anegticks = MII_ANEGTICKS_GIGE;
else
sc->mii_anegticks = MII_ANEGTICKS;
sc->mii_flags |= MIIF_NOLOOP;
prop_dictionary_get_bool(parent_prop, "tx_internal_delay", &asc->rgmii_tx_internal_delay);
@ -212,9 +207,7 @@ atphy_attach(device_t parent, device_t self, void *aux)
if (atphy_is_gige(mpd) && (sc->mii_capabilities & BMSR_EXTSTAT))
PHY_READ(sc, MII_EXTSR, &sc->mii_extcapabilities);
aprint_normal_dev(self, "");
mii_phy_add_media(sc);
aprint_normal("\n");
}
int

View File

@ -1,4 +1,4 @@
/* $NetBSD: bmtphy.c,v 1.35 2019/03/25 09:20:46 msaitoh Exp $ */
/* $NetBSD: bmtphy.c,v 1.36 2019/11/27 10:19:20 msaitoh Exp $ */
/*-
* Copyright (c) 1998, 1999, 2000, 2001 The NetBSD Foundation, Inc.
@ -61,7 +61,7 @@
*/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: bmtphy.c,v 1.35 2019/03/25 09:20:46 msaitoh Exp $");
__KERNEL_RCSID(0, "$NetBSD: bmtphy.c,v 1.36 2019/11/27 10:19:20 msaitoh Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@ -134,7 +134,6 @@ bmtphyattach(device_t parent, device_t self, void *aux)
sc->mii_funcs = &bmtphy_funcs;
sc->mii_pdata = mii;
sc->mii_flags = ma->mii_flags;
sc->mii_anegticks = MII_ANEGTICKS;
PHY_RESET(sc);
@ -142,12 +141,8 @@ bmtphyattach(device_t parent, device_t self, void *aux)
PHY_READ(sc, MII_BMSR, &sc->mii_capabilities);
sc->mii_capabilities &= ma->mii_capmask;
aprint_normal_dev(self, "");
if ((sc->mii_capabilities & BMSR_MEDIAMASK) == 0)
aprint_error("no media present");
else
mii_phy_add_media(sc);
aprint_normal("\n");
mii_phy_add_media(sc);
}
static int

View File

@ -1,4 +1,4 @@
/* $NetBSD: brgphy.c,v 1.85 2019/11/26 08:21:03 msaitoh Exp $ */
/* $NetBSD: brgphy.c,v 1.86 2019/11/27 10:19:20 msaitoh Exp $ */
/*-
* Copyright (c) 1998, 1999, 2000, 2001 The NetBSD Foundation, Inc.
@ -62,7 +62,7 @@
*/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: brgphy.c,v 1.85 2019/11/26 08:21:03 msaitoh Exp $");
__KERNEL_RCSID(0, "$NetBSD: brgphy.c,v 1.86 2019/11/27 10:19:20 msaitoh Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@ -216,7 +216,6 @@ brgphyattach(device_t parent, device_t self, void *aux)
sc->mii_mpd_rev = MII_REV(ma->mii_id2);
sc->mii_pdata = mii;
sc->mii_flags = ma->mii_flags;
sc->mii_anegticks = MII_ANEGTICKS;
if (device_is_a(parent, "bge"))
bsc->sc_isbge = true;
@ -271,7 +270,6 @@ brgphyattach(device_t parent, device_t self, void *aux)
if (sc->mii_capabilities & BMSR_EXTSTAT)
PHY_READ(sc, MII_EXTSR, &sc->mii_extcapabilities);
aprint_normal_dev(self, "");
if (sc->mii_flags & MIIF_HAVEFIBER) {
sc->mii_flags |= MIIF_NOISOLATE | MIIF_NOLOOP;
@ -293,14 +291,12 @@ brgphyattach(device_t parent, device_t self, void *aux)
& BNX_PHY_2_5G_CAPABLE_FLAG) {
ADD(IFM_MAKEWORD(IFM_ETHER, IFM_2500_SX,
IFM_FDX, sc->mii_inst), 0);
aprint_normal("2500baseSX-FDX, ");
aprint_normal_dev(self, "2500baseSX-FDX\n");
#undef ADD
}
}
}
mii_phy_add_media(sc);
aprint_normal("\n");
}
static int

View File

@ -1,4 +1,4 @@
/* $NetBSD: ciphy.c,v 1.37 2019/10/17 09:22:49 msaitoh Exp $ */
/* $NetBSD: ciphy.c,v 1.38 2019/11/27 10:19:20 msaitoh Exp $ */
/*-
* Copyright (c) 2004
@ -35,7 +35,7 @@
*/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: ciphy.c,v 1.37 2019/10/17 09:22:49 msaitoh Exp $");
__KERNEL_RCSID(0, "$NetBSD: ciphy.c,v 1.38 2019/11/27 10:19:20 msaitoh Exp $");
/*
* Driver for the Cicada CS8201 10/100/1000 copper PHY.
@ -117,8 +117,6 @@ ciphyattach(device_t parent, device_t self, void *aux)
sc->mii_funcs = &ciphy_funcs;
sc->mii_pdata = mii;
sc->mii_flags = ma->mii_flags;
sc->mii_anegticks = MII_ANEGTICKS;
sc->mii_flags |= MIIF_NOISOLATE;
ciphy_reset(sc);
@ -127,12 +125,8 @@ ciphyattach(device_t parent, device_t self, void *aux)
sc->mii_capabilities &= ma->mii_capmask;
if (sc->mii_capabilities & BMSR_EXTSTAT)
PHY_READ(sc, MII_EXTSR, &sc->mii_extcapabilities);
aprint_normal_dev(self, "");
if ((sc->mii_capabilities & BMSR_MEDIAMASK) == 0)
aprint_error("no media present");
else
mii_phy_add_media(sc);
aprint_normal("\n");
mii_phy_add_media(sc);
}
static int
@ -270,7 +264,7 @@ setit:
break;
/* Only retry autonegotiation every N seconds. */
if (sc->mii_ticks <= MII_ANEGTICKS_GIGE)
if (sc->mii_ticks <= sc->mii_anegticks)
break;
mii_phy_auto(sc, 0);

View File

@ -1,4 +1,4 @@
/* $NetBSD: dmphy.c,v 1.43 2019/03/25 09:20:46 msaitoh Exp $ */
/* $NetBSD: dmphy.c,v 1.44 2019/11/27 10:19:20 msaitoh Exp $ */
/*-
* Copyright (c) 1998, 1999, 2000 The NetBSD Foundation, Inc.
@ -60,7 +60,7 @@
*/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: dmphy.c,v 1.43 2019/03/25 09:20:46 msaitoh Exp $");
__KERNEL_RCSID(0, "$NetBSD: dmphy.c,v 1.44 2019/11/27 10:19:20 msaitoh Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@ -131,18 +131,13 @@ dmphyattach(device_t parent, device_t self, void *aux)
sc->mii_funcs = &dmphy_funcs;
sc->mii_pdata = mii;
sc->mii_flags = ma->mii_flags;
sc->mii_anegticks = MII_ANEGTICKS;
PHY_RESET(sc);
PHY_READ(sc, MII_BMSR, &sc->mii_capabilities);
sc->mii_capabilities &= ma->mii_capmask;
aprint_normal_dev(self, "");
if ((sc->mii_capabilities & BMSR_MEDIAMASK) == 0)
aprint_error("no media present");
else
mii_phy_add_media(sc);
aprint_normal("\n");
mii_phy_add_media(sc);
}
static int

View File

@ -1,4 +1,4 @@
/* $NetBSD: etphy.c,v 1.6 2019/08/16 15:24:09 msaitoh Exp $ */
/* $NetBSD: etphy.c,v 1.7 2019/11/27 10:19:20 msaitoh Exp $ */
/* $OpenBSD: etphy.c,v 1.4 2008/04/02 20:12:58 brad Exp $ */
/*
@ -38,7 +38,7 @@
*/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: etphy.c,v 1.6 2019/08/16 15:24:09 msaitoh Exp $");
__KERNEL_RCSID(0, "$NetBSD: etphy.c,v 1.7 2019/11/27 10:19:20 msaitoh Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@ -175,15 +175,8 @@ etphy_attach(device_t parent, device_t self, void *aux)
/* No 1000baseT half-duplex support */
sc->mii_extcapabilities &= ~EXTSR_1000THDX;
}
aprint_normal_dev(self, "");
if ((sc->mii_capabilities & BMSR_MEDIAMASK) == 0)
aprint_error("no media present");
else
mii_phy_add_media(sc);
aprint_normal("\n");
if (!pmf_device_register(self, NULL, mii_phy_resume))
aprint_error_dev(self, "couldn't establish power handler\n");
mii_phy_add_media(sc);
}
static int

View File

@ -1,4 +1,4 @@
/* $NetBSD: exphy.c,v 1.56 2019/03/25 07:34:13 msaitoh Exp $ */
/* $NetBSD: exphy.c,v 1.57 2019/11/27 10:19:20 msaitoh Exp $ */
/*-
* Copyright (c) 1998, 1999, 2000 The NetBSD Foundation, Inc.
@ -59,7 +59,7 @@
*/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: exphy.c,v 1.56 2019/03/25 07:34:13 msaitoh Exp $");
__KERNEL_RCSID(0, "$NetBSD: exphy.c,v 1.57 2019/11/27 10:19:20 msaitoh Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@ -124,7 +124,6 @@ exphyattach(device_t parent, device_t self, void *aux)
sc->mii_funcs = &exphy_funcs;
sc->mii_pdata = mii;
sc->mii_flags = ma->mii_flags;
sc->mii_anegticks = MII_ANEGTICKS;
/*
* The 3Com PHY can never be isolated, so never allow non-zero
@ -141,13 +140,8 @@ exphyattach(device_t parent, device_t self, void *aux)
PHY_READ(sc, MII_BMSR, &sc->mii_capabilities);
sc->mii_capabilities &= ma->mii_capmask;
if ((sc->mii_capabilities & BMSR_MEDIAMASK) == 0)
aprint_error_dev(self, "no media present\n");
else {
aprint_normal_dev(self, "");
mii_phy_add_media(sc);
aprint_normal("\n");
}
mii_phy_add_media(sc);
}
static int

View File

@ -1,4 +1,4 @@
/* $NetBSD: gentbi.c,v 1.29 2019/03/25 09:20:46 msaitoh Exp $ */
/* $NetBSD: gentbi.c,v 1.30 2019/11/27 10:19:20 msaitoh Exp $ */
/*-
* Copyright (c) 1998, 1999, 2000, 2001 The NetBSD Foundation, Inc.
@ -62,7 +62,7 @@
*/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: gentbi.c,v 1.29 2019/03/25 09:20:46 msaitoh Exp $");
__KERNEL_RCSID(0, "$NetBSD: gentbi.c,v 1.30 2019/11/27 10:19:20 msaitoh Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@ -155,7 +155,6 @@ gentbiattach(device_t parent, device_t self, void *aux)
sc->mii_funcs = &gentbi_funcs;
sc->mii_pdata = mii;
sc->mii_flags = ma->mii_flags;
sc->mii_anegticks = MII_ANEGTICKS;
PHY_RESET(sc);
@ -169,13 +168,7 @@ gentbiattach(device_t parent, device_t self, void *aux)
if (sc->mii_capabilities & BMSR_EXTSTAT)
PHY_READ(sc, MII_EXTSR, &sc->mii_extcapabilities);
aprint_normal_dev(self, "");
if ((sc->mii_capabilities & BMSR_MEDIAMASK) == 0 &&
(sc->mii_extcapabilities & EXTSR_MEDIAMASK) == 0)
aprint_error("no media present");
else
mii_phy_add_media(sc);
aprint_normal("\n");
mii_phy_add_media(sc);
}
static int

View File

@ -1,4 +1,4 @@
/* $NetBSD: glxtphy.c,v 1.30 2019/11/26 08:21:03 msaitoh Exp $ */
/* $NetBSD: glxtphy.c,v 1.31 2019/11/27 10:19:20 msaitoh Exp $ */
/*-
* Copyright (c) 1998, 1999, 2000, 2001 The NetBSD Foundation, Inc.
@ -59,7 +59,7 @@
*/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: glxtphy.c,v 1.30 2019/11/26 08:21:03 msaitoh Exp $");
__KERNEL_RCSID(0, "$NetBSD: glxtphy.c,v 1.31 2019/11/27 10:19:20 msaitoh Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@ -125,7 +125,6 @@ glxtphyattach(device_t parent, device_t self, void *aux)
sc->mii_funcs = &glxtphy_funcs;
sc->mii_pdata = mii;
sc->mii_flags = ma->mii_flags;
sc->mii_anegticks = MII_ANEGTICKS;
PHY_RESET(sc);
@ -134,13 +133,7 @@ glxtphyattach(device_t parent, device_t self, void *aux)
if (sc->mii_capabilities & BMSR_EXTSTAT)
PHY_READ(sc, MII_EXTSR, &sc->mii_extcapabilities);
aprint_normal_dev(self, "");
if ((sc->mii_capabilities & BMSR_MEDIAMASK) == 0 &&
(sc->mii_extcapabilities & EXTSR_MEDIAMASK) == 0)
aprint_error("no media present");
else
mii_phy_add_media(sc);
aprint_normal("\n");
mii_phy_add_media(sc);
}
static int

View File

@ -1,4 +1,4 @@
/* $NetBSD: gphyter.c,v 1.35 2019/11/26 08:21:03 msaitoh Exp $ */
/* $NetBSD: gphyter.c,v 1.36 2019/11/27 10:19:20 msaitoh Exp $ */
/*-
* Copyright (c) 1998, 1999, 2000, 2001 The NetBSD Foundation, Inc.
@ -66,7 +66,7 @@
*/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: gphyter.c,v 1.35 2019/11/26 08:21:03 msaitoh Exp $");
__KERNEL_RCSID(0, "$NetBSD: gphyter.c,v 1.36 2019/11/27 10:19:20 msaitoh Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@ -135,7 +135,6 @@ gphyterattach(device_t parent, device_t self, void *aux)
sc->mii_funcs = &gphyter_funcs;
sc->mii_pdata = mii;
sc->mii_flags = ma->mii_flags;
sc->mii_anegticks = MII_ANEGTICKS;
PHY_RESET(sc);
@ -156,13 +155,7 @@ gphyterattach(device_t parent, device_t self, void *aux)
if (anar & ANAR_10_FD)
sc->mii_capabilities |= (BMSR_10TFDX & ma->mii_capmask);
aprint_normal_dev(self, "");
if ((sc->mii_capabilities & BMSR_MEDIAMASK) == 0 &&
(sc->mii_extcapabilities & EXTSR_MEDIAMASK) == 0)
aprint_error("no media present");
else
mii_phy_add_media(sc);
aprint_normal("\n");
mii_phy_add_media(sc);
PHY_READ(sc, MII_GPHYTER_STRAP, &strap);
aprint_normal_dev(self, "strapped to %s mode",

View File

@ -1,4 +1,4 @@
/* $NetBSD: icsphy.c,v 1.54 2019/03/25 09:20:46 msaitoh Exp $ */
/* $NetBSD: icsphy.c,v 1.55 2019/11/27 10:19:20 msaitoh Exp $ */
/*-
* Copyright (c) 1998, 1999, 2000 The NetBSD Foundation, Inc.
@ -60,7 +60,7 @@
*/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: icsphy.c,v 1.54 2019/03/25 09:20:46 msaitoh Exp $");
__KERNEL_RCSID(0, "$NetBSD: icsphy.c,v 1.55 2019/11/27 10:19:20 msaitoh Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@ -130,18 +130,13 @@ icsphyattach(device_t parent, device_t self, void *aux)
sc->mii_funcs = &icsphy_funcs;
sc->mii_pdata = mii;
sc->mii_flags = ma->mii_flags;
sc->mii_anegticks = MII_ANEGTICKS;
PHY_RESET(sc);
PHY_READ(sc, MII_BMSR, &sc->mii_capabilities);
sc->mii_capabilities &= ma->mii_capmask;
aprint_normal_dev(self, "");
if ((sc->mii_capabilities & BMSR_MEDIAMASK) == 0)
aprint_error("no media present");
else
mii_phy_add_media(sc);
aprint_normal("\n");
mii_phy_add_media(sc);
}
static int

View File

@ -1,4 +1,4 @@
/* $NetBSD: igphy.c,v 1.31 2019/03/25 07:34:13 msaitoh Exp $ */
/* $NetBSD: igphy.c,v 1.32 2019/11/27 10:19:20 msaitoh Exp $ */
/*
* The Intel copyright applies to the analog register setup, and the
@ -70,7 +70,7 @@
*/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: igphy.c,v 1.31 2019/03/25 07:34:13 msaitoh Exp $");
__KERNEL_RCSID(0, "$NetBSD: igphy.c,v 1.32 2019/11/27 10:19:20 msaitoh Exp $");
#ifdef _KERNEL_OPT
#include "opt_mii.h"
@ -157,7 +157,6 @@ igphyattach(device_t parent, device_t self, void *aux)
sc->mii_funcs = &igphy_funcs;
sc->mii_pdata = mii;
sc->mii_flags = ma->mii_flags;
sc->mii_anegticks = MII_ANEGTICKS_GIGE;
PHY_RESET(sc);
@ -165,13 +164,8 @@ igphyattach(device_t parent, device_t self, void *aux)
sc->mii_capabilities &= ma->mii_capmask;
if (sc->mii_capabilities & BMSR_EXTSTAT)
PHY_READ(sc, MII_EXTSR, &sc->mii_extcapabilities);
aprint_normal_dev(self, "");
if ((sc->mii_capabilities & BMSR_MEDIAMASK) == 0 &&
(sc->mii_extcapabilities & EXTSR_MEDIAMASK) == 0)
aprint_error("no media present");
else
mii_phy_add_media(sc);
aprint_normal("\n");
mii_phy_add_media(sc);
}
typedef struct {

View File

@ -1,4 +1,4 @@
/* $NetBSD: ihphy.c,v 1.15 2019/11/18 15:09:58 msaitoh Exp $ */
/* $NetBSD: ihphy.c,v 1.16 2019/11/27 10:19:20 msaitoh Exp $ */
/*-
* Copyright (c) 1998, 1999, 2000 The NetBSD Foundation, Inc.
@ -60,7 +60,7 @@
*/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: ihphy.c,v 1.15 2019/11/18 15:09:58 msaitoh Exp $");
__KERNEL_RCSID(0, "$NetBSD: ihphy.c,v 1.16 2019/11/27 10:19:20 msaitoh Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@ -135,7 +135,6 @@ ihphyattach(device_t parent, device_t self, void *aux)
sc->mii_funcs = &ihphy_funcs;
sc->mii_pdata = mii;
sc->mii_flags = ma->mii_flags;
sc->mii_anegticks = MII_ANEGTICKS;
PHY_RESET(sc);
@ -143,13 +142,8 @@ ihphyattach(device_t parent, device_t self, void *aux)
sc->mii_capabilities &= ma->mii_capmask;
if (sc->mii_capabilities & BMSR_EXTSTAT)
PHY_READ(sc, MII_EXTSR, &sc->mii_extcapabilities);
aprint_normal_dev(self, "");
if ((sc->mii_capabilities & BMSR_MEDIAMASK) == 0 &&
(sc->mii_extcapabilities & EXTSR_MEDIAMASK) == 0)
aprint_error("no media present");
else
mii_phy_add_media(sc);
aprint_normal("\n");
mii_phy_add_media(sc);
/* Link setup (as done by Intel's Linux driver for the 82577). */
PHY_READ(sc, IHPHY_MII_CFG, &reg);

View File

@ -1,4 +1,4 @@
/* $NetBSD: ikphy.c,v 1.17 2019/11/26 08:21:03 msaitoh Exp $ */
/* $NetBSD: ikphy.c,v 1.18 2019/11/27 10:19:20 msaitoh Exp $ */
/*******************************************************************************
Copyright (c) 2001-2005, Intel Corporation
@ -59,7 +59,7 @@ POSSIBILITY OF SUCH DAMAGE.
*/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: ikphy.c,v 1.17 2019/11/26 08:21:03 msaitoh Exp $");
__KERNEL_RCSID(0, "$NetBSD: ikphy.c,v 1.18 2019/11/27 10:19:20 msaitoh Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@ -128,7 +128,6 @@ ikphyattach(device_t parent, device_t self, void *aux)
sc->mii_funcs = &ikphy_funcs;
sc->mii_pdata = mii;
sc->mii_flags = ma->mii_flags;
sc->mii_anegticks = MII_ANEGTICKS;
PHY_RESET(sc);
@ -136,13 +135,8 @@ ikphyattach(device_t parent, device_t self, void *aux)
sc->mii_capabilities &= ma->mii_capmask;
if (sc->mii_capabilities & BMSR_EXTSTAT)
PHY_READ(sc, MII_EXTSR, &sc->mii_extcapabilities);
aprint_normal_dev(self, "");
if ((sc->mii_capabilities & BMSR_MEDIAMASK) == 0 &&
(sc->mii_extcapabilities & EXTSR_MEDIAMASK) == 0)
aprint_error("no media present");
else
mii_phy_add_media(sc);
aprint_normal("\n");
mii_phy_add_media(sc);
}
static int

View File

@ -1,4 +1,4 @@
/* $NetBSD: inphy.c,v 1.58 2019/03/25 09:29:08 msaitoh Exp $ */
/* $NetBSD: inphy.c,v 1.59 2019/11/27 10:19:20 msaitoh Exp $ */
/*-
* Copyright (c) 1998, 1999, 2000 The NetBSD Foundation, Inc.
@ -60,7 +60,7 @@
*/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: inphy.c,v 1.58 2019/03/25 09:29:08 msaitoh Exp $");
__KERNEL_RCSID(0, "$NetBSD: inphy.c,v 1.59 2019/11/27 10:19:20 msaitoh Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@ -132,18 +132,13 @@ inphyattach(device_t parent, device_t self, void *aux)
sc->mii_funcs = &inphy_funcs;
sc->mii_pdata = mii;
sc->mii_flags = ma->mii_flags;
sc->mii_anegticks = MII_ANEGTICKS;
PHY_RESET(sc);
PHY_READ(sc, MII_BMSR, &sc->mii_capabilities);
sc->mii_capabilities &= ma->mii_capmask;
aprint_normal_dev(self, "");
if ((sc->mii_capabilities & BMSR_MEDIAMASK) == 0)
aprint_error("no media present");
else
mii_phy_add_media(sc);
aprint_normal("\n");
mii_phy_add_media(sc);
}
static int

View File

@ -1,4 +1,4 @@
/* $NetBSD: iophy.c,v 1.41 2019/03/25 09:20:46 msaitoh Exp $ */
/* $NetBSD: iophy.c,v 1.42 2019/11/27 10:19:20 msaitoh Exp $ */
/*
* Copyright (c) 1998, 1999, 2000 The NetBSD Foundation, Inc.
@ -59,7 +59,7 @@
*/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: iophy.c,v 1.41 2019/03/25 09:20:46 msaitoh Exp $");
__KERNEL_RCSID(0, "$NetBSD: iophy.c,v 1.42 2019/11/27 10:19:20 msaitoh Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@ -124,18 +124,13 @@ iophyattach(device_t parent, device_t self, void *aux)
sc->mii_funcs = &iophy_funcs;
sc->mii_pdata = mii;
sc->mii_flags = ma->mii_flags;
sc->mii_anegticks = MII_ANEGTICKS;
PHY_RESET(sc);
PHY_READ(sc, MII_BMSR, &sc->mii_capabilities);
sc->mii_capabilities &= ma->mii_capmask;
aprint_normal_dev(self, "");
if ((sc->mii_capabilities & BMSR_MEDIAMASK) == 0)
aprint_error("no media present");
else
mii_phy_add_media(sc);
aprint_normal("\n");
mii_phy_add_media(sc);
}
static int

View File

@ -1,4 +1,4 @@
/* $NetBSD: ipgphy.c,v 1.7 2019/11/27 08:53:32 msaitoh Exp $ */
/* $NetBSD: ipgphy.c,v 1.8 2019/11/27 10:19:20 msaitoh Exp $ */
/* $OpenBSD: ipgphy.c,v 1.19 2015/07/19 06:28:12 yuo Exp $ */
/*-
@ -33,7 +33,7 @@
* Driver for the IC Plus IP1000A/IP1001 10/100/1000 PHY.
*/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: ipgphy.c,v 1.7 2019/11/27 08:53:32 msaitoh Exp $");
__KERNEL_RCSID(0, "$NetBSD: ipgphy.c,v 1.8 2019/11/27 10:19:20 msaitoh Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@ -109,7 +109,6 @@ ipgphy_attach(device_t parent, device_t self, void *aux)
sc->mii_flags = ma->mii_flags;
sc->mii_flags |= MIIF_NOISOLATE;
sc->mii_anegticks = MII_ANEGTICKS_GIGE;
PHY_RESET(sc);
@ -119,9 +118,7 @@ ipgphy_attach(device_t parent, device_t self, void *aux)
if (sc->mii_capabilities & BMSR_EXTSTAT)
PHY_READ(sc, MII_EXTSR, &sc->mii_extcapabilities);
aprint_normal_dev(self, "");
mii_phy_add_media(sc);
aprint_normal("\n");
}
static int

View File

@ -1,4 +1,4 @@
/* $NetBSD: jmphy.c,v 1.2 2019/11/26 08:19:51 msaitoh Exp $ */
/* $NetBSD: jmphy.c,v 1.3 2019/11/27 10:19:20 msaitoh Exp $ */
/* $OpenBSD: jmphy.c,v 1.6 2015/03/14 03:38:48 jsg Exp $ */
/*-
* Copyright (c) 2008, Pyun YongHyeon <yongari@FreeBSD.org>
@ -110,13 +110,7 @@ jmphy_attach(device_t parent, device_t self, void *aux)
if (sc->mii_capabilities & BMSR_EXTSTAT)
PHY_READ(sc, MII_EXTSR, &sc->mii_extcapabilities);
aprint_normal_dev(self, "");
if ((sc->mii_capabilities & BMSR_MEDIAMASK) == 0 &&
(sc->mii_extcapabilities & EXTSR_MEDIAMASK) == 0)
aprint_error("no media present");
else
mii_phy_add_media(sc);
aprint_normal("\n");
mii_phy_add_media(sc);
}
static int

View File

@ -1,4 +1,4 @@
/* $NetBSD: lxtphy.c,v 1.53 2019/03/25 09:29:08 msaitoh Exp $ */
/* $NetBSD: lxtphy.c,v 1.54 2019/11/27 10:19:20 msaitoh Exp $ */
/*-
* Copyright (c) 1998, 1999, 2000 The NetBSD Foundation, Inc.
@ -60,7 +60,7 @@
*/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: lxtphy.c,v 1.53 2019/03/25 09:29:08 msaitoh Exp $");
__KERNEL_RCSID(0, "$NetBSD: lxtphy.c,v 1.54 2019/11/27 10:19:20 msaitoh Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@ -137,30 +137,24 @@ lxtphyattach(device_t parent, device_t self, void *aux)
sc->mii_funcs = &lxtphy_funcs;
sc->mii_pdata = mii;
sc->mii_flags = ma->mii_flags;
sc->mii_anegticks = MII_ANEGTICKS;
PHY_RESET(sc);
PHY_READ(sc, MII_BMSR, &sc->mii_capabilities);
sc->mii_capabilities &= ma->mii_capmask;
aprint_normal_dev(self, "");
if (sc->mii_flags & MIIF_HAVEFIBER) {
#define ADD(m, c) ifmedia_add(&mii->mii_media, (m), (c), NULL)
sc->mii_anegticks = MII_ANEGTICKS;
ADD(IFM_MAKEWORD(IFM_ETHER, IFM_100_FX, 0, sc->mii_inst),
MII_MEDIA_100_TX);
aprint_normal("100baseFX, ");
ADD(IFM_MAKEWORD(IFM_ETHER, IFM_100_FX, IFM_FDX, sc->mii_inst),
MII_MEDIA_100_TX_FDX);
aprint_normal("100baseFX-FDX, ");
aprint_normal_dev(self, "100baseFX, 100baseFX-FDX\n");
#undef ADD
}
if ((sc->mii_capabilities & BMSR_MEDIAMASK) == 0)
aprint_error("no media present");
else
mii_phy_add_media(sc);
aprint_normal("\n");
mii_phy_add_media(sc);
}
static int

View File

@ -1,4 +1,4 @@
/* $NetBSD: makphy.c,v 1.61 2019/11/26 08:19:51 msaitoh Exp $ */
/* $NetBSD: makphy.c,v 1.62 2019/11/27 10:19:20 msaitoh Exp $ */
/*-
* Copyright (c) 1998, 1999, 2000, 2001 The NetBSD Foundation, Inc.
@ -59,7 +59,7 @@
*/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: makphy.c,v 1.61 2019/11/26 08:19:51 msaitoh Exp $");
__KERNEL_RCSID(0, "$NetBSD: makphy.c,v 1.62 2019/11/27 10:19:20 msaitoh Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@ -180,7 +180,6 @@ makphyattach(device_t parent, device_t self, void *aux)
sc->mii_funcs = &makphy_funcs;
sc->mii_pdata = mii;
sc->mii_flags = ma->mii_flags;
sc->mii_anegticks = MII_ANEGTICKS;
switch (model) {
case MII_MODEL_xxMARVELL_E1000:
@ -223,13 +222,7 @@ page0:
if (sc->mii_capabilities & BMSR_EXTSTAT)
PHY_READ(sc, MII_EXTSR, &sc->mii_extcapabilities);
aprint_normal_dev(self, "");
if ((sc->mii_capabilities & BMSR_MEDIAMASK) == 0 &&
(sc->mii_extcapabilities & EXTSR_MEDIAMASK) == 0)
aprint_error("no media present");
else
mii_phy_add_media(sc);
aprint_normal("\n");
mii_phy_add_media(sc);
}
static void

View File

@ -1,4 +1,4 @@
/* $NetBSD: micphy.c,v 1.9 2019/11/06 16:02:53 msaitoh Exp $ */
/* $NetBSD: micphy.c,v 1.10 2019/11/27 10:19:20 msaitoh Exp $ */
/*-
* Copyright (c) 1998, 1999, 2000 The NetBSD Foundation, Inc.
@ -59,7 +59,7 @@
*/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: micphy.c,v 1.9 2019/11/06 16:02:53 msaitoh Exp $");
__KERNEL_RCSID(0, "$NetBSD: micphy.c,v 1.10 2019/11/27 10:19:20 msaitoh Exp $");
#include "opt_mii.h"
@ -212,7 +212,6 @@ micphyattach(device_t parent, device_t self, void *aux)
sc->mii_funcs = &micphy_funcs;
sc->mii_pdata = mii;
sc->mii_flags = ma->mii_flags;
sc->mii_anegticks = MII_ANEGTICKS;
if ((sc->mii_mpd_model == MII_MODEL_MICREL_KSZ8041)
|| (sc->mii_mpd_model == MII_MODEL_MICREL_KSZ8041RNLI)
@ -241,13 +240,8 @@ micphyattach(device_t parent, device_t self, void *aux)
sc->mii_capabilities &= ma->mii_capmask;
if (sc->mii_capabilities & BMSR_EXTSTAT)
PHY_READ(sc, MII_EXTSR, &sc->mii_extcapabilities);
aprint_normal_dev(self, "");
if ((sc->mii_capabilities & BMSR_MEDIAMASK) == 0 &&
(sc->mii_extcapabilities & EXTSR_MEDIAMASK) == 0)
aprint_error("no media present");
else
mii_phy_add_media(sc);
aprint_normal("\n");
mii_phy_add_media(sc);
}
static void

View File

@ -1,4 +1,4 @@
/* $NetBSD: mii_physubr.c,v 1.88 2019/11/20 08:50:59 msaitoh Exp $ */
/* $NetBSD: mii_physubr.c,v 1.89 2019/11/27 10:19:20 msaitoh Exp $ */
/*-
* Copyright (c) 1998, 1999, 2000, 2001 The NetBSD Foundation, Inc.
@ -35,7 +35,7 @@
*/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: mii_physubr.c,v 1.88 2019/11/20 08:50:59 msaitoh Exp $");
__KERNEL_RCSID(0, "$NetBSD: mii_physubr.c,v 1.89 2019/11/27 10:19:20 msaitoh Exp $");
#include <sys/param.h>
#include <sys/device.h>
@ -465,6 +465,19 @@ mii_phy_add_media(struct mii_softc *sc)
const char *sep = "";
int fdx = 0;
aprint_normal_dev(self, "");
if ((sc->mii_capabilities & BMSR_MEDIAMASK) == 0 &&
(sc->mii_extcapabilities & EXTSR_MEDIAMASK) == 0) {
aprint_error("no media present\n");
goto out;
}
/*
* Set the autonegotiation timer for 10/100 media. Gigabit media is
* handled below.
*/
sc->mii_anegticks = MII_ANEGTICKS;
#define ADD(m, c) ifmedia_add(&mii->mii_media, (m), (c), NULL)
#define PRINT(n) aprint_normal("%s%s", sep, (n)); sep = ", "
@ -577,9 +590,9 @@ mii_phy_add_media(struct mii_softc *sc)
if (fdx != 0 && (sc->mii_flags & MIIF_DOPAUSE))
mii->mii_media.ifm_mask |= IFM_ETH_FMASK;
out:
aprint_normal("\n");
if (!pmf_device_register(self, NULL, mii_phy_resume)) {
aprint_normal("\n");
aprint_error_dev(self, "couldn't establish power handler");
aprint_error_dev(self, "couldn't establish power handler\n");
}
}

View File

@ -1,4 +1,4 @@
/* $NetBSD: mvphy.c,v 1.13 2019/03/25 07:34:13 msaitoh Exp $ */
/* $NetBSD: mvphy.c,v 1.14 2019/11/27 10:19:20 msaitoh Exp $ */
/*-
* Copyright (c) 2006 Sam Leffler, Errno Consulting
@ -31,7 +31,7 @@
*/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: mvphy.c,v 1.13 2019/03/25 07:34:13 msaitoh Exp $");
__KERNEL_RCSID(0, "$NetBSD: mvphy.c,v 1.14 2019/11/27 10:19:20 msaitoh Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@ -191,7 +191,6 @@ mvphyattach(device_t parent, device_t self, void *aux)
sc->mii_funcs = &mvphy_funcs;
sc->mii_pdata = mii;
sc->mii_flags = ma->mii_flags;
sc->mii_anegticks = MII_ANEGTICKS;
if (MV_PORT(sc) == 0) { /* NB: only when attaching first PHY */
/*
@ -207,12 +206,8 @@ mvphyattach(device_t parent, device_t self, void *aux)
PHY_READ(sc, MII_BMSR, &sc->mii_capabilities);
sc->mii_capabilities &= ma->mii_capmask;
aprint_normal_dev(self, "");
if ((sc->mii_capabilities & BMSR_MEDIAMASK) == 0)
aprint_error("no media present");
else
mii_phy_add_media(sc);
aprint_normal("\n");
mii_phy_add_media(sc);
}
static int

View File

@ -1,4 +1,4 @@
/* $NetBSD: nsphy.c,v 1.64 2019/03/25 09:20:46 msaitoh Exp $ */
/* $NetBSD: nsphy.c,v 1.65 2019/11/27 10:19:20 msaitoh Exp $ */
/*-
* Copyright (c) 1998, 1999, 2000 The NetBSD Foundation, Inc.
@ -60,7 +60,7 @@
*/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: nsphy.c,v 1.64 2019/03/25 09:20:46 msaitoh Exp $");
__KERNEL_RCSID(0, "$NetBSD: nsphy.c,v 1.65 2019/11/27 10:19:20 msaitoh Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@ -126,18 +126,13 @@ nsphyattach(device_t parent, device_t self, void *aux)
sc->mii_funcs = &nsphy_funcs;
sc->mii_pdata = mii;
sc->mii_flags = ma->mii_flags;
sc->mii_anegticks = MII_ANEGTICKS;
PHY_RESET(sc);
PHY_READ(sc, MII_BMSR, &sc->mii_capabilities);
sc->mii_capabilities &= ma->mii_capmask;
aprint_normal_dev(self, "");
if ((sc->mii_capabilities & BMSR_MEDIAMASK) == 0)
aprint_error("no media present");
else
mii_phy_add_media(sc);
aprint_normal("\n");
mii_phy_add_media(sc);
}
static int

View File

@ -1,4 +1,4 @@
/* $NetBSD: nsphyter.c,v 1.43 2019/03/25 09:29:08 msaitoh Exp $ */
/* $NetBSD: nsphyter.c,v 1.44 2019/11/27 10:19:21 msaitoh Exp $ */
/*-
* Copyright (c) 1998, 1999, 2000, 2001 The NetBSD Foundation, Inc.
@ -63,7 +63,7 @@
*/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: nsphyter.c,v 1.43 2019/03/25 09:29:08 msaitoh Exp $");
__KERNEL_RCSID(0, "$NetBSD: nsphyter.c,v 1.44 2019/11/27 10:19:21 msaitoh Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@ -133,18 +133,13 @@ nsphyterattach(device_t parent, device_t self, void *aux)
sc->mii_funcs = &nsphyter_funcs;
sc->mii_pdata = mii;
sc->mii_flags = ma->mii_flags;
sc->mii_anegticks = MII_ANEGTICKS;
PHY_RESET(sc);
PHY_READ(sc, MII_BMSR, &sc->mii_capabilities);
sc->mii_capabilities &= ma->mii_capmask;
aprint_normal_dev(self, "");
if ((sc->mii_capabilities & BMSR_MEDIAMASK) == 0)
aprint_error("no media present");
else
mii_phy_add_media(sc);
aprint_normal("\n");
mii_phy_add_media(sc);
}
static int

View File

@ -1,4 +1,4 @@
/* $NetBSD: pnaphy.c,v 1.24 2019/03/25 09:20:46 msaitoh Exp $ */
/* $NetBSD: pnaphy.c,v 1.25 2019/11/27 10:19:21 msaitoh Exp $ */
/*
* Copyright 2001 Wasabi Systems, Inc.
@ -47,7 +47,7 @@
*/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: pnaphy.c,v 1.24 2019/03/25 09:20:46 msaitoh Exp $");
__KERNEL_RCSID(0, "$NetBSD: pnaphy.c,v 1.25 2019/11/27 10:19:21 msaitoh Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@ -115,18 +115,13 @@ pnaphyattach(device_t parent, device_t self, void *aux)
sc->mii_funcs = &pnaphy_funcs;
sc->mii_pdata = mii;
sc->mii_flags = ma->mii_flags | MIIF_IS_HPNA; /* Force HomePNA */
sc->mii_anegticks = MII_ANEGTICKS;
PHY_RESET(sc);
PHY_READ(sc, MII_BMSR, &sc->mii_capabilities);
sc->mii_capabilities &= ma->mii_capmask;
aprint_normal_dev(self, "");
if ((sc->mii_capabilities & BMSR_MEDIAMASK) == 0)
aprint_error("no media present");
else
mii_phy_add_media(sc);
aprint_normal("\n");
mii_phy_add_media(sc);
}
static int

View File

@ -1,4 +1,4 @@
/* $NetBSD: qsphy.c,v 1.53 2019/11/26 08:19:51 msaitoh Exp $ */
/* $NetBSD: qsphy.c,v 1.54 2019/11/27 10:19:21 msaitoh Exp $ */
/*-
* Copyright (c) 1998, 1999, 2000 The NetBSD Foundation, Inc.
@ -60,7 +60,7 @@
*/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: qsphy.c,v 1.53 2019/11/26 08:19:51 msaitoh Exp $");
__KERNEL_RCSID(0, "$NetBSD: qsphy.c,v 1.54 2019/11/27 10:19:21 msaitoh Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@ -125,18 +125,13 @@ qsphyattach(device_t parent, device_t self, void *aux)
sc->mii_funcs = &qsphy_funcs;
sc->mii_pdata = mii;
sc->mii_flags = ma->mii_flags;
sc->mii_anegticks = MII_ANEGTICKS;
PHY_RESET(sc);
PHY_READ(sc, MII_BMSR, &sc->mii_capabilities);
sc->mii_capabilities &= ma->mii_capmask;
aprint_normal_dev(self, "");
if ((sc->mii_capabilities & BMSR_MEDIAMASK) == 0)
aprint_error("no media present");
else
mii_phy_add_media(sc);
aprint_normal("\n");
mii_phy_add_media(sc);
}
static int

View File

@ -1,4 +1,4 @@
/* $NetBSD: rdcphy.c,v 1.4 2019/03/25 09:20:46 msaitoh Exp $ */
/* $NetBSD: rdcphy.c,v 1.5 2019/11/27 10:19:21 msaitoh Exp $ */
/*-
* Copyright (c) 2010, Pyun YongHyeon <yongari@FreeBSD.org>
@ -33,7 +33,7 @@
* Driver for the RDC Semiconductor R6040 10/100 PHY.
*/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: rdcphy.c,v 1.4 2019/03/25 09:20:46 msaitoh Exp $");
__KERNEL_RCSID(0, "$NetBSD: rdcphy.c,v 1.5 2019/11/27 10:19:21 msaitoh Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@ -109,7 +109,6 @@ rdcphyattach(device_t parent, device_t self, void *aux)
sc->mii_funcs = &rdcphy_funcs;
sc->mii_pdata = mii;
sc->mii_flags = ma->mii_flags;
sc->mii_anegticks = MII_ANEGTICKS;
PHY_RESET(sc);
@ -117,13 +116,8 @@ rdcphyattach(device_t parent, device_t self, void *aux)
sc->mii_capabilities &= ma->mii_capmask;
if (sc->mii_capabilities & BMSR_EXTSTAT)
PHY_READ(sc, MII_EXTSR, &sc->mii_extcapabilities);
aprint_normal_dev(self, "");
mii_phy_add_media(sc);
aprint_normal("\n");
if (!pmf_device_register(self, NULL, mii_phy_resume))
aprint_error_dev(self, "couldn't establish power handler\n");
}
static int

View File

@ -1,4 +1,4 @@
/* $NetBSD: rgephy.c,v 1.57 2019/10/11 09:29:04 msaitoh Exp $ */
/* $NetBSD: rgephy.c,v 1.58 2019/11/27 10:19:21 msaitoh Exp $ */
/*
* Copyright (c) 2003
@ -33,7 +33,7 @@
*/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: rgephy.c,v 1.57 2019/10/11 09:29:04 msaitoh Exp $");
__KERNEL_RCSID(0, "$NetBSD: rgephy.c,v 1.58 2019/11/27 10:19:21 msaitoh Exp $");
/*
@ -111,7 +111,6 @@ rgephy_attach(device_t parent, device_t self, void *aux)
struct mii_data *mii = ma->mii_data;
const struct mii_phydesc *mpd;
int rev;
const char *sep = "";
rev = MII_REV(ma->mii_id2);
mpd = mii_phy_match(ma, rgephys);
@ -134,15 +133,11 @@ rgephy_attach(device_t parent, device_t self, void *aux)
sc->mii_pdata = mii;
sc->mii_flags = ma->mii_flags;
sc->mii_anegticks = MII_ANEGTICKS_GIGE;
sc->mii_funcs = &rgephy_funcs;
prop_dictionary_get_bool(prop, "no-rx-delay", &rsc->mii_no_rx_delay);
#define ADD(m, c) ifmedia_add(&mii->mii_media, (m), (c), NULL)
#define PRINT(n) aprint_normal("%s%s", sep, (n)); sep = ", "
#ifdef __FreeBSD__
ADD(IFM_MAKEWORD(IFM_ETHER, IFM_100_TX, IFM_LOOP, sc->mii_inst),
BMCR_LOOP | BMCR_S100);
@ -150,28 +145,19 @@ rgephy_attach(device_t parent, device_t self, void *aux)
PHY_READ(sc, MII_BMSR, &sc->mii_capabilities);
sc->mii_capabilities &= ma->mii_capmask;
sc->mii_capabilities &= ~BMSR_ANEG;
/* RTL8169S does not report auto-sense; add manually. */
sc->mii_capabilities |= BMSR_ANEG;
/*
* FreeBSD does not check EXSTAT, but instead adds gigabit
* media explicitly. Why?
*/
aprint_normal_dev(self, "");
if (sc->mii_capabilities & BMSR_EXTSTAT)
PHY_READ(sc, MII_EXTSR, &sc->mii_extcapabilities);
mii_phy_add_media(sc);
/* rtl8169S does not report auto-sense; add manually. */
ADD(IFM_MAKEWORD(IFM_ETHER, IFM_AUTO, 0, sc->mii_inst), MII_NMEDIA);
sep =", ";
PRINT("auto");
#undef ADD
#undef PRINT
rgephy_reset(sc);
aprint_normal("\n");
}
static int

View File

@ -1,4 +1,4 @@
/* $NetBSD: rlphy.c,v 1.37 2019/09/19 14:41:28 msaitoh Exp $ */
/* $NetBSD: rlphy.c,v 1.38 2019/11/27 10:19:21 msaitoh Exp $ */
/* $OpenBSD: rlphy.c,v 1.20 2005/07/31 05:27:30 pvalchev Exp $ */
/*
@ -38,7 +38,7 @@
*/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: rlphy.c,v 1.37 2019/09/19 14:41:28 msaitoh Exp $");
__KERNEL_RCSID(0, "$NetBSD: rlphy.c,v 1.38 2019/11/27 10:19:21 msaitoh Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@ -142,12 +142,10 @@ rlphyattach(device_t parent, device_t self, void *aux)
PHY_RESET(sc);
aprint_normal_dev(self, "");
PHY_READ(sc, MII_BMSR, &sc->mii_capabilities);
sc->mii_capabilities &= ma->mii_capmask;
if (sc->mii_capabilities & BMSR_MEDIAMASK)
mii_phy_add_media(sc);
aprint_normal("\n");
mii_phy_add_media(sc);
}
static int

View File

@ -107,18 +107,13 @@ smscphy_attach(device_t parent, device_t self, void *aux)
sc->mii_mpd_rev = MII_REV(ma->mii_id2);
sc->mii_pdata = mii;
sc->mii_flags = ma->mii_flags;
sc->mii_anegticks = MII_ANEGTICKS;
PHY_RESET(sc);
PHY_READ(sc, MII_BMSR, &sc->mii_capabilities);
sc->mii_capabilities &= ma->mii_capmask;
aprint_normal_dev(self, "");
if ((sc->mii_capabilities & BMSR_MEDIAMASK) == 0)
aprint_error("no media present");
else
mii_phy_add_media(sc);
aprint_normal("\n");
mii_phy_add_media(sc);
}
static void

View File

@ -1,4 +1,4 @@
/* $NetBSD: sqphy.c,v 1.54 2019/03/25 09:20:46 msaitoh Exp $ */
/* $NetBSD: sqphy.c,v 1.55 2019/11/27 10:19:21 msaitoh Exp $ */
/*-
* Copyright (c) 1998, 1999, 2000, 2001 The NetBSD Foundation, Inc.
@ -60,7 +60,7 @@
*/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: sqphy.c,v 1.54 2019/03/25 09:20:46 msaitoh Exp $");
__KERNEL_RCSID(0, "$NetBSD: sqphy.c,v 1.55 2019/11/27 10:19:21 msaitoh Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@ -131,7 +131,6 @@ sqphyattach(device_t parent, device_t self, void *aux)
sc->mii_phy = ma->mii_phyno;
sc->mii_pdata = mii;
sc->mii_flags = ma->mii_flags;
sc->mii_anegticks = MII_ANEGTICKS;
switch (MII_MODEL(ma->mii_id2)) {
case MII_MODEL_SEEQ_84220:
@ -148,12 +147,8 @@ sqphyattach(device_t parent, device_t self, void *aux)
PHY_READ(sc, MII_BMSR, &sc->mii_capabilities);
sc->mii_capabilities &= ma->mii_capmask;
aprint_normal_dev(self, "");
if ((sc->mii_capabilities & BMSR_MEDIAMASK) == 0)
aprint_error("no media present");
else
mii_phy_add_media(sc);
aprint_normal("\n");
mii_phy_add_media(sc);
}
static int

View File

@ -1,4 +1,4 @@
/* $NetBSD: tlphy.c,v 1.66 2019/03/25 09:20:46 msaitoh Exp $ */
/* $NetBSD: tlphy.c,v 1.67 2019/11/27 10:19:21 msaitoh Exp $ */
/*-
* Copyright (c) 1998, 1999, 2000 The NetBSD Foundation, Inc.
@ -59,7 +59,7 @@
*/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: tlphy.c,v 1.66 2019/03/25 09:20:46 msaitoh Exp $");
__KERNEL_RCSID(0, "$NetBSD: tlphy.c,v 1.67 2019/11/27 10:19:21 msaitoh Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@ -143,7 +143,6 @@ tlphyattach(device_t parent, device_t self, void *aux)
sc->mii_funcs = &tlphy_funcs;
sc->mii_pdata = mii;
sc->mii_flags = ma->mii_flags;
sc->mii_anegticks = MII_ANEGTICKS;
PHY_RESET(sc);
@ -164,8 +163,9 @@ tlphyattach(device_t parent, device_t self, void *aux)
#define ADD(m, c) ifmedia_add(&mii->mii_media, (m), (c), NULL)
#define PRINT(str) aprint_normal("%s%s", sep, str); sep = ", "
aprint_normal_dev(self, "");
if (tsc->sc_tlphycap) {
sc->mii_anegticks = MII_ANEGTICKS;
aprint_normal_dev(self, "");
if (tsc->sc_tlphycap & TLPHY_MEDIA_10_2) {
ADD(IFM_MAKEWORD(IFM_ETHER, IFM_10_2, 0, sc->mii_inst),
0);
@ -175,25 +175,23 @@ tlphyattach(device_t parent, device_t self, void *aux)
0);
PRINT("10base5");
}
aprint_normal("\n");
}
if (sc->mii_capabilities & BMSR_MEDIAMASK) {
aprint_normal("%s", sep);
if (sc->mii_capabilities & BMSR_MEDIAMASK)
mii_phy_add_media(sc);
} else {
else {
if ((tsc->sc_tlphycap &
(TLPHY_MEDIA_10_2 | TLPHY_MEDIA_10_5)) == 0)
aprint_error("no media present");
aprint_error_dev(self, "no media present\n");
/*
* mii_phy_add_media() automatically install power handler,
* but if_media_add() doesn't. Do it now.
*/
if (!pmf_device_register(self, NULL, mii_phy_resume)) {
aprint_normal("\n");
aprint_error_dev(self,
"couldn't establish power handler");
"couldn't establish power handler\n");
}
}
aprint_normal("\n");
#undef ADD
#undef PRINT
}

View File

@ -1,4 +1,4 @@
/* $NetBSD: tqphy.c,v 1.43 2019/03/25 09:20:46 msaitoh Exp $ */
/* $NetBSD: tqphy.c,v 1.44 2019/11/27 10:19:21 msaitoh Exp $ */
/*
* Copyright (c) 1998, 1999, 2000 The NetBSD Foundation, Inc.
@ -61,7 +61,7 @@
*/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: tqphy.c,v 1.43 2019/03/25 09:20:46 msaitoh Exp $");
__KERNEL_RCSID(0, "$NetBSD: tqphy.c,v 1.44 2019/11/27 10:19:21 msaitoh Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@ -133,7 +133,6 @@ tqphyattach(device_t parent, device_t self, void *aux)
sc->mii_funcs = &tqphy_funcs;
sc->mii_pdata = mii;
sc->mii_flags = ma->mii_flags;
sc->mii_anegticks = MII_ANEGTICKS;
/* Apparently, we can't do loopback on this PHY. */
sc->mii_flags |= MIIF_NOLOOP;
@ -142,12 +141,8 @@ tqphyattach(device_t parent, device_t self, void *aux)
PHY_READ(sc, MII_BMSR, &sc->mii_capabilities);
sc->mii_capabilities &= ma->mii_capmask;
aprint_normal_dev(self, "");
if ((sc->mii_capabilities & BMSR_MEDIAMASK) == 0)
aprint_error("no media present");
else
mii_phy_add_media(sc);
aprint_normal("\n");
mii_phy_add_media(sc);
}
static int

View File

@ -1,4 +1,4 @@
/* $NetBSD: ukphy.c,v 1.51 2019/03/25 09:20:46 msaitoh Exp $ */
/* $NetBSD: ukphy.c,v 1.52 2019/11/27 10:19:21 msaitoh Exp $ */
/*-
* Copyright (c) 1998, 1999, 2000 The NetBSD Foundation, Inc.
@ -59,7 +59,7 @@
*/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: ukphy.c,v 1.51 2019/03/25 09:20:46 msaitoh Exp $");
__KERNEL_RCSID(0, "$NetBSD: ukphy.c,v 1.52 2019/11/27 10:19:21 msaitoh Exp $");
#ifdef _KERNEL_OPT
#include "opt_mii.h"
@ -129,7 +129,6 @@ ukphyattach(device_t parent, device_t self, void *aux)
sc->mii_funcs = &ukphy_funcs;
sc->mii_pdata = mii;
sc->mii_flags = ma->mii_flags;
sc->mii_anegticks = MII_ANEGTICKS;
/*
* Don't do loopback on unknown PHYs. It might confuse some of them.
@ -142,13 +141,8 @@ ukphyattach(device_t parent, device_t self, void *aux)
sc->mii_capabilities &= ma->mii_capmask;
if (sc->mii_capabilities & BMSR_EXTSTAT)
PHY_READ(sc, MII_EXTSR, &sc->mii_extcapabilities);
aprint_normal_dev(self, "");
if ((sc->mii_capabilities & BMSR_MEDIAMASK) == 0 &&
(sc->mii_extcapabilities & EXTSR_MEDIAMASK) == 0)
aprint_error("no media present");
else
mii_phy_add_media(sc);
aprint_normal("\n");
mii_phy_add_media(sc);
}
static int

View File

@ -1,4 +1,4 @@
/* $NetBSD: urlphy.c,v 1.34 2019/03/25 09:20:46 msaitoh Exp $ */
/* $NetBSD: urlphy.c,v 1.35 2019/11/27 10:19:21 msaitoh Exp $ */
/*
* Copyright (c) 2001, 2002
* Shingo WATANABE <nabe@nabechan.org>. All rights reserved.
@ -34,7 +34,7 @@
*/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: urlphy.c,v 1.34 2019/03/25 09:20:46 msaitoh Exp $");
__KERNEL_RCSID(0, "$NetBSD: urlphy.c,v 1.35 2019/11/27 10:19:21 msaitoh Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@ -107,7 +107,6 @@ urlphy_attach(device_t parent, device_t self, void *aux)
sc->mii_funcs = &urlphy_funcs;
sc->mii_pdata = mii;
sc->mii_flags = ma->mii_flags;
sc->mii_anegticks = MII_ANEGTICKS_GIGE;
/* Don't do loopback on this PHY. */
sc->mii_flags |= MIIF_NOLOOP;
@ -123,12 +122,8 @@ urlphy_attach(device_t parent, device_t self, void *aux)
PHY_READ(sc, MII_BMSR, &sc->mii_capabilities);
sc->mii_capabilities &= ma->mii_capmask;
aprint_normal_dev(self, "");
if ((sc->mii_capabilities & BMSR_MEDIAMASK) == 0)
aprint_error("no media present");
else
mii_phy_add_media(sc);
aprint_normal("\n");
mii_phy_add_media(sc);
}
static int