Skip to content

Commit a294237

Browse files
Ulf Hanssonrafaeljw
authored andcommitted
PM: domains: Fixup QoS latency measurements for IRQ safe devices in genpd
When an IRQ safe device is attached to a non-IRQ safe PM domain, genpd needs to prevent the PM domain from being powered off. However, genpd still allows the device to be runtime suspended/resumed, hence it's also reasonable to think that a governor may be used to validate the QoS latency constraints. Unfortunately, genpd_runtime_resume() treats the configuration above, as a reason to skip measuring the QoS resume latency for the device. This is a legacy behaviour that was earlier correct, but should have been changed when genpd was transformed into its current behaviour around how it manages IRQ safe devices. Luckily, there's no report about problems, so let's just fixup the behaviour. Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
1 parent 3b84bf3 commit a294237

1 file changed

Lines changed: 1 addition & 3 deletions

File tree

drivers/base/power/domain.c

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -970,10 +970,8 @@ static int genpd_runtime_resume(struct device *dev)
970970
* As we don't power off a non IRQ safe domain, which holds
971971
* an IRQ safe device, we don't need to restore power to it.
972972
*/
973-
if (irq_safe_dev_in_sleep_domain(dev, genpd)) {
974-
timed = false;
973+
if (irq_safe_dev_in_sleep_domain(dev, genpd))
975974
goto out;
976-
}
977975

978976
genpd_lock(genpd);
979977
ret = genpd_power_on(genpd, 0);

0 commit comments

Comments
 (0)