svn commit: r237953 - in head/sys/dev/ath: . ath_hal
Adrian Chadd
adrian at FreeBSD.org
Mon Jul 2 06:02:13 UTC 2012
Author: adrian
Date: Mon Jul 2 06:02:12 2012
New Revision: 237953
URL: http://svn.freebsd.org/changeset/base/237953
Log:
Bring over some further HAL capabilities from the Atheros HAL, as well
as an EDMA check function.
For the AR9003 and later NICs, different TX/RX DMA and descriptor handling
code will be conditional on the EDMA check.
Obtained from: Qualcomm Atheros
Modified:
head/sys/dev/ath/ath_hal/ah.h
head/sys/dev/ath/if_athvar.h
Modified: head/sys/dev/ath/ath_hal/ah.h
==============================================================================
--- head/sys/dev/ath/ath_hal/ah.h Mon Jul 2 05:57:44 2012 (r237952)
+++ head/sys/dev/ath/ath_hal/ah.h Mon Jul 2 06:02:12 2012 (r237953)
@@ -110,7 +110,7 @@ typedef enum {
HAL_CAP_TPC_ACK = 26, /* ack txpower with per-packet tpc */
HAL_CAP_TPC_CTS = 27, /* cts txpower with per-packet tpc */
HAL_CAP_11D = 28, /* 11d beacon support for changing cc */
-
+ HAL_CAP_PCIE_PS = 29,
HAL_CAP_HT = 30, /* hardware can support HT */
HAL_CAP_GTXTO = 31, /* hardware supports global tx timeout */
HAL_CAP_FAST_CC = 32, /* hardware supports fast channel change */
@@ -120,6 +120,9 @@ typedef enum {
HAL_CAP_CST = 38, /* hardware supports carrier sense timeout */
+ HAL_CAP_RIFS_RX = 39,
+ HAL_CAP_RIFS_TX = 40,
+ HAL_CAP_FORCE_PPM = 41,
HAL_CAP_RTS_AGGR_LIMIT = 42, /* aggregation limit with RTS */
HAL_CAP_4ADDR_AGGR = 43, /* hardware is capable of 4addr aggregation */
HAL_CAP_DFS_DMN = 44, /* current DFS domain */
@@ -131,8 +134,27 @@ typedef enum {
HAL_CAP_MBSSID_AGGR_SUPPORT = 49, /* Support for mBSSID Aggregation */
HAL_CAP_SPLIT_4KB_TRANS = 50, /* hardware supports descriptors straddling a 4k page boundary */
HAL_CAP_REG_FLAG = 51, /* Regulatory domain flags */
+ HAL_CAP_BB_RIFS_HANG = 52,
+ HAL_CAP_RIFS_RX_ENABLED = 53,
+ HAL_CAP_BB_DFS_HANG = 54,
HAL_CAP_BT_COEX = 60, /* hardware is capable of bluetooth coexistence */
+ HAL_CAP_DYNAMIC_SMPS = 61, /* Dynamic MIMO Power Save hardware support */
+
+ HAL_CAP_DS = 67, /* 2 stream */
+ HAL_CAP_BB_RX_CLEAR_STUCK_HANG = 68,
+ HAL_CAP_MAC_HANG = 69, /* can MAC hang */
+ HAL_CAP_MFP = 70, /* Manangement Frame Protection in hardware */
+
+ HAL_CAP_TS = 72, /* 3 stream */
+
+ HAL_CAP_ENHANCED_DMA_SUPPORT = 75, /* DMA FIFO support */
+
+ HAL_CAP_RX_BUFSIZE = 81,
+ HAL_CAP_NUM_MR_ENTRIES = 82,
+ HAL_CAP_OL_PWRCTRL = 84, /* Open loop TX power control */
+
+ HAL_CAP_BB_PANIC_WATCHDOG = 92,
HAL_CAP_HT20_SGI = 96, /* hardware supports HT20 short GI */
@@ -144,7 +166,6 @@ typedef enum {
HAL_CAP_INTMIT = 229, /* interference mitigation */
HAL_CAP_RXORN_FATAL = 230, /* HAL_INT_RXORN treated as fatal */
HAL_CAP_BB_HANG = 235, /* can baseband hang */
- HAL_CAP_MAC_HANG = 236, /* can MAC hang */
HAL_CAP_INTRMASK = 237, /* bitmask of supported interrupts */
HAL_CAP_BSSIDMATCH = 238, /* hardware has disable bssid match */
HAL_CAP_STREAMS = 239, /* how many 802.11n spatial streams are available */
Modified: head/sys/dev/ath/if_athvar.h
==============================================================================
--- head/sys/dev/ath/if_athvar.h Mon Jul 2 05:57:44 2012 (r237952)
+++ head/sys/dev/ath/if_athvar.h Mon Jul 2 06:02:12 2012 (r237953)
@@ -942,6 +942,9 @@ void ath_intr(void *);
#define ath_hal_setintmit(_ah, _v) \
ath_hal_setcapability(_ah, HAL_CAP_INTMIT, \
HAL_CAP_INTMIT_ENABLE, _v, NULL)
+#define ath_hal_hasedma(_ah) \
+ (ath_hal_getcapability(_ah, HAL_CAP_ENHANCED_DMA_SUPPORT, \
+ 0, NULL) == HAL_OK)
#define ath_hal_getchannoise(_ah, _c) \
((*(_ah)->ah_getChanNoise)((_ah), (_c)))
#define ath_hal_getrxchainmask(_ah, _prxchainmask) \
More information about the svn-src-head
mailing list