qcacld-3.0: Add threshold for SUPER_HIGH throughput in DP Component
Added new threshold corresponding to SUPER_HIGH throughput and maxed out vote level to PLD_BUS_WIDTH_MAX. Change-Id: I3d249fde7101d780bcfb6fba830ae2b255f02063 CRs-Fixed: 3194303
This commit is contained in:

committed by
Madan Koyyalamudi

parent
4f43df441b
commit
d4b45548e7
@@ -91,6 +91,8 @@ struct wlan_dp_psoc_cfg {
|
|||||||
uint32_t periodic_stats_timer_duration;
|
uint32_t periodic_stats_timer_duration;
|
||||||
#endif /* WLAN_FEATURE_PERIODIC_STA_STATS */
|
#endif /* WLAN_FEATURE_PERIODIC_STA_STATS */
|
||||||
#ifdef WLAN_FEATURE_DP_BUS_BANDWIDTH
|
#ifdef WLAN_FEATURE_DP_BUS_BANDWIDTH
|
||||||
|
/* bandwidth threshold for super high bandwidth */
|
||||||
|
uint32_t bus_bw_super_high_threshold;
|
||||||
/* bandwidth threshold for ultra high bandwidth */
|
/* bandwidth threshold for ultra high bandwidth */
|
||||||
uint32_t bus_bw_ultra_high_threshold;
|
uint32_t bus_bw_ultra_high_threshold;
|
||||||
/* bandwidth threshold for very high bandwidth */
|
/* bandwidth threshold for very high bandwidth */
|
||||||
|
@@ -1449,6 +1449,9 @@ static void dp_pld_request_bus_bandwidth(struct wlan_dp_psoc_context *dp_ctx,
|
|||||||
if (dp_ctx->high_bus_bw_request) {
|
if (dp_ctx->high_bus_bw_request) {
|
||||||
next_vote_level = PLD_BUS_WIDTH_VERY_HIGH;
|
next_vote_level = PLD_BUS_WIDTH_VERY_HIGH;
|
||||||
tput_level = TPUT_LEVEL_VERY_HIGH;
|
tput_level = TPUT_LEVEL_VERY_HIGH;
|
||||||
|
} else if (total_pkts > dp_ctx->dp_cfg.bus_bw_super_high_threshold) {
|
||||||
|
next_vote_level = PLD_BUS_WIDTH_MAX;
|
||||||
|
tput_level = TPUT_LEVEL_SUPER_HIGH;
|
||||||
} else if (total_pkts > dp_ctx->dp_cfg.bus_bw_ultra_high_threshold) {
|
} else if (total_pkts > dp_ctx->dp_cfg.bus_bw_ultra_high_threshold) {
|
||||||
next_vote_level = PLD_BUS_WIDTH_ULTRA_HIGH;
|
next_vote_level = PLD_BUS_WIDTH_ULTRA_HIGH;
|
||||||
tput_level = TPUT_LEVEL_ULTRA_HIGH;
|
tput_level = TPUT_LEVEL_ULTRA_HIGH;
|
||||||
@@ -1476,7 +1479,8 @@ static void dp_pld_request_bus_bandwidth(struct wlan_dp_psoc_context *dp_ctx,
|
|||||||
*/
|
*/
|
||||||
if (!ucfg_ipa_is_fw_wdi_activated(dp_ctx->pdev) &&
|
if (!ucfg_ipa_is_fw_wdi_activated(dp_ctx->pdev) &&
|
||||||
policy_mgr_is_current_hwmode_dbs(dp_ctx->psoc) &&
|
policy_mgr_is_current_hwmode_dbs(dp_ctx->psoc) &&
|
||||||
(total_pkts > dp_ctx->dp_cfg.bus_bw_dbs_threshold)) {
|
(total_pkts > dp_ctx->dp_cfg.bus_bw_dbs_threshold) &&
|
||||||
|
(tput_level < TPUT_LEVEL_SUPER_HIGH)) {
|
||||||
next_vote_level = PLD_BUS_WIDTH_ULTRA_HIGH;
|
next_vote_level = PLD_BUS_WIDTH_ULTRA_HIGH;
|
||||||
tput_level = TPUT_LEVEL_ULTRA_HIGH;
|
tput_level = TPUT_LEVEL_ULTRA_HIGH;
|
||||||
}
|
}
|
||||||
|
@@ -366,6 +366,8 @@ void dp_set_dump_dp_trace(uint16_t cmd_type, uint16_t count)
|
|||||||
static void dp_ini_bus_bandwidth(struct wlan_dp_psoc_cfg *config,
|
static void dp_ini_bus_bandwidth(struct wlan_dp_psoc_cfg *config,
|
||||||
struct wlan_objmgr_psoc *psoc)
|
struct wlan_objmgr_psoc *psoc)
|
||||||
{
|
{
|
||||||
|
config->bus_bw_super_high_threshold =
|
||||||
|
cfg_get(psoc, CFG_DP_BUS_BANDWIDTH_SUPER_HIGH_THRESHOLD);
|
||||||
config->bus_bw_ultra_high_threshold =
|
config->bus_bw_ultra_high_threshold =
|
||||||
cfg_get(psoc, CFG_DP_BUS_BANDWIDTH_ULTRA_HIGH_THRESHOLD);
|
cfg_get(psoc, CFG_DP_BUS_BANDWIDTH_ULTRA_HIGH_THRESHOLD);
|
||||||
config->bus_bw_very_high_threshold =
|
config->bus_bw_very_high_threshold =
|
||||||
|
@@ -108,6 +108,29 @@
|
|||||||
#define CFG_DP_RX_SOFTIRQ_MAX_YIELD_TIME_NS_MAX (10 * 1000 * 1000)
|
#define CFG_DP_RX_SOFTIRQ_MAX_YIELD_TIME_NS_MAX (10 * 1000 * 1000)
|
||||||
|
|
||||||
#ifdef WLAN_FEATURE_DP_BUS_BANDWIDTH
|
#ifdef WLAN_FEATURE_DP_BUS_BANDWIDTH
|
||||||
|
/*
|
||||||
|
* <ini>
|
||||||
|
* gBusBandwidthSuperHighThreshold - bus bandwidth super high threshold
|
||||||
|
*
|
||||||
|
* @Min: 0
|
||||||
|
* @Max: 4294967295UL
|
||||||
|
* @Default: 22000
|
||||||
|
*
|
||||||
|
* This ini specifies the bus bandwidth super high threshold
|
||||||
|
*
|
||||||
|
* Usage: Internal
|
||||||
|
*
|
||||||
|
* </ini>
|
||||||
|
*/
|
||||||
|
#define CFG_DP_BUS_BANDWIDTH_SUPER_HIGH_THRESHOLD \
|
||||||
|
CFG_INI_UINT( \
|
||||||
|
"gBusBandwidthSuperHighThreshold", \
|
||||||
|
0, \
|
||||||
|
4294967295UL, \
|
||||||
|
22000, \
|
||||||
|
CFG_VALUE_OR_DEFAULT, \
|
||||||
|
"Bus bandwidth super high threshold")
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* <ini>
|
* <ini>
|
||||||
* gBusBandwidthUltraHighThreshold - bus bandwidth ultra high threshold
|
* gBusBandwidthUltraHighThreshold - bus bandwidth ultra high threshold
|
||||||
@@ -1155,6 +1178,7 @@
|
|||||||
|
|
||||||
#ifdef WLAN_FEATURE_DP_BUS_BANDWIDTH
|
#ifdef WLAN_FEATURE_DP_BUS_BANDWIDTH
|
||||||
#define CFG_DP_BUS_BANDWIDTH \
|
#define CFG_DP_BUS_BANDWIDTH \
|
||||||
|
CFG(CFG_DP_BUS_BANDWIDTH_SUPER_HIGH_THRESHOLD) \
|
||||||
CFG(CFG_DP_BUS_BANDWIDTH_ULTRA_HIGH_THRESHOLD) \
|
CFG(CFG_DP_BUS_BANDWIDTH_ULTRA_HIGH_THRESHOLD) \
|
||||||
CFG(CFG_DP_BUS_BANDWIDTH_VERY_HIGH_THRESHOLD) \
|
CFG(CFG_DP_BUS_BANDWIDTH_VERY_HIGH_THRESHOLD) \
|
||||||
CFG(CFG_DP_BUS_BANDWIDTH_DBS_THRESHOLD) \
|
CFG(CFG_DP_BUS_BANDWIDTH_DBS_THRESHOLD) \
|
||||||
|
Reference in New Issue
Block a user