wifi: ath12k: avoid explicit RBM id argument in Rxdma replenish
authorKarthikeyan Periyasamy <quic_periyasa@quicinc.com>
Wed, 22 Nov 2023 18:31:02 +0000 (20:31 +0200)
committerKalle Valo <quic_kvalo@quicinc.com>
Wed, 29 Nov 2023 11:27:07 +0000 (13:27 +0200)
Currently all Rxdma replenish callers pass the same return
buffer manager id argument, so make it implicitly. To
optimize the rx data path per packet, avoid the explicit
unnecessary argument in Rxdma replenish function.

Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.1.1-00125-QCAHKSWPL_SILICONZ-1

Signed-off-by: Karthikeyan Periyasamy <quic_periyasa@quicinc.com>
Acked-by: Jeff Johnson <quic_jjohnson@quicinc.com>
Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com>
Link: https://lore.kernel.org/r/20231111043934.20485-3-quic_periyasa@quicinc.com
drivers/net/wireless/ath/ath12k/dp.c
drivers/net/wireless/ath/ath12k/dp_rx.c
drivers/net/wireless/ath/ath12k/dp_rx.h

index 0eae4e89e07c741e76d3fb572ac89344e000a027..6bd16dbef2ef24eb8827b3e978a7adfc28cbd334 100644 (file)
@@ -962,7 +962,6 @@ int ath12k_dp_service_srng(struct ath12k_base *ab,
                struct dp_rxdma_ring *rx_ring = &dp->rx_refill_buf_ring;
 
                ath12k_dp_rx_bufs_replenish(ab, rx_ring, 0,
-                                           ab->hw_params->hal_params->rx_buf_rbm,
                                            true);
        }
 
index c7fc89af05c0feb69d22da9a0b2084b19cbf64d9..94e04b65bb64545e8870d323e3e3cd3930f427c0 100644 (file)
@@ -259,7 +259,6 @@ static int ath12k_dp_purge_mon_ring(struct ath12k_base *ab)
 int ath12k_dp_rx_bufs_replenish(struct ath12k_base *ab,
                                struct dp_rxdma_ring *rx_ring,
                                int req_entries,
-                               enum hal_rx_buf_return_buf_manager mgr,
                                bool hw_cc)
 {
        struct ath12k_buffer_addr *desc;
@@ -272,6 +271,7 @@ int ath12k_dp_rx_bufs_replenish(struct ath12k_base *ab,
        dma_addr_t paddr;
        struct ath12k_dp *dp = &ab->dp;
        struct ath12k_rx_desc_info *rx_desc;
+       enum hal_rx_buf_return_buf_manager mgr = ab->hw_params->hal_params->rx_buf_rbm;
 
        req_entries = min(req_entries, rx_ring->bufs_max);
 
@@ -436,7 +436,6 @@ static int ath12k_dp_rxdma_ring_buf_setup(struct ath12k_base *ab,
                ath12k_dp_mon_buf_replenish(ab, rx_ring, num_entries);
        else
                ath12k_dp_rx_bufs_replenish(ab, rx_ring, num_entries,
-                                           ab->hw_params->hal_params->rx_buf_rbm,
                                            ringtype == HAL_RXDMA_BUF);
        return 0;
 }
@@ -2709,9 +2708,7 @@ try_again:
        if (!total_msdu_reaped)
                goto exit;
 
-       /* TODO: Move to implicit BM? */
-       ath12k_dp_rx_bufs_replenish(ab, rx_ring, num_buffs_reaped,
-                                   ab->hw_params->hal_params->rx_buf_rbm, true);
+       ath12k_dp_rx_bufs_replenish(ab, rx_ring, num_buffs_reaped, true);
 
        ath12k_dp_rx_process_received_packets(ab, napi, &msdu_list,
                                              ring_id);
@@ -3489,8 +3486,7 @@ exit:
 
        rx_ring = &dp->rx_refill_buf_ring;
 
-       ath12k_dp_rx_bufs_replenish(ab, rx_ring, tot_n_bufs_reaped,
-                                   ab->hw_params->hal_params->rx_buf_rbm, true);
+       ath12k_dp_rx_bufs_replenish(ab, rx_ring, tot_n_bufs_reaped, true);
 
        return tot_n_bufs_reaped;
 }
@@ -3803,8 +3799,7 @@ int ath12k_dp_rx_process_wbm_err(struct ath12k_base *ab,
        if (!num_buffs_reaped)
                goto done;
 
-       ath12k_dp_rx_bufs_replenish(ab, rx_ring, num_buffs_reaped,
-                                   ab->hw_params->hal_params->rx_buf_rbm, true);
+       ath12k_dp_rx_bufs_replenish(ab, rx_ring, num_buffs_reaped, true);
 
        rcu_read_lock();
        for (i = 0; i <  ab->num_radios; i++) {
index ef1b172e685c9633a3cbbf2d1497d26f17b3c596..b0fb806a3b1473e8c17c37f3724172b5396a5f02 100644 (file)
@@ -119,7 +119,6 @@ int ath12k_dp_rx_process(struct ath12k_base *ab, int mac_id,
 int ath12k_dp_rx_bufs_replenish(struct ath12k_base *ab,
                                struct dp_rxdma_ring *rx_ring,
                                int req_entries,
-                               enum hal_rx_buf_return_buf_manager mgr,
                                bool hw_cc);
 int ath12k_dp_rx_pdev_mon_attach(struct ath12k *ar);
 int ath12k_dp_rx_peer_frag_setup(struct ath12k *ar, const u8 *peer_mac, int vdev_id);