aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVladimir Zapolskiy <vladimir.zapolskiy@linaro.org>2021-11-11 12:54:42 +0200
committerDmitry Baryshkov <dmitry.baryshkov@linaro.org>2022-01-14 11:34:24 +0300
commit540c56b3ac58ff666862c3a7c8869ec2f3d47caf (patch)
tree8f4af8c1975ab68a63a7b32e50c6e473e009d762
parent7d8a66b80d887c63e0455f89fcc9b011f5b01438 (diff)
cpufreq: qcom-hw: Set CPU affinity of dcvsh interrupts
In runtime CPU cluster specific dcvsh interrupts may be handled on unrelated CPU cores, it may leads to an issue of too excessive number of received and handled interrupts, however this is not observed, if CPU affinity of the interrupt handler is set in accordance to CPU clusters. Signed-off-by: Vladimir Zapolskiy <vladimir.zapolskiy@linaro.org>
-rw-r--r--drivers/cpufreq/qcom-cpufreq-hw.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/cpufreq/qcom-cpufreq-hw.c b/drivers/cpufreq/qcom-cpufreq-hw.c
index 5d55217caa8b..3967191836fb 100644
--- a/drivers/cpufreq/qcom-cpufreq-hw.c
+++ b/drivers/cpufreq/qcom-cpufreq-hw.c
@@ -400,6 +400,11 @@ static int qcom_cpufreq_hw_lmh_init(struct cpufreq_policy *policy, int index)
return 0;
}
+ ret = irq_set_affinity_hint(data->throttle_irq, policy->cpus);
+ if (ret)
+ dev_err(&pdev->dev, "Failed to set CPU affinity of %s[%d]\n",
+ data->irq_name, data->throttle_irq);
+
return 0;
}