linux/drivers/pmdomain/arm
Praveen Talari 3314c90a2e 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: 2af23ceb86 ("pmdomain: arm: Add the SCMI performance domain")
Cc: stable@vger.kernel.org
Signed-off-by: Ulf Hansson <ulfh@kernel.org>
History 2026-08-10 15:59:19 +02:00
..
Kconfig pmdomain: arm: Do not enable by default during compile testing 2025-04-25 12:15:52 +02:00
Makefile firmware: arm_scpi: Move power-domain driver to the pmdomain dir 2023-11-23 17:32:53 +01:00
scmi_perf_domain.c pmdomain: arm: Fix -EINVAL from scmi_pd_set_perf_state() on state 0 2026-08-10 15:59:19 +02:00
scmi_pm_domain.c pmdomain: arm_scmi: add support for domain hierarchies 2026-05-11 12:54:03 +02:00
scpi_pm_domain.c firmware: arm_scpi: Move power-domain driver to the pmdomain dir 2023-11-23 17:32:53 +01:00