[v2,2/4] PM: domains: Return early if perf state is already set for the device

Message ID 20210603093438.138705-3-ulf.hansson@linaro.org
State Accepted
Commit d97fe100ee0b36c5dd8013ffd70fe8fcdcabff2b
Headers show
Series
  • PM: domains: Avoid boilerplate code for DVFS in subsystem/drivers
Related show

Commit Message

Ulf Hansson June 3, 2021, 9:34 a.m.
When dev_pm_genpd_set_performance_state() gets called to set a new
performance state for the device, let's take a quicker path by doing an
early return, if it turns out that the new state is already set for the
device.

Suggested-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>

---

Changes in v2:
	- New patch.

---
 drivers/base/power/domain.c | 3 +++
 1 file changed, 3 insertions(+)

-- 
2.25.1

Patch

diff --git a/drivers/base/power/domain.c b/drivers/base/power/domain.c
index 5c476ed1c6c9..ef25a5b18587 100644
--- a/drivers/base/power/domain.c
+++ b/drivers/base/power/domain.c
@@ -387,6 +387,9 @@  static int genpd_set_performance_state(struct device *dev, unsigned int state)
 	int ret;
 
 	prev_state = gpd_data->performance_state;
+	if (prev_state == state)
+		return 0;
+
 	gpd_data->performance_state = state;
 	state = _genpd_reeval_performance_state(genpd, state);