2022-08-29 12:59:28

by Manikanta Pubbisetty

[permalink] [raw]
Subject: [PATCH v2 0/2] Add WoW support for WCN6750

Add WoW support for WCN6750.

Unlike other chips where WoW exit happens after sending WoW wakeup
WMI command, exit from WoW suspend in the case of WCN6750 happens
upon sending a WoW exit SMP2P (Shared memory point to point) message
to the firmware.

Tested-on: WCN6750 hw1.0 AHB WLAN.MSL.1.0.1-00887-QCAMSLSWPLZ-1

Manikanta Pubbisetty (2):
dt: bindings: net: add bindings to add WoW support for WCN6750
ath11k: Add WoW support for WCN6750
---
V2:
- Replaced shift/mask operation with u32_encode_bits() before sending SMP2P message
- Rebased on ToT COMMIT SHA-ID: f60b230094cbf88c73808709e4f9c1cf09eb0b01

.../bindings/net/wireless/qcom,ath11k.yaml | 17 +++
drivers/net/wireless/ath/ath11k/ahb.c | 123 +++++++++++++++++-
drivers/net/wireless/ath/ath11k/ahb.h | 16 +++
drivers/net/wireless/ath/ath11k/core.c | 7 +
drivers/net/wireless/ath/ath11k/hw.h | 1 +
drivers/net/wireless/ath/ath11k/pcic.c | 32 +++++
drivers/net/wireless/ath/ath11k/pcic.h | 4 +
drivers/net/wireless/ath/ath11k/wow.c | 8 ++
8 files changed, 207 insertions(+), 1 deletion(-)

--
2.37.1


2022-08-29 13:00:05

by Manikanta Pubbisetty

[permalink] [raw]
Subject: [PATCH v2 1/2] dt: bindings: net: add bindings to add WoW support for WCN6750

Add required bindings to support WoW (Wake on Wireless) for
WCN6750 which is based on ath11k driver.

Signed-off-by: Manikanta Pubbisetty <[email protected]>
---
.../bindings/net/wireless/qcom,ath11k.yaml | 17 +++++++++++++++++
1 file changed, 17 insertions(+)

diff --git a/Documentation/devicetree/bindings/net/wireless/qcom,ath11k.yaml b/Documentation/devicetree/bindings/net/wireless/qcom,ath11k.yaml
index a677b056f112..307a5b9d1588 100644
--- a/Documentation/devicetree/bindings/net/wireless/qcom,ath11k.yaml
+++ b/Documentation/devicetree/bindings/net/wireless/qcom,ath11k.yaml
@@ -66,6 +66,14 @@ properties:
required:
- iommus

+ qcom,smem-states:
+ $ref: /schemas/types.yaml#/definitions/phandle-array
+ description: State bits used in WCN6750 to signal the firmware
+ to exit from WoW.
+
+ qcom,smem-state-names:
+ description: The names of the state bits used for SMP2P output
+
required:
- compatible
- reg
@@ -410,6 +418,13 @@ examples:
};
};

+ smp2p-wpss {
+ wlan_smp2p_out: wlan_smp2p_out {
+ qcom,entry-name = "wlan";
+ #qcom,smem-state-cells = <1>;
+ };
+ };
+
wifi: wifi@17a10040 {
compatible = "qcom,wcn6750-wifi";
reg = <0x17a10040 0x0>;
@@ -448,6 +463,8 @@ examples:
<GIC_SPI 799 IRQ_TYPE_EDGE_RISING>;
qcom,rproc = <&remoteproc_wpss>;
memory-region = <&wlan_fw_mem>, <&wlan_ce_mem>;
+ qcom,smem-states = <&wlan_smp2p_out 0>;
+ qcom,smem-state-names = "wlan-smp2p-out";
wifi-firmware {
iommus = <&apps_smmu 0x1c02 0x1>;
};
--
2.37.1

2022-08-30 17:32:10

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH v2 1/2] dt: bindings: net: add bindings to add WoW support for WCN6750

On 29/08/2022 15:43, Manikanta Pubbisetty wrote:
> Add required bindings to support WoW (Wake on Wireless) for
> WCN6750 which is based on ath11k driver.
>
> Signed-off-by: Manikanta Pubbisetty <[email protected]>

Use scripts/get_maintainers.pl to CC all maintainers and relevant
mailing lists.

> ---
> .../bindings/net/wireless/qcom,ath11k.yaml | 17 +++++++++++++++++
> 1 file changed, 17 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/net/wireless/qcom,ath11k.yaml b/Documentation/devicetree/bindings/net/wireless/qcom,ath11k.yaml
> index a677b056f112..307a5b9d1588 100644
> --- a/Documentation/devicetree/bindings/net/wireless/qcom,ath11k.yaml
> +++ b/Documentation/devicetree/bindings/net/wireless/qcom,ath11k.yaml
> @@ -66,6 +66,14 @@ properties:
> required:
> - iommus
>
> + qcom,smem-states:
> + $ref: /schemas/types.yaml#/definitions/phandle-array
> + description: State bits used in WCN6750 to signal the firmware
> + to exit from WoW.

You need to describe the item (s).

> +
> + qcom,smem-state-names:
> + description: The names of the state bits used for SMP2P output

You need to describe the item (s).

> +
> required:
> - compatible
> - reg
> @@ -410,6 +418,13 @@ examples:
> };
> };
>
> + smp2p-wpss {
> + wlan_smp2p_out: wlan_smp2p_out {

No underscores in node names. This example is incomplete and I am not
sure what is the benefit of adding provider example to the consumer
binding... Just skip it.

Best regards,
Best regards,
Krzysztof

2022-09-02 05:33:18

by Manikanta Pubbisetty

[permalink] [raw]
Subject: Re: [PATCH v2 1/2] dt: bindings: net: add bindings to add WoW support for WCN6750

On 8/30/2022 10:55 PM, Krzysztof Kozlowski wrote:
> On 29/08/2022 15:43, Manikanta Pubbisetty wrote:
>> Add required bindings to support WoW (Wake on Wireless) for
>> WCN6750 which is based on ath11k driver.
>>
>> Signed-off-by: Manikanta Pubbisetty <[email protected]>
>
> Use scripts/get_maintainers.pl to CC all maintainers and relevant
> mailing lists.
>

Sure, I'll take care of this going forward.

>> ---
>> .../bindings/net/wireless/qcom,ath11k.yaml | 17 +++++++++++++++++
>> 1 file changed, 17 insertions(+)
>>
>> diff --git a/Documentation/devicetree/bindings/net/wireless/qcom,ath11k.yaml b/Documentation/devicetree/bindings/net/wireless/qcom,ath11k.yaml
>> index a677b056f112..307a5b9d1588 100644
>> --- a/Documentation/devicetree/bindings/net/wireless/qcom,ath11k.yaml
>> +++ b/Documentation/devicetree/bindings/net/wireless/qcom,ath11k.yaml
>> @@ -66,6 +66,14 @@ properties:
>> required:
>> - iommus
>>
>> + qcom,smem-states:
>> + $ref: /schemas/types.yaml#/definitions/phandle-array
>> + description: State bits used in WCN6750 to signal the firmware
>> + to exit from WoW.
>
> You need to describe the item (s).
>

Okay

>> +
>> + qcom,smem-state-names:
>> + description: The names of the state bits used for SMP2P output
>
> You need to describe the item (s).
>

Okay

>> +
>> required:
>> - compatible
>> - reg
>> @@ -410,6 +418,13 @@ examples:
>> };
>> };
>>
>> + smp2p-wpss {
>> + wlan_smp2p_out: wlan_smp2p_out {
>
> No underscores in node names. This example is incomplete and I am not
> sure what is the benefit of adding provider example to the consumer
> binding... Just skip it.
>

Understood, I'll make the changes.

Thanks,
Manikanta