2024-02-21 02:47:50

by Baochen Qiang

[permalink] [raw]
Subject: [PATCH 0/5] wifi: ath11k: prepare for hibernation support

This is to do some prepare work for hibernation, the final hibernation
support comes in a following patch set.

Baochen Qiang (4):
wifi: ath11k: rearrange IRQ enable/disable in reset path
wifi: ath11k: remove MHI LOOPBACK channels
wifi: ath11k: do not dump SRNG statistics during resume
wifi: ath11k: fix warning on DMA ring capabilities event

Kalle Valo (1):
wifi: ath11k: thermal: don't try to register multiple times

drivers/net/wireless/ath/ath11k/core.c | 8 ++--
drivers/net/wireless/ath/ath11k/mhi.c | 56 -----------------------
drivers/net/wireless/ath/ath11k/qmi.c | 5 +-
drivers/net/wireless/ath/ath11k/thermal.c | 5 +-
drivers/net/wireless/ath/ath11k/wmi.c | 3 +-
5 files changed, 14 insertions(+), 63 deletions(-)


base-commit: 707e306f3573fa321ae197d77366578e4566cff5
--
2.25.1



2024-02-21 02:47:55

by Baochen Qiang

[permalink] [raw]
Subject: [PATCH 1/5] wifi: ath11k: rearrange IRQ enable/disable in reset path

For non WoW suspend/resume, ath11k host powers down whole hardware
when suspend and powers up it when resume, the code path it goes
through is very like the ath11k reset logic.

In order to reuse that logic, rearrange IRQ handling in the reset
path.

Tested-on: WCN6855 hw2.0 PCI WLAN.HSP.1.1-03125-QCAHSPSWPL_V1_V2_SILICONZ_LITE-3.6510.30

Signed-off-by: Kalle Valo <[email protected]>
Signed-off-by: Baochen Qiang <[email protected]>
---
drivers/net/wireless/ath/ath11k/core.c | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/drivers/net/wireless/ath/ath11k/core.c b/drivers/net/wireless/ath/ath11k/core.c
index 922e67f8e04f..c78bce19bd75 100644
--- a/drivers/net/wireless/ath/ath11k/core.c
+++ b/drivers/net/wireless/ath/ath11k/core.c
@@ -1,7 +1,7 @@
// SPDX-License-Identifier: BSD-3-Clause-Clear
/*
* Copyright (c) 2018-2019 The Linux Foundation. All rights reserved.
- * Copyright (c) 2021-2023 Qualcomm Innovation Center, Inc. All rights reserved.
+ * Copyright (c) 2021-2024 Qualcomm Innovation Center, Inc. All rights reserved.
*/

#include <linux/module.h>
@@ -1869,10 +1869,9 @@ static int ath11k_core_reconfigure_on_crash(struct ath11k_base *ab)

mutex_lock(&ab->core_lock);
ath11k_thermal_unregister(ab);
- ath11k_hif_irq_disable(ab);
ath11k_dp_pdev_free(ab);
ath11k_spectral_deinit(ab);
- ath11k_hif_stop(ab);
+ ath11k_ce_cleanup_pipes(ab);
ath11k_wmi_detach(ab);
ath11k_dp_pdev_reo_cleanup(ab);
mutex_unlock(&ab->core_lock);
@@ -2127,6 +2126,9 @@ static void ath11k_core_reset(struct work_struct *work)
time_left = wait_for_completion_timeout(&ab->recovery_start,
ATH11K_RECOVER_START_TIMEOUT_HZ);

+ ath11k_hif_irq_disable(ab);
+ ath11k_hif_ce_irq_disable(ab);
+
ath11k_hif_power_down(ab);
ath11k_hif_power_up(ab);

--
2.25.1


2024-02-21 02:47:58

by Baochen Qiang

[permalink] [raw]
Subject: [PATCH 2/5] wifi: ath11k: remove MHI LOOPBACK channels

There is no driver to match these two channels, so
remove them. This fixes warnings from MHI subsystem during suspend:

mhi mhi0_LOOPBACK: 1: Failed to reset channel, still resetting
mhi mhi0_LOOPBACK: 0: Failed to reset channel, still resetting

Tested-on: WCN6855 hw2.0 PCI WLAN.HSP.1.1-03125-QCAHSPSWPL_V1_V2_SILICONZ_LITE-3.6510.30

Signed-off-by: Kalle Valo <[email protected]>
Signed-off-by: Baochen Qiang <[email protected]>
---
drivers/net/wireless/ath/ath11k/mhi.c | 56 ---------------------------
1 file changed, 56 deletions(-)

diff --git a/drivers/net/wireless/ath/ath11k/mhi.c b/drivers/net/wireless/ath/ath11k/mhi.c
index b53659145fcf..3de7fa6f88d0 100644
--- a/drivers/net/wireless/ath/ath11k/mhi.c
+++ b/drivers/net/wireless/ath/ath11k/mhi.c
@@ -21,34 +21,6 @@
#define RDDM_DUMP_SIZE 0x420000

static struct mhi_channel_config ath11k_mhi_channels_qca6390[] = {
- {
- .num = 0,
- .name = "LOOPBACK",
- .num_elements = 32,
- .event_ring = 0,
- .dir = DMA_TO_DEVICE,
- .ee_mask = 0x4,
- .pollcfg = 0,
- .doorbell = MHI_DB_BRST_DISABLE,
- .lpm_notify = false,
- .offload_channel = false,
- .doorbell_mode_switch = false,
- .auto_queue = false,
- },
- {
- .num = 1,
- .name = "LOOPBACK",
- .num_elements = 32,
- .event_ring = 0,
- .dir = DMA_FROM_DEVICE,
- .ee_mask = 0x4,
- .pollcfg = 0,
- .doorbell = MHI_DB_BRST_DISABLE,
- .lpm_notify = false,
- .offload_channel = false,
- .doorbell_mode_switch = false,
- .auto_queue = false,
- },
{
.num = 20,
.name = "IPCR",
@@ -114,34 +86,6 @@ static struct mhi_controller_config ath11k_mhi_config_qca6390 = {
};

static struct mhi_channel_config ath11k_mhi_channels_qcn9074[] = {
- {
- .num = 0,
- .name = "LOOPBACK",
- .num_elements = 32,
- .event_ring = 1,
- .dir = DMA_TO_DEVICE,
- .ee_mask = 0x14,
- .pollcfg = 0,
- .doorbell = MHI_DB_BRST_DISABLE,
- .lpm_notify = false,
- .offload_channel = false,
- .doorbell_mode_switch = false,
- .auto_queue = false,
- },
- {
- .num = 1,
- .name = "LOOPBACK",
- .num_elements = 32,
- .event_ring = 1,
- .dir = DMA_FROM_DEVICE,
- .ee_mask = 0x14,
- .pollcfg = 0,
- .doorbell = MHI_DB_BRST_DISABLE,
- .lpm_notify = false,
- .offload_channel = false,
- .doorbell_mode_switch = false,
- .auto_queue = false,
- },
{
.num = 20,
.name = "IPCR",
--
2.25.1


2024-02-21 02:48:02

by Baochen Qiang

[permalink] [raw]
Subject: [PATCH 3/5] wifi: ath11k: do not dump SRNG statistics during resume

Both the firmware reset feature and the power management
suspend/resume feature share common power-down and power-up
functionality. One aspect of the power-up functionality is
the handling of the ATH11K_QMI_EVENT_FW_INIT_DONE event.
When this event is received, a call is made to
ath11k_hal_dump_srng_stats(), with the purpose to collect
information that may be useful in debugging the cause of a
firmware reset.

Unfortunately, since this functionality is shared between
both the firmware reset path and the power management
resume path, the kernel log is flooded with messages during
resume. Since these messages are not useful during resume,
and in fact can be confusing and can increase the time it
takes to resume, update the logic to only call
ath11k_hal_dump_srng_stats() during firmware reset.

Tested-on: WCN6855 hw2.0 PCI WLAN.HSP.1.1-03125-QCAHSPSWPL_V1_V2_SILICONZ_LITE-3.6510.30

Signed-off-by: Kalle Valo <[email protected]>
Signed-off-by: Baochen Qiang <[email protected]>
---
drivers/net/wireless/ath/ath11k/qmi.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/net/wireless/ath/ath11k/qmi.c b/drivers/net/wireless/ath/ath11k/qmi.c
index 2c7cab62b9bb..5006f81f779b 100644
--- a/drivers/net/wireless/ath/ath11k/qmi.c
+++ b/drivers/net/wireless/ath/ath11k/qmi.c
@@ -1,7 +1,7 @@
// SPDX-License-Identifier: BSD-3-Clause-Clear
/*
* Copyright (c) 2018-2019 The Linux Foundation. All rights reserved.
- * Copyright (c) 2021-2023 Qualcomm Innovation Center, Inc. All rights reserved.
+ * Copyright (c) 2021-2024 Qualcomm Innovation Center, Inc. All rights reserved.
*/

#include <linux/elf.h>
@@ -3249,7 +3249,8 @@ static void ath11k_qmi_driver_event_work(struct work_struct *work)
case ATH11K_QMI_EVENT_FW_INIT_DONE:
clear_bit(ATH11K_FLAG_QMI_FAIL, &ab->dev_flags);
if (test_bit(ATH11K_FLAG_REGISTERED, &ab->dev_flags)) {
- ath11k_hal_dump_srng_stats(ab);
+ if (ab->is_reset)
+ ath11k_hal_dump_srng_stats(ab);
queue_work(ab->workqueue, &ab->restart_work);
break;
}
--
2.25.1


2024-02-21 02:48:05

by Baochen Qiang

[permalink] [raw]
Subject: [PATCH 4/5] wifi: ath11k: fix warning on DMA ring capabilities event

We are seeing below warning in both reset and suspend/resume scenarios:

[69663.691847] ath11k_pci 0000:02:00.0: Already processed, so ignoring dma ring caps

This is because ab->num_db_cap is not cleared in
ath11k_wmi_free_dbring_caps(), so clear it to avoid such
warnings.

Tested-on: WCN6855 hw2.0 PCI WLAN.HSP.1.1-03125-QCAHSPSWPL_V1_V2_SILICONZ_LITE-3.6510.30

Signed-off-by: Kalle Valo <[email protected]>
Signed-off-by: Baochen Qiang <[email protected]>
---
drivers/net/wireless/ath/ath11k/wmi.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/net/wireless/ath/ath11k/wmi.c b/drivers/net/wireless/ath/ath11k/wmi.c
index b2911d6f9551..75fae1e01130 100644
--- a/drivers/net/wireless/ath/ath11k/wmi.c
+++ b/drivers/net/wireless/ath/ath11k/wmi.c
@@ -1,7 +1,7 @@
// SPDX-License-Identifier: BSD-3-Clause-Clear
/*
* Copyright (c) 2018-2019 The Linux Foundation. All rights reserved.
- * Copyright (c) 2021-2023 Qualcomm Innovation Center, Inc. All rights reserved.
+ * Copyright (c) 2021-2024 Qualcomm Innovation Center, Inc. All rights reserved.
*/
#include <linux/skbuff.h>
#include <linux/ctype.h>
@@ -4858,6 +4858,7 @@ static void ath11k_wmi_free_dbring_caps(struct ath11k_base *ab)
{
kfree(ab->db_caps);
ab->db_caps = NULL;
+ ab->num_db_cap = 0;
}

static int ath11k_wmi_tlv_dma_ring_caps(struct ath11k_base *ab,
--
2.25.1


2024-02-21 02:53:26

by Baochen Qiang

[permalink] [raw]
Subject: [PATCH 5/5] wifi: ath11k: thermal: don't try to register multiple times

From: Kalle Valo <[email protected]>

Every time the firmware boots we call ath11k_core_qmi_firmware_ready() which
ends up calling ath11k_thermal_register(). So we try to register thermal
devices multiple times. And when we power off the firmware during
suspend/hibernation (implemented in the next patch) we get a warning in resume:

hwmon hwmon4: PM: parent phy0 should not be sleeping

Workaround this similarly like ath11k_mac_register() does by testing
ATH11K_FLAG_REGISTERED.

Tested-on: WCN6855 hw2.0 PCI WLAN.HSP.1.1-03125-QCAHSPSWPL_V1_V2_SILICONZ_LITE-3.6510.30

Signed-off-by: Kalle Valo <[email protected]>
---
drivers/net/wireless/ath/ath11k/thermal.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/net/wireless/ath/ath11k/thermal.c b/drivers/net/wireless/ath/ath11k/thermal.c
index c29b11ab5bfa..41e7499f075f 100644
--- a/drivers/net/wireless/ath/ath11k/thermal.c
+++ b/drivers/net/wireless/ath/ath11k/thermal.c
@@ -1,7 +1,7 @@
// SPDX-License-Identifier: BSD-3-Clause-Clear
/*
* Copyright (c) 2020 The Linux Foundation. All rights reserved.
- * Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved.
+ * Copyright (c) 2022-2024 Qualcomm Innovation Center, Inc. All rights reserved.
*/

#include <linux/device.h>
@@ -163,6 +163,9 @@ int ath11k_thermal_register(struct ath11k_base *ab)
struct ath11k_pdev *pdev;
int i, ret;

+ if (test_bit(ATH11K_FLAG_REGISTERED, &ab->dev_flags))
+ return 0;
+
for (i = 0; i < ab->num_radios; i++) {
pdev = &ab->pdevs[i];
ar = pdev->ar;
--
2.25.1


2024-02-21 17:13:43

by Jeff Johnson

[permalink] [raw]
Subject: Re: [PATCH 1/5] wifi: ath11k: rearrange IRQ enable/disable in reset path

On 2/20/2024 6:47 PM, Baochen Qiang wrote:
> For non WoW suspend/resume, ath11k host powers down whole hardware
> when suspend and powers up it when resume, the code path it goes
> through is very like the ath11k reset logic.
>
> In order to reuse that logic, rearrange IRQ handling in the reset
> path.
>
> Tested-on: WCN6855 hw2.0 PCI WLAN.HSP.1.1-03125-QCAHSPSWPL_V1_V2_SILICONZ_LITE-3.6510.30
>
> Signed-off-by: Kalle Valo <[email protected]>
> Signed-off-by: Baochen Qiang <[email protected]>
Acked-by: Jeff Johnson <[email protected]>


2024-02-21 17:14:20

by Jeff Johnson

[permalink] [raw]
Subject: Re: [PATCH 2/5] wifi: ath11k: remove MHI LOOPBACK channels

On 2/20/2024 6:47 PM, Baochen Qiang wrote:
> There is no driver to match these two channels, so
> remove them. This fixes warnings from MHI subsystem during suspend:
>
> mhi mhi0_LOOPBACK: 1: Failed to reset channel, still resetting
> mhi mhi0_LOOPBACK: 0: Failed to reset channel, still resetting
>
> Tested-on: WCN6855 hw2.0 PCI WLAN.HSP.1.1-03125-QCAHSPSWPL_V1_V2_SILICONZ_LITE-3.6510.30
>
> Signed-off-by: Kalle Valo <[email protected]>
> Signed-off-by: Baochen Qiang <[email protected]>
Acked-by: Jeff Johnson <[email protected]>


2024-02-21 17:14:45

by Jeff Johnson

[permalink] [raw]
Subject: Re: [PATCH 3/5] wifi: ath11k: do not dump SRNG statistics during resume

On 2/20/2024 6:47 PM, Baochen Qiang wrote:
> Both the firmware reset feature and the power management
> suspend/resume feature share common power-down and power-up
> functionality. One aspect of the power-up functionality is
> the handling of the ATH11K_QMI_EVENT_FW_INIT_DONE event.
> When this event is received, a call is made to
> ath11k_hal_dump_srng_stats(), with the purpose to collect
> information that may be useful in debugging the cause of a
> firmware reset.
>
> Unfortunately, since this functionality is shared between
> both the firmware reset path and the power management
> resume path, the kernel log is flooded with messages during
> resume. Since these messages are not useful during resume,
> and in fact can be confusing and can increase the time it
> takes to resume, update the logic to only call
> ath11k_hal_dump_srng_stats() during firmware reset.
>
> Tested-on: WCN6855 hw2.0 PCI WLAN.HSP.1.1-03125-QCAHSPSWPL_V1_V2_SILICONZ_LITE-3.6510.30
>
> Signed-off-by: Kalle Valo <[email protected]>
> Signed-off-by: Baochen Qiang <[email protected]>
Acked-by: Jeff Johnson <[email protected]>


2024-02-21 17:15:31

by Jeff Johnson

[permalink] [raw]
Subject: Re: [PATCH 4/5] wifi: ath11k: fix warning on DMA ring capabilities event

On 2/20/2024 6:47 PM, Baochen Qiang wrote:
> We are seeing below warning in both reset and suspend/resume scenarios:
>
> [69663.691847] ath11k_pci 0000:02:00.0: Already processed, so ignoring dma ring caps
>
> This is because ab->num_db_cap is not cleared in
> ath11k_wmi_free_dbring_caps(), so clear it to avoid such
> warnings.
>
> Tested-on: WCN6855 hw2.0 PCI WLAN.HSP.1.1-03125-QCAHSPSWPL_V1_V2_SILICONZ_LITE-3.6510.30
>
> Signed-off-by: Kalle Valo <[email protected]>
> Signed-off-by: Baochen Qiang <[email protected]>
Acked-by: Jeff Johnson <[email protected]>


2024-02-21 17:16:34

by Jeff Johnson

[permalink] [raw]
Subject: Re: [PATCH 5/5] wifi: ath11k: thermal: don't try to register multiple times

On 2/20/2024 6:47 PM, Baochen Qiang wrote:
> From: Kalle Valo <[email protected]>
>
> Every time the firmware boots we call ath11k_core_qmi_firmware_ready() which
> ends up calling ath11k_thermal_register(). So we try to register thermal
> devices multiple times. And when we power off the firmware during
> suspend/hibernation (implemented in the next patch) we get a warning in resume:
>
> hwmon hwmon4: PM: parent phy0 should not be sleeping
>
> Workaround this similarly like ath11k_mac_register() does by testing
> ATH11K_FLAG_REGISTERED.
>
> Tested-on: WCN6855 hw2.0 PCI WLAN.HSP.1.1-03125-QCAHSPSWPL_V1_V2_SILICONZ_LITE-3.6510.30
>
> Signed-off-by: Kalle Valo <[email protected]>

you need to add your own S-O-B

> ---
> drivers/net/wireless/ath/ath11k/thermal.c | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/net/wireless/ath/ath11k/thermal.c b/drivers/net/wireless/ath/ath11k/thermal.c
> index c29b11ab5bfa..41e7499f075f 100644
> --- a/drivers/net/wireless/ath/ath11k/thermal.c
> +++ b/drivers/net/wireless/ath/ath11k/thermal.c
> @@ -1,7 +1,7 @@
> // SPDX-License-Identifier: BSD-3-Clause-Clear
> /*
> * Copyright (c) 2020 The Linux Foundation. All rights reserved.
> - * Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved.
> + * Copyright (c) 2022-2024 Qualcomm Innovation Center, Inc. All rights reserved.
> */
>
> #include <linux/device.h>
> @@ -163,6 +163,9 @@ int ath11k_thermal_register(struct ath11k_base *ab)
> struct ath11k_pdev *pdev;
> int i, ret;
>
> + if (test_bit(ATH11K_FLAG_REGISTERED, &ab->dev_flags))
> + return 0;
> +
> for (i = 0; i < ab->num_radios; i++) {
> pdev = &ab->pdevs[i];
> ar = pdev->ar;


2024-02-22 02:34:29

by Baochen Qiang

[permalink] [raw]
Subject: Re: [PATCH 5/5] wifi: ath11k: thermal: don't try to register multiple times



On 2/22/2024 1:15 AM, Jeff Johnson wrote:
> On 2/20/2024 6:47 PM, Baochen Qiang wrote:
>> From: Kalle Valo <[email protected]>
>>
>> Every time the firmware boots we call ath11k_core_qmi_firmware_ready() which
>> ends up calling ath11k_thermal_register(). So we try to register thermal
>> devices multiple times. And when we power off the firmware during
>> suspend/hibernation (implemented in the next patch) we get a warning in resume:
>>
>> hwmon hwmon4: PM: parent phy0 should not be sleeping
>>
>> Workaround this similarly like ath11k_mac_register() does by testing
>> ATH11K_FLAG_REGISTERED.
>>
>> Tested-on: WCN6855 hw2.0 PCI WLAN.HSP.1.1-03125-QCAHSPSWPL_V1_V2_SILICONZ_LITE-3.6510.30
>>
>> Signed-off-by: Kalle Valo <[email protected]>
>
> you need to add your own S-O-B
Oh, sorry for missing that.

Hi Kalle, I see you have put this series in pending branch. I am
wondering if I need to send a v2 to add my S-O-B tag, or you have any
other plan?

>
>> ---
>> drivers/net/wireless/ath/ath11k/thermal.c | 5 ++++-
>> 1 file changed, 4 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/net/wireless/ath/ath11k/thermal.c b/drivers/net/wireless/ath/ath11k/thermal.c
>> index c29b11ab5bfa..41e7499f075f 100644
>> --- a/drivers/net/wireless/ath/ath11k/thermal.c
>> +++ b/drivers/net/wireless/ath/ath11k/thermal.c
>> @@ -1,7 +1,7 @@
>> // SPDX-License-Identifier: BSD-3-Clause-Clear
>> /*
>> * Copyright (c) 2020 The Linux Foundation. All rights reserved.
>> - * Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved.
>> + * Copyright (c) 2022-2024 Qualcomm Innovation Center, Inc. All rights reserved.
>> */
>>
>> #include <linux/device.h>
>> @@ -163,6 +163,9 @@ int ath11k_thermal_register(struct ath11k_base *ab)
>> struct ath11k_pdev *pdev;
>> int i, ret;
>>
>> + if (test_bit(ATH11K_FLAG_REGISTERED, &ab->dev_flags))
>> + return 0;
>> +
>> for (i = 0; i < ab->num_radios; i++) {
>> pdev = &ab->pdevs[i];
>> ar = pdev->ar;
>

2024-02-22 06:25:14

by Kalle Valo

[permalink] [raw]
Subject: Re: [PATCH 5/5] wifi: ath11k: thermal: don't try to register multiple times

Baochen Qiang <[email protected]> writes:

> On 2/22/2024 1:15 AM, Jeff Johnson wrote:
>> On 2/20/2024 6:47 PM, Baochen Qiang wrote:
>>> From: Kalle Valo <[email protected]>
>>>
>>> Every time the firmware boots we call ath11k_core_qmi_firmware_ready() which
>>> ends up calling ath11k_thermal_register(). So we try to register thermal
>>> devices multiple times. And when we power off the firmware during
>>> suspend/hibernation (implemented in the next patch) we get a warning in resume:
>>>
>>> hwmon hwmon4: PM: parent phy0 should not be sleeping
>>>
>>> Workaround this similarly like ath11k_mac_register() does by testing
>>> ATH11K_FLAG_REGISTERED.
>>>
>>> Tested-on: WCN6855 hw2.0 PCI WLAN.HSP.1.1-03125-QCAHSPSWPL_V1_V2_SILICONZ_LITE-3.6510.30
>>>
>>> Signed-off-by: Kalle Valo <[email protected]>
>> you need to add your own S-O-B
> Oh, sorry for missing that.
>
> Hi Kalle, I see you have put this series in pending branch. I am
> wondering if I need to send a v2 to add my S-O-B tag, or you have any
> other plan?

I can add it in the pending branch if you send it to me as a reply to
this mail. s-o-b is like a signature so I won't add it on my own.

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

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

2024-02-22 07:43:43

by Baochen Qiang

[permalink] [raw]
Subject: Re: [PATCH 5/5] wifi: ath11k: thermal: don't try to register multiple times



On 2/22/2024 2:25 PM, Kalle Valo wrote:
> Baochen Qiang <[email protected]> writes:
>
>> On 2/22/2024 1:15 AM, Jeff Johnson wrote:
>>> On 2/20/2024 6:47 PM, Baochen Qiang wrote:
>>>> From: Kalle Valo <[email protected]>
>>>>
>>>> Every time the firmware boots we call ath11k_core_qmi_firmware_ready() which
>>>> ends up calling ath11k_thermal_register(). So we try to register thermal
>>>> devices multiple times. And when we power off the firmware during
>>>> suspend/hibernation (implemented in the next patch) we get a warning in resume:
>>>>
>>>> hwmon hwmon4: PM: parent phy0 should not be sleeping
>>>>
>>>> Workaround this similarly like ath11k_mac_register() does by testing
>>>> ATH11K_FLAG_REGISTERED.
>>>>
>>>> Tested-on: WCN6855 hw2.0 PCI WLAN.HSP.1.1-03125-QCAHSPSWPL_V1_V2_SILICONZ_LITE-3.6510.30
>>>>
>>>> Signed-off-by: Kalle Valo <[email protected]>
>>> you need to add your own S-O-B
>> Oh, sorry for missing that.
>>
>> Hi Kalle, I see you have put this series in pending branch. I am
>> wondering if I need to send a v2 to add my S-O-B tag, or you have any
>> other plan?
>
> I can add it in the pending branch if you send it to me as a reply to
> this mail. s-o-b is like a signature so I won't add it on my own.
Understood Kalle. So please help add below tag to this patch in pending
branch:
Signed-off-by: Baochen Qiang <[email protected]>
>

2024-02-22 14:58:31

by Kalle Valo

[permalink] [raw]
Subject: Re: [PATCH 5/5] wifi: ath11k: thermal: don't try to register multiple times

Baochen Qiang <[email protected]> writes:

> On 2/22/2024 2:25 PM, Kalle Valo wrote:
>> Baochen Qiang <[email protected]> writes:
>>
>>> On 2/22/2024 1:15 AM, Jeff Johnson wrote:
>>>> On 2/20/2024 6:47 PM, Baochen Qiang wrote:
>>>>> From: Kalle Valo <[email protected]>
>>>>>
>>>>> Every time the firmware boots we call ath11k_core_qmi_firmware_ready() which
>>>>> ends up calling ath11k_thermal_register(). So we try to register thermal
>>>>> devices multiple times. And when we power off the firmware during
>>>>> suspend/hibernation (implemented in the next patch) we get a warning in resume:
>>>>>
>>>>> hwmon hwmon4: PM: parent phy0 should not be sleeping
>>>>>
>>>>> Workaround this similarly like ath11k_mac_register() does by testing
>>>>> ATH11K_FLAG_REGISTERED.
>>>>>
>>>>> Tested-on: WCN6855 hw2.0 PCI
>>>>> WLAN.HSP.1.1-03125-QCAHSPSWPL_V1_V2_SILICONZ_LITE-3.6510.30
>>>>>
>>>>> Signed-off-by: Kalle Valo <[email protected]>
>>>> you need to add your own S-O-B
>>> Oh, sorry for missing that.
>>>
>>> Hi Kalle, I see you have put this series in pending branch. I am
>>> wondering if I need to send a v2 to add my S-O-B tag, or you have any
>>> other plan?
>> I can add it in the pending branch if you send it to me as a reply
>> to
>> this mail. s-o-b is like a signature so I won't add it on my own.
> Understood Kalle. So please help add below tag to this patch in
> pending branch:
> Signed-off-by: Baochen Qiang <[email protected]>

Thanks, added:

https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git/commit/?h=pending&id=a88f2007763465f2be307c3a5ed542233bc3c77e

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

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

2024-02-23 15:53:06

by Kalle Valo

[permalink] [raw]
Subject: Re: [PATCH 1/5] wifi: ath11k: rearrange IRQ enable/disable in reset path

Baochen Qiang <[email protected]> wrote:

> For non WoW suspend/resume, ath11k host powers down whole hardware
> when suspend and powers up it when resume, the code path it goes
> through is very like the ath11k reset logic.
>
> In order to reuse that logic, rearrange IRQ handling in the reset
> path.
>
> Tested-on: WCN6855 hw2.0 PCI WLAN.HSP.1.1-03125-QCAHSPSWPL_V1_V2_SILICONZ_LITE-3.6510.30
>
> Signed-off-by: Kalle Valo <[email protected]>
> Signed-off-by: Baochen Qiang <[email protected]>

5 patches applied to ath-next branch of ath.git, thanks.

d455e805de70 wifi: ath11k: rearrange IRQ enable/disable in reset path
fbb2a14afe00 wifi: ath11k: remove MHI LOOPBACK channels
5f3288a34878 wifi: ath11k: do not dump SRNG statistics during resume
361c90ed3647 wifi: ath11k: fix warning on DMA ring capabilities event
50556081e09b wifi: ath11k: thermal: don't try to register multiple times

--
https://patchwork.kernel.org/project/linux-wireless/patch/[email protected]/

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