mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-23 15:32:33 +00:00
207338c78e
Signed-off-by: Felix Fietkau <nbd@nbd.name>
95 lines
2.6 KiB
Diff
95 lines
2.6 KiB
Diff
From: Felix Fietkau <nbd@nbd.name>
|
|
Date: Mon, 11 Jul 2016 11:35:20 +0200
|
|
Subject: [PATCH] ath9k_hw: get rid of some duplicate code in calibration
|
|
init
|
|
|
|
Remove a misleading debug message as well
|
|
|
|
Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|
---
|
|
|
|
--- a/drivers/net/wireless/ath/ath9k/ar9003_calib.c
|
|
+++ b/drivers/net/wireless/ath/ath9k/ar9003_calib.c
|
|
@@ -1373,6 +1373,26 @@ static void ar9003_hw_cl_cal_post_proc(s
|
|
}
|
|
}
|
|
|
|
+static void ar9003_hw_init_cal_common(struct ath_hw *ah)
|
|
+{
|
|
+ struct ath9k_hw_cal_data *caldata = ah->caldata;
|
|
+
|
|
+ /* Initialize list pointers */
|
|
+ ah->cal_list = ah->cal_list_last = ah->cal_list_curr = NULL;
|
|
+
|
|
+ INIT_CAL(&ah->iq_caldata);
|
|
+ INSERT_CAL(ah, &ah->iq_caldata);
|
|
+
|
|
+ /* Initialize current pointer to first element in list */
|
|
+ ah->cal_list_curr = ah->cal_list;
|
|
+
|
|
+ if (ah->cal_list_curr)
|
|
+ ath9k_hw_reset_calibration(ah, ah->cal_list_curr);
|
|
+
|
|
+ if (caldata)
|
|
+ caldata->CalValid = 0;
|
|
+}
|
|
+
|
|
static bool ar9003_hw_init_cal_pcoem(struct ath_hw *ah,
|
|
struct ath9k_channel *chan)
|
|
{
|
|
@@ -1532,21 +1552,7 @@ skip_tx_iqcal:
|
|
/* Revert chainmask to runtime parameters */
|
|
ar9003_hw_set_chain_masks(ah, ah->rxchainmask, ah->txchainmask);
|
|
|
|
- /* Initialize list pointers */
|
|
- ah->cal_list = ah->cal_list_last = ah->cal_list_curr = NULL;
|
|
-
|
|
- INIT_CAL(&ah->iq_caldata);
|
|
- INSERT_CAL(ah, &ah->iq_caldata);
|
|
- ath_dbg(common, CALIBRATE, "enabling IQ Calibration\n");
|
|
-
|
|
- /* Initialize current pointer to first element in list */
|
|
- ah->cal_list_curr = ah->cal_list;
|
|
-
|
|
- if (ah->cal_list_curr)
|
|
- ath9k_hw_reset_calibration(ah, ah->cal_list_curr);
|
|
-
|
|
- if (caldata)
|
|
- caldata->CalValid = 0;
|
|
+ ar9003_hw_init_cal_common(ah);
|
|
|
|
return true;
|
|
}
|
|
@@ -1577,8 +1583,6 @@ static bool do_ar9003_agc_cal(struct ath
|
|
static bool ar9003_hw_init_cal_soc(struct ath_hw *ah,
|
|
struct ath9k_channel *chan)
|
|
{
|
|
- struct ath_common *common = ath9k_hw_common(ah);
|
|
- struct ath9k_hw_cal_data *caldata = ah->caldata;
|
|
bool txiqcal_done = false;
|
|
bool status = true;
|
|
bool run_agc_cal = false, sep_iq_cal = false;
|
|
@@ -1676,21 +1680,7 @@ skip_tx_iqcal:
|
|
/* Revert chainmask to runtime parameters */
|
|
ar9003_hw_set_chain_masks(ah, ah->rxchainmask, ah->txchainmask);
|
|
|
|
- /* Initialize list pointers */
|
|
- ah->cal_list = ah->cal_list_last = ah->cal_list_curr = NULL;
|
|
-
|
|
- INIT_CAL(&ah->iq_caldata);
|
|
- INSERT_CAL(ah, &ah->iq_caldata);
|
|
- ath_dbg(common, CALIBRATE, "enabling IQ Calibration\n");
|
|
-
|
|
- /* Initialize current pointer to first element in list */
|
|
- ah->cal_list_curr = ah->cal_list;
|
|
-
|
|
- if (ah->cal_list_curr)
|
|
- ath9k_hw_reset_calibration(ah, ah->cal_list_curr);
|
|
-
|
|
- if (caldata)
|
|
- caldata->CalValid = 0;
|
|
+ ar9003_hw_init_cal_common(ah);
|
|
|
|
return true;
|
|
}
|