aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ath/ath9k/hw.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/wireless/ath/ath9k/hw.h')
-rw-r--r--drivers/net/wireless/ath/ath9k/hw.h53
1 files changed, 24 insertions, 29 deletions
diff --git a/drivers/net/wireless/ath/ath9k/hw.h b/drivers/net/wireless/ath/ath9k/hw.h
index 1601dd439890..df47f792cf4e 100644
--- a/drivers/net/wireless/ath/ath9k/hw.h
+++ b/drivers/net/wireless/ath/ath9k/hw.h
@@ -181,29 +181,19 @@ enum wireless_mode {
181}; 181};
182 182
183enum ath9k_hw_caps { 183enum ath9k_hw_caps {
184 ATH9K_HW_CAP_MIC_AESCCM = BIT(0), 184 ATH9K_HW_CAP_HT = BIT(0),
185 ATH9K_HW_CAP_MIC_CKIP = BIT(1), 185 ATH9K_HW_CAP_RFSILENT = BIT(1),
186 ATH9K_HW_CAP_MIC_TKIP = BIT(2), 186 ATH9K_HW_CAP_CST = BIT(2),
187 ATH9K_HW_CAP_CIPHER_AESCCM = BIT(3), 187 ATH9K_HW_CAP_ENHANCEDPM = BIT(3),
188 ATH9K_HW_CAP_CIPHER_CKIP = BIT(4), 188 ATH9K_HW_CAP_AUTOSLEEP = BIT(4),
189 ATH9K_HW_CAP_CIPHER_TKIP = BIT(5), 189 ATH9K_HW_CAP_4KB_SPLITTRANS = BIT(5),
190 ATH9K_HW_CAP_VEOL = BIT(6), 190 ATH9K_HW_CAP_EDMA = BIT(6),
191 ATH9K_HW_CAP_BSSIDMASK = BIT(7), 191 ATH9K_HW_CAP_RAC_SUPPORTED = BIT(7),
192 ATH9K_HW_CAP_MCAST_KEYSEARCH = BIT(8), 192 ATH9K_HW_CAP_LDPC = BIT(8),
193 ATH9K_HW_CAP_HT = BIT(9), 193 ATH9K_HW_CAP_FASTCLOCK = BIT(9),
194 ATH9K_HW_CAP_GTT = BIT(10), 194 ATH9K_HW_CAP_SGI_20 = BIT(10),
195 ATH9K_HW_CAP_FASTCC = BIT(11), 195 ATH9K_HW_CAP_PAPRD = BIT(11),
196 ATH9K_HW_CAP_RFSILENT = BIT(12), 196 ATH9K_HW_CAP_ANT_DIV_COMB = BIT(12),
197 ATH9K_HW_CAP_CST = BIT(13),
198 ATH9K_HW_CAP_ENHANCEDPM = BIT(14),
199 ATH9K_HW_CAP_AUTOSLEEP = BIT(15),
200 ATH9K_HW_CAP_4KB_SPLITTRANS = BIT(16),
201 ATH9K_HW_CAP_EDMA = BIT(17),
202 ATH9K_HW_CAP_RAC_SUPPORTED = BIT(18),
203 ATH9K_HW_CAP_LDPC = BIT(19),
204 ATH9K_HW_CAP_FASTCLOCK = BIT(20),
205 ATH9K_HW_CAP_SGI_20 = BIT(21),
206 ATH9K_HW_CAP_PAPRD = BIT(22),
207}; 197};
208 198
209struct ath9k_hw_capabilities { 199struct ath9k_hw_capabilities {
@@ -495,6 +485,12 @@ struct ath_gen_timer_table {
495 } timer_mask; 485 } timer_mask;
496}; 486};
497 487
488struct ath_hw_antcomb_conf {
489 u8 main_lna_conf;
490 u8 alt_lna_conf;
491 u8 fast_div_bias;
492};
493
498/** 494/**
499 * struct ath_hw_private_ops - callbacks used internally by hardware code 495 * struct ath_hw_private_ops - callbacks used internally by hardware code
500 * 496 *
@@ -874,12 +870,6 @@ int ath9k_hw_reset(struct ath_hw *ah, struct ath9k_channel *chan,
874int ath9k_hw_fill_cap_info(struct ath_hw *ah); 870int ath9k_hw_fill_cap_info(struct ath_hw *ah);
875u32 ath9k_regd_get_ctl(struct ath_regulatory *reg, struct ath9k_channel *chan); 871u32 ath9k_regd_get_ctl(struct ath_regulatory *reg, struct ath9k_channel *chan);
876 872
877/* Key Cache Management */
878bool ath9k_hw_keyreset(struct ath_hw *ah, u16 entry);
879bool ath9k_hw_set_keycache_entry(struct ath_hw *ah, u16 entry,
880 const struct ath9k_keyval *k,
881 const u8 *mac);
882
883/* GPIO / RFKILL / Antennae */ 873/* GPIO / RFKILL / Antennae */
884void ath9k_hw_cfg_gpio_input(struct ath_hw *ah, u32 gpio); 874void ath9k_hw_cfg_gpio_input(struct ath_hw *ah, u32 gpio);
885u32 ath9k_hw_gpio_get(struct ath_hw *ah, u32 gpio); 875u32 ath9k_hw_gpio_get(struct ath_hw *ah, u32 gpio);
@@ -888,6 +878,10 @@ void ath9k_hw_cfg_output(struct ath_hw *ah, u32 gpio,
888void ath9k_hw_set_gpio(struct ath_hw *ah, u32 gpio, u32 val); 878void ath9k_hw_set_gpio(struct ath_hw *ah, u32 gpio, u32 val);
889u32 ath9k_hw_getdefantenna(struct ath_hw *ah); 879u32 ath9k_hw_getdefantenna(struct ath_hw *ah);
890void ath9k_hw_setantenna(struct ath_hw *ah, u32 antenna); 880void ath9k_hw_setantenna(struct ath_hw *ah, u32 antenna);
881void ath9k_hw_antdiv_comb_conf_get(struct ath_hw *ah,
882 struct ath_hw_antcomb_conf *antconf);
883void ath9k_hw_antdiv_comb_conf_set(struct ath_hw *ah,
884 struct ath_hw_antcomb_conf *antconf);
891 885
892/* General Operation */ 886/* General Operation */
893bool ath9k_hw_wait(struct ath_hw *ah, u32 reg, u32 mask, u32 val, u32 timeout); 887bool ath9k_hw_wait(struct ath_hw *ah, u32 reg, u32 mask, u32 val, u32 timeout);
@@ -985,6 +979,7 @@ void ar9003_hw_attach_calib_ops(struct ath_hw *ah);
985void ar9002_hw_attach_ops(struct ath_hw *ah); 979void ar9002_hw_attach_ops(struct ath_hw *ah);
986void ar9003_hw_attach_ops(struct ath_hw *ah); 980void ar9003_hw_attach_ops(struct ath_hw *ah);
987 981
982void ar9002_hw_load_ani_reg(struct ath_hw *ah, struct ath9k_channel *chan);
988/* 983/*
989 * ANI work can be shared between all families but a next 984 * ANI work can be shared between all families but a next
990 * generation implementation of ANI will be used only for AR9003 only 985 * generation implementation of ANI will be used only for AR9003 only