qcacmn: Change buffer replenishment model for SDX+Pine

For IPQ products, there is 1 refill ring which is of hardware type
and host replenishes the buffers onto this ring so that hardware can
use these buffers for Rx.

In IPA offload mode, the buffer replenishment model is different from
the one mentioned above. There are 3 refill rings, out of which,
2 are software refill rings (1 for host and 1 for IPA), and last ring
is hardware ring given to FW.
Ring given to IPA is to refill the buffers after processing the
regular Rx packets and ring given to host is to refill the buffers
after processing of exception packets. Since there are 2 entities to
refill the buffers, the hardware ring given to FW multiplexes these 2
software rings and provides the buffers to hardware.

Make changes to follow above replenishment model for SDX+Pine
integration.

Change-Id: I0d9e4ec811a3023a258e0a6b9ee22ccdffcebafa
CRs-Fixed: 3049633
This commit is contained in:
Devender Kumar
2021-08-11 19:06:33 +05:30
committed by Madan Koyyalamudi
szülő 30c0b8b4cd
commit 30482aa5c4
6 fájl változott, egészen pontosan 170 új sor hozzáadva és 82 régi sor törölve

Fájl megtekintése

@@ -36,11 +36,11 @@
#define RX_MONITOR_BUFFER_ALIGNMENT 4
#endif /* RXDMA_OPTIMIZATION */
#ifdef QCA_HOST2FW_RXBUF_RING
#if defined(WLAN_MAX_PDEVS) && (WLAN_MAX_PDEVS == 1)
#define DP_WBM2SW_RBM(sw0_bm_id) HAL_RX_BUF_RBM_SW1_BM(sw0_bm_id)
/* RBM value used for re-injecting defragmented packets into REO */
#define DP_DEFRAG_RBM(sw0_bm_id) HAL_RX_BUF_RBM_SW3_BM(sw0_bm_id)
#endif /* QCA_HOST2FW_RXBUF_RING */
#endif
#define RX_BUFFER_RESERVATION 0
@@ -2020,7 +2020,7 @@ dp_rx_is_list_ready(qdf_nbuf_t nbuf_head,
}
#endif
#ifdef QCA_HOST2FW_RXBUF_RING
#if defined(WLAN_MAX_PDEVS) && (WLAN_MAX_PDEVS == 1)
static inline uint8_t
dp_rx_get_defrag_bm_id(struct dp_soc *soc)
{