qcacmn: Defer IPA SMMU mapping to OPT_DP reserve
Currently, IPA SMMU map/unmap is called as part of init. This causes every nbuf to be mapped to IPA in the Rx path, causing throughputs to drop. This change resolves the problem by deferring the IPA SMMU map/unmap call to OPT_DP filter reserve/release, as nbuf needs to be mapped to IPA only in this scenario. Change-Id: If198a6c5f22af58fdaf9d9c020c74b1f76002e37 CRs-Fixed: 3496679
This commit is contained in:
committed by
Rahul Choudhary
parent
7830b92b9d
commit
b50ceeee79
@@ -2156,6 +2156,9 @@ struct cdp_throttle_ops {
|
||||
* @ipa_tx_buf_smmu_mapping: Create SMMU mappings for Tx
|
||||
* @ipa_tx_buf_smmu_unmapping: Release SMMU mappings for Tx
|
||||
* buffers to IPA
|
||||
* @ipa_rx_buf_smmu_pool_mapping: Create SMMU mapping for Rx
|
||||
* @ipa_set_smmu_mapped: Set IPA SMMU mapped value
|
||||
* @ipa_get_smmu_mapped: Get IPA SMMU mapped value
|
||||
* @ipa_rx_super_rule_setup: Setup cce super rules based on filter tuple
|
||||
* @ipa_ast_create: Create/Update ast entry
|
||||
* @ipa_get_wdi_version: Get WDI version
|
||||
@@ -2251,6 +2254,15 @@ struct cdp_ipa_ops {
|
||||
uint8_t pdev_id,
|
||||
const char *func,
|
||||
uint32_t line);
|
||||
QDF_STATUS (*ipa_rx_buf_smmu_pool_mapping)(
|
||||
struct cdp_soc_t *soc_hdl,
|
||||
uint8_t pdev_id,
|
||||
bool create,
|
||||
const char *func,
|
||||
uint32_t line);
|
||||
QDF_STATUS (*ipa_set_smmu_mapped)(struct cdp_soc_t *soc_hdl, int val);
|
||||
int (*ipa_get_smmu_mapped)(struct cdp_soc_t *soc_hdl);
|
||||
|
||||
#ifdef IPA_OPT_WIFI_DP
|
||||
QDF_STATUS (*ipa_rx_super_rule_setup)(struct cdp_soc_t *soc_hdl,
|
||||
void *flt_params);
|
||||
|
||||
Reference in New Issue
Block a user