From d0709eea67e0ae904f80928991bf3ce66b3fcbc4 Mon Sep 17 00:00:00 2001 From: ambrisko Date: Mon, 19 Aug 2002 16:54:26 +0000 Subject: Don't read the PCI config space during mii operations. Instead save whether or not we have to limit the PHY detection in the softc structure. Then just check the flag. Suggested by: jdp Reviewed by: jdp MFC after: 3 days --- sys/pci/if_ste.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'sys/pci/if_ste.c') diff --git a/sys/pci/if_ste.c b/sys/pci/if_ste.c index 5a2a814..5dca5da 100644 --- a/sys/pci/if_ste.c +++ b/sys/pci/if_ste.c @@ -380,9 +380,7 @@ static int ste_miibus_readreg(dev, phy, reg) sc = device_get_softc(dev); - if (pci_get_vendor(dev) == DL_VENDORID && - pci_get_device(dev) == DL_DEVICEID_550TX && - phy != 0) + if ( sc->ste_one_phy && phy != 0 ) return (0); bzero((char *)&frame, sizeof(frame)); @@ -906,6 +904,13 @@ static int ste_attach(dev) bzero(sc, sizeof(struct ste_softc)); sc->ste_dev = dev; + /* + * Only use the first PHY since this chip reports multiple + */ + if (pci_get_vendor(dev) == DL_VENDORID && + pci_get_device(dev) == DL_DEVICEID_550TX ) + sc->ste_one_phy = 1; + mtx_init(&sc->ste_mtx, device_get_nameunit(dev), MTX_NETWORK_LOCK, MTX_DEF | MTX_RECURSE); STE_LOCK(sc); -- cgit v1.1