summaryrefslogtreecommitdiffstats
path: root/sys/dev/sk/if_sk.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dev/sk/if_sk.c')
-rw-r--r--sys/dev/sk/if_sk.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/sys/dev/sk/if_sk.c b/sys/dev/sk/if_sk.c
index c31b88c..be66cfb 100644
--- a/sys/dev/sk/if_sk.c
+++ b/sys/dev/sk/if_sk.c
@@ -2438,8 +2438,13 @@ sk_init_yukon(sc_if)
{
u_int32_t phy;
u_int16_t reg;
+ struct sk_softc *sc;
+ struct ifnet *ifp;
int i;
+ sc = sc_if->sk_softc;
+ ifp = &sc_if->arpcom.ac_if;
+
/* GMAC and GPHY Reset */
SK_IF_WRITE_4(sc_if, 0, SK_GPHY_CTRL, SK_GPHY_RESET_SET);
SK_IF_WRITE_4(sc_if, 0, SK_GMAC_CTRL, SK_GMAC_RESET_SET);
@@ -2490,8 +2495,10 @@ sk_init_yukon(sc_if)
YU_TPR_JAM_IPG(0xb) | YU_TPR_JAM2DATA_IPG(0x1a) );
/* serial mode register */
- SK_YU_WRITE_2(sc_if, YUKON_SMR, YU_SMR_DATA_BLIND(0x1c) |
- YU_SMR_MFL_VLAN | YU_SMR_IPG_DATA(0x1e));
+ reg = YU_SMR_DATA_BLIND(0x1c) | YU_SMR_MFL_VLAN | YU_SMR_IPG_DATA(0x1e);
+ if (ifp->if_mtu > (ETHERMTU + ETHER_HDR_LEN + ETHER_CRC_LEN))
+ reg |= YU_SMR_MFL_JUMBO;
+ SK_YU_WRITE_2(sc_if, YUKON_SMR, reg);
/* Setup Yukon's address */
for (i = 0; i < 3; i++) {
OpenPOWER on IntegriCloud