lkml.org 
[lkml]   [2019]   [Feb]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.20 069/352] clk: meson: meson8b: mark the CPU clock as CLK_IS_CRITICAL
    Date
    4.20-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    [ Upstream commit 0dad1ec65bc30a549aba38d34a727309bbf41bc8 ]

    We don't want the common clock framework to disable the "cpu_clk" if
    it's not used by any device. The cpufreq-dt driver does not enable the
    CPU clocks. However, even if it would we would still want the CPU clock
    to be enabled at all times because the CPU clock is also required even
    if we disable CPU frequency scaling on a specific board.

    The reason why we want the CPU clock to be enabled is a clock further up
    in the tree:
    Since commit 6f888e7bc7bd58 ("clk: meson: clk-pll: add enable bit") the
    sys_pll can be disabled. However, since the CPU clock is derived from
    sys_pll we don't want sys_pll to get disabled. The common clock
    framework takes care of that for us by enabling all parent clocks of our
    CPU clock when we mark the CPU clock with CLK_IS_CRITICAL.

    Until now this is not a problem yet because all clocks in the CPU
    clock's tree (including sys_pll) are read-only. However, once we allow
    modifications to the clocks in that tree we will need this.

    Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
    Acked-by: Jerome Brunet <jbrunet@baylibre.com>
    Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
    Link: https://lkml.kernel.org/r/20181115224048.13511-4-martin.blumenstingl@googlemail.com
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/clk/meson/meson8b.c | 3 ++-
    1 file changed, 2 insertions(+), 1 deletion(-)

    diff --git a/drivers/clk/meson/meson8b.c b/drivers/clk/meson/meson8b.c
    index 9160a3b2e668..a3a826419c16 100644
    --- a/drivers/clk/meson/meson8b.c
    +++ b/drivers/clk/meson/meson8b.c
    @@ -650,7 +650,8 @@ static struct clk_regmap meson8b_cpu_clk = {
    "cpu_scale_out_sel" },
    .num_parents = 2,
    .flags = (CLK_SET_RATE_PARENT |
    - CLK_SET_RATE_NO_REPARENT),
    + CLK_SET_RATE_NO_REPARENT |
    + CLK_IS_CRITICAL),
    },
    };

    --
    2.19.1


    \
     
     \ /
      Last update: 2019-02-11 17:12    [W:4.063 / U:0.088 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site