qcacld-3.0: During wlan IPA suspend, force the BW voting to high
During wlan IPA suspend, force the bandwidth voting to high when CFG_DP_IPA_ENABLE_FORCE_VOTING is enabled. Change-Id: I9b368081f9c0919f5fecfacf318ad1a714cc33cf CRs-Fixed: 2521815
This commit is contained in:
@@ -1160,6 +1160,12 @@ QDF_STATUS wlan_ipa_suspend(struct wlan_ipa_priv *ipa_ctx)
|
|||||||
ipa_ctx->suspended = true;
|
ipa_ctx->suspended = true;
|
||||||
qdf_spin_unlock_bh(&ipa_ctx->pm_lock);
|
qdf_spin_unlock_bh(&ipa_ctx->pm_lock);
|
||||||
|
|
||||||
|
if (ipa_ctx->config->ipa_force_voting &&
|
||||||
|
!ipa_ctx->ipa_pipes_down)
|
||||||
|
wlan_ipa_set_perf_level(ipa_ctx,
|
||||||
|
ipa_ctx->config->bus_bw_high,
|
||||||
|
ipa_ctx->config->bus_bw_high);
|
||||||
|
|
||||||
return QDF_STATUS_SUCCESS;
|
return QDF_STATUS_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -635,6 +635,8 @@ void ipa_component_config_update(struct wlan_objmgr_psoc *psoc)
|
|||||||
cfg_get(psoc, CFG_DP_BUS_BANDWIDTH_MEDIUM_THRESHOLD);
|
cfg_get(psoc, CFG_DP_BUS_BANDWIDTH_MEDIUM_THRESHOLD);
|
||||||
g_ipa_config->bus_bw_low =
|
g_ipa_config->bus_bw_low =
|
||||||
cfg_get(psoc, CFG_DP_BUS_BANDWIDTH_LOW_THRESHOLD);
|
cfg_get(psoc, CFG_DP_BUS_BANDWIDTH_LOW_THRESHOLD);
|
||||||
|
g_ipa_config->ipa_force_voting =
|
||||||
|
cfg_get(psoc, CFG_DP_IPA_ENABLE_FORCE_VOTING);
|
||||||
}
|
}
|
||||||
|
|
||||||
uint32_t ipa_get_tx_buf_count(void)
|
uint32_t ipa_get_tx_buf_count(void)
|
||||||
|
@@ -155,6 +155,25 @@
|
|||||||
100, \
|
100, \
|
||||||
CFG_VALUE_OR_DEFAULT, "IPA low bw threshold")
|
CFG_VALUE_OR_DEFAULT, "IPA low bw threshold")
|
||||||
|
|
||||||
|
/*
|
||||||
|
* <ini>
|
||||||
|
* gIPAForceVotingEnable - IPA force voting enable
|
||||||
|
* @Default: false
|
||||||
|
*
|
||||||
|
* This ini specifies to enable IPA force voting
|
||||||
|
*
|
||||||
|
* Related: N/A
|
||||||
|
*
|
||||||
|
* Supported Feature: IPA
|
||||||
|
*
|
||||||
|
* Usage: Internal
|
||||||
|
*
|
||||||
|
* </ini>
|
||||||
|
*/
|
||||||
|
#define CFG_DP_IPA_ENABLE_FORCE_VOTING \
|
||||||
|
CFG_INI_BOOL("gIPAForceVotingEnable", \
|
||||||
|
false, "Ctrl to enable force voting")
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* <ini>
|
* <ini>
|
||||||
* IpaUcTxBufCount - IPA tx buffer count
|
* IpaUcTxBufCount - IPA tx buffer count
|
||||||
@@ -185,6 +204,7 @@
|
|||||||
CFG(CFG_DP_IPA_HIGH_BANDWIDTH_MBPS) \
|
CFG(CFG_DP_IPA_HIGH_BANDWIDTH_MBPS) \
|
||||||
CFG(CFG_DP_IPA_MEDIUM_BANDWIDTH_MBPS) \
|
CFG(CFG_DP_IPA_MEDIUM_BANDWIDTH_MBPS) \
|
||||||
CFG(CFG_DP_IPA_LOW_BANDWIDTH_MBPS) \
|
CFG(CFG_DP_IPA_LOW_BANDWIDTH_MBPS) \
|
||||||
|
CFG(CFG_DP_IPA_ENABLE_FORCE_VOTING) \
|
||||||
CFG(CFG_DP_IPA_UC_TX_BUF_COUNT)
|
CFG(CFG_DP_IPA_UC_TX_BUF_COUNT)
|
||||||
|
|
||||||
#endif /* _CFG_IPA_H_ */
|
#endif /* _CFG_IPA_H_ */
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2018 The Linux Foundation. All rights reserved.
|
* Copyright (c) 2018, 2019 The Linux Foundation. All rights reserved.
|
||||||
*
|
*
|
||||||
* Permission to use, copy, modify, and/or distribute this software for
|
* Permission to use, copy, modify, and/or distribute this software for
|
||||||
* any purpose with or without fee is hereby granted, provided that the
|
* any purpose with or without fee is hereby granted, provided that the
|
||||||
@@ -38,6 +38,7 @@
|
|||||||
* @ipa_bw_high: IPA bandwidth high threshold
|
* @ipa_bw_high: IPA bandwidth high threshold
|
||||||
* @ipa_bw_medium: IPA bandwidth medium threshold
|
* @ipa_bw_medium: IPA bandwidth medium threshold
|
||||||
* @ipa_bw_low: IPA bandwidth low threshold
|
* @ipa_bw_low: IPA bandwidth low threshold
|
||||||
|
* @ipa_force_voting: support force bw voting
|
||||||
*/
|
*/
|
||||||
struct wlan_ipa_config {
|
struct wlan_ipa_config {
|
||||||
uint32_t ipa_config;
|
uint32_t ipa_config;
|
||||||
@@ -49,6 +50,7 @@ struct wlan_ipa_config {
|
|||||||
uint32_t ipa_bw_high;
|
uint32_t ipa_bw_high;
|
||||||
uint32_t ipa_bw_medium;
|
uint32_t ipa_bw_medium;
|
||||||
uint32_t ipa_bw_low;
|
uint32_t ipa_bw_low;
|
||||||
|
bool ipa_force_voting;
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Reference in New Issue
Block a user