qcacmn: Updating the correct vdev_id for multivap
When Multivaps are configured in a radio, the vdev_id's are not updated as expected. With the changes, the vdev_id are properly updated in the registers Change-Id: I7d987e96bd0f8a91f13025fa6975415ea235ce12 CRs-Fixed: 3318563
This commit is contained in:

committed by
Madan Koyyalamudi

parent
47c7d6990d
commit
72592f40f8
@@ -355,60 +355,12 @@ void hal_tx_set_ppe_vp_entry_9224(hal_soc_handle_t hal_soc_hdl,
|
||||
int ppe_vp_idx)
|
||||
{
|
||||
struct hal_soc *soc = (struct hal_soc *)hal_soc_hdl;
|
||||
uint32_t reg_addr, reg_val = 0;
|
||||
uint32_t reg_addr;
|
||||
|
||||
reg_addr = HWIO_TCL_R0_PPE_VP_CONFIG_TABLE_n_ADDR(MAC_TCL_REG_REG_BASE,
|
||||
ppe_vp_idx);
|
||||
|
||||
/*
|
||||
* Drop precedence is enabled by default.
|
||||
*/
|
||||
reg_val = HAL_REG_READ(soc, reg_addr);
|
||||
|
||||
reg_val &= ~HWIO_TCL_R0_PPE_VP_CONFIG_TABLE_n_VP_NUM_BMSK;
|
||||
reg_val |= (cfg->vp_num &
|
||||
HWIO_TCL_R0_PPE_VP_CONFIG_TABLE_n_VP_NUM_BMSK) <<
|
||||
HWIO_TCL_R0_PPE_VP_CONFIG_TABLE_n_VP_NUM_SHFT;
|
||||
|
||||
reg_val &= ~HWIO_TCL_R0_PPE_VP_CONFIG_TABLE_n_PMAC_ID_BMSK;
|
||||
reg_val |= (cfg->pmac_id &
|
||||
HWIO_TCL_R0_PPE_VP_CONFIG_TABLE_n_PMAC_ID_BMSK) <<
|
||||
HWIO_TCL_R0_PPE_VP_CONFIG_TABLE_n_PMAC_ID_SHFT;
|
||||
|
||||
reg_val &= ~HWIO_TCL_R0_PPE_VP_CONFIG_TABLE_n_BANK_ID_BMSK;
|
||||
reg_val |= (cfg->bank_id &
|
||||
HWIO_TCL_R0_PPE_VP_CONFIG_TABLE_n_BANK_ID_BMSK) <<
|
||||
HWIO_TCL_R0_PPE_VP_CONFIG_TABLE_n_BANK_ID_SHFT;
|
||||
|
||||
reg_val &= ~HWIO_TCL_R0_PPE_VP_CONFIG_TABLE_n_VDEV_ID_BMSK;
|
||||
reg_val |= (cfg->vdev_id &
|
||||
HWIO_TCL_R0_PPE_VP_CONFIG_TABLE_n_VDEV_ID_BMSK) <<
|
||||
HWIO_TCL_R0_PPE_VP_CONFIG_TABLE_n_VDEV_ID_SHFT;
|
||||
|
||||
reg_val &= ~HWIO_TCL_R0_PPE_VP_CONFIG_TABLE_n_SEARCH_INDEX_REG_NUM_BMSK;
|
||||
reg_val |=
|
||||
(cfg->search_idx_reg_num &
|
||||
HWIO_TCL_R0_PPE_VP_CONFIG_TABLE_n_SEARCH_INDEX_REG_NUM_BMSK) <<
|
||||
HWIO_TCL_R0_PPE_VP_CONFIG_TABLE_n_SEARCH_INDEX_REG_NUM_SHFT;
|
||||
|
||||
reg_val &=
|
||||
~HWIO_TCL_R0_PPE_VP_CONFIG_TABLE_n_USE_PPE_INT_PRI_FOR_TID_BMSK;
|
||||
reg_val |=
|
||||
(cfg->use_ppe_int_pri &
|
||||
HWIO_TCL_R0_PPE_VP_CONFIG_TABLE_n_USE_PPE_INT_PRI_FOR_TID_BMSK) <<
|
||||
HWIO_TCL_R0_PPE_VP_CONFIG_TABLE_n_USE_PPE_INT_PRI_FOR_TID_SHFT;
|
||||
|
||||
reg_val &= ~HWIO_TCL_R0_PPE_VP_CONFIG_TABLE_n_TO_FW_BMSK;
|
||||
reg_val |= (cfg->to_fw &
|
||||
HWIO_TCL_R0_PPE_VP_CONFIG_TABLE_n_TO_FW_BMSK) <<
|
||||
HWIO_TCL_R0_PPE_VP_CONFIG_TABLE_n_TO_FW_SHFT;
|
||||
|
||||
reg_val &= ~HWIO_TCL_R0_PPE_VP_CONFIG_TABLE_n_DROP_PREC_ENABLE_BMSK;
|
||||
reg_val |= (cfg->drop_prec_enable &
|
||||
HWIO_TCL_R0_PPE_VP_CONFIG_TABLE_n_DROP_PREC_ENABLE_BMSK) <<
|
||||
HWIO_TCL_R0_PPE_VP_CONFIG_TABLE_n_DROP_PREC_ENABLE_SHFT;
|
||||
|
||||
HAL_REG_WRITE(soc, reg_addr, reg_val);
|
||||
HAL_REG_WRITE(soc, reg_addr, cfg->val);
|
||||
}
|
||||
|
||||
/**
|
||||
|
Reference in New Issue
Block a user