qcacmn: Use common REO2SW rings for all SOCs of MLO

Use common REO2SW rings for the packets coming from
all chips of MLO

Change-Id: Icdfd3292d2fbf5e38c1d3b8ff4b30b18009a49f8
CRs-Fixed: 3208378
这个提交包含在:
Chaithanya Garrepalli
2022-05-24 15:12:05 +05:30
提交者 Madan Koyyalamudi
父节点 5b5d4cb57a
当前提交 d66a8a55bb
修改 8 个文件,包含 53 行新增151 行删除

查看文件

@@ -1606,77 +1606,6 @@ static void dp_tx_implicit_rbm_set_be(struct dp_soc *soc,
}
#endif
#ifdef WLAN_MLO_MULTI_CHIP
static void dp_peer_get_reo_hash_be(struct dp_vdev *vdev,
struct cdp_peer_setup_info *setup_info,
enum cdp_host_reo_dest_ring *reo_dest,
bool *hash_based,
uint8_t *lmac_peer_id_msb)
{
struct dp_soc *soc = vdev->pdev->soc;
struct dp_soc_be *be_soc = dp_get_be_soc_from_dp_soc(soc);
uint8_t default_rx_ring_id;
uint8_t chip_id;
if (!be_soc->mlo_enabled)
return dp_vdev_get_default_reo_hash(vdev, reo_dest,
hash_based);
chip_id = be_soc->mlo_chip_id;
default_rx_ring_id =
wlan_cfg_mlo_default_rx_ring_get_by_chip_id(soc->wlan_cfg_ctx,
chip_id);
*reo_dest = hal_reo_ring_remap_value_get_be(default_rx_ring_id);
*hash_based = wlan_cfg_is_rx_hash_enabled(soc->wlan_cfg_ctx);
*lmac_peer_id_msb =
wlan_cfg_mlo_lmac_peer_id_msb_get_by_chip_id(soc->wlan_cfg_ctx,
chip_id);
}
static bool dp_reo_remap_config_be(struct dp_soc *soc,
uint32_t *remap0,
uint32_t *remap1,
uint32_t *remap2)
{
uint8_t rx_ring_mask;
struct dp_soc_be *be_soc = dp_get_be_soc_from_dp_soc(soc);
if (!be_soc->mlo_enabled)
return dp_reo_remap_config(soc, remap0, remap1, remap2);
rx_ring_mask =
wlan_cfg_mlo_rx_ring_map_get_by_chip_id(soc->wlan_cfg_ctx, 0);
*remap0 = hal_reo_ix_remap_value_get_be(soc->hal_soc, rx_ring_mask);
rx_ring_mask =
wlan_cfg_mlo_rx_ring_map_get_by_chip_id(soc->wlan_cfg_ctx, 1);
*remap1 = hal_reo_ix_remap_value_get_be(soc->hal_soc, rx_ring_mask);
rx_ring_mask =
wlan_cfg_mlo_rx_ring_map_get_by_chip_id(soc->wlan_cfg_ctx, 2);
*remap2 = hal_reo_ix_remap_value_get_be(soc->hal_soc, rx_ring_mask);
return true;
}
#else
static void dp_peer_get_reo_hash_be(struct dp_vdev *vdev,
struct cdp_peer_setup_info *setup_info,
enum cdp_host_reo_dest_ring *reo_dest,
bool *hash_based,
uint8_t *lmac_peer_id_msb)
{
dp_vdev_get_default_reo_hash(vdev, reo_dest, hash_based);
}
static bool dp_reo_remap_config_be(struct dp_soc *soc,
uint32_t *remap0,
uint32_t *remap1,
uint32_t *remap2)
{
return dp_reo_remap_config(soc, remap0, remap1, remap2);
}
#endif
QDF_STATUS dp_txrx_set_vdev_param_be(struct dp_soc *soc,
struct dp_vdev *vdev,
enum cdp_vdev_param_type param,
@@ -1837,8 +1766,6 @@ void dp_initialize_arch_ops_be(struct dp_arch_ops *arch_ops)
dp_rx_peer_metadata_peer_id_get_be;
arch_ops->soc_cfg_attach = dp_soc_cfg_attach_be;
arch_ops->tx_implicit_rbm_set = dp_tx_implicit_rbm_set_be;
arch_ops->peer_get_reo_hash = dp_peer_get_reo_hash_be;
arch_ops->reo_remap_config = dp_reo_remap_config_be;
arch_ops->txrx_set_vdev_param = dp_txrx_set_vdev_param_be;
dp_initialize_arch_ops_be_mlo(arch_ops);
arch_ops->dp_peer_rx_reorder_queue_setup =