qcacmn: Enable/Disable Round Robin core distribution
1. Add ini configuration for enabling round robin flows to core distribution in FSE 2. Register FSE APIs to CDP FSE ops Change-Id: Ic61c44eb9bc68a8c1a0116d4e6aa1d54cf489b62 CRs-Fixed: 3505287
This commit is contained in:

committed by
Rahul Choudhary

parent
9fb079e747
commit
3b770cc5bb
@@ -11019,8 +11019,8 @@ static struct cdp_scs_ops dp_ops_scs = {
|
|||||||
|
|
||||||
#ifdef WLAN_SUPPORT_RX_FLOW_TAG
|
#ifdef WLAN_SUPPORT_RX_FLOW_TAG
|
||||||
static struct cdp_fse_ops dp_ops_fse = {
|
static struct cdp_fse_ops dp_ops_fse = {
|
||||||
.fse_rule_add = NULL,
|
.fse_rule_add = dp_rx_sfe_add_flow_entry,
|
||||||
.fse_rule_delete = NULL,
|
.fse_rule_delete = dp_rx_sfe_delete_flow_entry,
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@@ -4500,6 +4500,10 @@ void *dp_soc_init(struct dp_soc *soc, HTC_HANDLE htc_handle,
|
|||||||
|
|
||||||
wlan_cfg_set_rx_hash(soc->wlan_cfg_ctx,
|
wlan_cfg_set_rx_hash(soc->wlan_cfg_ctx,
|
||||||
cfg_get(soc->ctrl_psoc, CFG_DP_RX_HASH));
|
cfg_get(soc->ctrl_psoc, CFG_DP_RX_HASH));
|
||||||
|
#ifdef WLAN_SUPPORT_RX_FLOW_TAG
|
||||||
|
wlan_cfg_set_rx_rr(soc->wlan_cfg_ctx,
|
||||||
|
cfg_get(soc->ctrl_psoc, CFG_DP_RX_RR));
|
||||||
|
#endif
|
||||||
soc->cce_disable = false;
|
soc->cce_disable = false;
|
||||||
soc->max_ast_ageout_count = MAX_AST_AGEOUT_COUNT;
|
soc->max_ast_ageout_count = MAX_AST_AGEOUT_COUNT;
|
||||||
|
|
||||||
|
@@ -850,6 +850,10 @@
|
|||||||
CFG_INI_BOOL("dp_rx_hash", true, \
|
CFG_INI_BOOL("dp_rx_hash", true, \
|
||||||
"DP Rx Hash")
|
"DP Rx Hash")
|
||||||
|
|
||||||
|
#define CFG_DP_RX_RR \
|
||||||
|
CFG_INI_BOOL("dp_rx_rr", true, \
|
||||||
|
"DP Rx Round Robin")
|
||||||
|
|
||||||
#define CFG_DP_TSO \
|
#define CFG_DP_TSO \
|
||||||
CFG_INI_BOOL("TSOEnable", false, \
|
CFG_INI_BOOL("TSOEnable", false, \
|
||||||
"DP TSO Enabled")
|
"DP TSO Enabled")
|
||||||
@@ -1983,6 +1987,7 @@
|
|||||||
CFG(CFG_DP_TIME_CONTROL_BP) \
|
CFG(CFG_DP_TIME_CONTROL_BP) \
|
||||||
CFG(CFG_DP_BASE_HW_MAC_ID) \
|
CFG(CFG_DP_BASE_HW_MAC_ID) \
|
||||||
CFG(CFG_DP_RX_HASH) \
|
CFG(CFG_DP_RX_HASH) \
|
||||||
|
CFG(CFG_DP_RX_RR) \
|
||||||
CFG(CFG_DP_TSO) \
|
CFG(CFG_DP_TSO) \
|
||||||
CFG(CFG_DP_LRO) \
|
CFG(CFG_DP_LRO) \
|
||||||
CFG(CFG_DP_SG) \
|
CFG(CFG_DP_SG) \
|
||||||
|
@@ -4866,6 +4866,27 @@ bool wlan_cfg_is_rx_hash_enabled(struct wlan_cfg_dp_soc_ctxt *cfg)
|
|||||||
return cfg->rx_hash;
|
return cfg->rx_hash;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef WLAN_SUPPORT_RX_FLOW_TAG
|
||||||
|
void wlan_cfg_set_rx_rr(struct wlan_cfg_dp_soc_ctxt *cfg, bool val)
|
||||||
|
{
|
||||||
|
cfg->rx_rr = val;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool wlan_cfg_is_rx_rr_enabled(struct wlan_cfg_dp_soc_ctxt *cfg)
|
||||||
|
{
|
||||||
|
return cfg->rx_rr;
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
void wlan_cfg_set_rx_rr(struct wlan_cfg_dp_soc_ctxt *cfg, bool val)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
bool wlan_cfg_is_rx_rr_enabled(struct wlan_cfg_dp_soc_ctxt *cfg)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
int wlan_cfg_get_dp_pdev_nss_enabled(struct wlan_cfg_dp_pdev_ctxt *cfg)
|
int wlan_cfg_get_dp_pdev_nss_enabled(struct wlan_cfg_dp_pdev_ctxt *cfg)
|
||||||
{
|
{
|
||||||
return cfg->nss_enabled;
|
return cfg->nss_enabled;
|
||||||
|
@@ -340,6 +340,7 @@ struct wlan_srng_cfg {
|
|||||||
* @pointer_num_threshold_rx: RX REO2SW ring pointer update entries threshold
|
* @pointer_num_threshold_rx: RX REO2SW ring pointer update entries threshold
|
||||||
* @local_pkt_capture: flag indicating enable/disable of local packet capture
|
* @local_pkt_capture: flag indicating enable/disable of local packet capture
|
||||||
* @special_frame_msk: Special frame mask
|
* @special_frame_msk: Special frame mask
|
||||||
|
* @rx_rr: rx round robin enable / disable
|
||||||
*/
|
*/
|
||||||
struct wlan_cfg_dp_soc_ctxt {
|
struct wlan_cfg_dp_soc_ctxt {
|
||||||
int num_int_ctxts;
|
int num_int_ctxts;
|
||||||
@@ -543,6 +544,9 @@ struct wlan_cfg_dp_soc_ctxt {
|
|||||||
bool local_pkt_capture;
|
bool local_pkt_capture;
|
||||||
#endif
|
#endif
|
||||||
uint32_t special_frame_msk;
|
uint32_t special_frame_msk;
|
||||||
|
#ifdef WLAN_SUPPORT_RX_FLOW_TAG
|
||||||
|
bool rx_rr;
|
||||||
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -1390,6 +1394,21 @@ bool wlan_cfg_is_ipa_enabled(struct wlan_cfg_dp_soc_ctxt *cfg);
|
|||||||
*/
|
*/
|
||||||
void wlan_cfg_set_rx_hash(struct wlan_cfg_dp_soc_ctxt *cfg, bool rx_hash);
|
void wlan_cfg_set_rx_hash(struct wlan_cfg_dp_soc_ctxt *cfg, bool rx_hash);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* wlan_cfg_is_rx_rr_enabled - Return RX round robin enabled/disabled
|
||||||
|
* @cfg: soc configuration context
|
||||||
|
*
|
||||||
|
* Return: true - enabled false - disabled
|
||||||
|
*/
|
||||||
|
bool wlan_cfg_is_rx_rr_enabled(struct wlan_cfg_dp_soc_ctxt *cfg);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* wlan_cfg_set_rx_rr - set rx round robin enabled/disabled
|
||||||
|
* @cfg: soc configuration context
|
||||||
|
* @rx_rr: true - enabled false - disabled
|
||||||
|
*/
|
||||||
|
void wlan_cfg_set_rx_rr(struct wlan_cfg_dp_soc_ctxt *cfg, bool rx_rr);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* wlan_cfg_get_dp_pdev_nss_enabled - Return pdev nss enabled/disabled
|
* wlan_cfg_get_dp_pdev_nss_enabled - Return pdev nss enabled/disabled
|
||||||
* @cfg: pdev configuration context
|
* @cfg: pdev configuration context
|
||||||
|
Reference in New Issue
Block a user