qcacld-3.0: Update the gold core latency on clearing cpu_mask
Set the latency of gold cores to default on clearing the cpu_mask for gold cores. This ensures that power drain on gold cores is minimal after gold core affinity is removed after traffic reduces. Change-Id: I4f17e9b9e36c57ac22a12e3abbc0155eef238a04 CRs-Fixed: 2764803
This commit is contained in:
@@ -9455,16 +9455,35 @@ static inline void hdd_pm_qos_update_request(struct hdd_context *hdd_ctx,
|
|||||||
int cpu;
|
int cpu;
|
||||||
unsigned int latency;
|
unsigned int latency;
|
||||||
|
|
||||||
cpumask_copy(&hdd_ctx->qos_cpu_mask, pm_qos_cpu_mask);
|
qdf_cpumask_copy(&hdd_ctx->qos_cpu_mask, pm_qos_cpu_mask);
|
||||||
|
|
||||||
if (cpumask_empty(pm_qos_cpu_mask))
|
if (qdf_cpumask_empty(pm_qos_cpu_mask)) {
|
||||||
latency = PM_QOS_CPU_DMA_LAT_DEFAULT_VALUE;
|
latency = PM_QOS_CPU_DMA_LAT_DEFAULT_VALUE;
|
||||||
else
|
qdf_for_each_possible_cpu(cpu) {
|
||||||
|
dev_pm_qos_update_request(
|
||||||
|
&hdd_ctx->pm_qos_req[cpu],
|
||||||
|
latency);
|
||||||
|
}
|
||||||
|
hdd_debug("Empty mask %*pb: Set latency %u",
|
||||||
|
qdf_cpumask_pr_args(&hdd_ctx->qos_cpu_mask),
|
||||||
|
latency);
|
||||||
|
} else {
|
||||||
latency = HDD_PM_QOS_HIGH_TPUT_LATENCY_US;
|
latency = HDD_PM_QOS_HIGH_TPUT_LATENCY_US;
|
||||||
|
/* Set latency to default for CPUs not included in mask */
|
||||||
for_each_cpu(cpu, &hdd_ctx->qos_cpu_mask) {
|
qdf_for_each_cpu_not(cpu, &hdd_ctx->qos_cpu_mask) {
|
||||||
dev_pm_qos_update_request(&hdd_ctx->pm_qos_req[cpu],
|
dev_pm_qos_update_request(
|
||||||
latency);
|
&hdd_ctx->pm_qos_req[cpu],
|
||||||
|
PM_QOS_CPU_DMA_LAT_DEFAULT_VALUE);
|
||||||
|
}
|
||||||
|
/* Set latency to 1 for CPUs included in mask */
|
||||||
|
qdf_for_each_cpu(cpu, &hdd_ctx->qos_cpu_mask) {
|
||||||
|
dev_pm_qos_update_request(
|
||||||
|
&hdd_ctx->pm_qos_req[cpu],
|
||||||
|
latency);
|
||||||
|
}
|
||||||
|
hdd_debug("For qos_cpu_mask %*pb set latency %u",
|
||||||
|
qdf_cpumask_pr_args(&hdd_ctx->qos_cpu_mask),
|
||||||
|
latency);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user