qcacmn: Fix RBM id assignment for Rx buffers in Rhine

Currently RBM id is not assigned properly for RX buffers
in Rhine architecture. Fix this by assigning RBM id during
soc attach in Rhine.

Change-Id: I8f3a781bfaf81366417107f4bd3da61b142ca1e2
CRs-Fixed: 3573342
此提交包含在:
Karthik Kantamneni
2023-07-27 18:15:08 +05:30
提交者 Rahul Choudhary
父節點 2ae076f0e6
當前提交 c88b38afa1
共有 3 個檔案被更改,包括 56 行新增44 行删除

查看文件

@@ -3088,6 +3088,38 @@ dp_rx_set_wbm_err_info_in_nbuf(struct dp_soc *soc,
qdf_nbuf_t nbuf,
union hal_wbm_err_info_u wbm_err);
#if defined(WLAN_MAX_PDEVS) && (WLAN_MAX_PDEVS == 1)
static inline uint8_t
dp_rx_get_defrag_bm_id(struct dp_soc *soc)
{
return DP_DEFRAG_RBM(soc->wbm_sw0_bm_id);
}
static inline uint8_t
dp_rx_get_rx_bm_id(struct dp_soc *soc)
{
return DP_WBM2SW_RBM(soc->wbm_sw0_bm_id);
}
#else
static inline uint8_t
dp_rx_get_rx_bm_id(struct dp_soc *soc)
{
struct wlan_cfg_dp_soc_ctxt *cfg_ctx = soc->wlan_cfg_ctx;
uint8_t wbm2_sw_rx_rel_ring_id;
wbm2_sw_rx_rel_ring_id = wlan_cfg_get_rx_rel_ring_id(cfg_ctx);
return HAL_RX_BUF_RBM_SW_BM(soc->wbm_sw0_bm_id,
wbm2_sw_rx_rel_ring_id);
}
static inline uint8_t
dp_rx_get_defrag_bm_id(struct dp_soc *soc)
{
return dp_rx_get_rx_bm_id(soc);
}
#endif
#ifndef WLAN_SOFTUMAC_SUPPORT /* WLAN_SOFTUMAC_SUPPORT */
/**
* dp_rx_dump_info_and_assert() - dump RX Ring info and Rx Desc info
@@ -3463,38 +3495,6 @@ dp_rx_mark_first_packet_after_wow_wakeup(struct dp_pdev *pdev,
}
#endif
#if defined(WLAN_MAX_PDEVS) && (WLAN_MAX_PDEVS == 1)
static inline uint8_t
dp_rx_get_defrag_bm_id(struct dp_soc *soc)
{
return DP_DEFRAG_RBM(soc->wbm_sw0_bm_id);
}
static inline uint8_t
dp_rx_get_rx_bm_id(struct dp_soc *soc)
{
return DP_WBM2SW_RBM(soc->wbm_sw0_bm_id);
}
#else
static inline uint8_t
dp_rx_get_rx_bm_id(struct dp_soc *soc)
{
struct wlan_cfg_dp_soc_ctxt *cfg_ctx = soc->wlan_cfg_ctx;
uint8_t wbm2_sw_rx_rel_ring_id;
wbm2_sw_rx_rel_ring_id = wlan_cfg_get_rx_rel_ring_id(cfg_ctx);
return HAL_RX_BUF_RBM_SW_BM(soc->wbm_sw0_bm_id,
wbm2_sw_rx_rel_ring_id);
}
static inline uint8_t
dp_rx_get_defrag_bm_id(struct dp_soc *soc)
{
return dp_rx_get_rx_bm_id(soc);
}
#endif
#else
static inline QDF_STATUS
dp_rx_link_desc_return_by_addr(struct dp_soc *soc,
@@ -3511,18 +3511,6 @@ static inline void dp_rx_wbm_sg_list_reset(struct dp_soc *soc)
static inline void dp_rx_wbm_sg_list_deinit(struct dp_soc *soc)
{
}
static inline uint8_t
dp_rx_get_defrag_bm_id(struct dp_soc *soc)
{
return 0;
}
static inline uint8_t
dp_rx_get_rx_bm_id(struct dp_soc *soc)
{
return 0;
}
#endif /* WLAN_SOFTUMAC_SUPPORT */
#ifndef CONFIG_NBUF_AP_PLATFORM