]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
pmdomain: arm: Avoid polling for scmi_perf_domain
authorUlf Hansson <ulf.hansson@linaro.org>
Mon, 27 Nov 2023 13:50:33 +0000 (14:50 +0100)
committerUlf Hansson <ulf.hansson@linaro.org>
Mon, 27 Nov 2023 15:28:20 +0000 (16:28 +0100)
It was a mistake to prefer polling based mode when setting a performance
level for a domain. Let's instead rely on the protocol to decide what is
best and thus avoid polling when possible.

Reported-by: Nikunj Kela <nkela@quicinc.com>
Fixes: 2af23ceb8624 ("pmdomain: arm: Add the SCMI performance domain")
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Reviewed-by: Sudeep Holla <sudeep.holla@arm.com>
Link: https://lore.kernel.org/r/20231127135033.136442-1-ulf.hansson@linaro.org
drivers/pmdomain/arm/scmi_perf_domain.c

index bc3f78abb6dac85720020bdef687a97a786b9f97..709bbc448fad431d894479146982664002578584 100644 (file)
@@ -35,7 +35,7 @@ scmi_pd_set_perf_state(struct generic_pm_domain *genpd, unsigned int state)
        if (!state)
                return -EINVAL;
 
-       ret = pd->perf_ops->level_set(pd->ph, pd->domain_id, state, true);
+       ret = pd->perf_ops->level_set(pd->ph, pd->domain_id, state, false);
        if (ret)
                dev_warn(&genpd->dev, "Failed with %d when trying to set %d perf level",
                         ret, state);