2011-09-28 15:24:04

by Mohammed Shafi Shajakhan

[permalink] [raw]
Subject: [RFC] ath9k_hw: set is_pciexpress true for AR9480

From: Mohammed Shafi Shajakhan <[email protected]>

the AR_SREV register does not seems to indicate it properly though the
other information like macVersion etc can be obtained properly

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

diff --git a/drivers/net/wireless/ath/ath9k/hw.c b/drivers/net/wireless/ath/ath9k/hw.c
index f2de7ee..56ba6a8 100644
--- a/drivers/net/wireless/ath/ath9k/hw.c
+++ b/drivers/net/wireless/ath/ath9k/hw.c
@@ -284,7 +284,12 @@ static void ath9k_hw_read_revisions(struct ath_hw *ah)
ah->hw_version.macVersion =
(val & AR_SREV_VERSION2) >> AR_SREV_TYPE2_S;
ah->hw_version.macRev = MS(val, AR_SREV_REVISION2);
- ah->is_pciexpress = (val & AR_SREV_TYPE2_HOST_MODE) ? 0 : 1;
+
+ if (AR_SREV_9480(ah))
+ ah->is_pciexpress = true;
+ else
+ ah->is_pciexpress = (val &
+ AR_SREV_TYPE2_HOST_MODE) ? 0 : 1;
} else {
if (!AR_SREV_9100(ah))
ah->hw_version.macVersion = MS(val, AR_SREV_VERSION);
--
1.7.0.4



2011-09-28 23:23:39

by Felix Fietkau

[permalink] [raw]
Subject: Re: [RFC] ath9k_hw: set is_pciexpress true for AR9480

On 2011-09-28 2:07 PM, Mohammed Shafi Shajakhan wrote:
> From: Mohammed Shafi Shajakhan<[email protected]>
>
> the AR_SREV register does not seems to indicate it properly though the
> other information like macVersion etc can be obtained properly
How about using AR_SREV_9300_20_OR_LATER(ah) instead to make sure that
this works properly for future chips as well?

- Felix

2011-09-29 05:17:49

by Mohammed Shafi Shajakhan

[permalink] [raw]
Subject: Re: [RFC] ath9k_hw: set is_pciexpress true for AR9480

Hi Felix,

On Thursday 29 September 2011 04:53 AM, Felix Fietkau wrote:
> On 2011-09-28 2:07 PM, Mohammed Shafi Shajakhan wrote:
>> From: Mohammed Shafi Shajakhan<[email protected]>
>>
>> the AR_SREV register does not seems to indicate it properly though the
>> other information like macVersion etc can be obtained properly
> How about using AR_SREV_9300_20_OR_LATER(ah) instead to make sure that
> this works properly for future chips as well?

this seems to be a problem specifically for AR9480 and this problem does
not seems to be observed in AR9485. but its needed as if is_pciexpress
is false ASPM won't be initialized

>
> - Felix