2015-10-26 09:22:08

by Manikanta

[permalink] [raw]
Subject: [PATCH] ath10k: update antenna configuration after setting in fw

From: Manikanta Pubbisetty <[email protected]>

Updating tx/rx antenna configuration in ath10k is done even before
it is set in target. If setting of the tx/rx antenna config fails then
we will maintain incorrect configuration in ath10k and APIs like
get_antenna will provide incorrect information.

This patch updates the antenna configuration in ath10k after it is set
successfully in target.

Signed-off-by: Manikanta Pubbisetty <[email protected]>
---
drivers/net/wireless/ath/ath10k/mac.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/net/wireless/ath/ath10k/mac.c b/drivers/net/wireless/ath/ath10k/mac.c
index 484c1a1..8d0ce37 100644
--- a/drivers/net/wireless/ath/ath10k/mac.c
+++ b/drivers/net/wireless/ath/ath10k/mac.c
@@ -3771,9 +3771,6 @@ static int __ath10k_set_antenna(struct ath10k *ar, u32 tx_ant, u32 rx_ant)
ath10k_check_chain_mask(ar, tx_ant, "tx");
ath10k_check_chain_mask(ar, rx_ant, "rx");

- ar->cfg_tx_chainmask = tx_ant;
- ar->cfg_rx_chainmask = rx_ant;
-
if ((ar->state != ATH10K_STATE_ON) &&
(ar->state != ATH10K_STATE_RESTARTED))
return 0;
@@ -3794,6 +3791,9 @@ static int __ath10k_set_antenna(struct ath10k *ar, u32 tx_ant, u32 rx_ant)
return ret;
}

+ ar->cfg_tx_chainmask = tx_ant;
+ ar->cfg_rx_chainmask = rx_ant;
+
return 0;
}

--
1.9.1



2015-10-26 10:11:37

by Manikanta

[permalink] [raw]
Subject: Re: [PATCH] ath10k: update antenna configuration after setting in fw


On Monday 26 October 2015 03:35 PM, Albino B Neto wrote:
> 2015-10-26 7:22 GMT-02:00 <[email protected]>:
>> Signed-off-by: Manikanta Pubbisetty <[email protected]>
>> ---
>> drivers/net/wireless/ath/ath10k/mac.c | 6 +++---
>> 1 file changed, 3 insertions(+), 3 deletions(-)
>>
>> diff --git a/drivers/net/wireless/ath/ath10k/mac.c b/drivers/net/wireless/ath/ath10k/mac.c
>> index 484c1a1..8d0ce37 100644
>> --- a/drivers/net/wireless/ath/ath10k/mac.c
>> +++ b/drivers/net/wireless/ath/ath10k/mac.c
>> @@ -3771,9 +3771,6 @@ static int __ath10k_set_antenna(struct ath10k *ar, u32 tx_ant, u32 rx_ant)
>> ath10k_check_chain_mask(ar, tx_ant, "tx");
>> ath10k_check_chain_mask(ar, rx_ant, "rx");
>>
>> - ar->cfg_tx_chainmask = tx_ant;
>> - ar->cfg_rx_chainmask = rx_ant;
>> -
>> if ((ar->state != ATH10K_STATE_ON) &&
>> (ar->state != ATH10K_STATE_RESTARTED))
>> return 0;
>> @@ -3794,6 +3791,9 @@ static int __ath10k_set_antenna(struct ath10k *ar, u32 tx_ant, u32 rx_ant)
>> return ret;
>> }
>>
>> + ar->cfg_tx_chainmask = tx_ant;
>> + ar->cfg_rx_chainmask = rx_ant;
>> +
>> return 0;
>> }
> Sorry, I see no change in the code. script checkpatch.pl ?
I have moved these two lines of code from the start of the function to
the end, in between there is code for setting the antenna config in
firmware. You can find in commit log why I have moved the code down in
the function.

-Manikanta


2015-10-26 10:26:11

by Albino B Neto

[permalink] [raw]
Subject: Re: [PATCH] ath10k: update antenna configuration after setting in fw

2015-10-26 7:22 GMT-02:00 <[email protected]>:
> Signed-off-by: Manikanta Pubbisetty <[email protected]>
> ---
> drivers/net/wireless/ath/ath10k/mac.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/net/wireless/ath/ath10k/mac.c b/drivers/net/wireless/ath/ath10k/mac.c
> index 484c1a1..8d0ce37 100644
> --- a/drivers/net/wireless/ath/ath10k/mac.c
> +++ b/drivers/net/wireless/ath/ath10k/mac.c
> @@ -3771,9 +3771,6 @@ static int __ath10k_set_antenna(struct ath10k *ar, u32 tx_ant, u32 rx_ant)
> ath10k_check_chain_mask(ar, tx_ant, "tx");
> ath10k_check_chain_mask(ar, rx_ant, "rx");
>
> - ar->cfg_tx_chainmask = tx_ant;
> - ar->cfg_rx_chainmask = rx_ant;
> -
> if ((ar->state != ATH10K_STATE_ON) &&
> (ar->state != ATH10K_STATE_RESTARTED))
> return 0;
> @@ -3794,6 +3791,9 @@ static int __ath10k_set_antenna(struct ath10k *ar, u32 tx_ant, u32 rx_ant)
> return ret;
> }
>
> + ar->cfg_tx_chainmask = tx_ant;
> + ar->cfg_rx_chainmask = rx_ant;
> +
> return 0;
> }

Sorry, I see no change in the code. script checkpatch.pl ?

Albino

2015-10-26 15:14:44

by Ben Greear

[permalink] [raw]
Subject: Re: [PATCH] ath10k: update antenna configuration after setting in fw



On 10/26/2015 03:11 AM, Manikanta wrote:
>
> On Monday 26 October 2015 03:35 PM, Albino B Neto wrote:
>> 2015-10-26 7:22 GMT-02:00 <[email protected]>:
>>> Signed-off-by: Manikanta Pubbisetty <[email protected]>
>>> ---
>>> drivers/net/wireless/ath/ath10k/mac.c | 6 +++---
>>> 1 file changed, 3 insertions(+), 3 deletions(-)
>>>
>>> diff --git a/drivers/net/wireless/ath/ath10k/mac.c b/drivers/net/wireless/ath/ath10k/mac.c
>>> index 484c1a1..8d0ce37 100644
>>> --- a/drivers/net/wireless/ath/ath10k/mac.c
>>> +++ b/drivers/net/wireless/ath/ath10k/mac.c
>>> @@ -3771,9 +3771,6 @@ static int __ath10k_set_antenna(struct ath10k *ar, u32 tx_ant, u32 rx_ant)
>>> ath10k_check_chain_mask(ar, tx_ant, "tx");
>>> ath10k_check_chain_mask(ar, rx_ant, "rx");
>>>
>>> - ar->cfg_tx_chainmask = tx_ant;
>>> - ar->cfg_rx_chainmask = rx_ant;
>>> -
>>> if ((ar->state != ATH10K_STATE_ON) &&
>>> (ar->state != ATH10K_STATE_RESTARTED))
>>> return 0;
>>> @@ -3794,6 +3791,9 @@ static int __ath10k_set_antenna(struct ath10k *ar, u32 tx_ant, u32 rx_ant)
>>> return ret;
>>> }
>>>
>>> + ar->cfg_tx_chainmask = tx_ant;
>>> + ar->cfg_rx_chainmask = rx_ant;
>>> +
>>> return 0;
>>> }
>> Sorry, I see no change in the code. script checkpatch.pl ?
> I have moved these two lines of code from the start of the function to the end, in between there is code for setting the antenna config in firmware. You can find in commit log why I have moved the code down in the function.

I think you should leave it as it was. That way, you can reliably set the mask
before the hardware is started, and as soon as it _is_ started, then the value is
flushed to the hardware as expected.

Thanks,
Ben


>
> -Manikanta
>
> --
> 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
>

--
Ben Greear <[email protected]>
Candela Technologies Inc http://www.candelatech.com