qcacmn: SG support in RX path

Process the sg frames received in RX path.

Change-Id: Ia2d83c75c46f804599ca8fda4668c43ee508d59e
CRs-Fixed: 3303055
This commit is contained in:
Sai Rupesh Chevuru
2022-09-29 15:22:10 +05:30
committed by Madan Koyyalamudi
parent 7f84ab9a72
commit 431514912a
4 changed files with 39 additions and 10 deletions

View File

@@ -729,13 +729,16 @@ done:
rx.raw, 1,
msdu_len);
} else {
dp_rx_nbuf_free(nbuf);
DP_STATS_INC(soc, rx.err.scatter_msdu, 1);
dp_info_rl("scatter msdu len %d, dropped",
if (!dp_rx_is_sg_supported()) {
dp_rx_nbuf_free(nbuf);
dp_info_rl("sg msdu len %d, dropped",
msdu_len);
nbuf = next;
continue;
}
}
} else {
msdu_len = QDF_NBUF_CB_RX_PKT_LEN(nbuf);
pkt_len = msdu_len +

View File

@@ -1772,6 +1772,23 @@ qdf_nbuf_t dp_rx_sg_create(struct dp_soc *soc, qdf_nbuf_t nbuf)
return parent;
}
#ifdef DP_RX_SG_FRAME_SUPPORT
/**
* dp_rx_is_sg_supported() - SG packets processing supported or not.
*
* Return: returns true when processing is supported else false.
*/
bool dp_rx_is_sg_supported(void)
{
return true;
}
#else
bool dp_rx_is_sg_supported(void)
{
return false;
}
#endif
#endif /* QCA_HOST_MODE_WIFI_DISABLED */
#ifdef QCA_PEER_EXT_STATS

View File

@@ -886,6 +886,12 @@ dp_rx_wbm_err_process(struct dp_intr *int_ctx, struct dp_soc *soc,
*/
qdf_nbuf_t dp_rx_sg_create(struct dp_soc *soc, qdf_nbuf_t nbuf);
/**
* dp_rx_is_sg_supported() - SG packets processing supported or not.
*
* Return: returns true when processing is supported else false.
*/
bool dp_rx_is_sg_supported(void);
/*
* dp_rx_desc_nbuf_and_pool_free() - free the sw rx desc pool called during

View File

@@ -739,13 +739,16 @@ done:
rx.raw, 1,
msdu_len);
} else {
dp_rx_nbuf_free(nbuf);
DP_STATS_INC(soc, rx.err.scatter_msdu, 1);
dp_info_rl("scatter msdu len %d, dropped",
if (!dp_rx_is_sg_supported()) {
dp_rx_nbuf_free(nbuf);
dp_info_rl("sg msdu len %d, dropped",
msdu_len);
nbuf = next;
continue;
}
}
} else {
msdu_len = QDF_NBUF_CB_RX_PKT_LEN(nbuf);
pkt_len = msdu_len +