* [PATCH 1/3] ath9k_hw: Enable calibration types in init_cal_settings @ 2013-01-03 6:51 Sujith Manoharan 2013-01-03 6:51 ` [PATCH 2/3] ath9k_hw: Fix calibration for AR9340 Sujith Manoharan 2013-01-03 6:51 ` [PATCH 3/3] ath9k_hw: Remove TEMP_COMP_CAL Sujith Manoharan 0 siblings, 2 replies; 5+ messages in thread From: Sujith Manoharan @ 2013-01-03 6:51 UTC (permalink / raw) To: John Linville; +Cc: linux-wireless From: Sujith Manoharan <c_manoha@qca.qualcomm.com> Doing this in ath9k_hw_fill_cap_info() is odd and it's cleaner to do this in the init function for calibration. Also, setup the supported calibration type in init_cal_settings. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> --- drivers/net/wireless/ath/ath9k/ar9003_calib.c | 17 +++++++++++------ drivers/net/wireless/ath/ath9k/hw.c | 7 ------- 2 files changed, 11 insertions(+), 13 deletions(-) diff --git a/drivers/net/wireless/ath/ath9k/ar9003_calib.c b/drivers/net/wireless/ath/ath9k/ar9003_calib.c index 8b0d8dc..598b847 100644 --- a/drivers/net/wireless/ath/ath9k/ar9003_calib.c +++ b/drivers/net/wireless/ath/ath9k/ar9003_calib.c @@ -323,6 +323,14 @@ static const struct ath9k_percal_data iq_cal_single_sample = { static void ar9003_hw_init_cal_settings(struct ath_hw *ah) { ah->iq_caldata.calData = &iq_cal_single_sample; + + if (AR_SREV_9300_20_OR_LATER(ah)) { + ah->enabled_cals |= TX_IQ_CAL; + if (AR_SREV_9485_OR_LATER(ah)) + ah->enabled_cals |= TX_IQ_ON_AGC_CAL; + } + + ah->supp_cals = IQ_MISMATCH_CAL; } /* @@ -1131,13 +1139,10 @@ skip_tx_iqcal: /* Initialize list pointers */ ah->cal_list = ah->cal_list_last = ah->cal_list_curr = NULL; - ah->supp_cals = IQ_MISMATCH_CAL; - if (ah->supp_cals & IQ_MISMATCH_CAL) { - INIT_CAL(&ah->iq_caldata); - INSERT_CAL(ah, &ah->iq_caldata); - ath_dbg(common, CALIBRATE, "enabling IQ Calibration\n"); - } + INIT_CAL(&ah->iq_caldata); + INSERT_CAL(ah, &ah->iq_caldata); + ath_dbg(common, CALIBRATE, "enabling IQ Calibration\n"); if (ah->supp_cals & TEMP_COMP_CAL) { INIT_CAL(&ah->tempCompCalData); diff --git a/drivers/net/wireless/ath/ath9k/hw.c b/drivers/net/wireless/ath/ath9k/hw.c index 7cb7870..5d73e92 100644 --- a/drivers/net/wireless/ath/ath9k/hw.c +++ b/drivers/net/wireless/ath/ath9k/hw.c @@ -2576,12 +2576,6 @@ int ath9k_hw_fill_cap_info(struct ath_hw *ah) rx_chainmask >>= 1; } - if (AR_SREV_9300_20_OR_LATER(ah)) { - ah->enabled_cals |= TX_IQ_CAL; - if (AR_SREV_9485_OR_LATER(ah)) - ah->enabled_cals |= TX_IQ_ON_AGC_CAL; - } - if (AR_SREV_9462(ah) || AR_SREV_9565(ah)) { if (!(ah->ent_mode & AR_ENT_OTP_49GHZ_DISABLE)) pCap->hw_caps |= ATH9K_HW_CAP_MCI; @@ -2590,7 +2584,6 @@ int ath9k_hw_fill_cap_info(struct ath_hw *ah) pCap->hw_caps |= ATH9K_HW_CAP_RTT; } - if (AR_SREV_9280_20_OR_LATER(ah)) { pCap->hw_caps |= ATH9K_HW_WOW_DEVICE_CAPABLE | ATH9K_HW_WOW_PATTERN_MATCH_EXACT; -- 1.8.1 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 2/3] ath9k_hw: Fix calibration for AR9340 2013-01-03 6:51 [PATCH 1/3] ath9k_hw: Enable calibration types in init_cal_settings Sujith Manoharan @ 2013-01-03 6:51 ` Sujith Manoharan 2013-01-03 8:18 ` Schrober 2013-01-03 6:51 ` [PATCH 3/3] ath9k_hw: Remove TEMP_COMP_CAL Sujith Manoharan 1 sibling, 1 reply; 5+ messages in thread From: Sujith Manoharan @ 2013-01-03 6:51 UTC (permalink / raw) To: John Linville; +Cc: linux-wireless From: Sujith Manoharan <c_manoha@qca.qualcomm.com> TX_IQ_ON_AGC_CAL should not be enabled for AR9340. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> --- drivers/net/wireless/ath/ath9k/ar9003_calib.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/wireless/ath/ath9k/ar9003_calib.c b/drivers/net/wireless/ath/ath9k/ar9003_calib.c index 598b847..303e40d 100644 --- a/drivers/net/wireless/ath/ath9k/ar9003_calib.c +++ b/drivers/net/wireless/ath/ath9k/ar9003_calib.c @@ -326,7 +326,7 @@ static void ar9003_hw_init_cal_settings(struct ath_hw *ah) if (AR_SREV_9300_20_OR_LATER(ah)) { ah->enabled_cals |= TX_IQ_CAL; - if (AR_SREV_9485_OR_LATER(ah)) + if (AR_SREV_9485_OR_LATER(ah) && !AR_SREV_9340(ah)) ah->enabled_cals |= TX_IQ_ON_AGC_CAL; } -- 1.8.1 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH 2/3] ath9k_hw: Fix calibration for AR9340 2013-01-03 6:51 ` [PATCH 2/3] ath9k_hw: Fix calibration for AR9340 Sujith Manoharan @ 2013-01-03 8:18 ` Schrober 2013-01-03 9:25 ` Sujith Manoharan 0 siblings, 1 reply; 5+ messages in thread From: Schrober @ 2013-01-03 8:18 UTC (permalink / raw) To: Sujith Manoharan; +Cc: John Linville, linux-wireless On Thursday 03 January 2013 12:21:22 Sujith Manoharan wrote: > From: Sujith Manoharan <c_manoha@qca.qualcomm.com> > > TX_IQ_ON_AGC_CAL should not be enabled for AR9340. Why? -- Franz Schrober ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 2/3] ath9k_hw: Fix calibration for AR9340 2013-01-03 8:18 ` Schrober @ 2013-01-03 9:25 ` Sujith Manoharan 0 siblings, 0 replies; 5+ messages in thread From: Sujith Manoharan @ 2013-01-03 9:25 UTC (permalink / raw) To: Schrober; +Cc: John Linville, linux-wireless Schrober wrote: > On Thursday 03 January 2013 12:21:22 Sujith Manoharan wrote: > > From: Sujith Manoharan <c_manoha@qca.qualcomm.com> > > > > TX_IQ_ON_AGC_CAL should not be enabled for AR9340. > > Why? Because the chip doesn't support it. Sujith ^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH 3/3] ath9k_hw: Remove TEMP_COMP_CAL 2013-01-03 6:51 [PATCH 1/3] ath9k_hw: Enable calibration types in init_cal_settings Sujith Manoharan 2013-01-03 6:51 ` [PATCH 2/3] ath9k_hw: Fix calibration for AR9340 Sujith Manoharan @ 2013-01-03 6:51 ` Sujith Manoharan 1 sibling, 0 replies; 5+ messages in thread From: Sujith Manoharan @ 2013-01-03 6:51 UTC (permalink / raw) To: John Linville; +Cc: linux-wireless From: Sujith Manoharan <c_manoha@qca.qualcomm.com> This is not enabled for any chip and is unused. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> --- drivers/net/wireless/ath/ath9k/ar9003_calib.c | 20 +++----------------- drivers/net/wireless/ath/ath9k/hw.h | 1 - 2 files changed, 3 insertions(+), 18 deletions(-) diff --git a/drivers/net/wireless/ath/ath9k/ar9003_calib.c b/drivers/net/wireless/ath/ath9k/ar9003_calib.c index 303e40d..fa67e84 100644 --- a/drivers/net/wireless/ath/ath9k/ar9003_calib.c +++ b/drivers/net/wireless/ath/ath9k/ar9003_calib.c @@ -32,7 +32,6 @@ struct coeff { enum ar9003_cal_types { IQ_MISMATCH_CAL = BIT(0), - TEMP_COMP_CAL = BIT(1), }; static void ar9003_hw_setup_calibration(struct ath_hw *ah, @@ -49,7 +48,7 @@ static void ar9003_hw_setup_calibration(struct ath_hw *ah, */ REG_RMW_FIELD(ah, AR_PHY_TIMING4, AR_PHY_TIMING4_IQCAL_LOG_COUNT_MAX, - currCal->calData->calCountMax); + currCal->calData->calCountMax); REG_WRITE(ah, AR_PHY_CALMODE, AR_PHY_CALMODE_IQ); ath_dbg(common, CALIBRATE, @@ -58,14 +57,8 @@ static void ar9003_hw_setup_calibration(struct ath_hw *ah, /* Kick-off cal */ REG_SET_BIT(ah, AR_PHY_TIMING4, AR_PHY_TIMING4_DO_CAL); break; - case TEMP_COMP_CAL: - REG_RMW_FIELD(ah, AR_PHY_65NM_CH0_THERM, - AR_PHY_65NM_CH0_THERM_LOCAL, 1); - REG_RMW_FIELD(ah, AR_PHY_65NM_CH0_THERM, - AR_PHY_65NM_CH0_THERM_START, 1); - - ath_dbg(common, CALIBRATE, - "starting Temperature Compensation Calibration\n"); + default: + ath_err(common, "Invalid calibration type\n"); break; } } @@ -1144,13 +1137,6 @@ skip_tx_iqcal: INSERT_CAL(ah, &ah->iq_caldata); ath_dbg(common, CALIBRATE, "enabling IQ Calibration\n"); - if (ah->supp_cals & TEMP_COMP_CAL) { - INIT_CAL(&ah->tempCompCalData); - INSERT_CAL(ah, &ah->tempCompCalData); - ath_dbg(common, CALIBRATE, - "enabling Temperature Compensation Calibration\n"); - } - /* Initialize current pointer to first element in list */ ah->cal_list_curr = ah->cal_list; diff --git a/drivers/net/wireless/ath/ath9k/hw.h b/drivers/net/wireless/ath/ath9k/hw.h index 7f1a8e9..809599c 100644 --- a/drivers/net/wireless/ath/ath9k/hw.h +++ b/drivers/net/wireless/ath/ath9k/hw.h @@ -771,7 +771,6 @@ struct ath_hw { struct ath9k_cal_list iq_caldata; struct ath9k_cal_list adcgain_caldata; struct ath9k_cal_list adcdc_caldata; - struct ath9k_cal_list tempCompCalData; struct ath9k_cal_list *cal_list; struct ath9k_cal_list *cal_list_last; struct ath9k_cal_list *cal_list_curr; -- 1.8.1 ^ permalink raw reply related [flat|nested] 5+ messages in thread
end of thread, other threads:[~2013-01-03 9:26 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2013-01-03 6:51 [PATCH 1/3] ath9k_hw: Enable calibration types in init_cal_settings Sujith Manoharan 2013-01-03 6:51 ` [PATCH 2/3] ath9k_hw: Fix calibration for AR9340 Sujith Manoharan 2013-01-03 8:18 ` Schrober 2013-01-03 9:25 ` Sujith Manoharan 2013-01-03 6:51 ` [PATCH 3/3] ath9k_hw: Remove TEMP_COMP_CAL Sujith Manoharan
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox