ath9k_hw: simplify ar9003_hw_per_calibration
Reduce indentation, use a variable to save a few pointer dereferences Signed-off-by: Felix Fietkau <nbd@nbd.name> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
This commit is contained in:

committed by
Kalle Valo

parent
3ff25093cb
commit
8f778c72ac
@@ -75,50 +75,49 @@ static bool ar9003_hw_per_calibration(struct ath_hw *ah,
|
|||||||
struct ath9k_cal_list *currCal)
|
struct ath9k_cal_list *currCal)
|
||||||
{
|
{
|
||||||
struct ath9k_hw_cal_data *caldata = ah->caldata;
|
struct ath9k_hw_cal_data *caldata = ah->caldata;
|
||||||
/* Cal is assumed not done until explicitly set below */
|
const struct ath9k_percal_data *cur_caldata = currCal->calData;
|
||||||
bool iscaldone = false;
|
|
||||||
|
|
||||||
/* Calibration in progress. */
|
/* Calibration in progress. */
|
||||||
if (currCal->calState == CAL_RUNNING) {
|
if (currCal->calState == CAL_RUNNING) {
|
||||||
/* Check to see if it has finished. */
|
/* Check to see if it has finished. */
|
||||||
if (!(REG_READ(ah, AR_PHY_TIMING4) & AR_PHY_TIMING4_DO_CAL)) {
|
if (REG_READ(ah, AR_PHY_TIMING4) & AR_PHY_TIMING4_DO_CAL)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Accumulate cal measures for active chains
|
||||||
|
*/
|
||||||
|
cur_caldata->calCollect(ah);
|
||||||
|
ah->cal_samples++;
|
||||||
|
|
||||||
|
if (ah->cal_samples >= cur_caldata->calNumSamples) {
|
||||||
|
unsigned int i, numChains = 0;
|
||||||
|
for (i = 0; i < AR9300_MAX_CHAINS; i++) {
|
||||||
|
if (rxchainmask & (1 << i))
|
||||||
|
numChains++;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Accumulate cal measures for active chains
|
* Process accumulated data
|
||||||
*/
|
*/
|
||||||
currCal->calData->calCollect(ah);
|
cur_caldata->calPostProc(ah, numChains);
|
||||||
ah->cal_samples++;
|
|
||||||
|
|
||||||
if (ah->cal_samples >=
|
/* Calibration has finished. */
|
||||||
currCal->calData->calNumSamples) {
|
caldata->CalValid |= cur_caldata->calType;
|
||||||
unsigned int i, numChains = 0;
|
currCal->calState = CAL_DONE;
|
||||||
for (i = 0; i < AR9300_MAX_CHAINS; i++) {
|
return true;
|
||||||
if (rxchainmask & (1 << i))
|
} else {
|
||||||
numChains++;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Process accumulated data
|
|
||||||
*/
|
|
||||||
currCal->calData->calPostProc(ah, numChains);
|
|
||||||
|
|
||||||
/* Calibration has finished. */
|
|
||||||
caldata->CalValid |= currCal->calData->calType;
|
|
||||||
currCal->calState = CAL_DONE;
|
|
||||||
iscaldone = true;
|
|
||||||
} else {
|
|
||||||
/*
|
/*
|
||||||
* Set-up collection of another sub-sample until we
|
* Set-up collection of another sub-sample until we
|
||||||
* get desired number
|
* get desired number
|
||||||
*/
|
*/
|
||||||
ar9003_hw_setup_calibration(ah, currCal);
|
ar9003_hw_setup_calibration(ah, currCal);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
} else if (!(caldata->CalValid & currCal->calData->calType)) {
|
} else if (!(caldata->CalValid & cur_caldata->calType)) {
|
||||||
/* If current cal is marked invalid in channel, kick it off */
|
/* If current cal is marked invalid in channel, kick it off */
|
||||||
ath9k_hw_reset_calibration(ah, currCal);
|
ath9k_hw_reset_calibration(ah, currCal);
|
||||||
}
|
}
|
||||||
|
|
||||||
return iscaldone;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int ar9003_hw_calibrate(struct ath_hw *ah, struct ath9k_channel *chan,
|
static int ar9003_hw_calibrate(struct ath_hw *ah, struct ath9k_channel *chan,
|
||||||
|
Reference in New Issue
Block a user