2022-05-13 19:16:18

by Kalle Valo

[permalink] [raw]
Subject: Re: [PATCH] ath10k: do not enforce interrupt trigger type

Krzysztof Kozlowski <[email protected]> writes:

> Interrupt line can be configured on different hardware in different way,
> even inverted. Therefore driver should not enforce specific trigger
> type - edge rising - but instead rely on Devicetree to configure it.
>
> All Qualcomm DTSI with WCN3990 define the interrupt type as level high,
> so the mismatch between DTSI and driver causes rebind issues:
>
> $ echo 18800000.wifi > /sys/bus/platform/drivers/ath10k_snoc/unbind
> $ echo 18800000.wifi > /sys/bus/platform/drivers/ath10k_snoc/bind
> [ 44.763114] irq: type mismatch, failed to map hwirq-446 for interrupt-controller@17a00000!
> [ 44.763130] ath10k_snoc 18800000.wifi: error -ENXIO: IRQ index 0 not found
> [ 44.763140] ath10k_snoc 18800000.wifi: failed to initialize resource: -6

So you tested on WCN3990? On what firmware version? I can add the
Tested-on tag if you provide that.

--
https://patchwork.kernel.org/project/linux-wireless/list/

https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches


2022-05-14 06:13:44

by Steev Klimaszewski

[permalink] [raw]
Subject: Re: [PATCH] ath10k: do not enforce interrupt trigger type


On 5/13/22 10:57 AM, Kalle Valo wrote:
> Krzysztof Kozlowski <[email protected]> writes:
>
>> Interrupt line can be configured on different hardware in different way,
>> even inverted. Therefore driver should not enforce specific trigger
>> type - edge rising - but instead rely on Devicetree to configure it.
>>
>> All Qualcomm DTSI with WCN3990 define the interrupt type as level high,
>> so the mismatch between DTSI and driver causes rebind issues:
>>
>> $ echo 18800000.wifi > /sys/bus/platform/drivers/ath10k_snoc/unbind
>> $ echo 18800000.wifi > /sys/bus/platform/drivers/ath10k_snoc/bind
>> [ 44.763114] irq: type mismatch, failed to map hwirq-446 for interrupt-controller@17a00000!
>> [ 44.763130] ath10k_snoc 18800000.wifi: error -ENXIO: IRQ index 0 not found
>> [ 44.763140] ath10k_snoc 18800000.wifi: failed to initialize resource: -6
> So you tested on WCN3990? On what firmware version? I can add the
> Tested-on tag if you provide that.
>
Hello Krzystof, Kalle,

I have seen this issue as well on a Lenovo Flex 5G, which has a WCN3990:

wcn3990 hw1.0 target 0x00000008 chip_id 0x00000000 sub 0000:0000
kconfig debug 0 debugfs 0 tracing 0 dfs 0 testmode 0
firmware ver  api 5 features wowlan,mgmt-tx-by-reference,non-bmi crc32
b3d4b790
htt-ver 3.86 wmi-op 4 htt-op 3 cal file max-sta 32 raw 0 hwcrypto 1

With this patch applied, I no longer see the error message in the commit
message, when I unbind/bind when wifi stops working.

Tested-by: Steev Klimaszewski <[email protected]>

-- Steev


2022-05-14 18:24:17

by Steev Klimaszewski

[permalink] [raw]
Subject: Re: [PATCH] ath10k: do not enforce interrupt trigger type


On 5/14/22 12:05 AM, Steev Klimaszewski wrote:
>
> On 5/13/22 10:57 AM, Kalle Valo wrote:
>> Krzysztof Kozlowski <[email protected]> writes:
>>
>>> Interrupt line can be configured on different hardware in different
>>> way,
>>> even inverted.  Therefore driver should not enforce specific trigger
>>> type - edge rising - but instead rely on Devicetree to configure it.
>>>
>>> All Qualcomm DTSI with WCN3990 define the interrupt type as level high,
>>> so the mismatch between DTSI and driver causes rebind issues:
>>>
>>>    $ echo 18800000.wifi > /sys/bus/platform/drivers/ath10k_snoc/unbind
>>>    $ echo 18800000.wifi > /sys/bus/platform/drivers/ath10k_snoc/bind
>>>    [   44.763114] irq: type mismatch, failed to map hwirq-446 for
>>> interrupt-controller@17a00000!
>>>    [   44.763130] ath10k_snoc 18800000.wifi: error -ENXIO: IRQ index
>>> 0 not found
>>>    [   44.763140] ath10k_snoc 18800000.wifi: failed to initialize
>>> resource: -6
>> So you tested on WCN3990? On what firmware version? I can add the
>> Tested-on tag if you provide that.
>>
> Hello Krzystof, Kalle,
>
> I have seen this issue as well on a Lenovo Flex 5G, which has a WCN3990:
>
> wcn3990 hw1.0 target 0x00000008 chip_id 0x00000000 sub 0000:0000
> kconfig debug 0 debugfs 0 tracing 0 dfs 0 testmode 0
> firmware ver  api 5 features wowlan,mgmt-tx-by-reference,non-bmi crc32
> b3d4b790
> htt-ver 3.86 wmi-op 4 htt-op 3 cal file max-sta 32 raw 0 hwcrypto 1
>
> With this patch applied, I no longer see the error message in the
> commit message, when I unbind/bind when wifi stops working.
>
> Tested-by: Steev Klimaszewski <[email protected]>
>
> -- Steev
>
Apologies for the second email - I've tested this now on both the Lenovo
Flex 5G, as I have seen the issue on it as well, as well as on the
Lenovo Yoga C630, where I did not but I did have issues with attempting
to rebind the device, prior to this patch.

Firmware version for the Flex 5G is

qmi chip_id 0x30224 chip_family 0x4001 board_id 0xff soc_id 0x40060000
qmi fw_version 0x32080009 fw_build_timestamp 2020-11-16 14:44
fw_build_id
QC_IMAGE_VERSION_STRING=WLAN.HL.3.2.0.c8-00009-QCAHLSWSC8180XMTPLZ-1

Firmware version on the Yoga C630 is

qmi chip_id 0x30214 chip_family 0x4001 board_id 0xff soc_id 0x40030001
qmi fw_version 0x2009856b fw_build_timestamp 2018-07-19 12:28
fw_build_id QC_IMAGE_VERSION_STRING=WLAN.HL.2.0-01387-QCAHLSWMTPLZ-1


2022-05-14 19:48:14

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH] ath10k: do not enforce interrupt trigger type

On 14/05/2022 20:09, Steev Klimaszewski wrote:

>> wcn3990 hw1.0 target 0x00000008 chip_id 0x00000000 sub 0000:0000
>> kconfig debug 0 debugfs 0 tracing 0 dfs 0 testmode 0
>> firmware ver  api 5 features wowlan,mgmt-tx-by-reference,non-bmi crc32
>> b3d4b790
>> htt-ver 3.86 wmi-op 4 htt-op 3 cal file max-sta 32 raw 0 hwcrypto 1
>>
>> With this patch applied, I no longer see the error message in the
>> commit message, when I unbind/bind when wifi stops working.
>>
>> Tested-by: Steev Klimaszewski <[email protected]>
>>
>> -- Steev
>>
> Apologies for the second email - I've tested this now on both the Lenovo
> Flex 5G, as I have seen the issue on it as well, as well as on the
> Lenovo Yoga C630, where I did not but I did have issues with attempting
> to rebind the device, prior to this patch.
>
> Firmware version for the Flex 5G is
>
> qmi chip_id 0x30224 chip_family 0x4001 board_id 0xff soc_id 0x40060000
> qmi fw_version 0x32080009 fw_build_timestamp 2020-11-16 14:44
> fw_build_id
> QC_IMAGE_VERSION_STRING=WLAN.HL.3.2.0.c8-00009-QCAHLSWSC8180XMTPLZ-1
>
> Firmware version on the Yoga C630 is
>
> qmi chip_id 0x30214 chip_family 0x4001 board_id 0xff soc_id 0x40030001
> qmi fw_version 0x2009856b fw_build_timestamp 2018-07-19 12:28
> fw_build_id QC_IMAGE_VERSION_STRING=WLAN.HL.2.0-01387-QCAHLSWMTPLZ-1
>

Thanks for testing, much appreciated!


Best regards,
Krzysztof

2022-05-14 21:55:27

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH] ath10k: do not enforce interrupt trigger type

On 13/05/2022 17:57, Kalle Valo wrote:
> Krzysztof Kozlowski <[email protected]> writes:
>
>> Interrupt line can be configured on different hardware in different way,
>> even inverted. Therefore driver should not enforce specific trigger
>> type - edge rising - but instead rely on Devicetree to configure it.
>>
>> All Qualcomm DTSI with WCN3990 define the interrupt type as level high,
>> so the mismatch between DTSI and driver causes rebind issues:
>>
>> $ echo 18800000.wifi > /sys/bus/platform/drivers/ath10k_snoc/unbind
>> $ echo 18800000.wifi > /sys/bus/platform/drivers/ath10k_snoc/bind
>> [ 44.763114] irq: type mismatch, failed to map hwirq-446 for interrupt-controller@17a00000!
>> [ 44.763130] ath10k_snoc 18800000.wifi: error -ENXIO: IRQ index 0 not found
>> [ 44.763140] ath10k_snoc 18800000.wifi: failed to initialize resource: -6
>
> So you tested on WCN3990? On what firmware version?


I run it on a Qualcomm RB3 board with Qualcomm SDM845 and WCN3990.
However on that kernel I did not manage to WiFi actually work -
regardless of that patch - so I would no count it yet as fully tested.

It would be great if someone would provide some tests. I saw Steev's
replies - thanks!

Best regards,
Krzysztof

2022-05-18 07:19:55

by Kalle Valo

[permalink] [raw]
Subject: Re: [PATCH] ath10k: do not enforce interrupt trigger type

Steev Klimaszewski <[email protected]> writes:

> On 5/14/22 12:05 AM, Steev Klimaszewski wrote:
>>
>> On 5/13/22 10:57 AM, Kalle Valo wrote:
>>> Krzysztof Kozlowski <[email protected]> writes:
>>>
>>>> Interrupt line can be configured on different hardware in
>>>> different way,
>>>> even inverted.  Therefore driver should not enforce specific trigger
>>>> type - edge rising - but instead rely on Devicetree to configure it.
>>>>
>>>> All Qualcomm DTSI with WCN3990 define the interrupt type as level high,
>>>> so the mismatch between DTSI and driver causes rebind issues:
>>>>
>>>>    $ echo 18800000.wifi > /sys/bus/platform/drivers/ath10k_snoc/unbind
>>>>    $ echo 18800000.wifi > /sys/bus/platform/drivers/ath10k_snoc/bind
>>>>    [   44.763114] irq: type mismatch, failed to map hwirq-446 for
>>>> interrupt-controller@17a00000!
>>>>    [   44.763130] ath10k_snoc 18800000.wifi: error -ENXIO: IRQ
>>>> index 0 not found
>>>>    [   44.763140] ath10k_snoc 18800000.wifi: failed to initialize
>>>> resource: -6
>>> So you tested on WCN3990? On what firmware version? I can add the
>>> Tested-on tag if you provide that.
>>>
>> Hello Krzystof, Kalle,
>>
>> I have seen this issue as well on a Lenovo Flex 5G, which has a WCN3990:
>>
>> wcn3990 hw1.0 target 0x00000008 chip_id 0x00000000 sub 0000:0000
>> kconfig debug 0 debugfs 0 tracing 0 dfs 0 testmode 0
>> firmware ver  api 5 features wowlan,mgmt-tx-by-reference,non-bmi
>> crc32 b3d4b790
>> htt-ver 3.86 wmi-op 4 htt-op 3 cal file max-sta 32 raw 0 hwcrypto 1
>>
>> With this patch applied, I no longer see the error message in the
>> commit message, when I unbind/bind when wifi stops working.
>>
>> Tested-by: Steev Klimaszewski <[email protected]>
>>
>> -- Steev
>>
> Apologies for the second email - I've tested this now on both the
> Lenovo Flex 5G, as I have seen the issue on it as well, as well as on
> the Lenovo Yoga C630, where I did not but I did have issues with
> attempting to rebind the device, prior to this patch.
>
> Firmware version for the Flex 5G is
>
> qmi chip_id 0x30224 chip_family 0x4001 board_id 0xff soc_id 0x40060000
> qmi fw_version 0x32080009 fw_build_timestamp 2020-11-16 14:44
> fw_build_id
> QC_IMAGE_VERSION_STRING=WLAN.HL.3.2.0.c8-00009-QCAHLSWSC8180XMTPLZ-1
>
> Firmware version on the Yoga C630 is
>
> qmi chip_id 0x30214 chip_family 0x4001 board_id 0xff soc_id 0x40030001
> qmi fw_version 0x2009856b fw_build_timestamp 2018-07-19 12:28
> fw_build_id QC_IMAGE_VERSION_STRING=WLAN.HL.2.0-01387-QCAHLSWMTPLZ-1

In the pending branch I added these to the commit log:

Tested-on: WCN3990 hw1.0 SNOC WLAN.HL.3.2.0.c8-00009-QCAHLSWSC8180XMTPLZ-1
Tested-on: WCN3990 hw1.0 SNOC WLAN.HL.2.0-01387-QCAHLSWMTPLZ-1

Thanks for testing, very much appreciated!

--
https://patchwork.kernel.org/project/linux-wireless/list/

https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches