38 #define ERRFILE ERRFILE_ath9k 40 #define ATHEROS_VENDOR_ID 0x168c 42 #define AR5416_DEVID_PCI 0x0023 43 #define AR5416_DEVID_PCIE 0x0024 44 #define AR9160_DEVID_PCI 0x0027 45 #define AR9280_DEVID_PCI 0x0029 46 #define AR9280_DEVID_PCIE 0x002a 47 #define AR9285_DEVID_PCIE 0x002b 48 #define AR2427_DEVID_PCIE 0x002c 49 #define AR9287_DEVID_PCI 0x002d 50 #define AR9287_DEVID_PCIE 0x002e 51 #define AR9300_DEVID_PCIE 0x0030 52 #define AR9300_DEVID_AR9340 0x0031 53 #define AR9300_DEVID_AR9485_PCIE 0x0032 55 #define AR5416_AR9100_DEVID 0x000b 57 #define AR_SUBVENDOR_ID_NOG 0x0e11 58 #define AR_SUBVENDOR_ID_NEW_A 0x7065 59 #define AR5416_MAGIC 0x19641014 61 #define AR9280_COEX2WIRE_SUBSYSID 0x309b 62 #define AT9285_COEX3WIRE_SA_SUBSYSID 0x30aa 63 #define AT9285_COEX3WIRE_DA_SUBSYSID 0x30ab 65 #define AR9300_NUM_BT_WEIGHTS 4 66 #define AR9300_NUM_WLAN_WEIGHTS 4 68 #define ATH_AMPDU_LIMIT_MAX (64 * 1024 - 1) 70 #define ATH_DEFAULT_NOISE_FLOOR -95 72 #define ATH9K_RSSI_BAD -128 74 #define ATH9K_NUM_CHANNELS 38 77 #define REG_WRITE(_ah, _reg, _val) \ 78 (_ah)->reg_ops.write((_ah), (_val), (_reg)) 80 #define REG_READ(_ah, _reg) \ 81 (_ah)->reg_ops.read((_ah), (_reg)) 83 #define REG_READ_MULTI(_ah, _addr, _val, _cnt) \ 84 (_ah)->reg_ops.multi_read((_ah), (_addr), (_val), (_cnt)) 86 #define REG_RMW(_ah, _reg, _set, _clr) \ 87 (_ah)->reg_ops.rmw((_ah), (_reg), (_set), (_clr)) 89 #define ENABLE_REGWRITE_BUFFER(_ah) \ 91 if ((_ah)->reg_ops.enable_write_buffer) \ 92 (_ah)->reg_ops.enable_write_buffer((_ah)); \ 95 #define REGWRITE_BUFFER_FLUSH(_ah) \ 97 if ((_ah)->reg_ops.write_flush) \ 98 (_ah)->reg_ops.write_flush((_ah)); \ 101 #define SM(_v, _f) (((_v) << _f##_S) & _f) 102 #define MS(_v, _f) (((_v) & _f) >> _f##_S) 103 #define REG_RMW_FIELD(_a, _r, _f, _v) \ 104 REG_RMW(_a, _r, (((_v) << _f##_S) & _f), (_f)) 105 #define REG_READ_FIELD(_a, _r, _f) \ 106 (((REG_READ(_a, _r) & _f) >> _f##_S)) 107 #define REG_SET_BIT(_a, _r, _f) \ 108 REG_RMW(_a, _r, (_f), 0) 109 #define REG_CLR_BIT(_a, _r, _f) \ 110 REG_RMW(_a, _r, 0, (_f)) 112 #define DO_DELAY(x) do { \ 113 if (((++(x) % 64) == 0) && \ 114 (ath9k_hw_common(ah)->bus_ops->ath_bus_type \ 119 #define REG_WRITE_ARRAY(iniarray, column, regWr) \ 120 ath9k_hw_write_array(ah, iniarray, column, &(regWr)) 122 #define AR_GPIO_OUTPUT_MUX_AS_OUTPUT 0 123 #define AR_GPIO_OUTPUT_MUX_AS_PCIE_ATTENTION_LED 1 124 #define AR_GPIO_OUTPUT_MUX_AS_PCIE_POWER_LED 2 125 #define AR_GPIO_OUTPUT_MUX_AS_TX_FRAME 3 126 #define AR_GPIO_OUTPUT_MUX_AS_RX_CLEAR_EXTERNAL 4 127 #define AR_GPIO_OUTPUT_MUX_AS_MAC_NETWORK_LED 5 128 #define AR_GPIO_OUTPUT_MUX_AS_MAC_POWER_LED 6 130 #define AR_GPIOD_MASK 0x00001FFF 131 #define AR_GPIO_BIT(_gpio) (1 << (_gpio)) 133 #define BASE_ACTIVATE_DELAY 100 134 #define RTC_PLL_SETTLE_DELAY (AR_SREV_9340(ah) ? 1000 : 100) 135 #define COEF_SCALE_S 24 136 #define HT40_CHANNEL_CENTER_SHIFT 10 138 #define ATH9K_ANTENNA0_CHAINMASK 0x1 139 #define ATH9K_ANTENNA1_CHAINMASK 0x2 141 #define ATH9K_NUM_DMA_DEBUG_REGS 8 142 #define ATH9K_NUM_QUEUES 10 144 #define MAX_RATE_POWER 63 145 #define AH_WAIT_TIMEOUT 100000 146 #define AH_TSF_WRITE_TIMEOUT 100 147 #define AH_TIME_QUANTUM 10 148 #define AR_KEYTABLE_SIZE 128 149 #define POWER_UP_TIME 10000 150 #define SPUR_RSSI_THRESH 40 152 #define CAB_TIMEOUT_VAL 10 153 #define BEACON_TIMEOUT_VAL 10 154 #define MIN_BEACON_TIMEOUT_VAL 1 157 #define INIT_CONFIG_STATUS 0x00000000 158 #define INIT_RSSI_THR 0x00000700 159 #define INIT_BCON_CNTRL_REG 0x00000000 161 #define TU_TO_USEC(_tu) ((_tu) << 10) 163 #define ATH9K_HW_RX_HP_QDEPTH 16 164 #define ATH9K_HW_RX_LP_QDEPTH 128 166 #define PAPRD_GAIN_TABLE_ENTRIES 32 167 #define PAPRD_TABLE_SZ 24 235 #define SPUR_DISABLE 0 236 #define SPUR_ENABLE_IOCTL 1 237 #define SPUR_ENABLE_EEPROM 2 238 #define AR_SPUR_5413_1 1640 239 #define AR_SPUR_5413_2 1200 240 #define AR_NO_SPUR 0x8000 241 #define AR_BASE_FREQ_2GHZ 2300 242 #define AR_BASE_FREQ_5GHZ 4900 243 #define AR_SPUR_FEEQ_BOUND_HT40 19 244 #define AR_SPUR_FEEQ_BOUND_HT20 10 301 #define CHANNEL_CW_INT 0x00002 302 #define CHANNEL_CCK 0x00020 303 #define CHANNEL_OFDM 0x00040 304 #define CHANNEL_2GHZ 0x00080 305 #define CHANNEL_5GHZ 0x00100 306 #define CHANNEL_PASSIVE 0x00200 307 #define CHANNEL_DYN 0x00400 308 #define CHANNEL_HALF 0x04000 309 #define CHANNEL_QUARTER 0x08000 310 #define CHANNEL_HT20 0x10000 311 #define CHANNEL_HT40PLUS 0x20000 312 #define CHANNEL_HT40MINUS 0x40000 314 #define CHANNEL_A (CHANNEL_5GHZ|CHANNEL_OFDM) 315 #define CHANNEL_B (CHANNEL_2GHZ|CHANNEL_CCK) 316 #define CHANNEL_G (CHANNEL_2GHZ|CHANNEL_OFDM) 317 #define CHANNEL_G_HT20 (CHANNEL_2GHZ|CHANNEL_HT20) 318 #define CHANNEL_A_HT20 (CHANNEL_5GHZ|CHANNEL_HT20) 319 #define CHANNEL_G_HT40PLUS (CHANNEL_2GHZ|CHANNEL_HT40PLUS) 320 #define CHANNEL_G_HT40MINUS (CHANNEL_2GHZ|CHANNEL_HT40MINUS) 321 #define CHANNEL_A_HT40PLUS (CHANNEL_5GHZ|CHANNEL_HT40PLUS) 322 #define CHANNEL_A_HT40MINUS (CHANNEL_5GHZ|CHANNEL_HT40MINUS) 323 #define CHANNEL_ALL \ 355 #define IS_CHAN_G(_c) ((((_c)->channelFlags & (CHANNEL_G)) == CHANNEL_G) || \ 356 (((_c)->channelFlags & CHANNEL_G_HT20) == CHANNEL_G_HT20) || \ 357 (((_c)->channelFlags & CHANNEL_G_HT40PLUS) == CHANNEL_G_HT40PLUS) || \ 358 (((_c)->channelFlags & CHANNEL_G_HT40MINUS) == CHANNEL_G_HT40MINUS)) 359 #define IS_CHAN_OFDM(_c) (((_c)->channelFlags & CHANNEL_OFDM) != 0) 360 #define IS_CHAN_5GHZ(_c) (((_c)->channelFlags & CHANNEL_5GHZ) != 0) 361 #define IS_CHAN_2GHZ(_c) (((_c)->channelFlags & CHANNEL_2GHZ) != 0) 362 #define IS_CHAN_HALF_RATE(_c) (((_c)->channelFlags & CHANNEL_HALF) != 0) 363 #define IS_CHAN_QUARTER_RATE(_c) (((_c)->channelFlags & CHANNEL_QUARTER) != 0) 364 #define IS_CHAN_A_FAST_CLOCK(_ah, _c) \ 365 ((((_c)->channelFlags & CHANNEL_5GHZ) != 0) && \ 366 ((_ah)->caps.hw_caps & ATH9K_HW_CAP_FASTCLOCK)) 369 #define IS_CHAN_B(_c) ((_c)->chanmode == CHANNEL_B) 370 #define IS_CHAN_HT20(_c) (((_c)->chanmode == CHANNEL_A_HT20) || \ 371 ((_c)->chanmode == CHANNEL_G_HT20)) 372 #define IS_CHAN_HT40(_c) (((_c)->chanmode == CHANNEL_A_HT40PLUS) || \ 373 ((_c)->chanmode == CHANNEL_A_HT40MINUS) || \ 374 ((_c)->chanmode == CHANNEL_G_HT40PLUS) || \ 375 ((_c)->chanmode == CHANNEL_G_HT40MINUS)) 376 #define IS_CHAN_HT(_c) (IS_CHAN_HT20((_c)) || IS_CHAN_HT40((_c))) 409 #define ATH9K_BEACON_PERIOD 0x0000ffff 410 #define ATH9K_TSFOOR_THRESHOLD 0x00004240 448 #define ATH_MAX_GEN_TIMER 16 450 #define AR_GENTMR_BIT(_index) (1 << (_index)) 456 #define debruijn32 0x077CB531U 616 int is_firstseg,
int is_is_lastseg,
617 const void *ds0,
u32 buf_addr,
628 u32 durUpdateEn,
u32 rtsctsRate,
653 #define AH_USE_EEPROM 0x1 654 #define AH_UNPLUGGED 0x2 719 #define totalPowerMeasI meas0.unsign 720 #define totalPowerMeasQ meas1.unsign 721 #define totalIqCorrMeas meas2.sign 722 #define totalAdcIOddPhase meas0.unsign 723 #define totalAdcIEvenPhase meas1.unsign 724 #define totalAdcQOddPhase meas2.unsign 725 #define totalAdcQEvenPhase meas3.unsign 726 #define totalAdcDcOffsetIOddPhase meas0.sign 727 #define totalAdcDcOffsetIEvenPhase meas1.sign 728 #define totalAdcDcOffsetQOddPhase meas2.sign 729 #define totalAdcDcOffsetQEvenPhase meas3.sign 881 return &
ah->private_ops;
891 return !!(mask &
BIT(0)) + !!(mask &
BIT(1)) + !!(mask &
BIT(2));
915 int column,
unsigned int *writecnt);
919 u32 frameLen,
u16 rateix,
int shortPreamble);
946 u32 *coef_mantissa,
u32 *coef_exponent);
988 #define ATH_PCIE_CAP_LINK_CTRL 0x70 989 #define ATH_PCIE_CAP_LINK_L0S 1 990 #define ATH_PCIE_CAP_LINK_L1 2 992 #define ATH9K_CLOCK_RATE_CCK 22 993 #define ATH9K_CLOCK_RATE_5GHZ_OFDM 40 994 #define ATH9K_CLOCK_RATE_2GHZ_OFDM 44 995 #define ATH9K_CLOCK_FAST_RATE_5GHZ_OFDM 44 void ath9k_hw_setmcastfilter(struct ath_hw *ah, u32 filter0, u32 filter1)
#define AR9300_MAX_CHAINS
struct ar5416IniArray iniBank0
void(* set_delta_slope)(struct ath_hw *ah, struct ath9k_channel *chan)
struct ar5416IniArray iniModes_normal_power_tx_gain_9271
u8 paprd_gain_table_index[PAPRD_GAIN_TABLE_ENTRIES]
struct ath_hw_private_ops private_ops
void ath9k_hw_setbssidmask(struct ath_hw *ah)
void(* overflow)(void *arg)
struct ath_regulatory regulatory
void(* read_cachesize)(struct ath_common *common, int *csz)
int ar9002_hw_rf_claim(struct ath_hw *ah)
void ath9k_hw_set_gpio(struct ath_hw *ah, u32 gpio, u32 val)
int ath9k_hw_disable(struct ath_hw *ah)
struct ath9k_channel * curchan
static unsigned int unsigned int reg
unsigned int paprd_ratemask_ht40
void(* init_bb)(struct ath_hw *ah, struct ath9k_channel *chan)
void ath9k_hw_cfg_output(struct ath_hw *ah, u32 gpio, u32 ah_signal_type)
struct ar5416IniArray iniRadio[ATH_INI_NUM_SPLIT]
void ath9k_hw_write_array(struct ath_hw *ah, struct ar5416IniArray *array, int column, unsigned int *writecnt)
void ath9k_hw_setopmode(struct ath_hw *ah)
void(* rx_enable)(struct ath_hw *ah)
struct ar5416IniArray iniBB[ATH_INI_NUM_SPLIT]
void(* rf_free_ext_banks)(struct ath_hw *ah)
int sw_beacon_response_time
int(* eeprom_read)(struct ath_common *common, u32 off, u16 *data)
#define ATH_MAX_GEN_TIMER
#define AR_EEPROM_MODAL_SPURS
void ar5008_hw_attach_phy_ops(struct ath_hw *ah)
struct ath9k_hw_version hw_version
uint32_t type
Operating system type.
struct ar5416IniArray iniBank1
void(* init_cal_settings)(struct ath_hw *ah)
void(* spur_mitigate_freq)(struct ath_hw *ah, struct ath9k_channel *chan)
struct ar5416IniArray iniCommon
void ath9k_hw_ani_monitor(struct ath_hw *ah, struct ath9k_channel *chan)
struct ar5416IniArray iniModesAdditional_40M
enum ath9k_power_mode power_mode
u32 ath9k_hw_reverse_bits(u32 val, u32 n)
int(* rf_alloc_ext_banks)(struct ath_hw *ah)
struct ath_gen_timer_table hw_gen_timers
void(* olc_init)(struct ath_hw *ah)
void ath9k_hw_htc_resetinit(struct ath_hw *ah)
struct ar5416IniArray iniModes_9271_ANI_reg
void ath9k_hw_setrxfilter(struct ath_hw *ah, u32 bits)
void(* rfbus_done)(struct ath_hw *ah)
struct ar5416IniArray iniSOC[ATH_INI_NUM_SPLIT]
unsigned int paprd_training_power
#define ATH9K_NUM_CHANNELS
struct ar5416IniArray iniCommon_normal_cck_fir_coeff_9271
struct ar5416_eeprom_4k map4k
struct ath_hw_private_ops - callbacks used internally by hardware code
struct ar5416IniArray iniModesTxGain
void(* clr11n_aggr)(struct ath_hw *ah, void *ds)
struct ar5416IniArray iniBank6
void(* setup_calibration)(struct ath_hw *ah, struct ath9k_cal_list *currCal)
struct ath_ops - Register read/write operations
int ath9k_hw_check_alive(struct ath_hw *ah)
struct net80211_channel * chan
void ath9k_hw_deinit(struct ath_hw *ah)
void ath9k_hw_name(struct ath_hw *ah, char *hw_name, size_t len)
int ath9k_hw_fill_cap_info(struct ath_hw *ah)
struct ar5416IniArray iniCckfirJapan2484
struct ath9k_cal_list adcgain_caldata
struct ar5416IniArray iniBank7
void(* extn_synch_en)(struct ath_common *common)
struct ar5416IniArray iniBank6TPC
void(* antdiv_comb_conf_set)(struct ath_hw *ah, struct ath_hw_antcomb_conf *antconf)
void(* mark_phy_inactive)(struct ath_hw *ah)
void(* set11n_aggr_last)(struct ath_hw *ah, void *ds)
void ath9k_hw_write_associd(struct ath_hw *ah)
const struct eeprom_ops * eep_ops
int ath9k_hw_phy_disable(struct ath_hw *ah)
pseudo_bit_t gpio[0x00001]
int(* get_isr)(struct ath_hw *ah, enum ath9k_int *masked)
unsigned int pulse_maxlen
void ar9003_hw_attach_ops(struct ath_hw *ah)
void ar9002_hw_attach_phy_ops(struct ath_hw *ah)
#define PAPRD_GAIN_TABLE_ENTRIES
u32 txdesc_interrupt_mask
struct ath9k_cal_list iq_caldata
void ar9002_hw_cck_chan14_spread(struct ath_hw *ah)
uint32_t array
Array number.
int(* process_ini)(struct ath_hw *ah, struct ath9k_channel *chan)
struct ar9287_eeprom map9287
struct ath9k_cal_list adcdc_caldata
struct ath9k_pacal_info pacal_info
union ath_gen_timer_table::@26 timer_mask
void(* bt_coex_prep)(struct ath_common *common)
struct ar5416IniArray iniModes
pseudo_bit_t value[0x00020]
void ar9003_hw_attach_calib_ops(struct ath_hw *ah)
void ar9002_hw_enable_wep_aggregation(struct ath_hw *ah)
unsigned int pulse_inband_step
unsigned int pulse_height
struct ar5416IniArray iniModes_9271_1_0_only
static struct ath_regulatory * ath9k_hw_regulatory(struct ath_hw *ah)
int(* set_rf_regs)(struct ath_hw *ah, struct ath9k_channel *chan, u16 modesIndex)
struct ath9k_tx_queue_info txq[ATH9K_NUM_TX_QUEUES]
u32 link
Link to next descriptor.
void(* ani_cache_ini_regs)(struct ath_hw *ah)
void ath9k_hw_set_txpowerlimit(struct ath_hw *ah, u32 limit, int test)
void(* trigger)(void *arg)
u32 pa_table[AR9300_MAX_CHAINS][PAPRD_TABLE_SZ]
struct ath9k_ops_config config
struct ar5416IniArray iniCommon_japan_2484_cck_fir_coeff_9271
u32 intr_gen_timer_trigger
int paprd_table_write_done
void ath9k_hw_get_channel_centers(struct ath_hw *ah, struct ath9k_channel *chan, struct chan_centers *centers)
struct ar5416IniArray iniBank2
void(* set11n_ratescenario)(struct ath_hw *ah, void *ds, void *lastds, u32 durUpdateEn, u32 rtsctsRate, u32 rtsctsDuration, struct ath9k_11n_rate_series series[], u32 nseries, u32 flags)
int ath9k_hw_setpower(struct ath_hw *ah, enum ath9k_power_mode mode)
struct ath_gen_timer * timers[ATH_MAX_GEN_TIMER]
struct ar5416IniArray iniPcieSerdesLowPower
struct ar5416IniArray iniBB_RfGain
void(* init_mode_regs)(struct ath_hw *ah)
unsigned int paprd_ratemask
struct ath_hw_radar_conf - radar detection initialization parameters
struct hv_monitor_parameter param[4][32]
Parameters.
Structure encapsulating the complete state of an 802.11 device.
u32 ath9k_hw_gpio_get(struct ath_hw *ah, u32 gpio)
int ath9k_hw_reset(struct ath_hw *ah, struct ath9k_channel *chan, struct ath9k_hw_cal_data *caldata, int bChannelChange)
struct ath_hw_ops - callbacks used by hardware code and driver code
void(* set11n_txdesc)(struct ath_hw *ah, void *ds, u32 pktLen, enum ath9k_pkt_type type, u32 txPower, u32 keyIx, enum ath9k_key_type keyType, u32 flags)
int(* calibrate)(struct ath_hw *ah, struct ath9k_channel *chan, u8 rxchainmask, int longcal)
void ath9k_hw_init_global_settings(struct ath_hw *ah)
#define ATH9K_NUM_TX_QUEUES
static struct ath_common * ath9k_hw_common(struct ath_hw *ah)
void ar9002_hw_load_ani_reg(struct ath_hw *ah, struct ath9k_channel *chan)
struct ar5416IniArray iniCckfirNormal
void ath9k_hw_get_delta_slope_vals(struct ath_hw *ah, u32 coef_scaled, u32 *coef_mantissa, u32 *coef_exponent)
void(* config_pci_powersave)(struct ath_hw *ah, int restore, int power_off)
struct ar5416IniArray iniModes_high_power_tx_gain_9271
void(* init_mode_gain_regs)(struct ath_hw *ah)
void ath9k_hw_setantenna(struct ath_hw *ah, u32 antenna)
unsigned int radar_inband
struct ath9k_cal_list * cal_list_last
void(* set_clrdmask)(struct ath_hw *ah, void *ds, int val)
enum ath9k_ani_cmd ani_function
u16 spurchans[AR_EEPROM_MODAL_SPURS][2]
struct ib_cm_common common
void ath9k_hw_set11nmac2040(struct ath_hw *ah)
void(* set_rfmode)(struct ath_hw *ah, struct ath9k_channel *chan)
int ath9k_hw_init(struct ath_hw *ah)
struct net80211_device * dev
int modparam_force_new_ani
int16_t curchan_rad_index
void(* set_diversity)(struct ath_hw *ah, int value)
enum ath_bus_type ath_bus_type
enum ath_hw::@32 enable_32kHz_clock
#define AR5416_MAX_CHAINS
unsigned int paprd_target_power
void ar9002_hw_attach_calib_ops(struct ath_hw *ah)
struct ar9300_eeprom ar9300_eep
static struct ath_hw_ops * ath9k_hw_ops(struct ath_hw *ah)
struct ath9k_cal_list tempCompCalData
void ath9k_hw_proc_mib_event(struct ath_hw *ah)
int(* proc_txdesc)(struct ath_hw *ah, void *ds, struct ath_tx_status *ts)
void ar9002_hw_attach_ops(struct ath_hw *ah)
int(* rfbus_req)(struct ath_hw *ah)
struct ath_nf_limits nf_2g
struct ath_nf_limits nf_5g
void ar9003_hw_attach_phy_ops(struct ath_hw *ah)
void(* set11n_aggr_middle)(struct ath_hw *ah, void *ds, u32 numDelims)
struct ar5416IniArray iniModesAdditional
void ar9003_hw_disable_phy_restart(struct ath_hw *ah)
static volatile void * bits
struct ar9003_txs * ts_ring
struct ar5416AniState ani
struct ath9k_hw_capabilities caps
struct ar5416IniArray iniAddac
void ath9k_hw_cfg_gpio_input(struct ath_hw *ah, u32 gpio)
void ar9002_hw_update_async_fifo(struct ath_hw *ah)
struct ar5416IniArray iniMac[ATH_INI_NUM_SPLIT]
int(* ani_control)(struct ath_hw *ah, enum ath9k_ani_cmd cmd, int param)
u32 ath9k_hw_getdefantenna(struct ath_hw *ah)
uint8_t data[48]
Additional event data.
int additional_swba_backoff
void(* antdiv_comb_conf_get)(struct ath_hw *ah, struct ath_hw_antcomb_conf *antconf)
const char * ath9k_hw_probe(u16 vendorid, u16 devid)
int(* rf_set_freq)(struct ath_hw *ah, struct ath9k_channel *chan)
u32 ath9k_regd_get_ctl(struct ath_regulatory *reg, struct ath9k_channel *chan)
void(* set11n_aggr_first)(struct ath_hw *ah, void *ds, u32 aggrLen)
u32 intr_gen_timer_thresh
void(* set_channel_regs)(struct ath_hw *ah, struct ath9k_channel *chan)
u16 ath9k_hw_computetxtime(struct ath_hw *ah, u8 phy, int kbps, u32 frameLen, u16 rateix, int shortPreamble)
unsigned int pulse_inband
struct ath9k_cal_list * cal_list
u32(* compute_pll_control)(struct ath_hw *ah, struct ath9k_channel *chan)
void(* set_radar_params)(struct ath_hw *ah, struct ath_hw_radar_conf *conf)
struct ath9k_channel channels[ATH9K_NUM_CHANNELS]
static struct ath_hw_private_ops * ath9k_hw_private_ops(struct ath_hw *ah)
struct ath_hw_radar_conf radar_conf
void(* do_getnf)(struct ath_hw *ah, int16_t nfarray[NUM_NF_READINGS])
struct ar5416_eeprom_def def
void(* restore_chainmask)(struct ath_hw *ah)
struct ath9k_hw_cal_data * caldata
void ath9k_ani_reset(struct ath_hw *ah, int is_scanning)
void(* fill_txdesc)(struct ath_hw *ah, void *ds, u32 seglen, int is_firstseg, int is_is_lastseg, const void *ds0, u32 buf_addr, unsigned int qcu)
struct ar5416IniArray iniPcieSerdes
u16 small_signal_gain[AR9300_MAX_CHAINS]
u32 ar9003_get_pll_sqsum_dvc(struct ath_hw *ah)
u32 unsign[AR5416_MAX_CHAINS]
struct ar5416IniArray iniBank3
void(* get_desc_link)(void *ds, u32 **link)
static u8 get_streams(int mask)
struct ath9k_cal_list * cal_list_curr
struct ar5416IniArray iniModesRxGain
u32 ath9k_hw_getrxfilter(struct ath_hw *ah)
int(* init_cal)(struct ath_hw *ah, struct ath9k_channel *chan)
u32 paprd_gain_table_entries[PAPRD_GAIN_TABLE_ENTRIES]
void ar9002_hw_enable_async_fifo(struct ath_hw *ah)
struct ath9k_nfcal_hist nfCalHist[NUM_NF_READINGS]
int32_t sign[AR5416_MAX_CHAINS]
int ath9k_hw_wait(struct ath_hw *ah, u32 reg, u32 mask, u32 val, u32 timeout)
int dma_beacon_response_time
void(* set_desc_link)(void *ds, u32 link)