linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] ath10k: fix PCIE device wake up failed
@ 2019-05-30  1:49 Miaoqing Pan
  2019-06-25 13:03 ` Kalle Valo
  0 siblings, 1 reply; 2+ messages in thread
From: Miaoqing Pan @ 2019-05-30  1:49 UTC (permalink / raw)
  To: ath10k; +Cc: linux-wireless, Miaoqing Pan

Observed PCIE device wake up failed after ~120 iterations of
soft-reboot test. The error message is
"ath10k_pci 0000:01:00.0: failed to wake up device : -110"

The call trace as below:
ath10k_pci_probe -> ath10k_pci_force_wake -> ath10k_pci_wake_wait ->
ath10k_pci_is_awake

Once trigger the device to wake up, we will continuously check the RTC
state until it returns RTC_STATE_V_ON or timeout.

But for QCA99x0 chips, we use wrong value for RTC_STATE_V_ON.
Occasionally, we get 0x7 on the fist read, we thought as a failure
case, but actually is the right value, also verified with the spec.
So fix the issue by changing RTC_STATE_V_ON from 0x5 to 0x7, passed
~2000 iterations.

Tested HW: QCA9984

Signed-off-by: Miaoqing Pan <miaoqing@codeaurora.org>
---
 drivers/net/wireless/ath/ath10k/hw.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/wireless/ath/ath10k/hw.c b/drivers/net/wireless/ath/ath10k/hw.c
index ad082b7..b242085 100644
--- a/drivers/net/wireless/ath/ath10k/hw.c
+++ b/drivers/net/wireless/ath/ath10k/hw.c
@@ -158,7 +158,7 @@
 };
 
 const struct ath10k_hw_values qca99x0_values = {
-	.rtc_state_val_on		= 5,
+	.rtc_state_val_on		= 7,
 	.ce_count			= 12,
 	.msi_assign_ce_max		= 12,
 	.num_target_ce_config_wlan	= 10,
-- 
1.9.1


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] ath10k: fix PCIE device wake up failed
  2019-05-30  1:49 [PATCH] ath10k: fix PCIE device wake up failed Miaoqing Pan
@ 2019-06-25 13:03 ` Kalle Valo
  0 siblings, 0 replies; 2+ messages in thread
From: Kalle Valo @ 2019-06-25 13:03 UTC (permalink / raw)
  To: Miaoqing Pan; +Cc: ath10k, linux-wireless, Miaoqing Pan

Miaoqing Pan <miaoqing@codeaurora.org> wrote:

> Observed PCIE device wake up failed after ~120 iterations of
> soft-reboot test. The error message is
> "ath10k_pci 0000:01:00.0: failed to wake up device : -110"
> 
> The call trace as below:
> ath10k_pci_probe -> ath10k_pci_force_wake -> ath10k_pci_wake_wait ->
> ath10k_pci_is_awake
> 
> Once trigger the device to wake up, we will continuously check the RTC
> state until it returns RTC_STATE_V_ON or timeout.
> 
> But for QCA99x0 chips, we use wrong value for RTC_STATE_V_ON.
> Occasionally, we get 0x7 on the fist read, we thought as a failure
> case, but actually is the right value, also verified with the spec.
> So fix the issue by changing RTC_STATE_V_ON from 0x5 to 0x7, passed
> ~2000 iterations.
> 
> Tested HW: QCA9984
> 
> Signed-off-by: Miaoqing Pan <miaoqing@codeaurora.org>
> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>

Patch applied to ath-next branch of ath.git, thanks.

011d4111c8c6 ath10k: fix PCIE device wake up failed

-- 
https://patchwork.kernel.org/patch/10968039/

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


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2019-06-25 13:03 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-05-30  1:49 [PATCH] ath10k: fix PCIE device wake up failed Miaoqing Pan
2019-06-25 13:03 ` Kalle Valo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).