]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
pmdomain: arm: Fix -EINVAL from scmi_pd_set_perf_state() on state 0
authorPraveen Talari <praveen.talari@oss.qualcomm.com>
Tue, 4 Aug 2026 19:57:39 +0000 (01:27 +0530)
committerUlf Hansson <ulfh@kernel.org>
Mon, 10 Aug 2026 13:59:19 +0000 (15:59 +0200)
commit3314c90a2eda3df7da4ab6f4388e667b2758de7f
tree5d9513e714b2ecb63c835620d898acb1b2902b2b
parent818d56ac1d08b68a4c42d0326786f030cc640722
pmdomain: arm: Fix -EINVAL from scmi_pd_set_perf_state() on state 0

Currently, scmi_pd_set_perf_state() treats a performance state of 0 as
invalid and returns -EINVAL. As a result, devices attached to SCMI
performance domains can report failures when relinquishing their
performance vote.

The OPP framework use performance state 0 to indicate that no performance
vote is required. For example, dev_pm_opp_set_rate(dev, 0) is commonly
used (by firmware or linux)  when a device is runtime suspended.

A zero performance state does not require any SCMI performance request
to be sent. Treat it as a no-op and return success instead of reporting
an error.

Signed-off-by: Praveen Talari <praveen.talari@oss.qualcomm.com>
Fixes: 2af23ceb8624 ("pmdomain: arm: Add the SCMI performance domain")
Cc: stable@vger.kernel.org
Signed-off-by: Ulf Hansson <ulfh@kernel.org>
drivers/pmdomain/arm/scmi_perf_domain.c