Message ID | 20190816125225.16061-4-geert+renesas@glider.be (mailing list archive) |
---|---|
State | Not Applicable, archived |
Headers | show |
Series | clk: renesas: Set GENPD_FLAG_ALWAYS_ON for clock domain | expand |
On Fri, Aug 16, 2019 at 02:52:25PM +0200, Geert Uytterhoeven wrote: > The CPG/MSSR Clock Domain driver does not implement the > generic_pm_domain.power_{on,off}() callbacks, as the domain itself > cannot be powered down. Hence the domain should be marked as always-on > by setting the GENPD_FLAG_ALWAYS_ON flag. > > Note that this only affects RZ/A2 SoCs. On R-Car Gen2 and Gen3 SoCs, > the R-Car SYSC driver handles Clock Domain creation, and offloads only > device attachment/detachment to the CPG/MSSR driver. > > Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be> Reviewed-by: Simon Horman <horms+renesas@verge.net.au>
diff --git a/drivers/clk/renesas/renesas-cpg-mssr.c b/drivers/clk/renesas/renesas-cpg-mssr.c index d4075b13067429cd..132cc96895e3a978 100644 --- a/drivers/clk/renesas/renesas-cpg-mssr.c +++ b/drivers/clk/renesas/renesas-cpg-mssr.c @@ -551,7 +551,8 @@ static int __init cpg_mssr_add_clk_domain(struct device *dev, genpd = &pd->genpd; genpd->name = np->name; - genpd->flags = GENPD_FLAG_PM_CLK | GENPD_FLAG_ACTIVE_WAKEUP; + genpd->flags = GENPD_FLAG_PM_CLK | GENPD_FLAG_ALWAYS_ON | + GENPD_FLAG_ACTIVE_WAKEUP; genpd->attach_dev = cpg_mssr_attach_dev; genpd->detach_dev = cpg_mssr_detach_dev; pm_genpd_init(genpd, &pm_domain_always_on_gov, false);
The CPG/MSSR Clock Domain driver does not implement the generic_pm_domain.power_{on,off}() callbacks, as the domain itself cannot be powered down. Hence the domain should be marked as always-on by setting the GENPD_FLAG_ALWAYS_ON flag. Note that this only affects RZ/A2 SoCs. On R-Car Gen2 and Gen3 SoCs, the R-Car SYSC driver handles Clock Domain creation, and offloads only device attachment/detachment to the CPG/MSSR driver. Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be> --- drivers/clk/renesas/renesas-cpg-mssr.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)