ath9k: refactor ar9003_hw_spur_mitigate_ofdm
Similar to ar9003_hw_spur_mitigate_mrc_cck, simplify the code by using ar9003_get_spur_chan_ptr. This may also be required for QCN550x support, to provide an abstraction over the underlying EEPROM format. Signed-off-by: Wenli Looi <wlooi@ucalgary.ca> Acked-by: Toke Høiland-Jørgensen <toke@toke.dk> Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com> Link: https://lore.kernel.org/r/20220320233010.123106-6-wlooi@ucalgary.ca
This commit is contained in:
@@ -523,21 +523,10 @@ static void ar9003_hw_spur_mitigate_ofdm(struct ath_hw *ah,
|
||||
int synth_freq;
|
||||
int range = 10;
|
||||
int freq_offset = 0;
|
||||
int mode;
|
||||
u8* spurChansPtr;
|
||||
u8 *spur_fbin_ptr = ar9003_get_spur_chan_ptr(ah, IS_CHAN_2GHZ(chan));
|
||||
unsigned int i;
|
||||
struct ar9300_eeprom *eep = &ah->eeprom.ar9300_eep;
|
||||
|
||||
if (IS_CHAN_5GHZ(chan)) {
|
||||
spurChansPtr = &(eep->modalHeader5G.spurChans[0]);
|
||||
mode = 0;
|
||||
}
|
||||
else {
|
||||
spurChansPtr = &(eep->modalHeader2G.spurChans[0]);
|
||||
mode = 1;
|
||||
}
|
||||
|
||||
if (spurChansPtr[0] == 0)
|
||||
if (spur_fbin_ptr[0] == 0)
|
||||
return; /* No spur in the mode */
|
||||
|
||||
if (IS_CHAN_HT40(chan)) {
|
||||
@@ -554,16 +543,18 @@ static void ar9003_hw_spur_mitigate_ofdm(struct ath_hw *ah,
|
||||
|
||||
ar9003_hw_spur_ofdm_clear(ah);
|
||||
|
||||
for (i = 0; i < AR_EEPROM_MODAL_SPURS && spurChansPtr[i]; i++) {
|
||||
freq_offset = ath9k_hw_fbin2freq(spurChansPtr[i], mode);
|
||||
for (i = 0; i < AR_EEPROM_MODAL_SPURS && spur_fbin_ptr[i]; i++) {
|
||||
freq_offset = ath9k_hw_fbin2freq(spur_fbin_ptr[i],
|
||||
IS_CHAN_2GHZ(chan));
|
||||
freq_offset -= synth_freq;
|
||||
if (abs(freq_offset) < range) {
|
||||
ar9003_hw_spur_ofdm_work(ah, chan, freq_offset,
|
||||
range, synth_freq);
|
||||
|
||||
if (AR_SREV_9565(ah) && (i < 4)) {
|
||||
freq_offset = ath9k_hw_fbin2freq(spurChansPtr[i + 1],
|
||||
mode);
|
||||
freq_offset =
|
||||
ath9k_hw_fbin2freq(spur_fbin_ptr[i + 1],
|
||||
IS_CHAN_2GHZ(chan));
|
||||
freq_offset -= synth_freq;
|
||||
if (abs(freq_offset) < range)
|
||||
ar9003_hw_spur_ofdm_9565(ah, freq_offset);
|
||||
|
||||
Reference in New Issue
Block a user