qcacld-3.0: INI config to enable/disable data path CE IRQ affine
Add INI config enable/disable data path CE IRQ affinity. Change-Id: I8cfe9259379209ebda874ca0340b5c5069d1e234 CRs-Fixed: 3590603
This commit is contained in:

committed by
Rahul Choudhary

parent
0780c1e8b2
commit
f6d6eb0982
@@ -1291,6 +1291,34 @@ enum host_log_level {
|
|||||||
#define CFG_DYNAMIC_MAC_ADDR_UPDATE_SUPPORTED_ALL
|
#define CFG_DYNAMIC_MAC_ADDR_UPDATE_SUPPORTED_ALL
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef FEATURE_ENABLE_CE_DP_IRQ_AFFINE
|
||||||
|
/*
|
||||||
|
* <ini>
|
||||||
|
* Enable_ce_dp_irq_affine - Enable/disable affinity on datapath CE IRQs
|
||||||
|
*
|
||||||
|
* @Min: 0
|
||||||
|
* @Max: 1
|
||||||
|
* Default: 0
|
||||||
|
*
|
||||||
|
* This ini param is used to enable/disable the affinity on datapath
|
||||||
|
* Copy Engine IRQs.
|
||||||
|
*
|
||||||
|
* Supported Feature: STA/SAP
|
||||||
|
*
|
||||||
|
* Usage: External
|
||||||
|
*
|
||||||
|
* </ini>
|
||||||
|
*/
|
||||||
|
#define CFG_ENABLE_CE_DP_IRQ_AFFINE CFG_INI_BOOL(\
|
||||||
|
"Enable_ce_dp_irq_affine", \
|
||||||
|
0, \
|
||||||
|
"Enable/disable irq affinity on datapath CEs")
|
||||||
|
#define CFG_ENABLE_CE_DP_IRQ_AFFINE_ALL \
|
||||||
|
CFG(CFG_ENABLE_CE_DP_IRQ_AFFINE)
|
||||||
|
#else
|
||||||
|
#define CFG_ENABLE_CE_DP_IRQ_AFFINE_ALL
|
||||||
|
#endif
|
||||||
|
|
||||||
#define CFG_HDD_ALL \
|
#define CFG_HDD_ALL \
|
||||||
CFG_DYNAMIC_MAC_ADDR_UPDATE_SUPPORTED_ALL \
|
CFG_DYNAMIC_MAC_ADDR_UPDATE_SUPPORTED_ALL \
|
||||||
CFG_ENABLE_PACKET_LOG_ALL \
|
CFG_ENABLE_PACKET_LOG_ALL \
|
||||||
@@ -1328,5 +1356,6 @@ enum host_log_level {
|
|||||||
CFG(CFG_ENABLE_HOST_MODULE_LOG_LEVEL) \
|
CFG(CFG_ENABLE_HOST_MODULE_LOG_LEVEL) \
|
||||||
SAR_SAFETY_FEATURE_ALL \
|
SAR_SAFETY_FEATURE_ALL \
|
||||||
CFG_GET_WIFI_FEATURES_ALL \
|
CFG_GET_WIFI_FEATURES_ALL \
|
||||||
CFG_CPU_CXPC_THRESHOLD_ALL
|
CFG_CPU_CXPC_THRESHOLD_ALL \
|
||||||
|
CFG_ENABLE_CE_DP_IRQ_AFFINE_ALL
|
||||||
#endif
|
#endif
|
||||||
|
@@ -20246,6 +20246,27 @@ static void hdd_populate_runtime_cfg(struct hdd_context *hdd_ctx,
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef FEATURE_ENABLE_CE_DP_IRQ_AFFINE
|
||||||
|
/**
|
||||||
|
* hdd_populate_ce_dp_irq_affine_cfg() - populate ce irq affine configuration
|
||||||
|
* @hdd_ctx: hdd context
|
||||||
|
* @cfg: pointer to the configuration memory being populated
|
||||||
|
*
|
||||||
|
* Return: void
|
||||||
|
*/
|
||||||
|
static void hdd_populate_ce_dp_irq_affine_cfg(struct hdd_context *hdd_ctx,
|
||||||
|
struct hif_config_info *cfg)
|
||||||
|
{
|
||||||
|
cfg->enable_ce_dp_irq_affine = cfg_get(hdd_ctx->psoc,
|
||||||
|
CFG_ENABLE_CE_DP_IRQ_AFFINE);
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
static void hdd_populate_ce_dp_irq_affine_cfg(struct hdd_context *hdd_ctx,
|
||||||
|
struct hif_config_info *cfg)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* hdd_update_hif_config - API to update HIF configuration parameters
|
* hdd_update_hif_config - API to update HIF configuration parameters
|
||||||
* @hdd_ctx: HDD Context
|
* @hdd_ctx: HDD Context
|
||||||
@@ -20276,6 +20297,7 @@ static void hdd_update_hif_config(struct hdd_context *hdd_ctx)
|
|||||||
hdd_populate_runtime_cfg(hdd_ctx, &cfg);
|
hdd_populate_runtime_cfg(hdd_ctx, &cfg);
|
||||||
cfg.rx_softirq_max_yield_duration_ns =
|
cfg.rx_softirq_max_yield_duration_ns =
|
||||||
ucfg_dp_get_rx_softirq_yield_duration(hdd_ctx->psoc);
|
ucfg_dp_get_rx_softirq_yield_duration(hdd_ctx->psoc);
|
||||||
|
hdd_populate_ce_dp_irq_affine_cfg(hdd_ctx, &cfg);
|
||||||
|
|
||||||
hif_init_ini_config(scn, &cfg);
|
hif_init_ini_config(scn, &cfg);
|
||||||
hif_set_enable_rpm(scn);
|
hif_set_enable_rpm(scn);
|
||||||
|
Reference in New Issue
Block a user