]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
wifi: ath12k: Add HTT source ring ID for monitor rings
authorP Praneesh <quic_ppranees@quicinc.com>
Mon, 23 Dec 2024 06:01:19 +0000 (11:31 +0530)
committerJeff Johnson <jeff.johnson@oss.qualcomm.com>
Sun, 26 Jan 2025 18:41:28 +0000 (10:41 -0800)
Add source buffer ring and destination buffer ring ID for monitor rings.
These IDs are used for ring configuration during initial ring setup.

Since monitor rings are enabled based on the rxdma1_enable flag, enable it
in the hardware param for the QCN9274 version 2 hardware and increase the
destination ring size to handle MSDU data buffers.

Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.3.1-00173-QCAHKSWPL_SILICONZ-1
Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.0.c5-00481-QCAHMTSWPL_V1.0_V2.0_SILICONZ-3

Signed-off-by: P Praneesh <quic_ppranees@quicinc.com>
Link: https://patch.msgid.link/20241223060132.3506372-2-quic_ppranees@quicinc.com
Signed-off-by: Jeff Johnson <jeff.johnson@oss.qualcomm.com>
drivers/net/wireless/ath/ath12k/dp.h
drivers/net/wireless/ath/ath12k/dp_tx.c
drivers/net/wireless/ath/ath12k/hw.c

index 7ac3143de0168c8b73c711547e1c808df24ee1e8..1099ec19260bb571a10a642c5b586ab1c3b93f52 100644 (file)
@@ -176,7 +176,7 @@ struct ath12k_pdev_dp {
 #define DP_RXDMA_ERR_DST_RING_SIZE     1024
 #define DP_RXDMA_MON_STATUS_RING_SIZE  1024
 #define DP_RXDMA_MONITOR_BUF_RING_SIZE 4096
-#define DP_RXDMA_MONITOR_DST_RING_SIZE 2048
+#define DP_RXDMA_MONITOR_DST_RING_SIZE 8092
 #define DP_RXDMA_MONITOR_DESC_RING_SIZE        4096
 #define DP_TX_MONITOR_BUF_RING_SIZE    4096
 #define DP_TX_MONITOR_DEST_RING_SIZE   2048
@@ -434,8 +434,11 @@ enum htt_srng_ring_id {
        HTT_HOST1_TO_FW_RXBUF_RING,
        HTT_HOST2_TO_FW_RXBUF_RING,
        HTT_RXDMA_NON_MONITOR_DEST_RING,
+       HTT_RXDMA_HOST_BUF_RING2,
        HTT_TX_MON_HOST2MON_BUF_RING,
        HTT_TX_MON_MON2HOST_DEST_RING,
+       HTT_RX_MON_HOST2MON_BUF_RING,
+       HTT_RX_MON_MON2HOST_DEST_RING,
 };
 
 /* host -> target  HTT_SRING_SETUP message
index de8bb9c1533e9ba3ed3b4d9ac89b0e193a518712..133a496bebb9771adef057898d34fb8b461b9209 100644 (file)
@@ -946,7 +946,7 @@ ath12k_dp_tx_get_ring_id_type(struct ath12k_base *ab,
                *htt_ring_type = HTT_HW_TO_SW_RING;
                break;
        case HAL_RXDMA_MONITOR_BUF:
-               *htt_ring_id = HTT_RXDMA_MONITOR_BUF_RING;
+               *htt_ring_id = HTT_RX_MON_HOST2MON_BUF_RING;
                *htt_ring_type = HTT_SW_TO_HW_RING;
                break;
        case HAL_RXDMA_MONITOR_STATUS:
@@ -954,7 +954,7 @@ ath12k_dp_tx_get_ring_id_type(struct ath12k_base *ab,
                *htt_ring_type = HTT_SW_TO_HW_RING;
                break;
        case HAL_RXDMA_MONITOR_DST:
-               *htt_ring_id = HTT_RXDMA_MONITOR_DEST_RING;
+               *htt_ring_id = HTT_RX_MON_MON2HOST_DEST_RING;
                *htt_ring_type = HTT_HW_TO_SW_RING;
                break;
        case HAL_RXDMA_MONITOR_DESC:
index b7b583fadb5ac1fef33d16ec46b473fc742212ad..14bbd446ad37096236c62228ea54746756d6d0c8 100644 (file)
@@ -1035,7 +1035,7 @@ static const struct ath12k_hw_params ath12k_hw_params[] = {
 
                .hal_params = &ath12k_hw_hal_params_qcn9274,
 
-               .rxdma1_enable = false,
+               .rxdma1_enable = true,
                .num_rxdma_per_pdev = 1,
                .num_rxdma_dst_ring = 0,
                .rx_mac_buf_ring = false,