mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-06 00:06:41 +07:00
ath9k: add noise floor parameter to ath9k_hw_getchan_noise
Add nf parameter to ath9k_hw_getchan_noise() in order to compute NF for EXT chains with the same scale of noise floor calculated on CTL chains. ath9k_hw_getchan_noise() will be used in ath_process_fft() for spectral scan on HT40 channels Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi83@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
df3c2adea4
commit
5bc225acfe
@ -63,13 +63,13 @@ static s16 ath9k_hw_get_default_nf(struct ath_hw *ah,
|
||||
return ath9k_hw_get_nf_limits(ah, chan)->nominal;
|
||||
}
|
||||
|
||||
s16 ath9k_hw_getchan_noise(struct ath_hw *ah, struct ath9k_channel *chan)
|
||||
s16 ath9k_hw_getchan_noise(struct ath_hw *ah, struct ath9k_channel *chan,
|
||||
s16 nf)
|
||||
{
|
||||
s8 noise = ATH_DEFAULT_NOISE_FLOOR;
|
||||
|
||||
if (chan && chan->noisefloor) {
|
||||
s8 delta = chan->noisefloor -
|
||||
ATH9K_NF_CAL_NOISE_THRESH -
|
||||
if (nf) {
|
||||
s8 delta = nf - ATH9K_NF_CAL_NOISE_THRESH -
|
||||
ath9k_hw_get_default_nf(ah, chan);
|
||||
if (delta > 0)
|
||||
noise += delta;
|
||||
@ -392,7 +392,7 @@ bool ath9k_hw_getnf(struct ath_hw *ah, struct ath9k_channel *chan)
|
||||
clear_bit(NFCAL_PENDING, &caldata->cal_flags);
|
||||
ath9k_hw_update_nfcal_hist_buffer(ah, caldata, nfarray);
|
||||
chan->noisefloor = h[0].privNF;
|
||||
ah->noise = ath9k_hw_getchan_noise(ah, chan);
|
||||
ah->noise = ath9k_hw_getchan_noise(ah, chan, chan->noisefloor);
|
||||
return true;
|
||||
}
|
||||
EXPORT_SYMBOL(ath9k_hw_getnf);
|
||||
|
@ -116,7 +116,8 @@ void ath9k_init_nfcal_hist_buffer(struct ath_hw *ah,
|
||||
void ath9k_hw_bstuck_nfcal(struct ath_hw *ah);
|
||||
void ath9k_hw_reset_calibration(struct ath_hw *ah,
|
||||
struct ath9k_cal_list *currCal);
|
||||
s16 ath9k_hw_getchan_noise(struct ath_hw *ah, struct ath9k_channel *chan);
|
||||
s16 ath9k_hw_getchan_noise(struct ath_hw *ah, struct ath9k_channel *chan,
|
||||
s16 nf);
|
||||
|
||||
|
||||
#endif /* CALIB_H */
|
||||
|
@ -1885,7 +1885,7 @@ int ath9k_hw_reset(struct ath_hw *ah, struct ath9k_channel *chan,
|
||||
} else if (caldata) {
|
||||
clear_bit(PAPRD_PACKET_SENT, &caldata->cal_flags);
|
||||
}
|
||||
ah->noise = ath9k_hw_getchan_noise(ah, chan);
|
||||
ah->noise = ath9k_hw_getchan_noise(ah, chan, chan->noisefloor);
|
||||
|
||||
if (fastcc) {
|
||||
r = ath9k_hw_do_fastcc(ah, chan);
|
||||
|
@ -518,7 +518,8 @@ void ath_update_survey_nf(struct ath_softc *sc, int channel)
|
||||
|
||||
if (chan->noisefloor) {
|
||||
survey->filled |= SURVEY_INFO_NOISE_DBM;
|
||||
survey->noise = ath9k_hw_getchan_noise(ah, chan);
|
||||
survey->noise = ath9k_hw_getchan_noise(ah, chan,
|
||||
chan->noisefloor);
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user