]> www.infradead.org Git - users/jedix/linux-maple.git/commit
soc: ti: Remove pm_runtime_irq_safe() usage for smartreflex
authorTony Lindgren <tony@atomide.com>
Tue, 27 Jul 2021 10:12:29 +0000 (13:12 +0300)
committerTony Lindgren <tony@atomide.com>
Fri, 6 Aug 2021 06:53:59 +0000 (09:53 +0300)
commit74953a9136cfd650dd994daded520528f737b7b3
tree449cb1337f26718c5fdf69fd9b853b0660f25540
parentfdc07ca0724dd8ad00c22909a1464dc73ed6783e
soc: ti: Remove pm_runtime_irq_safe() usage for smartreflex

For the smartreflex device, we need to disable smartreflex on SoC idle,
and have been using pm_runtime_irq_safe() to do that. But we want to
remove the irq_safe usage as PM runtime takes a permanent usage count
on the parent device with it.

In order to remove the need for pm_runtime_irq_safe(), let's gate
the clock directly in the driver. This removes the need to call PM runtime
during idle, and allows us to switch to using CPU_PM later on.

Note that the smartreflex interconnect target module is configured for smart
idle, but the clock does not have autoidle capability, and needs to be gated
manually. If the clock supported autoidle, we would not need to even gate
the clock.

With this change, we can now remove the related quirk flags for ti-sysc
also.

[tony@atomide.com: updated comments on CPU_PM]
Signed-off-by: Tony Lindgren <tony@atomide.com>
drivers/bus/ti-sysc.c
drivers/soc/ti/smartreflex.c
include/linux/power/smartreflex.h