1
0
mirror of https://git.FreeBSD.org/src.git synced 2025-01-25 16:13:17 +00:00

- 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.
This commit is contained in:
Bill Paul 2000-06-06 02:56:37 +00:00
parent 4304e142c2
commit 4d1f3470e3
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=61317
2 changed files with 8 additions and 2 deletions

View File

@ -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;

View File

@ -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;