FreeBSD kernel ATH device code
ah.h File Reference
#include "ah_osdep.h"
#include "ath_hal/ah_btcoex.h"
Include dependency graph for ah.h:

Go to the source code of this file.

Data Structures

struct  HAL_TXQ_INFO
 
struct  HAL_ANISTATS
 
struct  HAL_DESC_INFO
 
struct  halCounters
 
struct  HAL_MIB_STATS
 
struct  HAL_RATE_TABLE
 
struct  HAL_RATE_SET
 
struct  HAL_11N_RATE_SERIES
 
struct  HAL_KEYVAL
 
struct  HAL_BEACON_STATE
 
struct  HAL_BEACON_TIMERS
 
struct  HAL_NODE_STATS
 
struct  HAL_ANI_STATS
 
struct  HAL_ANI_STATE
 
struct  HAL_SURVEY_SAMPLE
 
struct  HAL_CHANNEL_SURVEY
 
struct  HAL_PHYERR_PARAM
 
struct  HAL_SPECTRAL_PARAM
 
struct  HAL_ANT_COMB_CONFIG
 
struct  hal_dfs_event
 
struct  hal_bb_panic_info
 
struct  HAL_OPS_CONFIG
 
struct  ath_hal
 

Macros

#define AH_BIG_ENDIAN   4321
 
#define AH_LITTLE_ENDIAN   1234
 
#define AH_BYTE_ORDER   AH_BIG_ENDIAN
 
#define AH_MAX_CHAINS   3
 
#define AH_MIMO_MAX_EVM_PILOTS   6
 
#define __ahdecl
 
#define HAL_NUM_TX_QUEUES   10 /* max possible # of queues */
 
#define HAL_NUM_RX_QUEUES   2 /* max possible # of queues */
 
#define HAL_TXFIFO_DEPTH   8 /* transmit fifo depth */
 
#define HAL_TQI_NONVAL   0xffff
 
#define HAL_TXQ_USEDEFAULT   ((uint32_t) -1)
 
#define HAL_COMP_BUF_MAX_SIZE   9216 /* 9K */
 
#define HAL_COMP_BUF_ALIGN_SIZE   512
 
#define AH_ENT_DUAL_BAND_DISABLE   0x00000001
 
#define AH_ENT_CHAIN2_DISABLE   0x00000002
 
#define AH_ENT_5MHZ_DISABLE   0x00000004
 
#define AH_ENT_10MHZ_DISABLE   0x00000008
 
#define AH_ENT_49GHZ_DISABLE   0x00000010
 
#define AH_ENT_LOOPBACK_DISABLE   0x00000020
 
#define AH_ENT_TPC_PERF_DISABLE   0x00000040
 
#define AH_ENT_MIN_PKT_SIZE_DISABLE   0x00000080
 
#define AH_ENT_SPECTRAL_PRECISION   0x00000300
 
#define AH_ENT_SPECTRAL_PRECISION_S   8
 
#define AH_ENT_RTSCTS_DELIM_WAR   0x00010000
 
#define AH_FIRST_DESC_NDELIMS   60
 
#define HAL_INT_GLOBAL   0x80000000 /* Set/clear IER */
 
#define HAL_ANTENNA_MIN_MODE   0
 
#define HAL_ANTENNA_FIXED_A   1
 
#define HAL_ANTENNA_FIXED_B   2
 
#define HAL_ANTENNA_MAX_MODE   3
 
#define HAL_RATESERIES_RTS_CTS   0x0001 /* use rts/cts w/this series */
 
#define HAL_RATESERIES_2040   0x0002 /* use ext channel for series */
 
#define HAL_RATESERIES_HALFGI   0x0004 /* use half-gi for series */
 
#define HAL_RATESERIES_STBC   0x0008 /* use STBC for series */
 
#define AH_KEYTYPE_MASK   0x0F
 
#define HAL_BEACON_PERIOD   0x0000ffff /* beacon interval period */
 
#define HAL_BEACON_PERIOD_TU8   0x0007ffff /* beacon interval, tu/8 */
 
#define HAL_BEACON_ENA   0x00800000 /* beacon xmit enable */
 
#define HAL_BEACON_RESET_TSF   0x01000000 /* clear TSF */
 
#define HAL_TSFOOR_THRESHOLD   0x00004240 /* TSF OOR thresh (16k uS) */
 
#define HAL_BEACON_TBTT_EN   0x00000001
 
#define HAL_BEACON_DBA_EN   0x00000002
 
#define HAL_BEACON_SWBA_EN   0x00000004
 
#define HAL_RSSI_EP_MULTIPLIER   (1<<7) /* pow2 to optimize out * and / */
 
#define CHANNEL_SURVEY_SAMPLE_COUNT   32
 
#define HAL_ANI_ALL   0xffffffff
 
#define HAL_PHYERR_PARAM_NOVAL   65535
 
#define HAL_SPECTRAL_PARAM_NOVAL   0xFFFF
 
#define HAL_SPECTRAL_PARAM_ENABLE   0x8000 /* Enable/Disable if applicable */
 
#define DEFAULT_ANTDIV_CONFIG_GROUP   0x00
 
#define HAL_ANTDIV_CONFIG_GROUP_1   0x01
 
#define HAL_ANTDIV_CONFIG_GROUP_2   0x02
 
#define HAL_ANTDIV_CONFIG_GROUP_3   0x03
 
#define HAL_DFS_EVENT_PRICH   0x0000001
 
#define HAL_DFS_EVENT_EXTCH   0x0000002
 
#define HAL_DFS_EVENT_EXTEARLY   0x0000004
 
#define HAL_DFS_EVENT_ISDC   0x0000008
 
#define AR_PCIE_PLL_PWRSAVE_CONTROL   (1<<0)
 
#define AR_PCIE_PLL_PWRSAVE_ON_D3   (1<<1)
 
#define AR_PCIE_PLL_PWRSAVE_ON_D0   (1<<2)
 

Typedefs

typedef struct halCounters HAL_COUNTERS
 
typedef uint16_t HAL_CTRY_CODE
 
typedef uint16_t HAL_REG_DOMAIN
 
typedef struct hal_dfs_event HAL_DFS_EVENT
 

Enumerations

enum  HAL_STATUS {
  HAL_OK = 0 , HAL_ENXIO = 1 , HAL_ENOMEM = 2 , HAL_EIO = 3 ,
  HAL_EEMAGIC = 4 , HAL_EEVERSION = 5 , HAL_EELOCKED = 6 , HAL_EEBADSUM = 7 ,
  HAL_EEREAD = 8 , HAL_EEBADMAC = 9 , HAL_EESIZE = 10 , HAL_EEWRITE = 11 ,
  HAL_EINVAL = 12 , HAL_ENOTSUPP = 13 , HAL_ESELFTEST = 14 , HAL_EINPROGRESS = 15 ,
  HAL_EEBADREG = 16 , HAL_EEBADCC = 17 , HAL_INV_PMODE = 18
}
 
enum  HAL_BOOL { AH_FALSE = 0 , AH_TRUE = 1 }
 
enum  HAL_CAPABILITY_TYPE {
  HAL_CAP_REG_DMN = 0 , HAL_CAP_CIPHER = 1 , HAL_CAP_TKIP_MIC = 2 , HAL_CAP_TKIP_SPLIT = 3 ,
  HAL_CAP_PHYCOUNTERS = 4 , HAL_CAP_DIVERSITY = 5 , HAL_CAP_KEYCACHE_SIZE = 6 , HAL_CAP_NUM_TXQUEUES = 7 ,
  HAL_CAP_VEOL = 9 , HAL_CAP_PSPOLL = 10 , HAL_CAP_DIAG = 11 , HAL_CAP_COMPRESSION = 12 ,
  HAL_CAP_BURST = 13 , HAL_CAP_FASTFRAME = 14 , HAL_CAP_TXPOW = 15 , HAL_CAP_TPC = 16 ,
  HAL_CAP_PHYDIAG = 17 , HAL_CAP_BSSIDMASK = 18 , HAL_CAP_MCAST_KEYSRCH = 19 , HAL_CAP_TSF_ADJUST = 20 ,
  HAL_CAP_WME_TKIPMIC = 22 , HAL_CAP_RFSILENT = 25 , HAL_CAP_TPC_ACK = 26 , HAL_CAP_TPC_CTS = 27 ,
  HAL_CAP_11D = 28 , HAL_CAP_PCIE_PS = 29 , HAL_CAP_HT = 30 , HAL_CAP_GTXTO = 31 ,
  HAL_CAP_FAST_CC = 32 , HAL_CAP_TX_CHAINMASK = 33 , HAL_CAP_RX_CHAINMASK = 34 , HAL_CAP_NUM_GPIO_PINS = 36 ,
  HAL_CAP_CST = 38 , HAL_CAP_RIFS_RX = 39 , HAL_CAP_RIFS_TX = 40 , HAL_CAP_FORCE_PPM = 41 ,
  HAL_CAP_RTS_AGGR_LIMIT = 42 , HAL_CAP_4ADDR_AGGR = 43 , HAL_CAP_DFS_DMN = 44 , HAL_CAP_EXT_CHAN_DFS = 45 ,
  HAL_CAP_COMBINED_RADAR_RSSI = 46 , HAL_CAP_AUTO_SLEEP = 48 , HAL_CAP_MBSSID_AGGR_SUPPORT = 49 , HAL_CAP_SPLIT_4KB_TRANS = 50 ,
  HAL_CAP_REG_FLAG = 51 , HAL_CAP_BB_RIFS_HANG = 52 , HAL_CAP_RIFS_RX_ENABLED = 53 , HAL_CAP_BB_DFS_HANG = 54 ,
  HAL_CAP_RX_STBC = 58 , HAL_CAP_TX_STBC = 59 , HAL_CAP_BT_COEX = 60 , HAL_CAP_DYNAMIC_SMPS = 61 ,
  HAL_CAP_DS = 67 , HAL_CAP_BB_RX_CLEAR_STUCK_HANG = 68 , HAL_CAP_MAC_HANG = 69 , HAL_CAP_MFP = 70 ,
  HAL_CAP_TS = 72 , HAL_CAP_ENHANCED_DMA_SUPPORT = 75 , HAL_CAP_NUM_TXMAPS = 76 , HAL_CAP_TXDESCLEN = 77 ,
  HAL_CAP_TXSTATUSLEN = 78 , HAL_CAP_RXSTATUSLEN = 79 , HAL_CAP_RXFIFODEPTH = 80 , HAL_CAP_RXBUFSIZE = 81 ,
  HAL_CAP_NUM_MR_RETRIES = 82 , HAL_CAP_OL_PWRCTRL = 84 , HAL_CAP_SPECTRAL_SCAN = 90 , HAL_CAP_BB_PANIC_WATCHDOG = 92 ,
  HAL_CAP_HT20_SGI = 96 , HAL_CAP_LDPC = 99 , HAL_CAP_RXTSTAMP_PREC = 100 , HAL_CAP_ANT_DIV_COMB = 105 ,
  HAL_CAP_PHYRESTART_CLR_WAR = 106 , HAL_CAP_ENTERPRISE_MODE = 107 , HAL_CAP_LDPCWAR = 108 , HAL_CAP_CHANNEL_SWITCH_TIME_USEC = 109 ,
  HAL_CAP_ENABLE_APM = 110 , HAL_CAP_PCIE_LCR_EXTSYNC_EN = 111 , HAL_CAP_PCIE_LCR_OFFSET = 112 , HAL_CAP_ENHANCED_DFS_SUPPORT = 117 ,
  HAL_CAP_MCI = 118 , HAL_CAP_SMARTANTENNA = 119 , HAL_CAP_TRAFFIC_FAST_RECOVER = 120 , HAL_CAP_TX_DIVERSITY = 121 ,
  HAL_CAP_CRDC = 122 , HAL_CAP_INTMIT = 229 , HAL_CAP_RXORN_FATAL = 230 , HAL_CAP_BB_HANG = 235 ,
  HAL_CAP_INTRMASK = 237 , HAL_CAP_BSSIDMATCH = 238 , HAL_CAP_STREAMS = 239 , HAL_CAP_RXDESC_SELFLINK = 242 ,
  HAL_CAP_BB_READ_WAR = 244 , HAL_CAP_SERIALISE_WAR = 245 , HAL_CAP_ENFORCE_TXOP = 246 , HAL_CAP_RX_LNA_MIXING = 247 ,
  HAL_CAP_DO_MYBEACON = 248 , HAL_CAP_TOA_LOCATIONING = 249 , HAL_CAP_TXTSTAMP_PREC = 250
}
 
enum  HAL_LED_STATE {
  HAL_LED_INIT = 0 , HAL_LED_SCAN = 1 , HAL_LED_AUTH = 2 , HAL_LED_ASSOC = 3 ,
  HAL_LED_RUN = 4
}
 
enum  HAL_TX_QUEUE {
  HAL_TX_QUEUE_INACTIVE = 0 , HAL_TX_QUEUE_DATA = 1 , HAL_TX_QUEUE_BEACON = 2 , HAL_TX_QUEUE_CAB = 3 ,
  HAL_TX_QUEUE_UAPSD = 4 , HAL_TX_QUEUE_PSPOLL = 5 , HAL_TX_QUEUE_CFEND = 6 , HAL_TX_QUEUE_PAPRD = 7
}
 
enum  HAL_RX_QUEUE { HAL_RX_QUEUE_HP = 0 , HAL_RX_QUEUE_LP = 1 }
 
enum  HAL_TX_QUEUE_SUBTYPE {
  HAL_WME_AC_BK = 0 , HAL_WME_AC_BE = 1 , HAL_WME_AC_VI = 2 , HAL_WME_AC_VO = 3 ,
  HAL_WME_UPSD = 4
}
 
enum  HAL_TX_QUEUE_FLAGS {
  HAL_TXQ_TXOKINT_ENABLE = 0x0001 , HAL_TXQ_TXERRINT_ENABLE = 0x0001 , HAL_TXQ_TXDESCINT_ENABLE = 0x0002 , HAL_TXQ_TXEOLINT_ENABLE = 0x0004 ,
  HAL_TXQ_TXURNINT_ENABLE = 0x0008 , HAL_TXQ_COMPRESSION_ENABLE = 0x0010 , HAL_TXQ_RDYTIME_EXP_POLICY_ENABLE = 0x0020 , HAL_TXQ_DBA_GATED = 0x0040 ,
  HAL_TXQ_CBR_DIS_QEMPTY = 0x0080 , HAL_TXQ_CBR_DIS_BEMPTY = 0x0100 , HAL_TXQ_FRAG_BURST_BACKOFF_ENABLE = 0x00800000 , HAL_TXQ_BACKOFF_DISABLE = 0x00010000 ,
  HAL_TXQ_ARB_LOCKOUT_INTRA = 0x00020000 , HAL_TXQ_ARB_LOCKOUT_GLOBAL = 0x00040000 , HAL_TXQ_IGNORE_VIRTCOL = 0x00080000 , HAL_TXQ_SEQNUM_INC_DIS = 0x00100000
}
 
enum  HAL_PKT_TYPE {
  HAL_PKT_TYPE_NORMAL = 0 , HAL_PKT_TYPE_ATIM = 1 , HAL_PKT_TYPE_PSPOLL = 2 , HAL_PKT_TYPE_BEACON = 3 ,
  HAL_PKT_TYPE_PROBE_RESP = 4 , HAL_PKT_TYPE_CHIRP = 5 , HAL_PKT_TYPE_GRP_POLL = 6 , HAL_PKT_TYPE_AMPDU = 7
}
 
enum  HAL_RX_FILTER {
  HAL_RX_FILTER_UCAST = 0x00000001 , HAL_RX_FILTER_MCAST = 0x00000002 , HAL_RX_FILTER_BCAST = 0x00000004 , HAL_RX_FILTER_CONTROL = 0x00000008 ,
  HAL_RX_FILTER_BEACON = 0x00000010 , HAL_RX_FILTER_PROM = 0x00000020 , HAL_RX_FILTER_PROBEREQ = 0x00000080 , HAL_RX_FILTER_PHYERR = 0x00000100 ,
  HAL_RX_FILTER_MYBEACON = 0x00000200 , HAL_RX_FILTER_COMPBAR = 0x00000400 , HAL_RX_FILTER_COMP_BA = 0x00000800 , HAL_RX_FILTER_PHYRADAR = 0x00002000 ,
  HAL_RX_FILTER_PSPOLL = 0x00004000 , HAL_RX_FILTER_MCAST_BCAST_ALL = 0x00008000 , HAL_RX_FILTER_BSSID = 0x40000000
}
 
enum  HAL_POWER_MODE { HAL_PM_AWAKE = 0 , HAL_PM_FULL_SLEEP = 1 , HAL_PM_NETWORK_SLEEP = 2 , HAL_PM_UNDEFINED = 3 }
 
enum  HAL_INT {
  HAL_INT_RX = 0x00000001 , HAL_INT_RXDESC = 0x00000002 , HAL_INT_RXERR = 0x00000004 , HAL_INT_RXHP = 0x00000001 ,
  HAL_INT_RXLP = 0x00000002 , HAL_INT_RXNOFRM = 0x00000008 , HAL_INT_RXEOL = 0x00000010 , HAL_INT_RXORN = 0x00000020 ,
  HAL_INT_TX = 0x00000040 , HAL_INT_TXDESC = 0x00000080 , HAL_INT_TIM_TIMER = 0x00000100 , HAL_INT_MCI = 0x00000200 ,
  HAL_INT_BBPANIC = 0x00000400 , HAL_INT_TXURN = 0x00000800 , HAL_INT_MIB = 0x00001000 , HAL_INT_RXPHY = 0x00004000 ,
  HAL_INT_RXKCM = 0x00008000 , HAL_INT_SWBA = 0x00010000 , HAL_INT_BRSSI = 0x00020000 , HAL_INT_BMISS = 0x00040000 ,
  HAL_INT_BNR = 0x00100000 , HAL_INT_TIM = 0x00200000 , HAL_INT_DTIM = 0x00400000 , HAL_INT_DTIMSYNC = 0x00800000 ,
  HAL_INT_GPIO = 0x01000000 , HAL_INT_CABEND = 0x02000000 , HAL_INT_TSFOOR = 0x04000000 , HAL_INT_TBTT = 0x08000000 ,
  HAL_INT_GENTIMER = 0x08000000 , HAL_INT_CST = 0x10000000 , HAL_INT_GTT = 0x20000000 , HAL_INT_FATAL = 0x40000000 ,
  HAL_INT_BMISC , HAL_INT_COMMON
}
 
enum  HAL_MSIVEC { HAL_MSIVEC_MISC = 0 , HAL_MSIVEC_TX = 1 , HAL_MSIVEC_RXLP = 2 , HAL_MSIVEC_RXHP = 3 }
 
enum  HAL_INT_TYPE { HAL_INT_LINE = 0 , HAL_INT_MSI = 1 }
 
enum  HAL_INT_MITIGATION {
  HAL_INT_RX_FIRSTPKT =0 , HAL_INT_RX_LASTPKT , HAL_INT_TX_FIRSTPKT , HAL_INT_TX_LASTPKT ,
  HAL_INT_THRESHOLD
}
 
enum  HAL_GPIO_MUX_TYPE {
  HAL_GPIO_OUTPUT_MUX_AS_OUTPUT = 0 , HAL_GPIO_OUTPUT_MUX_PCIE_ATTENTION_LED = 1 , HAL_GPIO_OUTPUT_MUX_PCIE_POWER_LED = 2 , HAL_GPIO_OUTPUT_MUX_MAC_NETWORK_LED = 3 ,
  HAL_GPIO_OUTPUT_MUX_MAC_POWER_LED = 4 , HAL_GPIO_OUTPUT_MUX_AS_WLAN_ACTIVE = 5 , HAL_GPIO_OUTPUT_MUX_AS_TX_FRAME = 6 , HAL_GPIO_OUTPUT_MUX_AS_MCI_WLAN_DATA ,
  HAL_GPIO_OUTPUT_MUX_AS_MCI_WLAN_CLK , HAL_GPIO_OUTPUT_MUX_AS_MCI_BT_DATA , HAL_GPIO_OUTPUT_MUX_AS_MCI_BT_CLK , HAL_GPIO_OUTPUT_MUX_AS_WL_IN_TX ,
  HAL_GPIO_OUTPUT_MUX_AS_WL_IN_RX , HAL_GPIO_OUTPUT_MUX_AS_BT_IN_TX , HAL_GPIO_OUTPUT_MUX_AS_BT_IN_RX , HAL_GPIO_OUTPUT_MUX_AS_RUCKUS_STROBE ,
  HAL_GPIO_OUTPUT_MUX_AS_RUCKUS_DATA , HAL_GPIO_OUTPUT_MUX_AS_SMARTANT_CTRL0 , HAL_GPIO_OUTPUT_MUX_AS_SMARTANT_CTRL1 , HAL_GPIO_OUTPUT_MUX_AS_SMARTANT_CTRL2 ,
  HAL_GPIO_OUTPUT_MUX_NUM_ENTRIES
}
 
enum  HAL_GPIO_INTR_TYPE { HAL_GPIO_INTR_LOW = 0 , HAL_GPIO_INTR_HIGH = 1 , HAL_GPIO_INTR_DISABLE = 2 }
 
enum  HAL_RFGAIN { HAL_RFGAIN_INACTIVE = 0 , HAL_RFGAIN_READ_REQUESTED = 1 , HAL_RFGAIN_NEED_CHANGE = 2 }
 
enum  REG_EXT_BITMAP {
  REG_EXT_FCC_MIDBAND = 0 , REG_EXT_JAPAN_MIDBAND = 1 , REG_EXT_FCC_DFS_HT40 = 2 , REG_EXT_JAPAN_NONDFS_HT40 = 3 ,
  REG_EXT_JAPAN_DFS_HT40 = 4 , REG_EXT_FCC_CH_144 = 5
}
 
enum  {
  HAL_MODE_11A = 0x001 , HAL_MODE_TURBO = 0x002 , HAL_MODE_11B = 0x004 , HAL_MODE_PUREG = 0x008 ,
  HAL_MODE_11G = 0x008 , HAL_MODE_108G = 0x020 , HAL_MODE_108A = 0x040 , HAL_MODE_11A_HALF_RATE = 0x200 ,
  HAL_MODE_11A_QUARTER_RATE = 0x400 , HAL_MODE_11G_HALF_RATE = 0x800 , HAL_MODE_11G_QUARTER_RATE = 0x1000 , HAL_MODE_11NG_HT20 = 0x008000 ,
  HAL_MODE_11NA_HT20 = 0x010000 , HAL_MODE_11NG_HT40PLUS = 0x020000 , HAL_MODE_11NG_HT40MINUS = 0x040000 , HAL_MODE_11NA_HT40PLUS = 0x080000 ,
  HAL_MODE_11NA_HT40MINUS = 0x100000 , HAL_MODE_ALL = 0xffffff
}
 
enum  HAL_CHAIN_TYPE { HAL_CHAINTYPE_TX = 1 , HAL_CHAINTYPE_RX = 2 }
 
enum  HAL_HT_MACMODE { HAL_HT_MACMODE_20 = 0 , HAL_HT_MACMODE_2040 = 1 }
 
enum  HAL_HT_PHYMODE { HAL_HT_PHYMODE_20 = 0 , HAL_HT_PHYMODE_2040 = 1 }
 
enum  HAL_HT_EXTPROTSPACING { HAL_HT_EXTPROTSPACING_20 = 0 , HAL_HT_EXTPROTSPACING_25 = 1 }
 
enum  HAL_HT_RXCLEAR { HAL_RX_CLEAR_CTL_LOW = 0x1 , HAL_RX_CLEAR_EXT_LOW = 0x2 }
 
enum  HAL_FREQ_BAND { HAL_FREQ_BAND_5GHZ = 0 , HAL_FREQ_BAND_2GHZ = 1 }
 
enum  HAL_ANT_SETTING { HAL_ANT_VARIABLE = 0 , HAL_ANT_FIXED_A = 1 , HAL_ANT_FIXED_B = 2 }
 
enum  HAL_OPMODE { HAL_M_STA = 1 , HAL_M_IBSS = 0 , HAL_M_HOSTAP = 6 , HAL_M_MONITOR = 8 }
 
enum  HAL_RESET_TYPE { HAL_RESET_NORMAL = 0 , HAL_RESET_BBPANIC = 1 , HAL_RESET_FORCE_COLD = 2 }
 
enum  { HAL_RESET_POWER_ON , HAL_RESET_WARM , HAL_RESET_COLD }
 
enum  HAL_KEY_TYPE { HAL_KEY_TYPE_CLEAR , HAL_KEY_TYPE_WEP , HAL_KEY_TYPE_AES , HAL_KEY_TYPE_TKIP }
 
enum  HAL_CIPHER {
  HAL_CIPHER_WEP = 0 , HAL_CIPHER_AES_OCB = 1 , HAL_CIPHER_AES_CCM = 2 , HAL_CIPHER_CKIP = 3 ,
  HAL_CIPHER_TKIP = 4 , HAL_CIPHER_CLR = 5 , HAL_CIPHER_MIC = 127
}
 
enum  { HAL_SLOT_TIME_6 = 6 , HAL_SLOT_TIME_9 = 9 , HAL_SLOT_TIME_20 = 20 }
 
enum  HAL_ANI_CMD {
  HAL_ANI_PRESENT = 0 , HAL_ANI_NOISE_IMMUNITY_LEVEL = 1 , HAL_ANI_OFDM_WEAK_SIGNAL_DETECTION = 2 , HAL_ANI_CCK_WEAK_SIGNAL_THR = 3 ,
  HAL_ANI_FIRSTEP_LEVEL = 4 , HAL_ANI_SPUR_IMMUNITY_LEVEL = 5 , HAL_ANI_MODE = 6 , HAL_ANI_PHYERR_RESET = 7 ,
  HAL_ANI_MRC_CCK = 8 , HAL_ANI_CCK_NOISE_IMMUNITY_LEVEL = 9
}
 
enum  HAL_CAP_INTMIT_CMD {
  HAL_CAP_INTMIT_PRESENT = 0 , HAL_CAP_INTMIT_ENABLE = 1 , HAL_CAP_INTMIT_NOISE_IMMUNITY_LEVEL = 2 , HAL_CAP_INTMIT_OFDM_WEAK_SIGNAL_LEVEL = 3 ,
  HAL_CAP_INTMIT_CCK_WEAK_SIGNAL_THR = 4 , HAL_CAP_INTMIT_FIRSTEP_LEVEL = 5 , HAL_CAP_INTMIT_SPUR_IMMUNITY_LEVEL = 6
}
 
enum  HAL_DFS_DOMAIN { HAL_DFS_UNINIT_DOMAIN = 0 , HAL_DFS_FCC_DOMAIN = 1 , HAL_DFS_ETSI_DOMAIN = 2 , HAL_DFS_MKK4_DOMAIN = 3 }
 
enum  HAL_MFP_OPT_T { HAL_MFP_QOSDATA = 0 , HAL_MFP_PASSTHRU , HAL_MFP_HW_CRYPTO }
 
enum  HAL_ANT_DIV_COMB_LNA_CONF { HAL_ANT_DIV_COMB_LNA1_MINUS_LNA2 = 0 , HAL_ANT_DIV_COMB_LNA2 = 1 , HAL_ANT_DIV_COMB_LNA1 = 2 , HAL_ANT_DIV_COMB_LNA1_PLUS_LNA2 = 3 }
 
enum  HAL_QUIET_FLAG { HAL_QUIET_DISABLE = 0x0 , HAL_QUIET_ENABLE = 0x1 , HAL_QUIET_ADD_CURRENT_TSF = 0x2 , HAL_QUIET_ADD_SWBA_RESP_TIME = 0x4 }
 
enum  HAL_GEN_TIMER_DOMAIN { HAL_GEN_TIMER_TSF = 0 , HAL_GEN_TIMER_TSF2 , HAL_GEN_TIMER_TSF_ANY }
 
enum  SER_REG_MODE { SER_REG_MODE_OFF = 0 , SER_REG_MODE_ON = 1 , SER_REG_MODE_AUTO = 2 }
 

Functions

const char *__ahdecl ath_hal_probe (uint16_t vendorid, uint16_t devid)
 
struct ath_hal *__ahdecl ath_hal_attach (uint16_t devid, HAL_SOFTC, HAL_BUS_TAG, HAL_BUS_HANDLE, uint16_t *eepromdata, HAL_OPS_CONFIG *ah_config, HAL_STATUS *status)
 
const char * ath_hal_mac_name (struct ath_hal *)
 
const char * ath_hal_rf_name (struct ath_hal *)
 
HAL_STATUS __ahdecl ath_hal_getchannels (struct ath_hal *, struct ieee80211_channel *chans, u_int maxchans, int *nchans, u_int modeSelect, HAL_CTRY_CODE cc, HAL_REG_DOMAIN regDmn, HAL_BOOL enableExtendedChannels)
 
HAL_STATUS __ahdecl ath_hal_init_channels (struct ath_hal *, struct ieee80211_channel *chans, u_int maxchans, int *nchans, u_int modeSelect, HAL_CTRY_CODE cc, HAL_REG_DOMAIN rd, HAL_BOOL enableExtendedChannels)
 
HAL_STATUS __ahdecl ath_hal_set_channels (struct ath_hal *, struct ieee80211_channel *chans, int nchans, HAL_CTRY_CODE cc, HAL_REG_DOMAIN regDmn)
 
int __ahdecl ath_hal_get_mimo_chan_noise (struct ath_hal *ah, const struct ieee80211_channel *chan, int16_t *nf_ctl, int16_t *nf_ext)
 
void __ahdecl ath_hal_process_noisefloor (struct ath_hal *ah)
 
u_int __ahdecl ath_hal_getwirelessmodes (struct ath_hal *)
 
int ath_hal_get_curmode (struct ath_hal *ah, const struct ieee80211_channel *chan)
 
uint32_t __ahdecl ath_hal_pkt_txtime (struct ath_hal *ah, const HAL_RATE_TABLE *rates, uint32_t frameLen, uint16_t rateix, HAL_BOOL isht40, HAL_BOOL shortPreamble, HAL_BOOL includeSifs)
 
uint32_t __ahdecl ath_computedur_ht (uint32_t frameLen, uint16_t rate, int streams, HAL_BOOL isht40, HAL_BOOL isShortGI)
 
uint16_t __ahdecl ath_hal_computetxtime (struct ath_hal *, const HAL_RATE_TABLE *rates, uint32_t frameLen, uint16_t rateix, HAL_BOOL shortPreamble, HAL_BOOL includeSifs)
 
void __ahdecl ath_hal_adjusttsf (struct ath_hal *ah, int32_t tsfdelta)
 
void __ahdecl ath_hal_setcca (struct ath_hal *ah, int ena)
 
int __ahdecl ath_hal_getcca (struct ath_hal *ah)
 
void __ahdecl ath_hal_set_dfs_cac_tx_quiet (struct ath_hal *ah, HAL_BOOL ena)
 
HAL_BOOL __ahdecl ath_hal_EepromDataRead (struct ath_hal *ah, u_int off, uint16_t *data)
 
static u_int32_t ath_hal_get_mfp_qos (struct ath_hal *ah)
 
u_int ath_hal_mac_clks (struct ath_hal *ah, u_int usecs)
 
u_int ath_hal_mac_usec (struct ath_hal *ah, u_int clks)
 
uint64_t ath_hal_mac_psec (struct ath_hal *ah, u_int clks)
 

Macro Definition Documentation

◆ __ahdecl

#define __ahdecl

Definition at line 63 of file ah.h.

◆ AH_BIG_ENDIAN

#define AH_BIG_ENDIAN   4321

Definition at line 38 of file ah.h.

◆ AH_BYTE_ORDER

#define AH_BYTE_ORDER   AH_BIG_ENDIAN

Definition at line 42 of file ah.h.

◆ AH_ENT_10MHZ_DISABLE

#define AH_ENT_10MHZ_DISABLE   0x00000008

Definition at line 452 of file ah.h.

◆ AH_ENT_49GHZ_DISABLE

#define AH_ENT_49GHZ_DISABLE   0x00000010

Definition at line 453 of file ah.h.

◆ AH_ENT_5MHZ_DISABLE

#define AH_ENT_5MHZ_DISABLE   0x00000004

Definition at line 451 of file ah.h.

◆ AH_ENT_CHAIN2_DISABLE

#define AH_ENT_CHAIN2_DISABLE   0x00000002

Definition at line 450 of file ah.h.

◆ AH_ENT_DUAL_BAND_DISABLE

#define AH_ENT_DUAL_BAND_DISABLE   0x00000001

Definition at line 449 of file ah.h.

◆ AH_ENT_LOOPBACK_DISABLE

#define AH_ENT_LOOPBACK_DISABLE   0x00000020

Definition at line 454 of file ah.h.

◆ AH_ENT_MIN_PKT_SIZE_DISABLE

#define AH_ENT_MIN_PKT_SIZE_DISABLE   0x00000080

Definition at line 456 of file ah.h.

◆ AH_ENT_RTSCTS_DELIM_WAR

#define AH_ENT_RTSCTS_DELIM_WAR   0x00010000

Definition at line 459 of file ah.h.

◆ AH_ENT_SPECTRAL_PRECISION

#define AH_ENT_SPECTRAL_PRECISION   0x00000300

Definition at line 457 of file ah.h.

◆ AH_ENT_SPECTRAL_PRECISION_S

#define AH_ENT_SPECTRAL_PRECISION_S   8

Definition at line 458 of file ah.h.

◆ AH_ENT_TPC_PERF_DISABLE

#define AH_ENT_TPC_PERF_DISABLE   0x00000040

Definition at line 455 of file ah.h.

◆ AH_FIRST_DESC_NDELIMS

#define AH_FIRST_DESC_NDELIMS   60

Definition at line 461 of file ah.h.

◆ AH_KEYTYPE_MASK

#define AH_KEYTYPE_MASK   0x0F

Definition at line 796 of file ah.h.

◆ AH_LITTLE_ENDIAN

#define AH_LITTLE_ENDIAN   1234

Definition at line 39 of file ah.h.

◆ AH_MAX_CHAINS

#define AH_MAX_CHAINS   3

Definition at line 52 of file ah.h.

◆ AH_MIMO_MAX_EVM_PILOTS

#define AH_MIMO_MAX_EVM_PILOTS   6

Definition at line 53 of file ah.h.

◆ AR_PCIE_PLL_PWRSAVE_CONTROL

#define AR_PCIE_PLL_PWRSAVE_CONTROL   (1<<0)

Definition at line 1179 of file ah.h.

◆ AR_PCIE_PLL_PWRSAVE_ON_D0

#define AR_PCIE_PLL_PWRSAVE_ON_D0   (1<<2)

Definition at line 1181 of file ah.h.

◆ AR_PCIE_PLL_PWRSAVE_ON_D3

#define AR_PCIE_PLL_PWRSAVE_ON_D3   (1<<1)

Definition at line 1180 of file ah.h.

◆ CHANNEL_SURVEY_SAMPLE_COUNT

#define CHANNEL_SURVEY_SAMPLE_COUNT   32

Definition at line 953 of file ah.h.

◆ DEFAULT_ANTDIV_CONFIG_GROUP

#define DEFAULT_ANTDIV_CONFIG_GROUP   0x00

Definition at line 1082 of file ah.h.

◆ HAL_ANI_ALL

#define HAL_ANI_ALL   0xffffffff

Definition at line 983 of file ah.h.

◆ HAL_ANTDIV_CONFIG_GROUP_1

#define HAL_ANTDIV_CONFIG_GROUP_1   0x01

Definition at line 1083 of file ah.h.

◆ HAL_ANTDIV_CONFIG_GROUP_2

#define HAL_ANTDIV_CONFIG_GROUP_2   0x02

Definition at line 1084 of file ah.h.

◆ HAL_ANTDIV_CONFIG_GROUP_3

#define HAL_ANTDIV_CONFIG_GROUP_3   0x03

Definition at line 1085 of file ah.h.

◆ HAL_ANTENNA_FIXED_A

#define HAL_ANTENNA_FIXED_A   1

Definition at line 632 of file ah.h.

◆ HAL_ANTENNA_FIXED_B

#define HAL_ANTENNA_FIXED_B   2

Definition at line 633 of file ah.h.

◆ HAL_ANTENNA_MAX_MODE

#define HAL_ANTENNA_MAX_MODE   3

Definition at line 634 of file ah.h.

◆ HAL_ANTENNA_MIN_MODE

#define HAL_ANTENNA_MIN_MODE   0

Definition at line 631 of file ah.h.

◆ HAL_BEACON_DBA_EN

#define HAL_BEACON_DBA_EN   0x00000002

Definition at line 864 of file ah.h.

◆ HAL_BEACON_ENA

#define HAL_BEACON_ENA   0x00800000 /* beacon xmit enable */

Definition at line 839 of file ah.h.

◆ HAL_BEACON_PERIOD

#define HAL_BEACON_PERIOD   0x0000ffff /* beacon interval period */

Definition at line 837 of file ah.h.

◆ HAL_BEACON_PERIOD_TU8

#define HAL_BEACON_PERIOD_TU8   0x0007ffff /* beacon interval, tu/8 */

Definition at line 838 of file ah.h.

◆ HAL_BEACON_RESET_TSF

#define HAL_BEACON_RESET_TSF   0x01000000 /* clear TSF */

Definition at line 840 of file ah.h.

◆ HAL_BEACON_SWBA_EN

#define HAL_BEACON_SWBA_EN   0x00000004

Definition at line 865 of file ah.h.

◆ HAL_BEACON_TBTT_EN

#define HAL_BEACON_TBTT_EN   0x00000001

Definition at line 863 of file ah.h.

◆ HAL_COMP_BUF_ALIGN_SIZE

#define HAL_COMP_BUF_ALIGN_SIZE   512

Definition at line 388 of file ah.h.

◆ HAL_COMP_BUF_MAX_SIZE

#define HAL_COMP_BUF_MAX_SIZE   9216 /* 9K */

Definition at line 387 of file ah.h.

◆ HAL_DFS_EVENT_EXTCH

#define HAL_DFS_EVENT_EXTCH   0x0000002

Definition at line 1098 of file ah.h.

◆ HAL_DFS_EVENT_EXTEARLY

#define HAL_DFS_EVENT_EXTEARLY   0x0000004

Definition at line 1099 of file ah.h.

◆ HAL_DFS_EVENT_ISDC

#define HAL_DFS_EVENT_ISDC   0x0000008

Definition at line 1100 of file ah.h.

◆ HAL_DFS_EVENT_PRICH

#define HAL_DFS_EVENT_PRICH   0x0000001

Definition at line 1097 of file ah.h.

◆ HAL_INT_GLOBAL

#define HAL_INT_GLOBAL   0x80000000 /* Set/clear IER */

Definition at line 506 of file ah.h.

◆ HAL_NUM_RX_QUEUES

#define HAL_NUM_RX_QUEUES   2 /* max possible # of queues */

Definition at line 263 of file ah.h.

◆ HAL_NUM_TX_QUEUES

#define HAL_NUM_TX_QUEUES   10 /* max possible # of queues */

Definition at line 251 of file ah.h.

◆ HAL_PHYERR_PARAM_NOVAL

#define HAL_PHYERR_PARAM_NOVAL   65535

Definition at line 1027 of file ah.h.

◆ HAL_RATESERIES_2040

#define HAL_RATESERIES_2040   0x0002 /* use ext channel for series */

Definition at line 721 of file ah.h.

◆ HAL_RATESERIES_HALFGI

#define HAL_RATESERIES_HALFGI   0x0004 /* use half-gi for series */

Definition at line 722 of file ah.h.

◆ HAL_RATESERIES_RTS_CTS

#define HAL_RATESERIES_RTS_CTS   0x0001 /* use rts/cts w/this series */

Definition at line 720 of file ah.h.

◆ HAL_RATESERIES_STBC

#define HAL_RATESERIES_STBC   0x0008 /* use STBC for series */

Definition at line 723 of file ah.h.

◆ HAL_RSSI_EP_MULTIPLIER

#define HAL_RSSI_EP_MULTIPLIER   (1<<7) /* pow2 to optimize out * and / */

Definition at line 878 of file ah.h.

◆ HAL_SPECTRAL_PARAM_ENABLE

#define HAL_SPECTRAL_PARAM_ENABLE   0x8000 /* Enable/Disable if applicable */

Definition at line 1043 of file ah.h.

◆ HAL_SPECTRAL_PARAM_NOVAL

#define HAL_SPECTRAL_PARAM_NOVAL   0xFFFF

Definition at line 1042 of file ah.h.

◆ HAL_TQI_NONVAL

#define HAL_TQI_NONVAL   0xffff

Definition at line 381 of file ah.h.

◆ HAL_TSFOOR_THRESHOLD

#define HAL_TSFOOR_THRESHOLD   0x00004240 /* TSF OOR thresh (16k uS) */

Definition at line 841 of file ah.h.

◆ HAL_TXFIFO_DEPTH

#define HAL_TXFIFO_DEPTH   8 /* transmit fifo depth */

Definition at line 265 of file ah.h.

◆ HAL_TXQ_USEDEFAULT

#define HAL_TXQ_USEDEFAULT   ((uint32_t) -1)

Definition at line 384 of file ah.h.

Typedef Documentation

◆ HAL_COUNTERS

typedef struct halCounters HAL_COUNTERS

◆ HAL_CTRY_CODE

typedef uint16_t HAL_CTRY_CODE

Definition at line 628 of file ah.h.

◆ HAL_DFS_EVENT

typedef struct hal_dfs_event HAL_DFS_EVENT

Definition at line 1109 of file ah.h.

◆ HAL_REG_DOMAIN

typedef uint16_t HAL_REG_DOMAIN

Definition at line 629 of file ah.h.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
HAL_MODE_11A 
HAL_MODE_TURBO 
HAL_MODE_11B 
HAL_MODE_PUREG 
HAL_MODE_11G 
HAL_MODE_108G 
HAL_MODE_108A 
HAL_MODE_11A_HALF_RATE 
HAL_MODE_11A_QUARTER_RATE 
HAL_MODE_11G_HALF_RATE 
HAL_MODE_11G_QUARTER_RATE 
HAL_MODE_11NG_HT20 
HAL_MODE_11NA_HT20 
HAL_MODE_11NG_HT40PLUS 
HAL_MODE_11NG_HT40MINUS 
HAL_MODE_11NA_HT40PLUS 
HAL_MODE_11NA_HT40MINUS 
HAL_MODE_ALL 

Definition at line 656 of file ah.h.

◆ anonymous enum

anonymous enum
Enumerator
HAL_RESET_POWER_ON 
HAL_RESET_WARM 
HAL_RESET_COLD 

Definition at line 777 of file ah.h.

◆ anonymous enum

anonymous enum
Enumerator
HAL_SLOT_TIME_6 
HAL_SLOT_TIME_9 
HAL_SLOT_TIME_20 

Definition at line 815 of file ah.h.

◆ HAL_ANI_CMD

Enumerator
HAL_ANI_PRESENT 
HAL_ANI_NOISE_IMMUNITY_LEVEL 
HAL_ANI_OFDM_WEAK_SIGNAL_DETECTION 
HAL_ANI_CCK_WEAK_SIGNAL_THR 
HAL_ANI_FIRSTEP_LEVEL 
HAL_ANI_SPUR_IMMUNITY_LEVEL 
HAL_ANI_MODE 
HAL_ANI_PHYERR_RESET 
HAL_ANI_MRC_CCK 
HAL_ANI_CCK_NOISE_IMMUNITY_LEVEL 

Definition at line 970 of file ah.h.

◆ HAL_ANT_DIV_COMB_LNA_CONF

Enumerator
HAL_ANT_DIV_COMB_LNA1_MINUS_LNA2 
HAL_ANT_DIV_COMB_LNA2 
HAL_ANT_DIV_COMB_LNA1 
HAL_ANT_DIV_COMB_LNA1_PLUS_LNA2 

Definition at line 1065 of file ah.h.

◆ HAL_ANT_SETTING

Enumerator
HAL_ANT_VARIABLE 
HAL_ANT_FIXED_A 
HAL_ANT_FIXED_B 

Definition at line 758 of file ah.h.

◆ HAL_BOOL

enum HAL_BOOL
Enumerator
AH_FALSE 
AH_TRUE 

Definition at line 93 of file ah.h.

◆ HAL_CAP_INTMIT_CMD

Enumerator
HAL_CAP_INTMIT_PRESENT 
HAL_CAP_INTMIT_ENABLE 
HAL_CAP_INTMIT_NOISE_IMMUNITY_LEVEL 
HAL_CAP_INTMIT_OFDM_WEAK_SIGNAL_LEVEL 
HAL_CAP_INTMIT_CCK_WEAK_SIGNAL_THR 
HAL_CAP_INTMIT_FIRSTEP_LEVEL 
HAL_CAP_INTMIT_SPUR_IMMUNITY_LEVEL 

Definition at line 990 of file ah.h.

◆ HAL_CAPABILITY_TYPE

Enumerator
HAL_CAP_REG_DMN 
HAL_CAP_CIPHER 
HAL_CAP_TKIP_MIC 
HAL_CAP_TKIP_SPLIT 
HAL_CAP_PHYCOUNTERS 
HAL_CAP_DIVERSITY 
HAL_CAP_KEYCACHE_SIZE 
HAL_CAP_NUM_TXQUEUES 
HAL_CAP_VEOL 
HAL_CAP_PSPOLL 
HAL_CAP_DIAG 
HAL_CAP_COMPRESSION 
HAL_CAP_BURST 
HAL_CAP_FASTFRAME 
HAL_CAP_TXPOW 
HAL_CAP_TPC 
HAL_CAP_PHYDIAG 
HAL_CAP_BSSIDMASK 
HAL_CAP_MCAST_KEYSRCH 
HAL_CAP_TSF_ADJUST 
HAL_CAP_WME_TKIPMIC 
HAL_CAP_RFSILENT 
HAL_CAP_TPC_ACK 
HAL_CAP_TPC_CTS 
HAL_CAP_11D 
HAL_CAP_PCIE_PS 
HAL_CAP_HT 
HAL_CAP_GTXTO 
HAL_CAP_FAST_CC 
HAL_CAP_TX_CHAINMASK 
HAL_CAP_RX_CHAINMASK 
HAL_CAP_NUM_GPIO_PINS 
HAL_CAP_CST 
HAL_CAP_RIFS_RX 
HAL_CAP_RIFS_TX 
HAL_CAP_FORCE_PPM 
HAL_CAP_RTS_AGGR_LIMIT 
HAL_CAP_4ADDR_AGGR 
HAL_CAP_DFS_DMN 
HAL_CAP_EXT_CHAN_DFS 
HAL_CAP_COMBINED_RADAR_RSSI 
HAL_CAP_AUTO_SLEEP 
HAL_CAP_MBSSID_AGGR_SUPPORT 
HAL_CAP_SPLIT_4KB_TRANS 
HAL_CAP_REG_FLAG 
HAL_CAP_BB_RIFS_HANG 
HAL_CAP_RIFS_RX_ENABLED 
HAL_CAP_BB_DFS_HANG 
HAL_CAP_RX_STBC 
HAL_CAP_TX_STBC 
HAL_CAP_BT_COEX 
HAL_CAP_DYNAMIC_SMPS 
HAL_CAP_DS 
HAL_CAP_BB_RX_CLEAR_STUCK_HANG 
HAL_CAP_MAC_HANG 
HAL_CAP_MFP 
HAL_CAP_TS 
HAL_CAP_ENHANCED_DMA_SUPPORT 
HAL_CAP_NUM_TXMAPS 
HAL_CAP_TXDESCLEN 
HAL_CAP_TXSTATUSLEN 
HAL_CAP_RXSTATUSLEN 
HAL_CAP_RXFIFODEPTH 
HAL_CAP_RXBUFSIZE 
HAL_CAP_NUM_MR_RETRIES 
HAL_CAP_OL_PWRCTRL 
HAL_CAP_SPECTRAL_SCAN 
HAL_CAP_BB_PANIC_WATCHDOG 
HAL_CAP_HT20_SGI 
HAL_CAP_LDPC 
HAL_CAP_RXTSTAMP_PREC 
HAL_CAP_ANT_DIV_COMB 
HAL_CAP_PHYRESTART_CLR_WAR 
HAL_CAP_ENTERPRISE_MODE 
HAL_CAP_LDPCWAR 
HAL_CAP_CHANNEL_SWITCH_TIME_USEC 
HAL_CAP_ENABLE_APM 
HAL_CAP_PCIE_LCR_EXTSYNC_EN 
HAL_CAP_PCIE_LCR_OFFSET 
HAL_CAP_ENHANCED_DFS_SUPPORT 
HAL_CAP_MCI 
HAL_CAP_SMARTANTENNA 
HAL_CAP_TRAFFIC_FAST_RECOVER 
HAL_CAP_TX_DIVERSITY 
HAL_CAP_CRDC 
HAL_CAP_INTMIT 
HAL_CAP_RXORN_FATAL 
HAL_CAP_BB_HANG 
HAL_CAP_INTRMASK 
HAL_CAP_BSSIDMATCH 
HAL_CAP_STREAMS 
HAL_CAP_RXDESC_SELFLINK 
HAL_CAP_BB_READ_WAR 
HAL_CAP_SERIALISE_WAR 
HAL_CAP_ENFORCE_TXOP 
HAL_CAP_RX_LNA_MIXING 
HAL_CAP_DO_MYBEACON 
HAL_CAP_TOA_LOCATIONING 
HAL_CAP_TXTSTAMP_PREC 

Definition at line 98 of file ah.h.

◆ HAL_CHAIN_TYPE

Enumerator
HAL_CHAINTYPE_TX 
HAL_CHAINTYPE_RX 

Definition at line 708 of file ah.h.

◆ HAL_CIPHER

enum HAL_CIPHER
Enumerator
HAL_CIPHER_WEP 
HAL_CIPHER_AES_OCB 
HAL_CIPHER_AES_CCM 
HAL_CIPHER_CKIP 
HAL_CIPHER_TKIP 
HAL_CIPHER_CLR 
HAL_CIPHER_MIC 

Definition at line 804 of file ah.h.

◆ HAL_DFS_DOMAIN

Enumerator
HAL_DFS_UNINIT_DOMAIN 
HAL_DFS_FCC_DOMAIN 
HAL_DFS_ETSI_DOMAIN 
HAL_DFS_MKK4_DOMAIN 

Definition at line 1048 of file ah.h.

◆ HAL_FREQ_BAND

Enumerator
HAL_FREQ_BAND_5GHZ 
HAL_FREQ_BAND_2GHZ 

Definition at line 747 of file ah.h.

◆ HAL_GEN_TIMER_DOMAIN

Enumerator
HAL_GEN_TIMER_TSF 
HAL_GEN_TIMER_TSF2 
HAL_GEN_TIMER_TSF_ANY 

Definition at line 1114 of file ah.h.

◆ HAL_GPIO_INTR_TYPE

Enumerator
HAL_GPIO_INTR_LOW 
HAL_GPIO_INTR_HIGH 
HAL_GPIO_INTR_DISABLE 

Definition at line 607 of file ah.h.

◆ HAL_GPIO_MUX_TYPE

Enumerator
HAL_GPIO_OUTPUT_MUX_AS_OUTPUT 
HAL_GPIO_OUTPUT_MUX_PCIE_ATTENTION_LED 
HAL_GPIO_OUTPUT_MUX_PCIE_POWER_LED 
HAL_GPIO_OUTPUT_MUX_MAC_NETWORK_LED 
HAL_GPIO_OUTPUT_MUX_MAC_POWER_LED 
HAL_GPIO_OUTPUT_MUX_AS_WLAN_ACTIVE 
HAL_GPIO_OUTPUT_MUX_AS_TX_FRAME 
HAL_GPIO_OUTPUT_MUX_AS_MCI_WLAN_DATA 
HAL_GPIO_OUTPUT_MUX_AS_MCI_WLAN_CLK 
HAL_GPIO_OUTPUT_MUX_AS_MCI_BT_DATA 
HAL_GPIO_OUTPUT_MUX_AS_MCI_BT_CLK 
HAL_GPIO_OUTPUT_MUX_AS_WL_IN_TX 
HAL_GPIO_OUTPUT_MUX_AS_WL_IN_RX 
HAL_GPIO_OUTPUT_MUX_AS_BT_IN_TX 
HAL_GPIO_OUTPUT_MUX_AS_BT_IN_RX 
HAL_GPIO_OUTPUT_MUX_AS_RUCKUS_STROBE 
HAL_GPIO_OUTPUT_MUX_AS_RUCKUS_DATA 
HAL_GPIO_OUTPUT_MUX_AS_SMARTANT_CTRL0 
HAL_GPIO_OUTPUT_MUX_AS_SMARTANT_CTRL1 
HAL_GPIO_OUTPUT_MUX_AS_SMARTANT_CTRL2 
HAL_GPIO_OUTPUT_MUX_NUM_ENTRIES 

Definition at line 582 of file ah.h.

◆ HAL_HT_EXTPROTSPACING

Enumerator
HAL_HT_EXTPROTSPACING_20 
HAL_HT_EXTPROTSPACING_25 

Definition at line 737 of file ah.h.

◆ HAL_HT_MACMODE

Enumerator
HAL_HT_MACMODE_20 
HAL_HT_MACMODE_2040 

Definition at line 727 of file ah.h.

◆ HAL_HT_PHYMODE

Enumerator
HAL_HT_PHYMODE_20 
HAL_HT_PHYMODE_2040 

Definition at line 732 of file ah.h.

◆ HAL_HT_RXCLEAR

Enumerator
HAL_RX_CLEAR_CTL_LOW 
HAL_RX_CLEAR_EXT_LOW 

Definition at line 742 of file ah.h.

◆ HAL_INT

enum HAL_INT
Enumerator
HAL_INT_RX 
HAL_INT_RXDESC 
HAL_INT_RXERR 
HAL_INT_RXHP 
HAL_INT_RXLP 
HAL_INT_RXNOFRM 
HAL_INT_RXEOL 
HAL_INT_RXORN 
HAL_INT_TX 
HAL_INT_TXDESC 
HAL_INT_TIM_TIMER 
HAL_INT_MCI 
HAL_INT_BBPANIC 
HAL_INT_TXURN 
HAL_INT_MIB 
HAL_INT_RXPHY 
HAL_INT_RXKCM 
HAL_INT_SWBA 
HAL_INT_BRSSI 
HAL_INT_BMISS 
HAL_INT_BNR 
HAL_INT_TIM 
HAL_INT_DTIM 
HAL_INT_DTIMSYNC 
HAL_INT_GPIO 
HAL_INT_CABEND 
HAL_INT_TSFOOR 
HAL_INT_TBTT 
HAL_INT_GENTIMER 
HAL_INT_CST 
HAL_INT_GTT 
HAL_INT_FATAL 
HAL_INT_BMISC 
HAL_INT_COMMON 

Definition at line 472 of file ah.h.

◆ HAL_INT_MITIGATION

Enumerator
HAL_INT_RX_FIRSTPKT 
HAL_INT_RX_LASTPKT 
HAL_INT_TX_FIRSTPKT 
HAL_INT_TX_LASTPKT 
HAL_INT_THRESHOLD 

Definition at line 546 of file ah.h.

◆ HAL_INT_TYPE

Enumerator
HAL_INT_LINE 
HAL_INT_MSI 

Definition at line 540 of file ah.h.

◆ HAL_KEY_TYPE

Enumerator
HAL_KEY_TYPE_CLEAR 
HAL_KEY_TYPE_WEP 
HAL_KEY_TYPE_AES 
HAL_KEY_TYPE_TKIP 

Definition at line 797 of file ah.h.

◆ HAL_LED_STATE

Enumerator
HAL_LED_INIT 
HAL_LED_SCAN 
HAL_LED_AUTH 
HAL_LED_ASSOC 
HAL_LED_RUN 

Definition at line 227 of file ah.h.

◆ HAL_MFP_OPT_T

Enumerator
HAL_MFP_QOSDATA 
HAL_MFP_PASSTHRU 
HAL_MFP_HW_CRYPTO 

Definition at line 1058 of file ah.h.

◆ HAL_MSIVEC

enum HAL_MSIVEC
Enumerator
HAL_MSIVEC_MISC 
HAL_MSIVEC_TX 
HAL_MSIVEC_RXLP 
HAL_MSIVEC_RXHP 

Definition at line 533 of file ah.h.

◆ HAL_OPMODE

enum HAL_OPMODE
Enumerator
HAL_M_STA 
HAL_M_IBSS 
HAL_M_HOSTAP 
HAL_M_MONITOR 

Definition at line 764 of file ah.h.

◆ HAL_PKT_TYPE

Enumerator
HAL_PKT_TYPE_NORMAL 
HAL_PKT_TYPE_ATIM 
HAL_PKT_TYPE_PSPOLL 
HAL_PKT_TYPE_BEACON 
HAL_PKT_TYPE_PROBE_RESP 
HAL_PKT_TYPE_CHIRP 
HAL_PKT_TYPE_GRP_POLL 
HAL_PKT_TYPE_AMPDU 

Definition at line 398 of file ah.h.

◆ HAL_POWER_MODE

Enumerator
HAL_PM_AWAKE 
HAL_PM_FULL_SLEEP 
HAL_PM_NETWORK_SLEEP 
HAL_PM_UNDEFINED 

Definition at line 439 of file ah.h.

◆ HAL_QUIET_FLAG

Enumerator
HAL_QUIET_DISABLE 
HAL_QUIET_ENABLE 
HAL_QUIET_ADD_CURRENT_TSF 
HAL_QUIET_ADD_SWBA_RESP_TIME 

Definition at line 1090 of file ah.h.

◆ HAL_RESET_TYPE

Enumerator
HAL_RESET_NORMAL 
HAL_RESET_BBPANIC 
HAL_RESET_FORCE_COLD 

Definition at line 771 of file ah.h.

◆ HAL_RFGAIN

enum HAL_RFGAIN
Enumerator
HAL_RFGAIN_INACTIVE 
HAL_RFGAIN_READ_REQUESTED 
HAL_RFGAIN_NEED_CHANGE 

Definition at line 622 of file ah.h.

◆ HAL_RX_FILTER

Enumerator
HAL_RX_FILTER_UCAST 
HAL_RX_FILTER_MCAST 
HAL_RX_FILTER_BCAST 
HAL_RX_FILTER_CONTROL 
HAL_RX_FILTER_BEACON 
HAL_RX_FILTER_PROM 
HAL_RX_FILTER_PROBEREQ 
HAL_RX_FILTER_PHYERR 
HAL_RX_FILTER_MYBEACON 
HAL_RX_FILTER_COMPBAR 
HAL_RX_FILTER_COMP_BA 
HAL_RX_FILTER_PHYRADAR 
HAL_RX_FILTER_PSPOLL 
HAL_RX_FILTER_MCAST_BCAST_ALL 
HAL_RX_FILTER_BSSID 

Definition at line 410 of file ah.h.

◆ HAL_RX_QUEUE

Enumerator
HAL_RX_QUEUE_HP 
HAL_RX_QUEUE_LP 

Definition at line 258 of file ah.h.

◆ HAL_STATUS

enum HAL_STATUS
Enumerator
HAL_OK 
HAL_ENXIO 
HAL_ENOMEM 
HAL_EIO 
HAL_EEMAGIC 
HAL_EEVERSION 
HAL_EELOCKED 
HAL_EEBADSUM 
HAL_EEREAD 
HAL_EEBADMAC 
HAL_EESIZE 
HAL_EEWRITE 
HAL_EINVAL 
HAL_ENOTSUPP 
HAL_ESELFTEST 
HAL_EINPROGRESS 
HAL_EEBADREG 
HAL_EEBADCC 
HAL_INV_PMODE 

Definition at line 71 of file ah.h.

◆ HAL_TX_QUEUE

Enumerator
HAL_TX_QUEUE_INACTIVE 
HAL_TX_QUEUE_DATA 
HAL_TX_QUEUE_BEACON 
HAL_TX_QUEUE_CAB 
HAL_TX_QUEUE_UAPSD 
HAL_TX_QUEUE_PSPOLL 
HAL_TX_QUEUE_CFEND 
HAL_TX_QUEUE_PAPRD 

Definition at line 240 of file ah.h.

◆ HAL_TX_QUEUE_FLAGS

Enumerator
HAL_TXQ_TXOKINT_ENABLE 
HAL_TXQ_TXERRINT_ENABLE 
HAL_TXQ_TXDESCINT_ENABLE 
HAL_TXQ_TXEOLINT_ENABLE 
HAL_TXQ_TXURNINT_ENABLE 
HAL_TXQ_COMPRESSION_ENABLE 
HAL_TXQ_RDYTIME_EXP_POLICY_ENABLE 
HAL_TXQ_DBA_GATED 
HAL_TXQ_CBR_DIS_QEMPTY 
HAL_TXQ_CBR_DIS_BEMPTY 
HAL_TXQ_FRAG_BURST_BACKOFF_ENABLE 
HAL_TXQ_BACKOFF_DISABLE 
HAL_TXQ_ARB_LOCKOUT_INTRA 
HAL_TXQ_ARB_LOCKOUT_GLOBAL 
HAL_TXQ_IGNORE_VIRTCOL 
HAL_TXQ_SEQNUM_INC_DIS 

Definition at line 284 of file ah.h.

◆ HAL_TX_QUEUE_SUBTYPE

Enumerator
HAL_WME_AC_BK 
HAL_WME_AC_BE 
HAL_WME_AC_VI 
HAL_WME_AC_VO 
HAL_WME_UPSD 

Definition at line 272 of file ah.h.

◆ REG_EXT_BITMAP

Enumerator
REG_EXT_FCC_MIDBAND 
REG_EXT_JAPAN_MIDBAND 
REG_EXT_FCC_DFS_HT40 
REG_EXT_JAPAN_NONDFS_HT40 
REG_EXT_JAPAN_DFS_HT40 
REG_EXT_FCC_CH_144 

Definition at line 647 of file ah.h.

◆ SER_REG_MODE

Enumerator
SER_REG_MODE_OFF 
SER_REG_MODE_ON 
SER_REG_MODE_AUTO 

Definition at line 1147 of file ah.h.

Function Documentation

◆ ath_computedur_ht()

uint32_t __ahdecl ath_computedur_ht ( uint32_t  frameLen,
uint16_t  rate,
int  streams,
HAL_BOOL  isht40,
HAL_BOOL  isShortGI 
)

Definition at line 405 of file ah.c.

References howmany, ht20_bps, ht40_bps, HT_L_LTF, HT_L_SIG, HT_L_STF, HT_LTF, HT_RC_2_MCS, HT_SIG, HT_STF, and OFDM_PLCP_BITS.

Referenced by ath_hal_pkt_txtime(), and ath_rateseries_setup().

Here is the caller graph for this function:

◆ ath_hal_adjusttsf()

void __ahdecl ath_hal_adjusttsf ( struct ath_hal ah,
int32_t  tsfdelta 
)

Definition at line 1470 of file ah.c.

References AR_TSF_L32, OS_REG_READ, and OS_REG_WRITE.

◆ ath_hal_attach()

struct ath_hal *__ahdecl ath_hal_attach ( uint16_t  devid,
HAL_SOFTC  sc,
HAL_BUS_TAG  st,
HAL_BUS_HANDLE  sh,
uint16_t *  eepromdata,
HAL_OPS_CONFIG ah_config,
HAL_STATUS status 
)

◆ ath_hal_computetxtime()

◆ ath_hal_EepromDataRead()

HAL_BOOL __ahdecl ath_hal_EepromDataRead ( struct ath_hal ah,
u_int  off,
uint16_t *  data 
)

Definition at line 1527 of file ah.c.

References ath_hal::ah_eepromdata, AH_FALSE, AH_NULL, AH_TRUE, ATH_DATA_EEPROM_SIZE, HAL_DEBUG_ANY, and HALDEBUG.

Referenced by ar9130Attach(), ar9280Attach(), ar9285Attach(), and ar9287Attach().

Here is the caller graph for this function:

◆ ath_hal_get_curmode()

int ath_hal_get_curmode ( struct ath_hal ah,
const struct ieee80211_channel *  chan 
)

◆ ath_hal_get_mfp_qos()

static u_int32_t ath_hal_get_mfp_qos ( struct ath_hal ah)
inlinestatic

Definition at line 1701 of file ah.h.

References HAL_MFP_QOSDATA.

◆ ath_hal_get_mimo_chan_noise()

int __ahdecl ath_hal_get_mimo_chan_noise ( struct ath_hal ah,
const struct ieee80211_channel *  chan,
int16_t *  nf_ctl,
int16_t *  nf_ext 
)

◆ ath_hal_getcca()

int __ahdecl ath_hal_getcca ( struct ath_hal ah)

Definition at line 1495 of file ah.c.

References ath_hal_getcapability(), HAL_CAP_DIAG, and HAL_OK.

Here is the call graph for this function:

◆ ath_hal_getchannels()

HAL_STATUS __ahdecl ath_hal_getchannels ( struct ath_hal ,
struct ieee80211_channel *  chans,
u_int  maxchans,
int *  nchans,
u_int  modeSelect,
HAL_CTRY_CODE  cc,
HAL_REG_DOMAIN  regDmn,
HAL_BOOL  enableExtendedChannels 
)

Referenced by ath_getradiocaps().

Here is the caller graph for this function:

◆ ath_hal_getwirelessmodes()

u_int __ahdecl ath_hal_getwirelessmodes ( struct ath_hal ah)

Definition at line 210 of file ah.c.

References ath_hal_getWirelessModes.

Referenced by ath_attach().

Here is the caller graph for this function:

◆ ath_hal_init_channels()

HAL_STATUS __ahdecl ath_hal_init_channels ( struct ath_hal ,
struct ieee80211_channel *  chans,
u_int  maxchans,
int *  nchans,
u_int  modeSelect,
HAL_CTRY_CODE  cc,
HAL_REG_DOMAIN  rd,
HAL_BOOL  enableExtendedChannels 
)

Referenced by ath_getchannels().

Here is the caller graph for this function:

◆ ath_hal_mac_clks()

◆ ath_hal_mac_name()

◆ ath_hal_mac_psec()

uint64_t ath_hal_mac_psec ( struct ath_hal ah,
u_int  clks 
)

Definition at line 637 of file ah.c.

References AH_NULL, AH_PRIVATE, ath_hal_chan2wmode(), CLOCK_FAST_RATE_5GHZ_OFDM, CLOCK_RATE, IS_5GHZ_FAST_CLOCK_EN, and WIRELESS_MODE_11b.

Referenced by ath_hal_mac_usec().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ath_hal_mac_usec()

◆ ath_hal_pkt_txtime()

uint32_t __ahdecl ath_hal_pkt_txtime ( struct ath_hal ah,
const HAL_RATE_TABLE rates,
uint32_t  frameLen,
uint16_t  rateix,
HAL_BOOL  isht40,
HAL_BOOL  shortPreamble,
HAL_BOOL  includeSifs 
)

Definition at line 363 of file ah.c.

References ath_computedur_ht(), ath_hal_computetxtime(), HT_RC_2_STREAMS, HAL_RATE_TABLE::info, IS_HT_RATE, and HAL_RATE_TABLE::rateCode.

Referenced by calc_usecs_unicast_packet().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ath_hal_probe()

const char *__ahdecl ath_hal_probe ( uint16_t  vendorid,
uint16_t  devid 
)

Definition at line 56 of file ah.c.

References AH_NULL, ath_hal_chip::name, OS_SET_FOREACH, and ath_hal_chip::probe.

Referenced by ath_ahb_probe(), and ath_pci_probe().

Here is the caller graph for this function:

◆ ath_hal_process_noisefloor()

void __ahdecl ath_hal_process_noisefloor ( struct ath_hal ah)

◆ ath_hal_rf_name()

◆ ath_hal_set_channels()

HAL_STATUS __ahdecl ath_hal_set_channels ( struct ath_hal ,
struct ieee80211_channel *  chans,
int  nchans,
HAL_CTRY_CODE  cc,
HAL_REG_DOMAIN  regDmn 
)

Referenced by ath_setregdomain().

Here is the caller graph for this function:

◆ ath_hal_set_dfs_cac_tx_quiet()

void __ahdecl ath_hal_set_dfs_cac_tx_quiet ( struct ath_hal ah,
HAL_BOOL  ena 
)

Definition at line 1510 of file ah.c.

References ath_hal::ah_setDfsCacTxQuiet.

◆ ath_hal_setcca()

void __ahdecl ath_hal_setcca ( struct ath_hal ah,
int  ena 
)

Definition at line 1480 of file ah.c.

Referenced by ath_newstate().

Here is the caller graph for this function: