summaryrefslogtreecommitdiffstats
path: root/sys/pci/if_sk.c
diff options
context:
space:
mode:
authorwpaul <wpaul@FreeBSD.org>2000-06-06 02:56:37 +0000
committerwpaul <wpaul@FreeBSD.org>2000-06-06 02:56:37 +0000
commit0b1df3a8a21b6cc1b04d640139712db067092dde (patch)
tree88f526c047f5bd5378af7a89897ccf9b85615782 /sys/pci/if_sk.c
parent5bc77f44a4d87af560faf3efcc80a986007f3837 (diff)
downloadFreeBSD-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.c5
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;
OpenPOWER on IntegriCloud