Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 16 Dec 2004 13:45:50 +0000 (UTC)
From:      "Bjoern A. Zeeb" <bzeeb-lists@lists.zabbadoz.net>
To:        Heinz Knocke <knockefreebsd@o2.pl>
Cc:        freebsd-stable@freebsd.org
Subject:   Re: Marvell 88E8001 on sk0 and RELENG_5_3 - big problems
Message-ID:  <Pine.BSF.4.53.0412161343000.931@e0-0.zab2.int.zabbadoz.net>
In-Reply-To: <006301c4e2f4$26a67fc0$df5561d9@ALFA>
References:  <003501c4e228$5f2cd780$df5561d9@ALFA> <Pine.BSF.4.53.0412142202360.931@e0-0.zab2.int.zabbadoz.net> <006301c4e2f4$26a67fc0$df5561d9@ALFA>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, 15 Dec 2004, Heinz Knocke wrote:

Hi,

> I got the the latest RELENG_5 and nothing's changed :( Still cannot send jumbo packets.
>
> But I tried this patch http://www.openbsd.org/cgi-bin/cvsweb/src/sys/dev/pci/if_sk.c.diff?r1=1.51&r2=1.52
> and IT WORKED :)) I'm almost sure that these changes wasn't in the RELENG_5 tree, there's a chance than sth was wrong with my cvsup configuration, but please check.

would you mind trying this patch. It should only activate jumbo frames
conditional on interface MTU like we do for xmacii.


Index: sys/pci/if_sk.c
===================================================================
RCS file: /local/mirror/FreeBSD/r/ncvs/src/sys/pci/if_sk.c,v
retrieving revision 1.92
diff -u -p -r1.92 if_sk.c
--- sys/pci/if_sk.c	17 Nov 2004 21:35:22 -0000	1.92
+++ sys/pci/if_sk.c	16 Dec 2004 10:49:48 -0000
@@ -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++) {

-- 
Bjoern A. Zeeb				bzeeb at Zabbadoz dot NeT



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.53.0412161343000.931>