diff options
author | wpaul <wpaul@FreeBSD.org> | 2000-06-06 02:56:37 +0000 |
---|---|---|
committer | wpaul <wpaul@FreeBSD.org> | 2000-06-06 02:56:37 +0000 |
commit | 0b1df3a8a21b6cc1b04d640139712db067092dde (patch) | |
tree | 88f526c047f5bd5378af7a89897ccf9b85615782 /sys/pci/if_sk.c | |
parent | 5bc77f44a4d87af560faf3efcc80a986007f3837 (diff) | |
download | FreeBSD-src-0b1df3a8a21b6cc1b04d640139712db067092dde.zip FreeBSD-src-0b1df3a8a21b6cc1b04d640139712db067092dde.tar.gz |
- Call mii_pollstat() after we bring up the link on a 1000baseTX card
after autoneg so we make sure to set the link state and duplex mode
correctly.
- Make sure to set the 'ignore pause frames' bit on the XMAC.
- Small linewrap fix.
Diffstat (limited to 'sys/pci/if_sk.c')
-rw-r--r-- | sys/pci/if_sk.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/sys/pci/if_sk.c b/sys/pci/if_sk.c index 09907f8..3504af4 100644 --- a/sys/pci/if_sk.c +++ b/sys/pci/if_sk.c @@ -1782,7 +1782,8 @@ static void sk_intr_bcom(sc_if) if (!(lstat & BRGPHY_AUXSTS_LINK) && sc_if->sk_link) { mii_mediachg(mii); /* Turn off the link LED. */ - SK_IF_WRITE_1(sc_if, 0, SK_LINKLED1_CTL, SK_LINKLED_OFF); + SK_IF_WRITE_1(sc_if, 0, + SK_LINKLED1_CTL, SK_LINKLED_OFF); sc_if->sk_link = 0; } else if (status & BRGPHY_ISR_LNK_CHG) { sk_miibus_writereg(sc_if->sk_dev, SK_PHYADDR_BCOM, @@ -1793,6 +1794,7 @@ static void sk_intr_bcom(sc_if) SK_IF_WRITE_1(sc_if, 0, SK_LINKLED1_CTL, SK_LINKLED_ON|SK_LINKLED_LINKSYNC_OFF| SK_LINKLED_BLINK_OFF); + mii_pollstat(mii); } else { mii_tick(mii); sc_if->sk_tick_ch = timeout(sk_tick, sc_if, hz); @@ -2184,6 +2186,7 @@ static void sk_init(xsc) SK_IF_WRITE_4(sc_if, 0, SK_RXQ1_BMU_CSR, SK_RXBMU_RX_START); /* Enable XMACs TX and RX state machines */ + SK_XM_CLRBIT_2(sc_if, XM_MMUCMD, XM_MMUCMD_IGNPAUSE); SK_XM_SETBIT_2(sc_if, XM_MMUCMD, XM_MMUCMD_TX_ENB|XM_MMUCMD_RX_ENB); ifp->if_flags |= IFF_RUNNING; |