summaryrefslogtreecommitdiffstats
path: root/sys/dev/an/if_anreg.h
diff options
context:
space:
mode:
authorjhb <jhb@FreeBSD.org>2009-11-24 16:57:35 +0000
committerjhb <jhb@FreeBSD.org>2009-11-24 16:57:35 +0000
commitc0320571458261fb0e2ea728e41b96476f7b791a (patch)
treec567d02cee6ae3276b5d54ed860ef9d6ebccbfea /sys/dev/an/if_anreg.h
parent12cc74363af56825a0d1dbbb25123f05a4ed8f3f (diff)
downloadFreeBSD-src-c0320571458261fb0e2ea728e41b96476f7b791a.zip
FreeBSD-src-c0320571458261fb0e2ea728e41b96476f7b791a.tar.gz
- For 350 chips, don't set various INTR bits in TX control word; turning INTR
bits on seems to confuse hardware TX engine. - For 350 chips, set TX desc's buffer physical address before turning on the TX desc valid bit. Submitted by: Jeremy O'Brien obrien654j | gmail, sephe Obtained from: DragonFly BSD
Diffstat (limited to 'sys/dev/an/if_anreg.h')
-rw-r--r--sys/dev/an/if_anreg.h17
1 files changed, 11 insertions, 6 deletions
diff --git a/sys/dev/an/if_anreg.h b/sys/dev/an/if_anreg.h
index 2fe9ac2..279e65b 100644
--- a/sys/dev/an/if_anreg.h
+++ b/sys/dev/an/if_anreg.h
@@ -386,13 +386,18 @@ struct an_txframe_802_3 {
#define AN_PAYLOADTYPE_ETHER 0x0000
#define AN_PAYLOADTYPE_LLC 0x0010
-#define AN_TXCTL_80211 \
- (AN_TXCTL_TXOK_INTR|AN_TXCTL_TXERR_INTR|AN_HEADERTYPE_80211| \
- AN_PAYLOADTYPE_LLC|AN_TXCTL_NORELEASE)
+#define AN_TXCTL_80211 (AN_HEADERTYPE_80211|AN_PAYLOADTYPE_LLC)
-#define AN_TXCTL_8023 \
- (AN_TXCTL_TXOK_INTR|AN_TXCTL_TXERR_INTR|AN_HEADERTYPE_8023| \
- AN_PAYLOADTYPE_ETHER|AN_TXCTL_NORELEASE)
+#define AN_TXCTL_8023 (AN_HEADERTYPE_8023|AN_PAYLOADTYPE_ETHER)
+
+/*
+ * Additions to transmit control bits for MPI350
+ */
+#define AN_TXCTL_HW(x) \
+ ( x ? (AN_TXCTL_NORELEASE) \
+ : \
+ (AN_TXCTL_TXOK_INTR|AN_TXCTL_TXERR_INTR|AN_TXCTL_NORELEASE) \
+ )
#define AN_TXGAP_80211 0
#define AN_TXGAP_8023 0
OpenPOWER on IntegriCloud