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
orang tua b1261d4e0c
melakukan 03a9f5b19c
13 mengubah file dengan 149 tambahan dan 95 penghapusan

Melihat File

@@ -513,8 +513,7 @@ void dp_rx_wbm_err_handle_bar(struct dp_soc *soc,
*/
rx_tlv_hdr = qdf_nbuf_data(nbuf);
bar = (struct ieee80211_frame_bar *)(rx_tlv_hdr +
sizeof(struct rx_pkt_tlvs));
bar = (struct ieee80211_frame_bar *)(rx_tlv_hdr + SIZE_OF_DATA_RX_TLV);
type = bar->i_fc[0] & IEEE80211_FC0_TYPE_MASK;
subtype = bar->i_fc[0] & IEEE80211_FC0_SUBTYPE_MASK;
@@ -677,7 +676,7 @@ dp_rx_null_q_handle_invalid_peer_id_exception(struct dp_soc *soc,
static inline
bool dp_rx_null_q_check_pkt_len_exception(struct dp_soc *soc, uint32_t pkt_len)
{
if (qdf_unlikely(pkt_len > RX_BUFFER_SIZE)) {
if (qdf_unlikely(pkt_len > RX_DATA_BUFFER_SIZE)) {
DP_STATS_INC_PKT(soc, rx.err.rx_invalid_pkt_len,
1, pkt_len);
return true;
@@ -762,8 +761,8 @@ dp_rx_null_q_desc_handle(struct dp_soc *soc, qdf_nbuf_t nbuf,
goto drop_nbuf;
/* Set length in nbuf */
qdf_nbuf_set_pktlen(nbuf,
qdf_min(pkt_len, (uint32_t)RX_BUFFER_SIZE));
qdf_nbuf_set_pktlen(
nbuf, qdf_min(pkt_len, (uint32_t)RX_DATA_BUFFER_SIZE));
qdf_assert_always(nbuf->data == rx_tlv_hdr);
}