diff options
Diffstat (limited to 'drivers/net/wireless/ath/ath9k/hw.h')
-rw-r--r-- | drivers/net/wireless/ath/ath9k/hw.h | 53 |
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 | ||
183 | enum ath9k_hw_caps { | 183 | enum 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 | ||
209 | struct ath9k_hw_capabilities { | 199 | struct ath9k_hw_capabilities { |
@@ -495,6 +485,12 @@ struct ath_gen_timer_table { | |||
495 | } timer_mask; | 485 | } timer_mask; |
496 | }; | 486 | }; |
497 | 487 | ||
488 | struct 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, | |||
874 | int ath9k_hw_fill_cap_info(struct ath_hw *ah); | 870 | int ath9k_hw_fill_cap_info(struct ath_hw *ah); |
875 | u32 ath9k_regd_get_ctl(struct ath_regulatory *reg, struct ath9k_channel *chan); | 871 | u32 ath9k_regd_get_ctl(struct ath_regulatory *reg, struct ath9k_channel *chan); |
876 | 872 | ||
877 | /* Key Cache Management */ | ||
878 | bool ath9k_hw_keyreset(struct ath_hw *ah, u16 entry); | ||
879 | bool 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 */ |
884 | void ath9k_hw_cfg_gpio_input(struct ath_hw *ah, u32 gpio); | 874 | void ath9k_hw_cfg_gpio_input(struct ath_hw *ah, u32 gpio); |
885 | u32 ath9k_hw_gpio_get(struct ath_hw *ah, u32 gpio); | 875 | u32 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, | |||
888 | void ath9k_hw_set_gpio(struct ath_hw *ah, u32 gpio, u32 val); | 878 | void ath9k_hw_set_gpio(struct ath_hw *ah, u32 gpio, u32 val); |
889 | u32 ath9k_hw_getdefantenna(struct ath_hw *ah); | 879 | u32 ath9k_hw_getdefantenna(struct ath_hw *ah); |
890 | void ath9k_hw_setantenna(struct ath_hw *ah, u32 antenna); | 880 | void ath9k_hw_setantenna(struct ath_hw *ah, u32 antenna); |
881 | void ath9k_hw_antdiv_comb_conf_get(struct ath_hw *ah, | ||
882 | struct ath_hw_antcomb_conf *antconf); | ||
883 | void 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 */ |
893 | bool ath9k_hw_wait(struct ath_hw *ah, u32 reg, u32 mask, u32 val, u32 timeout); | 887 | bool 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); | |||
985 | void ar9002_hw_attach_ops(struct ath_hw *ah); | 979 | void ar9002_hw_attach_ops(struct ath_hw *ah); |
986 | void ar9003_hw_attach_ops(struct ath_hw *ah); | 980 | void ar9003_hw_attach_ops(struct ath_hw *ah); |
987 | 981 | ||
982 | void 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 |