diff options
author | Felix Fietkau <nbd@openwrt.org> | 2010-06-12 00:34:00 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2010-06-14 15:39:32 -0400 |
commit | 717f6bedcd2d3d39624437e1de7067c90ec931f0 (patch) | |
tree | d4d2048c61a32d96c49cfb77cff17212454ab96c /drivers/net/wireless/ath/ath9k/hw.h | |
parent | 4935250ac14d9aac7d98411bdead2e33a9fadeac (diff) |
ath9k_hw: add functions for controlling PA predistortion calibration
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/ath/ath9k/hw.h')
-rw-r--r-- | drivers/net/wireless/ath/ath9k/hw.h | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/drivers/net/wireless/ath/ath9k/hw.h b/drivers/net/wireless/ath/ath9k/hw.h index 9d092168855b..d60472b4f773 100644 --- a/drivers/net/wireless/ath/ath9k/hw.h +++ b/drivers/net/wireless/ath/ath9k/hw.h | |||
@@ -158,6 +158,9 @@ | |||
158 | #define ATH9K_HW_RX_HP_QDEPTH 16 | 158 | #define ATH9K_HW_RX_HP_QDEPTH 16 |
159 | #define ATH9K_HW_RX_LP_QDEPTH 128 | 159 | #define ATH9K_HW_RX_LP_QDEPTH 128 |
160 | 160 | ||
161 | #define PAPRD_GAIN_TABLE_ENTRIES 32 | ||
162 | #define PAPRD_TABLE_SZ 24 | ||
163 | |||
161 | enum ath_ini_subsys { | 164 | enum ath_ini_subsys { |
162 | ATH_INI_PRE = 0, | 165 | ATH_INI_PRE = 0, |
163 | ATH_INI_CORE, | 166 | ATH_INI_CORE, |
@@ -361,6 +364,9 @@ struct ath9k_channel { | |||
361 | int8_t iCoff; | 364 | int8_t iCoff; |
362 | int8_t qCoff; | 365 | int8_t qCoff; |
363 | int16_t rawNoiseFloor; | 366 | int16_t rawNoiseFloor; |
367 | bool paprd_done; | ||
368 | u16 small_signal_gain[AR9300_MAX_CHAINS]; | ||
369 | u32 pa_table[AR9300_MAX_CHAINS][PAPRD_TABLE_SZ]; | ||
364 | }; | 370 | }; |
365 | 371 | ||
366 | #define IS_CHAN_G(_c) ((((_c)->channelFlags & (CHANNEL_G)) == CHANNEL_G) || \ | 372 | #define IS_CHAN_G(_c) ((((_c)->channelFlags & (CHANNEL_G)) == CHANNEL_G) || \ |
@@ -819,6 +825,9 @@ struct ath_hw { | |||
819 | 825 | ||
820 | u32 bb_watchdog_last_status; | 826 | u32 bb_watchdog_last_status; |
821 | u32 bb_watchdog_timeout_ms; /* in ms, 0 to disable */ | 827 | u32 bb_watchdog_timeout_ms; /* in ms, 0 to disable */ |
828 | |||
829 | u32 paprd_gain_table_entries[PAPRD_GAIN_TABLE_ENTRIES]; | ||
830 | u8 paprd_gain_table_index[PAPRD_GAIN_TABLE_ENTRIES]; | ||
822 | }; | 831 | }; |
823 | 832 | ||
824 | static inline struct ath_common *ath9k_hw_common(struct ath_hw *ah) | 833 | static inline struct ath_common *ath9k_hw_common(struct ath_hw *ah) |
@@ -946,6 +955,15 @@ void ar9003_hw_set_nf_limits(struct ath_hw *ah); | |||
946 | void ar9003_hw_bb_watchdog_config(struct ath_hw *ah); | 955 | void ar9003_hw_bb_watchdog_config(struct ath_hw *ah); |
947 | void ar9003_hw_bb_watchdog_read(struct ath_hw *ah); | 956 | void ar9003_hw_bb_watchdog_read(struct ath_hw *ah); |
948 | void ar9003_hw_bb_watchdog_dbg_info(struct ath_hw *ah); | 957 | void ar9003_hw_bb_watchdog_dbg_info(struct ath_hw *ah); |
958 | void ar9003_paprd_enable(struct ath_hw *ah, bool val); | ||
959 | void ar9003_paprd_populate_single_table(struct ath_hw *ah, | ||
960 | struct ath9k_channel *chan, int chain); | ||
961 | int ar9003_paprd_create_curve(struct ath_hw *ah, struct ath9k_channel *chan, | ||
962 | int chain); | ||
963 | int ar9003_paprd_setup_gain_table(struct ath_hw *ah, int chain); | ||
964 | int ar9003_paprd_init_table(struct ath_hw *ah); | ||
965 | bool ar9003_paprd_is_done(struct ath_hw *ah); | ||
966 | void ar9003_hw_set_paprd_txdesc(struct ath_hw *ah, void *ds, u8 chains); | ||
949 | 967 | ||
950 | /* Hardware family op attach helpers */ | 968 | /* Hardware family op attach helpers */ |
951 | void ar5008_hw_attach_phy_ops(struct ath_hw *ah); | 969 | void ar5008_hw_attach_phy_ops(struct ath_hw *ah); |