qcacmn: Avoid per packet Rx refill buffer pool lock

Avoid per packet Rx refill buff pool lock, instead
acquire/release lock for burst of nbuf's replenishment.

Change-Id: I778cb9702d31d4b8911cca4e7f06f12c50ef6df9
CRs-Fixed: 2884208
Cette révision appartient à :
Karthik Kantamneni
2021-02-23 16:57:44 +05:30
révisé par snandini
Parent 58b2f08534
révision c9cec76270
4 fichiers modifiés avec 41 ajouts et 4 suppressions

Voir le fichier

@@ -303,6 +303,7 @@ QDF_STATUS __dp_rx_buffers_replenish(struct dp_soc *dp_soc, uint32_t mac_id,
dp_soc, num_req_buffers);
hal_srng_access_start(dp_soc->hal_soc, rxdma_srng);
num_entries_avail = hal_srng_src_num_avail(dp_soc->hal_soc,
rxdma_srng,
sync_hw_ptr);
@@ -349,6 +350,8 @@ QDF_STATUS __dp_rx_buffers_replenish(struct dp_soc *dp_soc, uint32_t mac_id,
count = 0;
dp_rx_refill_buff_pool_lock(dp_soc);
while (count < num_req_buffers) {
/* Flag is set while pdev rx_desc_pool initialization */
if (qdf_unlikely(rx_desc_pool->rx_mon_dest_frag_enable))
@@ -405,6 +408,8 @@ QDF_STATUS __dp_rx_buffers_replenish(struct dp_soc *dp_soc, uint32_t mac_id,
}
dp_rx_refill_buff_pool_unlock(dp_soc);
hal_srng_access_end(dp_soc->hal_soc, rxdma_srng);
dp_rx_schedule_refill_thread(dp_soc);