4b9af18062013210786cfe8738f59c3696745384
[openwrt/staging/hauke.git] / package / kernel / mac80211 / patches / ath11k / 0063-wifi-ath11k-Prevent-REO-cmd-failures.patch
1 From a8ae833657a45746debde85c38bb7f070d344026 Mon Sep 17 00:00:00 2001
2 From: Harshitha Prem <quic_hprem@quicinc.com>
3 Date: Mon, 17 Apr 2023 13:35:01 +0300
4 Subject: [PATCH] wifi: ath11k: Prevent REO cmd failures
5
6 Prevent REO cmd failures causing double free by increasing REO cmd
7 ring size and moving REO status ring mask to IRQ group 3 from group
8 0 to separate from tx completion ring on IRQ group 0 which may delay
9 reo status processing.
10
11 Tested-on: QCN9074 hw1.0 PCI WLAN.HK.2.7.0.1-01744-QCAHKSWPL_SILICONZ-1
12 Tested-on: IPQ8074 hw2.0 AHB WLAN.HK.2.7.0.1-01744-QCAHKSWPL_SILICONZ-1
13
14 Signed-off-by: Sathishkumar Muruganandam <quic_murugana@quicinc.com>
15 Signed-off-by: Harshitha Prem <quic_hprem@quicinc.com>
16 Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com>
17 Link: https://lore.kernel.org/r/20230403182420.23375-3-quic_hprem@quicinc.com
18 ---
19 drivers/net/wireless/ath/ath11k/dp.h | 2 +-
20 drivers/net/wireless/ath/ath11k/hw.c | 1 +
21 2 files changed, 2 insertions(+), 1 deletion(-)
22
23 --- a/drivers/net/wireless/ath/ath11k/dp.h
24 +++ b/drivers/net/wireless/ath/ath11k/dp.h
25 @@ -214,7 +214,7 @@ struct ath11k_pdev_dp {
26 #define DP_REO_REINJECT_RING_SIZE 32
27 #define DP_RX_RELEASE_RING_SIZE 1024
28 #define DP_REO_EXCEPTION_RING_SIZE 128
29 -#define DP_REO_CMD_RING_SIZE 128
30 +#define DP_REO_CMD_RING_SIZE 256
31 #define DP_REO_STATUS_RING_SIZE 2048
32 #define DP_RXDMA_BUF_RING_SIZE 4096
33 #define DP_RXDMA_REFILL_RING_SIZE 2048
34 --- a/drivers/net/wireless/ath/ath11k/hw.c
35 +++ b/drivers/net/wireless/ath/ath11k/hw.c
36 @@ -1233,6 +1233,7 @@ const struct ath11k_hw_ring_mask ath11k_
37 ATH11K_RX_WBM_REL_RING_MASK_0,
38 },
39 .reo_status = {
40 + 0, 0, 0,
41 ATH11K_REO_STATUS_RING_MASK_0,
42 },
43 .rxdma2host = {