Thread (4 messages) 4 messages, 3 authors, 2017-06-29

Re: Clocks used by another OS/CPU

From: Geert Uytterhoeven <geert@linux-m68k.org>
Date: 2017-06-29 12:45:39
Also in: linux-arm-kernel, linux-clk, linux-pm, linux-renesas-soc

Hi Dirk,

On Thu, Jun 29, 2017 at 2:07 PM, Dirk Behme [off-list ref] wrote:
quoted hunk ↗ jump to hunk
On 29.06.2017 13:56, Geert Uytterhoeven wrote:
quoted
On Thu, Jun 29, 2017 at 11:27 AM, Geert Uytterhoeven
[off-list ref] wrote:
quoted
CC clock, ARM, DT, PM people

TL;DR: Clocks may be in use by another CPU not running Linux, while Linux
disables them as being unused.
quoted
Of course this is not limited to clocks, but also to e.g. PM domains.
BTW, how do you prevent Linux from powering down the CR7 PM domain,
which contains the Cortex R7?
The idea is
--- a/drivers/soc/renesas/r8a7795-sysc.c
+++ b/drivers/soc/renesas/r8a7795-sysc.c
@@ -38,7 +38,8 @@ static const struct rcar_sysc_area r8a7795_areas[]
__initconst = {
        { "ca53-cpu3",  0x200, 3, R8A7795_PD_CA53_CPU3, R8A7795_PD_CA53_SCU,
          PD_CPU_NOCR },
        { "a3vp",       0x340, 0, R8A7795_PD_A3VP,      R8A7795_PD_ALWAYS_ON
},
-       { "cr7",        0x240, 0, R8A7795_PD_CR7,       R8A7795_PD_ALWAYS_ON
},
+       { "cr7",        0x240, 0, R8A7795_PD_CR7,
R8A7795_PD_ALWAYS_ON,
+         PD_CPU_NOCR },
        { "a3vc",       0x380, 0, R8A7795_PD_A3VC,      R8A7795_PD_ALWAYS_ON
},
        { "a2vc0",      0x3c0, 0, R8A7795_PD_A2VC0,     R8A7795_PD_A3VC },
        { "a2vc1",      0x3c0, 1, R8A7795_PD_A2VC1,     R8A7795_PD_A3VC },


Not finally tested, though.
Pretending the CR7 PM Domain can only be controlled through WFI/APMU only should
work.
But IMHO it is a hack, just like your solution for the CANFD clock.

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help