summaryrefslogtreecommitdiffstats
path: root/sys/dev/msk/if_mskreg.h
diff options
context:
space:
mode:
authoryongari <yongari@FreeBSD.org>2009-06-02 04:35:44 +0000
committeryongari <yongari@FreeBSD.org>2009-06-02 04:35:44 +0000
commit493c3c966072849c324b35b3d2c72f2ddc8648f0 (patch)
treef991d243407ef8b8839b7f3ac5085b4291cec66b /sys/dev/msk/if_mskreg.h
parentf27a08a589cf7f329010cf7834a9a0143dc7b1b2 (diff)
downloadFreeBSD-src-493c3c966072849c324b35b3d2c72f2ddc8648f0.zip
FreeBSD-src-493c3c966072849c324b35b3d2c72f2ddc8648f0.tar.gz
Add frame parser capability of Yukon FE+ and Yukon Extreme. With
this feature hardware automatically computes TCP/UDP payload offset. Introduce MSK_FLAG_AUTOTX_CSUM to mark the capability. Yukon Extreme B0 revision is known to have a silicon for the feature so disable it. Yukon Extreme B0 still can do Tx checksum offloading but CPU have to compute TCP/UDP payload offset. To enable traditional checksum offloading, disable automatic Tx checksum calculation capability. Yukon Extreme A0 revision could not use store-and-forward mode for jumbo frames(silicon bug) so disable Tx checksum offloading for jumbo frames. I believe controllers that have MSK_FLAG_AUTOTX_CSUM capability or new descriptor format do not have Tx checksum offload bug so disable checksum offloading workaround for for short frames. Tested by: jhb, Warren Block ( wblock <> wonkity dot com )
Diffstat (limited to 'sys/dev/msk/if_mskreg.h')
-rw-r--r--sys/dev/msk/if_mskreg.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/dev/msk/if_mskreg.h b/sys/dev/msk/if_mskreg.h
index e0de8a4..8f5797b 100644
--- a/sys/dev/msk/if_mskreg.h
+++ b/sys/dev/msk/if_mskreg.h
@@ -2502,8 +2502,9 @@ struct msk_if_softc {
#define MSK_FLAG_JUMBO_NOCSUM 0x0010
#define MSK_FLAG_RAMBUF 0x0020
#define MSK_FLAG_DESCV2 0x0040
-#define MSK_FLAG_NOHWVLAN 0x0080
-#define MSK_FLAG_NORXCHK 0x0100
+#define MSK_FLAG_AUTOTX_CSUM 0x0080
+#define MSK_FLAG_NOHWVLAN 0x0100
+#define MSK_FLAG_NORXCHK 0x0200
#define MSK_FLAG_SUSPEND 0x2000
#define MSK_FLAG_DETACH 0x4000
#define MSK_FLAG_LINK 0x8000
OpenPOWER on IntegriCloud