qcacmn: Add framework to configure varying data/monitor buf size

Add a framework to configure varying buffer size for both data and monitor
buffers.
For example, with this framework, the user can configure 2K SKB for Data
buffers, monitor status rings, monitor descriptor rings, monitor
destination rings and 4K SKB for monitor buffers through compile time.

Change-Id: I212d04ff6907e71e9c80b69834aa07ecc6db4d2e
CRs-Fixed: 2604646
This commit is contained in:
Shashikala Prabhu
2020-01-28 19:11:30 +05:30
committed by nshrivas
父節點 b1261d4e0c
當前提交 03a9f5b19c
共有 13 個文件被更改,包括 149 次插入95 次删除

查看文件

@@ -1420,7 +1420,8 @@ dp_rx_mon_status_process_tlv(struct dp_soc *soc, uint32_t mac_id,
rx_tlv = hal_rx_status_get_next_tlv(rx_tlv);
if ((rx_tlv - rx_tlv_start) >= RX_BUFFER_SIZE)
if ((rx_tlv - rx_tlv_start) >=
RX_DATA_BUFFER_SIZE)
break;
} while ((tlv_status == HAL_TLV_STATUS_PPDU_NOT_DONE) ||
@@ -1599,7 +1600,7 @@ dp_rx_mon_status_srng_process(struct dp_soc *soc, uint32_t mac_id,
hal_srng_src_get_next(hal_soc, mon_status_srng);
continue;
}
qdf_nbuf_set_pktlen(status_nbuf, RX_BUFFER_SIZE);
qdf_nbuf_set_pktlen(status_nbuf, RX_DATA_BUFFER_SIZE);
qdf_nbuf_unmap_single(soc->osdev, status_nbuf,
QDF_DMA_FROM_DEVICE);
@@ -1934,6 +1935,9 @@ dp_rx_pdev_mon_status_attach(struct dp_pdev *pdev, int ring_id) {
if (!QDF_IS_STATUS_SUCCESS(status))
return status;
rx_desc_pool->buf_size = RX_DATA_BUFFER_SIZE;
rx_desc_pool->buf_alignment = RX_DATA_BUFFER_ALIGNMENT;
dp_debug("Mon RX Status Buffers Replenish ring_id=%d", ring_id);
status = dp_rx_mon_status_buffers_replenish(soc, ring_id,