I talked with Nick and I finally agree with him that this code is completely unuseful. I misunderstood the legacy code. Sorry.
I will try to work in a simpler task and I will appreciate if you have any suggestions. Best regards, -- Tulio Magno On Wednesday 04 February 2009 02:29:40 Nick Kossifidis wrote: > 2009/2/4 Tulio Magno Quites Machado Filho <[email protected]>: > > Separate both calibrations and call noise floor calibrations only when > > necessary. > > > > Signed-off-by: Tulio Magno Quites Machado Filho <[email protected]> > > --- > > drivers/net/wireless/ath5k/base.c | 4 ++++ > > drivers/net/wireless/ath5k/phy.c | 8 -------- > > drivers/net/wireless/ath5k/reg.h | 1 + > > 3 files changed, 5 insertions(+), 8 deletions(-) > > > > diff --git a/drivers/net/wireless/ath5k/base.c > > b/drivers/net/wireless/ath5k/base.c > > index 697450d..251d022 100644 > > --- a/drivers/net/wireless/ath5k/base.c > > +++ b/drivers/net/wireless/ath5k/base.c > > @@ -2518,6 +2518,10 @@ ath5k_calibrate(unsigned long data) > > ieee80211_frequency_to_channel( > > sc->curchan->center_freq)); > > > > + if(ah->ah_regdomain & AR5K_PHY_NFC) { > > + ath5k_hw_noise_floor_calibration(ah, > > sc->curchan->center_freq); > > + } > > + > > mod_timer(&sc->calib_tim, round_jiffies(jiffies + > > msecs_to_jiffies(ath5k_calinterval * 1000))); > > } > > How is regdomain related to nf calibration ? > Also where does ah_regdomain gets updated ? > > This way nf calibration never happens... > > > @@ -1325,12 +1323,6 @@ static int ath5k_hw_rf511x_calibrate(struct ath5k_hw > > *ah, > > > > done: > > > > - /* TODO: Separate noise floor calibration from I/Q calibration > > - * since noise floor calibration interrupts rx path while I/Q > > - * calibration doesn't. We don't need to run noise floor calibration > > - * as often as I/Q calibration.*/ > > - ath5k_hw_noise_floor_calibration(ah, channel->center_freq); > > - > > /* Initiate a gain_F calibration */ > > ath5k_hw_request_rfgain_probe(ah); > > > > I've put that TODO there because there is a plan about this that > includes stopping tx queues etc, it's not that simple... > > > diff --git a/drivers/net/wireless/ath5k/reg.h > > b/drivers/net/wireless/ath5k/reg.h > > index d023eb5..e8a10b8 100644 > > --- a/drivers/net/wireless/ath5k/reg.h > > +++ b/drivers/net/wireless/ath5k/reg.h > > @@ -2032,6 +2032,7 @@ > > #define AR5K_PHY_NF_THRESH62_S 12 > > #define AR5K_PHY_NF_MINCCA_PWR 0x0ff80000 /* ??? */ > > #define AR5K_PHY_NF_MINCCA_PWR_S 19 > > +#define AR5K_PHY_NFC 4 /* Bit to identify when it is > > necessary floor calibration */ > > > > /* > > * PHY ADC saturation register [5110] > > There is no such bit on the register and if there was such bit you'll > probably want to AND ah_regdomain against 0x10 > > _______________________________________________ ath5k-devel mailing list [email protected] https://lists.ath5k.org/mailman/listinfo/ath5k-devel
