qcacmn: DSC-Add search_idx tbl alloc framework

In STA mode ast idx override approach is used. In DSc to use ast idx
Need to configure a search idx register with ast idx and cache set number.

Added needed logic to instantiate search index register and
use it for STA mode in DSC path.

Change-Id: I6b3fb7c01a39b16ff1d473381c6155436fe2b27a
CRs-Fixed: 3375219
此提交包含在:
Radha Krishna Simha Jiguru
2023-01-07 21:06:44 +05:30
提交者 Madan Koyyalamudi
父節點 07e72e4e7e
當前提交 2776d767a2
共有 4 個檔案被更改,包括 52 行新增5 行删除

查看文件

@@ -832,7 +832,7 @@ hal_tx_mcast_mlo_reinject_routing_set(
}
#endif
/*
/**
* hal_reo_config_reo2ppe_dest_info() - Configure reo2ppe dest info
* @hal_soc_hdl: HAL SoC Context
*
@@ -847,7 +847,7 @@ void hal_reo_config_reo2ppe_dest_info(hal_soc_handle_t hal_soc_hdl)
hal_soc->ops->hal_reo_config_reo2ppe_dest_info(hal_soc_hdl);
}
/*
/**
* hal_tx_get_num_ppe_vp_tbl_entries() - Get the total number of VP table
* @hal_soc: HAL SoC Context
*
@@ -861,6 +861,20 @@ uint32_t hal_tx_get_num_ppe_vp_tbl_entries(hal_soc_handle_t hal_soc_hdl)
return hal_soc->ops->hal_tx_get_num_ppe_vp_tbl_entries(hal_soc_hdl);
}
/**
* hal_tx_get_num_ppe_vp_search_idx_tbl_entries() - Get the total number of search idx registers
* @hal_soc: HAL SoC Context
*
* Return: Total number of entries.
*/
static inline
uint32_t hal_tx_get_num_ppe_vp_search_idx_tbl_entries(hal_soc_handle_t hal_soc_hdl)
{
struct hal_soc *hal_soc = (struct hal_soc *)hal_soc_hdl;
return hal_soc->ops->hal_tx_get_num_ppe_vp_search_idx_tbl_entries(hal_soc_hdl);
}
/**
* hal_tx_set_ppe_cmn_cfg()- Set the PPE common config
* @hal_soc: HAL SoC context

查看文件

@@ -1301,6 +1301,8 @@ struct hal_hw_txrx_ops {
void (*hal_tx_ring_halt_set)(hal_soc_handle_t hal_soc_hdl);
void (*hal_tx_ring_halt_reset)(hal_soc_handle_t hal_soc_hdl);
bool (*hal_tx_ring_halt_poll)(hal_soc_handle_t hal_soc_hdl);
uint32_t (*hal_tx_get_num_ppe_vp_search_idx_tbl_entries)(
hal_soc_handle_t hal_soc_hdl);
};
/**

查看文件

@@ -1,6 +1,6 @@
/*
* Copyright (c) 2021 The Linux Foundation. All rights reserved.
* Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved.
* Copyright (c) 2021-2023 Qualcomm Innovation Center, Inc. All rights reserved.
*
* Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the
@@ -214,6 +214,8 @@ static void hal_get_tqm_scratch_reg_qcn9224(hal_soc_handle_t hal_soc_hdl,
#define LINK_DESC_SIZE (NUM_OF_DWORDS_RX_MSDU_LINK << 2)
#define HAL_PPE_VP_ENTRIES_MAX 32
#define HAL_PPE_VP_SEARCH_IDX_REG_MAX 8
/**
* hal_get_link_desc_size_9224(): API to get the link desc size
*
@@ -1511,7 +1513,7 @@ static uint32_t hal_qcn9224_get_reo_qdesc_size(uint32_t ba_window_size, int tid)
}
/*
* hal_tx_dump_ppe_vp_entry_9224()
* hal_tx_get_num_ppe_vp_tbl_entries_9224()
* @hal_soc_hdl: HAL SoC handle
*
* Return: Number of PPE VP entries
@@ -1522,6 +1524,18 @@ uint32_t hal_tx_get_num_ppe_vp_tbl_entries_9224(hal_soc_handle_t hal_soc_hdl)
return HAL_PPE_VP_ENTRIES_MAX;
}
/*
* hal_tx_get_num_ppe_vp_search_idx_reg_entries_9224()
* @hal_soc_hdl: HAL SoC handle
*
* Return: Number of PPE VP search index registers
*/
static
uint32_t hal_tx_get_num_ppe_vp_search_idx_reg_entries_9224(hal_soc_handle_t hal_soc_hdl)
{
return HAL_PPE_VP_SEARCH_IDX_REG_MAX;
}
/**
* hal_rx_tlv_msdu_done_copy_get_9224() - Get msdu done copy bit from rx_tlv
*
@@ -1817,6 +1831,8 @@ static void hal_hw_txrx_ops_attach_qcn9224(struct hal_soc *hal_soc)
hal_tx_ppe2tcl_ring_halt_reset_9224;
hal_soc->ops->hal_tx_ring_halt_poll =
hal_tx_ppe2tcl_ring_halt_done_9224;
hal_soc->ops->hal_tx_get_num_ppe_vp_search_idx_tbl_entries =
hal_tx_get_num_ppe_vp_search_idx_reg_entries_9224;
};
/**