qcacld-3.0: Use pm_qos only at high bandwidth
Currently we use PM qos apis to set masks and latency values at PLD_BUS_WIDTH_LOW throughput level. As per experiments and power measurements, this can also be done at the PLD_BUS_WIDTH_MEDIUM level without any throughput impact and can help CPU enter C4 states at this level. Hence, donot use pm-qos APIs at less than high throughput levels. Change-Id: I8bebb3b593b9d26aa6764b16b218814979bcd322 CRs-Fixed: 2507386
This commit is contained in:
parent
378b7ee6a4
commit
58a898ba9e
@ -8422,8 +8422,6 @@ static void hdd_pld_request_bus_bandwidth(struct hdd_context *hdd_ctx,
|
||||
*/
|
||||
if (hdd_ctx->en_tcp_delack_no_lro) {
|
||||
rx_tp_data.rx_tp_flags |= TCP_DEL_ACK_IND;
|
||||
hdd_debug("TCP DELACK trigger level %d, average_rx: %llu",
|
||||
next_rx_level, avg_rx);
|
||||
}
|
||||
|
||||
if (hdd_ctx->config->enable_tcp_adv_win_scale)
|
||||
@ -8465,9 +8463,6 @@ static void hdd_pld_request_bus_bandwidth(struct hdd_context *hdd_ctx,
|
||||
if ((hdd_ctx->config->enable_tcp_limit_output) &&
|
||||
(hdd_ctx->cur_tx_level != next_tx_level)) {
|
||||
struct wlan_tx_tp_data tx_tp_data = {0};
|
||||
|
||||
hdd_debug("change TCP TX trigger level %d, average_tx: %llu",
|
||||
next_tx_level, avg_tx);
|
||||
hdd_ctx->cur_tx_level = next_tx_level;
|
||||
tx_level_change = true;
|
||||
tx_tp_data.level = next_tx_level;
|
||||
@ -8478,7 +8473,7 @@ static void hdd_pld_request_bus_bandwidth(struct hdd_context *hdd_ctx,
|
||||
index = hdd_ctx->hdd_txrx_hist_idx;
|
||||
if (vote_level_change || tx_level_change || rx_level_change) {
|
||||
/* Clear all the mask if no silver/gold vote is required */
|
||||
if (next_vote_level < PLD_BUS_WIDTH_MEDIUM) {
|
||||
if (next_vote_level < PLD_BUS_WIDTH_HIGH) {
|
||||
is_rx_pm_qos_high = false;
|
||||
is_tx_pm_qos_high = false;
|
||||
cpumask_clear(&pm_qos_cpu_mask);
|
||||
|
Loading…
Reference in New Issue
Block a user