2012-03-08 10:08:57

by Mohammed Shafi Shajakhan

[permalink] [raw]
Subject: [RFC 1/1] ath9k_hw: Fix enabling of MCI and RTT

From: Mohammed Shafi Shajakhan <[email protected]>

Signed-off-by: Mohammed Shafi Shajakhan <[email protected]>
---
drivers/net/wireless/ath/ath9k/hw.c | 11 +++++++++--
drivers/net/wireless/ath/ath9k/reg.h | 1 +
2 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/drivers/net/wireless/ath/ath9k/hw.c b/drivers/net/wireless/ath/ath9k/hw.c
index d582cf7..e3598c5 100644
--- a/drivers/net/wireless/ath/ath9k/hw.c
+++ b/drivers/net/wireless/ath/ath9k/hw.c
@@ -2390,8 +2390,15 @@ int ath9k_hw_fill_cap_info(struct ath_hw *ah)
if (AR_SREV_9485_OR_LATER(ah))
ah->enabled_cals |= TX_IQ_ON_AGC_CAL;
}
- if (AR_SREV_9462(ah))
- pCap->hw_caps |= ATH9K_HW_CAP_RTT | ATH9K_HW_CAP_MCI;
+
+ if (AR_SREV_9462(ah)) {
+ ah->ent_mode = REG_READ(ah, AR_ENT_OTP);
+ if (!(ah->ent_mode & AR_ENT_OTP_49GHZ_DISABLE))
+ pCap->hw_caps |= ATH9K_HW_CAP_MCI;
+ }
+
+ if (AR_SREV_9462_20(ah))
+ pCap->hw_caps |= ATH9K_HW_CAP_RTT;

return 0;
}
diff --git a/drivers/net/wireless/ath/ath9k/reg.h b/drivers/net/wireless/ath/ath9k/reg.h
index 80b1856..458f81b 100644
--- a/drivers/net/wireless/ath/ath9k/reg.h
+++ b/drivers/net/wireless/ath/ath9k/reg.h
@@ -1151,6 +1151,7 @@ enum {
#define AR_INTR_PRIO_ASYNC_ENABLE (AR_SREV_9340(ah) ? 0x4094 : 0x40d4)
#define AR_ENT_OTP 0x40d8
#define AR_ENT_OTP_CHAIN2_DISABLE 0x00020000
+#define AR_ENT_OTP_49GHZ_DISABLE 0x00100000
#define AR_ENT_OTP_MIN_PKT_SIZE_DISABLE 0x00800000

#define AR_CH0_BB_DPLL1 0x16180
--
1.7.0.4



2012-03-08 12:41:22

by Sujith Manoharan

[permalink] [raw]
Subject: [ath9k-devel] [RFC 1/1] ath9k_hw: Fix enabling of MCI and RTT

Mohammed Shafi Shajakhan wrote:
> +
> + if (AR_SREV_9462(ah)) {
> + ah->ent_mode = REG_READ(ah, AR_ENT_OTP);
> + if (!(ah->ent_mode & AR_ENT_OTP_49GHZ_DISABLE))
> + pCap->hw_caps |= ATH9K_HW_CAP_MCI;
> + }
> +
> + if (AR_SREV_9462_20(ah))
> + pCap->hw_caps |= ATH9K_HW_CAP_RTT;

ah->ent_mode is already being updated earlier in ath9k_hw_fill_cap_info(),
so there is no need to read AR_ENT_OTP again.

Sujith

2012-03-08 12:51:46

by Mohammed Shafi Shajakhan

[permalink] [raw]
Subject: Re: [ath9k-devel] [RFC 1/1] ath9k_hw: Fix enabling of MCI and RTT

Hi Sujith,

On Thursday 08 March 2012 06:10 PM, Sujith Manoharan wrote:
> Mohammed Shafi Shajakhan wrote:
>> +
>> + if (AR_SREV_9462(ah)) {
>> + ah->ent_mode = REG_READ(ah, AR_ENT_OTP);
>> + if (!(ah->ent_mode& AR_ENT_OTP_49GHZ_DISABLE))
>> + pCap->hw_caps |= ATH9K_HW_CAP_MCI;
>> + }
>> +
>> + if (AR_SREV_9462_20(ah))
>> + pCap->hw_caps |= ATH9K_HW_CAP_RTT;
>
> ah->ent_mode is already being updated earlier in ath9k_hw_fill_cap_info(),
> so there is no need to read AR_ENT_OTP again.

did notice the check AR9300_20_LATER :). just thought if we change
something and 'ent_mode' holds some other value. anyway will just leave
the check.

>
> Sujith


--
thanks,
shafi