2011-08-03 08:16:21

by Marek Lindner

[permalink] [raw]
Subject: [PATCH] ath9k: remove eeprom txgain override for minor version < 19

ath9k_hw_4k_get_eeprom() overrides the eeprom value for txgain if the
minor version is not 19 or above with a value of 0.
ar9002_hw_init_mode_gain_regs() relies on this information to
determine whether this is a high power wifi card or not. The override
caused the driver to always use the 'normal' power tables even for
high power devices if their minor version was not high enough. Thus
leading to reduced power output.

Signed-off-by: Marek Lindner <[email protected]>
---
drivers/net/wireless/ath/ath9k/eeprom_4k.c | 5 +----
1 files changed, 1 insertions(+), 4 deletions(-)

diff --git a/drivers/net/wireless/ath/ath9k/eeprom_4k.c b/drivers/net/wireless/ath/ath9k/eeprom_4k.c
index 5b1e894..10f3072 100644
--- a/drivers/net/wireless/ath/ath9k/eeprom_4k.c
+++ b/drivers/net/wireless/ath/ath9k/eeprom_4k.c
@@ -237,10 +237,7 @@ static u32 ath9k_hw_4k_get_eeprom(struct ath_hw *ah,
case EEP_ANT_DIV_CTL1:
return pModal->antdiv_ctl1;
case EEP_TXGAIN_TYPE:
- if (ver_minor >= AR5416_EEP_MINOR_VER_19)
- return pBase->txGainType;
- else
- return AR5416_EEP_TXGAIN_ORIGINAL;
+ return pBase->txGainType;
default:
return 0;
}
--
1.7.5.3



2011-08-10 18:59:42

by Felix Fietkau

[permalink] [raw]
Subject: Re: [PATCHv2] ath9k: remove eeprom txgain override for minor version < 19

On 2011-08-10 11:58 AM, John W. Linville wrote:
> On Wed, Aug 03, 2011 at 04:35:16PM +0200, Marek Lindner wrote:
>> ath9k_hw_4k_get_eeprom() overrides the eeprom value for txgain if the
>> minor version is not 19 or above with a value of 0.
>> ar9002_hw_init_mode_gain_regs() relies on this information to
>> determine whether this is a high power wifi card or not. The override
>> caused the driver to always use the 'normal' power tables even for
>> high power devices if their minor version was not high enough. Thus
>> leading to reduced power output.
>>
>> This isn't needed for the AR9285; the check originated with the
>> AR9280 setup code which requires the EEPROM version check.
>>
>> Signed-off-by: Marek Lindner<[email protected]>
>> ---
>> drivers/net/wireless/ath/ath9k/eeprom_4k.c | 5 +----
>> 1 files changed, 1 insertions(+), 4 deletions(-)
>>
>> diff --git a/drivers/net/wireless/ath/ath9k/eeprom_4k.c b/drivers/net/wireless/ath/ath9k/eeprom_4k.c
>> index 5b1e894..10f3072 100644
>> --- a/drivers/net/wireless/ath/ath9k/eeprom_4k.c
>> +++ b/drivers/net/wireless/ath/ath9k/eeprom_4k.c
>> @@ -237,10 +237,7 @@ static u32 ath9k_hw_4k_get_eeprom(struct ath_hw *ah,
>> case EEP_ANT_DIV_CTL1:
>> return pModal->antdiv_ctl1;
>> case EEP_TXGAIN_TYPE:
>> - if (ver_minor>= AR5416_EEP_MINOR_VER_19)
>> - return pBase->txGainType;
>> - else
>> - return AR5416_EEP_TXGAIN_ORIGINAL;
>> + return pBase->txGainType;
>> default:
>> return 0;
>> }
>
> Any chance for an ACK from someone from Atheros on the ath9k team?
Acked-by: Felix Fietkau <[email protected]>

2011-08-03 14:35:26

by Marek Lindner

[permalink] [raw]
Subject: [PATCHv2] ath9k: remove eeprom txgain override for minor version < 19

ath9k_hw_4k_get_eeprom() overrides the eeprom value for txgain if the
minor version is not 19 or above with a value of 0.
ar9002_hw_init_mode_gain_regs() relies on this information to
determine whether this is a high power wifi card or not. The override
caused the driver to always use the 'normal' power tables even for
high power devices if their minor version was not high enough. Thus
leading to reduced power output.

This isn't needed for the AR9285; the check originated with the
AR9280 setup code which requires the EEPROM version check.

Signed-off-by: Marek Lindner <[email protected]>
---
drivers/net/wireless/ath/ath9k/eeprom_4k.c | 5 +----
1 files changed, 1 insertions(+), 4 deletions(-)

diff --git a/drivers/net/wireless/ath/ath9k/eeprom_4k.c b/drivers/net/wireless/ath/ath9k/eeprom_4k.c
index 5b1e894..10f3072 100644
--- a/drivers/net/wireless/ath/ath9k/eeprom_4k.c
+++ b/drivers/net/wireless/ath/ath9k/eeprom_4k.c
@@ -237,10 +237,7 @@ static u32 ath9k_hw_4k_get_eeprom(struct ath_hw *ah,
case EEP_ANT_DIV_CTL1:
return pModal->antdiv_ctl1;
case EEP_TXGAIN_TYPE:
- if (ver_minor >= AR5416_EEP_MINOR_VER_19)
- return pBase->txGainType;
- else
- return AR5416_EEP_TXGAIN_ORIGINAL;
+ return pBase->txGainType;
default:
return 0;
}
--
1.7.5.3


2011-08-10 18:00:16

by John W. Linville

[permalink] [raw]
Subject: Re: [PATCHv2] ath9k: remove eeprom txgain override for minor version < 19

On Wed, Aug 03, 2011 at 04:35:16PM +0200, Marek Lindner wrote:
> ath9k_hw_4k_get_eeprom() overrides the eeprom value for txgain if the
> minor version is not 19 or above with a value of 0.
> ar9002_hw_init_mode_gain_regs() relies on this information to
> determine whether this is a high power wifi card or not. The override
> caused the driver to always use the 'normal' power tables even for
> high power devices if their minor version was not high enough. Thus
> leading to reduced power output.
>
> This isn't needed for the AR9285; the check originated with the
> AR9280 setup code which requires the EEPROM version check.
>
> Signed-off-by: Marek Lindner <[email protected]>
> ---
> drivers/net/wireless/ath/ath9k/eeprom_4k.c | 5 +----
> 1 files changed, 1 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/net/wireless/ath/ath9k/eeprom_4k.c b/drivers/net/wireless/ath/ath9k/eeprom_4k.c
> index 5b1e894..10f3072 100644
> --- a/drivers/net/wireless/ath/ath9k/eeprom_4k.c
> +++ b/drivers/net/wireless/ath/ath9k/eeprom_4k.c
> @@ -237,10 +237,7 @@ static u32 ath9k_hw_4k_get_eeprom(struct ath_hw *ah,
> case EEP_ANT_DIV_CTL1:
> return pModal->antdiv_ctl1;
> case EEP_TXGAIN_TYPE:
> - if (ver_minor >= AR5416_EEP_MINOR_VER_19)
> - return pBase->txGainType;
> - else
> - return AR5416_EEP_TXGAIN_ORIGINAL;
> + return pBase->txGainType;
> default:
> return 0;
> }

Any chance for an ACK from someone from Atheros on the ath9k team?

John
--
John W. Linville Someday the world will need a hero, and you
[email protected] might be all we have. Be ready.

2011-08-03 09:00:40

by Adrian Chadd

[permalink] [raw]
Subject: Re: [PATCH] ath9k: remove eeprom txgain override for minor version < 19

Hi,

I'd rather the description included why it needs changing, rather than
just what it does.

I'd add something like:

"This isn't needed for the AR9285; the check originated with the
AR9280 setup code which requires the EEPROM version check."


adrian

On 3 August 2011 16:16, Marek Lindner <[email protected]> wrote:
> ath9k_hw_4k_get_eeprom() overrides the eeprom value for txgain if the
> minor version is not 19 or above with a value of 0.
> ar9002_hw_init_mode_gain_regs() relies on this information to
> determine whether this is a high power wifi card or not. The override
> caused the driver to always use the 'normal' power tables even for
> high power devices if their minor version was not high enough. Thus
> leading to reduced power output.
>
> Signed-off-by: Marek Lindner <[email protected]>
> ---
> ?drivers/net/wireless/ath/ath9k/eeprom_4k.c | ? ?5 +----
> ?1 files changed, 1 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/net/wireless/ath/ath9k/eeprom_4k.c b/drivers/net/wireless/ath/ath9k/eeprom_4k.c
> index 5b1e894..10f3072 100644
> --- a/drivers/net/wireless/ath/ath9k/eeprom_4k.c
> +++ b/drivers/net/wireless/ath/ath9k/eeprom_4k.c
> @@ -237,10 +237,7 @@ static u32 ath9k_hw_4k_get_eeprom(struct ath_hw *ah,
> ? ? ? ?case EEP_ANT_DIV_CTL1:
> ? ? ? ? ? ? ? ?return pModal->antdiv_ctl1;
> ? ? ? ?case EEP_TXGAIN_TYPE:
> - ? ? ? ? ? ? ? if (ver_minor >= AR5416_EEP_MINOR_VER_19)
> - ? ? ? ? ? ? ? ? ? ? ? return pBase->txGainType;
> - ? ? ? ? ? ? ? else
> - ? ? ? ? ? ? ? ? ? ? ? return AR5416_EEP_TXGAIN_ORIGINAL;
> + ? ? ? ? ? ? ? return pBase->txGainType;
> ? ? ? ?default:
> ? ? ? ? ? ? ? ?return 0;
> ? ? ? ?}
> --
> 1.7.5.3
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
> the body of a message to [email protected]
> More majordomo info at ?http://vger.kernel.org/majordomo-info.html
>

2011-08-11 01:11:45

by Adrian Chadd

[permalink] [raw]
Subject: Re: [PATCHv2] ath9k: remove eeprom txgain override for minor version < 19

On 11 August 2011 01:58, John W. Linville <[email protected]> wrote:

> Any chance for an ACK from someone from Atheros on the ath9k team?

I'm not from Atheros, but I've also checked to make sure this works:

Acked-by: Adrian Chadd <[email protected]>