diff mbox

ath9k gpio request

Message ID 1464854569880.79341@qti.qualcomm.com (mailing list archive)
State Not Applicable
Delegated to: Kalle Valo
Headers show

Commit Message

miaoqing pan June 2, 2016, 8:02 a.m. UTC
Seems there are something wrong in the datasheet,  try

Regards
Sudip
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

Janusz.Dziedzic@tieto.com June 2, 2016, 9:01 a.m. UTC | #1
On 2 June 2016 at 10:02, Pan, Miaoqing <miaoqing@qti.qualcomm.com> wrote:
> Seems there are something wrong in the datasheet,  try
>
> --- a/drivers/net/wireless/ath/ath9k/reg.h
> +++ b/drivers/net/wireless/ath/ath9k/reg.h
> @@ -1122,8 +1122,8 @@ enum {
>  #define AR9300_NUM_GPIO                          16
>  #define AR9330_NUM_GPIO                                 16
>  #define AR9340_NUM_GPIO                                 23
> -#define AR9462_NUM_GPIO                                 10
> -#define AR9485_NUM_GPIO                                 12
> +#define AR9462_NUM_GPIO                                 14
> +#define AR9485_NUM_GPIO                                 11
>  #define AR9531_NUM_GPIO                                 18
>  #define AR9550_NUM_GPIO                                 24
>  #define AR9561_NUM_GPIO                                 23
> @@ -1139,8 +1139,8 @@ enum {
>  #define AR9300_GPIO_MASK                        0x0000F4FF
>  #define AR9330_GPIO_MASK                        0x0000F4FF
>  #define AR9340_GPIO_MASK                        0x0000000F
> -#define AR9462_GPIO_MASK                        0x000003FF
> -#define AR9485_GPIO_MASK                        0x00000FFF
> +#define AR9462_GPIO_MASK                        0x00003FFF
> +#define AR9485_GPIO_MASK                        0x000007FF
>  #define AR9531_GPIO_MASK                        0x0000000F
>  #define AR9550_GPIO_MASK                        0x0000000F
>  #define AR9561_GPIO_MASK                        0x0000000F
>

Thanks, changes in reg.h solve the problem (my card AR9462 rev 01).

BR
Janusz

> Thanks,
> Miaoqing
>
> ________________________________________
> From: Sudip Mukherjee <sudipm.mukherjee@gmail.com>
> Sent: Wednesday, June 1, 2016 8:18 PM
> To: Pan, Miaoqing; Kalle Valo
> Cc: Stephen Rothwell; ath9k-devel; linux-next@vger.kernel.org; linux-kernel@vger.kernel.org; linux-wireless@vger.kernel.org; ath9k-devel@lists.ath9k.org; netdev@vger.kernel.org; Miaoqing Pan
> Subject: Re: ath9k gpio request
>
> On Wednesday 01 June 2016 04:42 PM, Sudip Mukherjee wrote:
>> On Wednesday 01 June 2016 12:24 PM, Pan, Miaoqing wrote:
>>> which chip ?  And what's the GPIO number ?
>>
>> lspci -v reports:
>> 09:00.0 Network controller: Qualcomm Atheros AR9462 Wireless Network
>> Adapter (rev 01)
>>      Subsystem: Foxconn International, Inc. Device e052
>>      Flags: bus master, fast devsel, latency 0, IRQ 19
>>      Memory at c0500000 (64-bit, non-prefetchable) [size=512K]
>>      Expansion ROM at c0580000 [disabled] [size=64K]
>>      Capabilities: [40] Power Management version 2
>>      Capabilities: [50] MSI: Enable- Count=1/4 Maskable+ 64bit+
>>      Capabilities: [70] Express Endpoint, MSI 00
>>      Capabilities: [100] Advanced Error Reporting
>>      Capabilities: [140] Virtual Channel
>>      Capabilities: [160] Device Serial Number 00-00-00-00-00-00-00-00
>>      Kernel driver in use: ath9k
>>
>> Any easy way to find out the gpio number or i can modify the module to
>> find that out.
>
> Its trying for GPIO 11 with label ath9k-rfkill.
>
> The attached dmesg is with some modification as below.
>
> diff --git a/drivers/net/wireless/ath/ath9k/hw.c
> b/drivers/net/wireless/ath/ath9k/hw.c
> index 8b2895f9..23deea7 100644
> --- a/drivers/net/wireless/ath/ath9k/hw.c
> +++ b/drivers/net/wireless/ath/ath9k/hw.c
> @@ -2729,14 +2729,16 @@ static void ath9k_hw_gpio_cfg_wmac(struct ath_hw
> *ah, u32 gpio, bool out,
>   static void ath9k_hw_gpio_request(struct ath_hw *ah, u32 gpio, bool out,
>                                    const char *label, u32 ah_signal_type)
>   {
> -       WARN_ON(gpio >= ah->caps.num_gpio_pins);
> +//     WARN_ON(gpio >= ah->caps.num_gpio_pins);
> +
> +       pr_err("sudip: %d %s\n", gpio, label);
>
>          if (BIT(gpio) & ah->caps.gpio_mask)
>                  ath9k_hw_gpio_cfg_wmac(ah, gpio, out, ah_signal_type);
>          else if (AR_SREV_SOC(ah))
>                  ath9k_hw_gpio_cfg_soc(ah, gpio, out, label);
> -       else
> -               WARN_ON(1);
> +//     else
> +//             WARN_ON(1);
>   }
>
> Regards
> Sudip
> --
> To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Sudip Mukherjee June 2, 2016, 11:39 a.m. UTC | #2
On Thursday 02 June 2016 01:32 PM, Pan, Miaoqing wrote:
> Seems there are something wrong in the datasheet,  try
>
> --- a/drivers/net/wireless/ath/ath9k/reg.h
> +++ b/drivers/net/wireless/ath/ath9k/reg.h
> @@ -1122,8 +1122,8 @@ enum {
>   #define AR9300_NUM_GPIO                          16
>   #define AR9330_NUM_GPIO                                 16
>   #define AR9340_NUM_GPIO                                 23
> -#define AR9462_NUM_GPIO                                 10
> -#define AR9485_NUM_GPIO                                 12
> +#define AR9462_NUM_GPIO                                 14
> +#define AR9485_NUM_GPIO                                 11
>   #define AR9531_NUM_GPIO                                 18
>   #define AR9550_NUM_GPIO                                 24
>   #define AR9561_NUM_GPIO                                 23
> @@ -1139,8 +1139,8 @@ enum {
>   #define AR9300_GPIO_MASK                        0x0000F4FF
>   #define AR9330_GPIO_MASK                        0x0000F4FF
>   #define AR9340_GPIO_MASK                        0x0000000F
> -#define AR9462_GPIO_MASK                        0x000003FF
> -#define AR9485_GPIO_MASK                        0x00000FFF
> +#define AR9462_GPIO_MASK                        0x00003FFF
> +#define AR9485_GPIO_MASK                        0x000007FF
>   #define AR9531_GPIO_MASK                        0x0000000F
>   #define AR9550_GPIO_MASK                        0x0000000F
>   #define AR9561_GPIO_MASK                        0x0000000F

solves the problem.

Tested-by: Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>

Regards
Sudip
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Kalle Valo June 3, 2016, 5:33 a.m. UTC | #3
Sudip Mukherjee <sudipm.mukherjee@gmail.com> writes:

> On Thursday 02 June 2016 01:32 PM, Pan, Miaoqing wrote:
>> Seems there are something wrong in the datasheet,  try
>>
>> --- a/drivers/net/wireless/ath/ath9k/reg.h
>> +++ b/drivers/net/wireless/ath/ath9k/reg.h
>> @@ -1122,8 +1122,8 @@ enum {
>>   #define AR9300_NUM_GPIO                          16
>>   #define AR9330_NUM_GPIO                                 16
>>   #define AR9340_NUM_GPIO                                 23
>> -#define AR9462_NUM_GPIO                                 10
>> -#define AR9485_NUM_GPIO                                 12
>> +#define AR9462_NUM_GPIO                                 14
>> +#define AR9485_NUM_GPIO                                 11
>>   #define AR9531_NUM_GPIO                                 18
>>   #define AR9550_NUM_GPIO                                 24
>>   #define AR9561_NUM_GPIO                                 23
>> @@ -1139,8 +1139,8 @@ enum {
>>   #define AR9300_GPIO_MASK                        0x0000F4FF
>>   #define AR9330_GPIO_MASK                        0x0000F4FF
>>   #define AR9340_GPIO_MASK                        0x0000000F
>> -#define AR9462_GPIO_MASK                        0x000003FF
>> -#define AR9485_GPIO_MASK                        0x00000FFF
>> +#define AR9462_GPIO_MASK                        0x00003FFF
>> +#define AR9485_GPIO_MASK                        0x000007FF
>>   #define AR9531_GPIO_MASK                        0x0000000F
>>   #define AR9550_GPIO_MASK                        0x0000000F
>>   #define AR9561_GPIO_MASK                        0x0000000F
>
> solves the problem.
>
> Tested-by: Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>

Great, thanks for testing everyone. Miaoqing, please send a proper patch
ASAP and I'll push it to 4.7.
miaoqing pan June 3, 2016, 5:49 a.m. UTC | #4
Done, https://patchwork.kernel.org/patch/9151847/.

Thanks,
Miaoqing
Kalle Valo June 4, 2016, 2:37 p.m. UTC | #5
(Fixing top posting)

"Pan, Miaoqing" <miaoqing@qti.qualcomm.com> writes:

>>> --- a/drivers/net/wireless/ath/ath9k/reg.h
>>> +++ b/drivers/net/wireless/ath/ath9k/reg.h
>>> @@ -1122,8 +1122,8 @@ enum {
>>>   #define AR9300_NUM_GPIO                          16
>>>   #define AR9330_NUM_GPIO                                 16
>>>   #define AR9340_NUM_GPIO                                 23
>>> -#define AR9462_NUM_GPIO                                 10
>>> -#define AR9485_NUM_GPIO                                 12
>>> +#define AR9462_NUM_GPIO                                 14
>>> +#define AR9485_NUM_GPIO                                 11
>>>   #define AR9531_NUM_GPIO                                 18
>>>   #define AR9550_NUM_GPIO                                 24
>>>   #define AR9561_NUM_GPIO                                 23
>>> @@ -1139,8 +1139,8 @@ enum {
>>>   #define AR9300_GPIO_MASK                        0x0000F4FF
>>>   #define AR9330_GPIO_MASK                        0x0000F4FF
>>>   #define AR9340_GPIO_MASK                        0x0000000F
>>> -#define AR9462_GPIO_MASK                        0x000003FF
>>> -#define AR9485_GPIO_MASK                        0x00000FFF
>>> +#define AR9462_GPIO_MASK                        0x00003FFF
>>> +#define AR9485_GPIO_MASK                        0x000007FF
>>>   #define AR9531_GPIO_MASK                        0x0000000F
>>>   #define AR9550_GPIO_MASK                        0x0000000F
>>>   #define AR9561_GPIO_MASK                        0x0000000F
>>
>> solves the problem.
>>
>> Tested-by: Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
>
> Done, https://patchwork.kernel.org/patch/9151847/

But the patch 9151847 is different from what Sudip tested above? Why?

And if you modify something _after_ the reporter has tested the patch
clearly document what you changed and why. I do not want find hidden
changes like this, even more so when the patch is going to a 4.7-rc
release.

Sudip, could you also test patch 9151847, please? You can download the
patch from the patchwork link above.
Sudip Mukherjee June 5, 2016, 5:40 p.m. UTC | #6
On Saturday 04 June 2016 08:07 PM, Kalle Valo wrote:
> (Fixing top posting)
>
> "Pan, Miaoqing" <miaoqing@qti.qualcomm.com> writes:
>
>>>> --- a/drivers/net/wireless/ath/ath9k/reg.h
>>>> +++ b/drivers/net/wireless/ath/ath9k/reg.h
>>>> @@ -1122,8 +1122,8 @@ enum {
>>>>    #define AR9300_NUM_GPIO                          16
>>>>    #define AR9330_NUM_GPIO                                 16
>>>>    #define AR9340_NUM_GPIO                                 23
>>>> -#define AR9462_NUM_GPIO                                 10
>>>> -#define AR9485_NUM_GPIO                                 12
>>>> +#define AR9462_NUM_GPIO                                 14
>>>> +#define AR9485_NUM_GPIO                                 11
>>>>    #define AR9531_NUM_GPIO                                 18
>>>>    #define AR9550_NUM_GPIO                                 24
>>>>    #define AR9561_NUM_GPIO                                 23
>>>> @@ -1139,8 +1139,8 @@ enum {
>>>>    #define AR9300_GPIO_MASK                        0x0000F4FF
>>>>    #define AR9330_GPIO_MASK                        0x0000F4FF
>>>>    #define AR9340_GPIO_MASK                        0x0000000F
>>>> -#define AR9462_GPIO_MASK                        0x000003FF
>>>> -#define AR9485_GPIO_MASK                        0x00000FFF
>>>> +#define AR9462_GPIO_MASK                        0x00003FFF
>>>> +#define AR9485_GPIO_MASK                        0x000007FF
>>>>    #define AR9531_GPIO_MASK                        0x0000000F
>>>>    #define AR9550_GPIO_MASK                        0x0000000F
>>>>    #define AR9561_GPIO_MASK                        0x0000000F
>>>
>>> solves the problem.
>>>
>>> Tested-by: Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
>>
>> Done, https://patchwork.kernel.org/patch/9151847/
>
> But the patch 9151847 is different from what Sudip tested above? Why?
>
> And if you modify something _after_ the reporter has tested the patch
> clearly document what you changed and why. I do not want find hidden
> changes like this, even more so when the patch is going to a 4.7-rc
> release.
>
> Sudip, could you also test patch 9151847, please? You can download the
> patch from the patchwork link above.

This is also ok. Please add my
Tested-by: Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>

and maybe a Reported-by tag is also appropriate in this case.


Regards
Sudip
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
miaoqing pan June 6, 2016, 1:51 a.m. UTC | #7
Got it, thanks.  There is no difference of the changes for AR9462 which is the chip Sudip tested.

Thanks,
Miaoqing

-----Original Message-----
From: Kalle Valo [mailto:kvalo@codeaurora.org] 
Sent: Saturday, June 04, 2016 10:38 PM
To: Pan, Miaoqing <miaoqing@qti.qualcomm.com>
Cc: Sudip Mukherjee <sudipm.mukherjee@gmail.com>; Stephen Rothwell <sfr@canb.auug.org.au>; ath9k-devel <ath9k-devel@qca.qualcomm.com>; linux-next@vger.kernel.org; linux-kernel@vger.kernel.org; linux-wireless@vger.kernel.org; ath9k-devel@lists.ath9k.org; netdev@vger.kernel.org; Miaoqing Pan <miaoqing@codeaurora.org>
Subject: Re: ath9k gpio request

(Fixing top posting)

"Pan, Miaoqing" <miaoqing@qti.qualcomm.com> writes:

>>> --- a/drivers/net/wireless/ath/ath9k/reg.h
>>> +++ b/drivers/net/wireless/ath/ath9k/reg.h
>>> @@ -1122,8 +1122,8 @@ enum {
>>>   #define AR9300_NUM_GPIO                          16
>>>   #define AR9330_NUM_GPIO                                 16
>>>   #define AR9340_NUM_GPIO                                 23
>>> -#define AR9462_NUM_GPIO                                 10
>>> -#define AR9485_NUM_GPIO                                 12
>>> +#define AR9462_NUM_GPIO                                 14
>>> +#define AR9485_NUM_GPIO                                 11
>>>   #define AR9531_NUM_GPIO                                 18
>>>   #define AR9550_NUM_GPIO                                 24
>>>   #define AR9561_NUM_GPIO                                 23
>>> @@ -1139,8 +1139,8 @@ enum {
>>>   #define AR9300_GPIO_MASK                        0x0000F4FF
>>>   #define AR9330_GPIO_MASK                        0x0000F4FF
>>>   #define AR9340_GPIO_MASK                        0x0000000F
>>> -#define AR9462_GPIO_MASK                        0x000003FF
>>> -#define AR9485_GPIO_MASK                        0x00000FFF
>>> +#define AR9462_GPIO_MASK                        0x00003FFF
>>> +#define AR9485_GPIO_MASK                        0x000007FF
>>>   #define AR9531_GPIO_MASK                        0x0000000F
>>>   #define AR9550_GPIO_MASK                        0x0000000F
>>>   #define AR9561_GPIO_MASK                        0x0000000F
>>
>> solves the problem.
>>
>> Tested-by: Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
>
> Done, https://patchwork.kernel.org/patch/9151847/

But the patch 9151847 is different from what Sudip tested above? Why?

And if you modify something _after_ the reporter has tested the patch clearly document what you changed and why. I do not want find hidden changes like this, even more so when the patch is going to a 4.7-rc release.

Sudip, could you also test patch 9151847, please? You can download the patch from the patchwork link above.

--
Kalle Valo
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Kalle Valo June 7, 2016, 11:43 a.m. UTC | #8
Sudip Mukherjee <sudipm.mukherjee@gmail.com> writes:

>> Sudip, could you also test patch 9151847, please? You can download the
>> patch from the patchwork link above.
>
> This is also ok. Please add my
> Tested-by: Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
>
> and maybe a Reported-by tag is also appropriate in this case.

Yeah, I add those. Thanks Sudip.
diff mbox

Patch

--- a/drivers/net/wireless/ath/ath9k/reg.h
+++ b/drivers/net/wireless/ath/ath9k/reg.h
@@ -1122,8 +1122,8 @@  enum {
 #define AR9300_NUM_GPIO                          16
 #define AR9330_NUM_GPIO                                 16
 #define AR9340_NUM_GPIO                                 23
-#define AR9462_NUM_GPIO                                 10
-#define AR9485_NUM_GPIO                                 12
+#define AR9462_NUM_GPIO                                 14
+#define AR9485_NUM_GPIO                                 11
 #define AR9531_NUM_GPIO                                 18
 #define AR9550_NUM_GPIO                                 24
 #define AR9561_NUM_GPIO                                 23
@@ -1139,8 +1139,8 @@  enum {
 #define AR9300_GPIO_MASK                        0x0000F4FF
 #define AR9330_GPIO_MASK                        0x0000F4FF
 #define AR9340_GPIO_MASK                        0x0000000F
-#define AR9462_GPIO_MASK                        0x000003FF
-#define AR9485_GPIO_MASK                        0x00000FFF
+#define AR9462_GPIO_MASK                        0x00003FFF
+#define AR9485_GPIO_MASK                        0x000007FF
 #define AR9531_GPIO_MASK                        0x0000000F
 #define AR9550_GPIO_MASK                        0x0000000F
 #define AR9561_GPIO_MASK                        0x0000000F

Thanks,
Miaoqing

________________________________________
From: Sudip Mukherjee <sudipm.mukherjee@gmail.com>
Sent: Wednesday, June 1, 2016 8:18 PM
To: Pan, Miaoqing; Kalle Valo
Cc: Stephen Rothwell; ath9k-devel; linux-next@vger.kernel.org; linux-kernel@vger.kernel.org; linux-wireless@vger.kernel.org; ath9k-devel@lists.ath9k.org; netdev@vger.kernel.org; Miaoqing Pan
Subject: Re: ath9k gpio request

On Wednesday 01 June 2016 04:42 PM, Sudip Mukherjee wrote:
> On Wednesday 01 June 2016 12:24 PM, Pan, Miaoqing wrote:
>> which chip ?  And what's the GPIO number ?
>
> lspci -v reports:
> 09:00.0 Network controller: Qualcomm Atheros AR9462 Wireless Network
> Adapter (rev 01)
>      Subsystem: Foxconn International, Inc. Device e052
>      Flags: bus master, fast devsel, latency 0, IRQ 19
>      Memory at c0500000 (64-bit, non-prefetchable) [size=512K]
>      Expansion ROM at c0580000 [disabled] [size=64K]
>      Capabilities: [40] Power Management version 2
>      Capabilities: [50] MSI: Enable- Count=1/4 Maskable+ 64bit+
>      Capabilities: [70] Express Endpoint, MSI 00
>      Capabilities: [100] Advanced Error Reporting
>      Capabilities: [140] Virtual Channel
>      Capabilities: [160] Device Serial Number 00-00-00-00-00-00-00-00
>      Kernel driver in use: ath9k
>
> Any easy way to find out the gpio number or i can modify the module to
> find that out.

Its trying for GPIO 11 with label ath9k-rfkill.

The attached dmesg is with some modification as below.

diff --git a/drivers/net/wireless/ath/ath9k/hw.c
b/drivers/net/wireless/ath/ath9k/hw.c
index 8b2895f9..23deea7 100644
--- a/drivers/net/wireless/ath/ath9k/hw.c
+++ b/drivers/net/wireless/ath/ath9k/hw.c
@@ -2729,14 +2729,16 @@  static void ath9k_hw_gpio_cfg_wmac(struct ath_hw
*ah, u32 gpio, bool out,
  static void ath9k_hw_gpio_request(struct ath_hw *ah, u32 gpio, bool out,
                                   const char *label, u32 ah_signal_type)
  {
-       WARN_ON(gpio >= ah->caps.num_gpio_pins);
+//     WARN_ON(gpio >= ah->caps.num_gpio_pins);
+
+       pr_err("sudip: %d %s\n", gpio, label);

         if (BIT(gpio) & ah->caps.gpio_mask)
                 ath9k_hw_gpio_cfg_wmac(ah, gpio, out, ah_signal_type);
         else if (AR_SREV_SOC(ah))
                 ath9k_hw_gpio_cfg_soc(ah, gpio, out, label);
-       else
-               WARN_ON(1);
+//     else
+//             WARN_ON(1);
  }