* [PATCH] clk: rockchip: add critical clock for rk3368
@ 2015-09-13 11:20 Heiko Stübner
2015-09-14 14:19 ` Mark Rutland
2015-09-14 19:49 ` Stephen Boyd
0 siblings, 2 replies; 6+ messages in thread
From: Heiko Stübner @ 2015-09-13 11:20 UTC (permalink / raw)
To: linux-arm-kernel
Again a result of the gpio-clock-liberation the rk3368 needs the
pclk_pd_pmu marked as critical, to boot successfully.
Reported-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
---
should go on top of clk-fixes. Sorry only finding these piece
by piece :-) .
drivers/clk/rockchip/clk-rk3368.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/drivers/clk/rockchip/clk-rk3368.c b/drivers/clk/rockchip/clk-rk3368.c
index 9c5d61e..7e6b783 100644
--- a/drivers/clk/rockchip/clk-rk3368.c
+++ b/drivers/clk/rockchip/clk-rk3368.c
@@ -818,6 +818,10 @@ static struct rockchip_clk_branch rk3368_clk_branches[] __initdata = {
GATE(0, "sclk_timer00", "xin24m", CLK_IGNORE_UNUSED, RK3368_CLKGATE_CON(24), 0, GFLAGS),
};
+static const char *const rk3368_critical_clocks[] __initconst = {
+ "pclk_pd_pmu",
+};
+
static void __init rk3368_clk_init(struct device_node *np)
{
void __iomem *reg_base;
@@ -862,6 +866,8 @@ static void __init rk3368_clk_init(struct device_node *np)
RK3368_GRF_SOC_STATUS0);
rockchip_clk_register_branches(rk3368_clk_branches,
ARRAY_SIZE(rk3368_clk_branches));
+ rockchip_clk_protect_critical(rk3368_critical_clocks,
+ ARRAY_SIZE(rk3368_critical_clocks));
rockchip_clk_register_armclk(ARMCLKB, "armclkb",
mux_armclkb_p, ARRAY_SIZE(mux_armclkb_p),
--
2.5.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH] clk: rockchip: add critical clock for rk3368
2015-09-13 11:20 [PATCH] clk: rockchip: add critical clock for rk3368 Heiko Stübner
@ 2015-09-14 14:19 ` Mark Rutland
2015-09-14 15:06 ` Heiko Stübner
2015-09-14 19:49 ` Stephen Boyd
1 sibling, 1 reply; 6+ messages in thread
From: Mark Rutland @ 2015-09-14 14:19 UTC (permalink / raw)
To: linux-arm-kernel
On Sun, Sep 13, 2015 at 12:20:36PM +0100, Heiko St?bner wrote:
> Again a result of the gpio-clock-liberation the rk3368 needs the
> pclk_pd_pmu marked as critical, to boot successfully.
>
> Reported-by: Mark Rutland <mark.rutland@arm.com>
> Signed-off-by: Heiko Stuebner <heiko@sntech.de>
FWIW: Tested-by: Mark Rutland <mark.rutland@arm.com>
I'm surprised that we don't describe these as critical in the DT, given
that this isn't really an internal property of the clock controller, but
rather what happens to be attached to it. That ship appears to have
sailed, however.
Thanks,
Mark.
> ---
> should go on top of clk-fixes. Sorry only finding these piece
> by piece :-) .
>
> drivers/clk/rockchip/clk-rk3368.c | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/drivers/clk/rockchip/clk-rk3368.c b/drivers/clk/rockchip/clk-rk3368.c
> index 9c5d61e..7e6b783 100644
> --- a/drivers/clk/rockchip/clk-rk3368.c
> +++ b/drivers/clk/rockchip/clk-rk3368.c
> @@ -818,6 +818,10 @@ static struct rockchip_clk_branch rk3368_clk_branches[] __initdata = {
> GATE(0, "sclk_timer00", "xin24m", CLK_IGNORE_UNUSED, RK3368_CLKGATE_CON(24), 0, GFLAGS),
> };
>
> +static const char *const rk3368_critical_clocks[] __initconst = {
> + "pclk_pd_pmu",
> +};
> +
> static void __init rk3368_clk_init(struct device_node *np)
> {
> void __iomem *reg_base;
> @@ -862,6 +866,8 @@ static void __init rk3368_clk_init(struct device_node *np)
> RK3368_GRF_SOC_STATUS0);
> rockchip_clk_register_branches(rk3368_clk_branches,
> ARRAY_SIZE(rk3368_clk_branches));
> + rockchip_clk_protect_critical(rk3368_critical_clocks,
> + ARRAY_SIZE(rk3368_critical_clocks));
>
> rockchip_clk_register_armclk(ARMCLKB, "armclkb",
> mux_armclkb_p, ARRAY_SIZE(mux_armclkb_p),
> --
> 2.5.1
>
>
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH] clk: rockchip: add critical clock for rk3368
2015-09-14 14:19 ` Mark Rutland
@ 2015-09-14 15:06 ` Heiko Stübner
2015-09-14 15:19 ` Mark Rutland
0 siblings, 1 reply; 6+ messages in thread
From: Heiko Stübner @ 2015-09-14 15:06 UTC (permalink / raw)
To: linux-arm-kernel
Am Montag, 14. September 2015, 15:19:21 schrieb Mark Rutland:
> On Sun, Sep 13, 2015 at 12:20:36PM +0100, Heiko St?bner wrote:
> > Again a result of the gpio-clock-liberation the rk3368 needs the
> > pclk_pd_pmu marked as critical, to boot successfully.
> >
> > Reported-by: Mark Rutland <mark.rutland@arm.com>
> > Signed-off-by: Heiko Stuebner <heiko@sntech.de>
>
> FWIW: Tested-by: Mark Rutland <mark.rutland@arm.com>
>
> I'm surprised that we don't describe these as critical in the DT, given
> that this isn't really an internal property of the clock controller, but
> rather what happens to be attached to it. That ship appears to have
> sailed, however.
I wouldn't necessarily think so ... what is called critical only means "don't
turn off when walking the clock-tree upwards".
The pclk_pd_pmu for example simply supplies some more clocks we don't handle
at all currently (pclk_pmu_noc, ...). That we currently choose to ignore those
[because we don't have any code nor dt-bindings to handle the components
supplied] sounds very much like an implementation-specific detail, not
something about the hardware.
I really like the concept of critical clock handling Mike is working on, which
implements some sort of hand-off and keeps so marked clocks on until a real
components picks them up.
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH] clk: rockchip: add critical clock for rk3368
2015-09-14 15:06 ` Heiko Stübner
@ 2015-09-14 15:19 ` Mark Rutland
2015-09-14 15:24 ` Heiko Stübner
0 siblings, 1 reply; 6+ messages in thread
From: Mark Rutland @ 2015-09-14 15:19 UTC (permalink / raw)
To: linux-arm-kernel
On Mon, Sep 14, 2015 at 04:06:05PM +0100, Heiko St?bner wrote:
> Am Montag, 14. September 2015, 15:19:21 schrieb Mark Rutland:
> > On Sun, Sep 13, 2015 at 12:20:36PM +0100, Heiko St?bner wrote:
> > > Again a result of the gpio-clock-liberation the rk3368 needs the
> > > pclk_pd_pmu marked as critical, to boot successfully.
> > >
> > > Reported-by: Mark Rutland <mark.rutland@arm.com>
> > > Signed-off-by: Heiko Stuebner <heiko@sntech.de>
> >
> > FWIW: Tested-by: Mark Rutland <mark.rutland@arm.com>
> >
> > I'm surprised that we don't describe these as critical in the DT, given
> > that this isn't really an internal property of the clock controller, but
> > rather what happens to be attached to it. That ship appears to have
> > sailed, however.
>
> I wouldn't necessarily think so ... what is called critical only means "don't
> turn off when walking the clock-tree upwards".
>
> The pclk_pd_pmu for example simply supplies some more clocks we don't handle
> at all currently (pclk_pmu_noc, ...). That we currently choose to ignore those
> [because we don't have any code nor dt-bindings to handle the components
> supplied] sounds very much like an implementation-specific detail, not
> something about the hardware.
Sure, but the specific case that lead to this report was the fact that
this clock (directly?) feeds the pinctrl programming interface, and that
fact is neither described in the DT nor handled by the driver. Surely
that should be described and handled?
Thanks,
Mark.
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH] clk: rockchip: add critical clock for rk3368
2015-09-14 15:19 ` Mark Rutland
@ 2015-09-14 15:24 ` Heiko Stübner
0 siblings, 0 replies; 6+ messages in thread
From: Heiko Stübner @ 2015-09-14 15:24 UTC (permalink / raw)
To: linux-arm-kernel
Am Montag, 14. September 2015, 16:19:42 schrieb Mark Rutland:
> On Mon, Sep 14, 2015 at 04:06:05PM +0100, Heiko St?bner wrote:
> > Am Montag, 14. September 2015, 15:19:21 schrieb Mark Rutland:
> > > On Sun, Sep 13, 2015 at 12:20:36PM +0100, Heiko St?bner wrote:
> > > > Again a result of the gpio-clock-liberation the rk3368 needs the
> > > > pclk_pd_pmu marked as critical, to boot successfully.
> > > >
> > > > Reported-by: Mark Rutland <mark.rutland@arm.com>
> > > > Signed-off-by: Heiko Stuebner <heiko@sntech.de>
> > >
> > > FWIW: Tested-by: Mark Rutland <mark.rutland@arm.com>
> > >
> > > I'm surprised that we don't describe these as critical in the DT, given
> > > that this isn't really an internal property of the clock controller, but
> > > rather what happens to be attached to it. That ship appears to have
> > > sailed, however.
> >
> > I wouldn't necessarily think so ... what is called critical only means
> > "don't turn off when walking the clock-tree upwards".
> >
> > The pclk_pd_pmu for example simply supplies some more clocks we don't
> > handle at all currently (pclk_pmu_noc, ...). That we currently choose to
> > ignore those [because we don't have any code nor dt-bindings to handle
> > the components supplied] sounds very much like an implementation-specific
> > detail, not something about the hardware.
>
> Sure, but the specific case that lead to this report was the fact that
> this clock (directly?) feeds the pinctrl programming interface, and that
> fact is neither described in the DT nor handled by the driver. Surely
> that should be described and handled?
nope it doesn't :-) pclk_pd_pmu feeds pclk_gpio0.
Before the pinctrl patch, pclk_gpio0 was just statically on all the time, now
it gets turned off when bank0 is not in use (between reads/writes and if no
interrupts are enabled). This in turn makes the clock framework turn off
pclk_pd_pmu (and thus its other unhandled child-clocks).
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH] clk: rockchip: add critical clock for rk3368
2015-09-13 11:20 [PATCH] clk: rockchip: add critical clock for rk3368 Heiko Stübner
2015-09-14 14:19 ` Mark Rutland
@ 2015-09-14 19:49 ` Stephen Boyd
1 sibling, 0 replies; 6+ messages in thread
From: Stephen Boyd @ 2015-09-14 19:49 UTC (permalink / raw)
To: linux-arm-kernel
On 09/13, Heiko St?bner wrote:
> Again a result of the gpio-clock-liberation the rk3368 needs the
> pclk_pd_pmu marked as critical, to boot successfully.
>
> Reported-by: Mark Rutland <mark.rutland@arm.com>
> Signed-off-by: Heiko Stuebner <heiko@sntech.de>
> ---
Applied to clk-fixes
--
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2015-09-14 19:49 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-09-13 11:20 [PATCH] clk: rockchip: add critical clock for rk3368 Heiko Stübner
2015-09-14 14:19 ` Mark Rutland
2015-09-14 15:06 ` Heiko Stübner
2015-09-14 15:19 ` Mark Rutland
2015-09-14 15:24 ` Heiko Stübner
2015-09-14 19:49 ` Stephen Boyd
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).