diff options
| author | Bill Paul <wpaul@FreeBSD.org> | 2000-10-05 17:36:14 +0000 |
|---|---|---|
| committer | Bill Paul <wpaul@FreeBSD.org> | 2000-10-05 17:36:14 +0000 |
| commit | 5c1cfac46e47ae5f83346be09703ae711e47b4a4 (patch) | |
| tree | 4b47a08c23d6c1d8c369e0700170c125e8bc4f89 /sys/dev/mii | |
| parent | b75e82a0e60b039d0eca71e903a01a8bdc76813f (diff) | |
Notes
Diffstat (limited to 'sys/dev/mii')
| -rw-r--r-- | sys/dev/mii/dcphy.c | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/sys/dev/mii/dcphy.c b/sys/dev/mii/dcphy.c index 73e241e8f5cc..ad2599c69583 100644 --- a/sys/dev/mii/dcphy.c +++ b/sys/dev/mii/dcphy.c @@ -179,12 +179,17 @@ static int dcphy_attach(dev) sc->mii_capabilities = BMSR_ANEG|BMSR_10TFDX|BMSR_10THDX; break; default: - ADD(IFM_MAKEWORD(IFM_ETHER, IFM_100_TX, IFM_LOOP, - sc->mii_inst), BMCR_LOOP|BMCR_S100); + if (dc_sc->dc_pmode == DC_PMODE_SIA) { + sc->mii_capabilities = + BMSR_ANEG|BMSR_10TFDX|BMSR_10THDX; + } else { + ADD(IFM_MAKEWORD(IFM_ETHER, IFM_100_TX, IFM_LOOP, + sc->mii_inst), BMCR_LOOP|BMCR_S100); - sc->mii_capabilities = - BMSR_ANEG|BMSR_100TXFDX|BMSR_100TXHDX| - BMSR_10TFDX|BMSR_10THDX; + sc->mii_capabilities = + BMSR_ANEG|BMSR_100TXFDX|BMSR_100TXHDX| + BMSR_10TFDX|BMSR_10THDX; + } break; } @@ -429,10 +434,11 @@ dcphy_status(sc) } skip: - if (CSR_READ_4(dc_sc, DC_NETCFG) & DC_NETCFG_SCRAMBLER) - mii->mii_media_active |= IFM_100_TX; - else + + if (CSR_READ_4(dc_sc, DC_NETCFG) & DC_NETCFG_SPEEDSEL) mii->mii_media_active |= IFM_10_T; + else + mii->mii_media_active |= IFM_100_TX; if (CSR_READ_4(dc_sc, DC_NETCFG) & DC_NETCFG_FULLDUPLEX) mii->mii_media_active |= IFM_FDX; |
