qcacmn: Set search idx and cache mapping for ppeds

Set search idx and cache mapping for ppeds in
sta mode

Change-Id: I1f892d329878e093d19324a178566b87715e1736
CRs-Fixed: 3367824
这个提交包含在:
Pavankumar Nandeshwar
2022-12-23 07:59:03 -08:00
提交者 Madan Koyyalamudi
父节点 166a30648f
当前提交 4e0ae9b556
修改 8 个文件,包含 83 行新增1 行删除

查看文件

@@ -895,6 +895,24 @@ hal_tx_populate_ppe_vp_entry(hal_soc_handle_t hal_soc_hdl,
hal_soc->ops->hal_tx_set_ppe_vp_entry(hal_soc_hdl, vp_cfg, ppe_vp_idx);
}
/**
* hal_ppeds_cfg_ast_override_map_reg - Set ppe index mapping table value
* @hal_soc: HAL SoC context
* @reg_idx: index into the table
* @ppeds_astoveride_map: HAL PPE INDEX MAPPING config
*
* Return: void
*/
static inline void
hal_ppeds_cfg_ast_override_map_reg(hal_soc_handle_t hal_soc_hdl,
uint8_t reg_idx, union hal_tx_ppe_idx_map_config *ppeds_astoveride_map)
{
struct hal_soc *hal_soc = (struct hal_soc *)hal_soc_hdl;
hal_soc->ops->hal_ppeds_cfg_ast_override_map_reg(hal_soc_hdl, reg_idx,
ppeds_astoveride_map);
}
/**
* hal_tx_set_int_pri2id - Set the prit2tid table.
* @hal_soc: HAL SoC context

查看文件

@@ -165,6 +165,7 @@ typedef struct rx_msdu_desc_info *rx_msdu_desc_info_t;
union hal_tx_ppe_vp_config;
union hal_tx_cmn_config_ppe;
union hal_tx_bank_config;
union hal_tx_ppe_idx_map_config;
/* TBD: This should be movded to shared HW header file */
enum hal_srng_ring_id {
@@ -965,6 +966,8 @@ struct hal_hw_txrx_ops {
void (*hal_tx_set_ppe_vp_entry)(hal_soc_handle_t hal_soc_hdl,
union hal_tx_ppe_vp_config *vp_cfg,
int ppe_vp_idx);
void (*hal_ppeds_cfg_ast_override_map_reg)(hal_soc_handle_t hal_soc_hdl,
uint8_t idx, union hal_tx_ppe_idx_map_config *ppeds_idx_map);
void (*hal_tx_set_ppe_pri2tid)(hal_soc_handle_t hal_soc_hdl,
uint32_t val,
uint8_t map_no);

查看文件

@@ -1553,6 +1553,8 @@ static void hal_hw_txrx_ops_attach_qcn9224(struct hal_soc *hal_soc)
hal_tx_set_ppe_cmn_config_9224;
hal_soc->ops->hal_tx_set_ppe_vp_entry =
hal_tx_set_ppe_vp_entry_9224;
hal_soc->ops->hal_ppeds_cfg_ast_override_map_reg =
hal_ppeds_cfg_ast_override_map_reg_9224;
hal_soc->ops->hal_tx_set_ppe_pri2tid =
hal_tx_set_ppe_pri2tid_map_9224;
hal_soc->ops->hal_tx_update_ppe_pri2tid =

查看文件

@@ -431,6 +431,29 @@ void hal_tx_set_ppe_vp_entry_9224(hal_soc_handle_t hal_soc_hdl,
HAL_REG_WRITE(soc, reg_addr, cfg->val);
}
/**
* hal_ppeds_cfg_ast_override_map_reg_9224() - Set the PPE index mapping table
* @hal_soc_hdl: HAL SoC context
* @idx: index into the table
* @idx_map: HAL PPE INDESX MAPPING config
*
* Return: void
*/
static inline void
hal_ppeds_cfg_ast_override_map_reg_9224(hal_soc_handle_t hal_soc_hdl,
uint8_t idx,
union hal_tx_ppe_idx_map_config *idx_map)
{
struct hal_soc *soc = (struct hal_soc *)hal_soc_hdl;
uint32_t reg_addr;
reg_addr =
HWIO_TCL_R0_PPE_INDEX_MAPPING_TABLE_n_ADDR(MAC_TCL_REG_REG_BASE,
idx);
HAL_REG_WRITE(soc, reg_addr, idx_map->val);
}
/**
* hal_tx_set_ppe_pri2tid_map1_9224()
* @hal_soc_hdl: HAL SoC handle