clk: rockchip: drop GRF dependency for rk3328/rk3036 pll types
authorPeter Geis <pgwipeout@gmail.com>
Wed, 28 Jul 2021 18:00:28 +0000 (14:00 -0400)
committerHeiko Stuebner <heiko@sntech.de>
Thu, 29 Jul 2021 09:22:29 +0000 (11:22 +0200)
The rk3036/rk3328 pll types were converted to checking the lock status
via the internal register in january 2020, so don't need the grf
reference since then.

But it was forgotten to remove grf check when deciding between the
pll rate ops (read-only vs. read-write), so a clock driver without
the needed grf reference might've been put into the read-only mode
just because the grf reference was missing.

This affected the rk356x that needs to reclock certain plls at boot.

Fix this by removing the check for the grf for selecting the utilized
operations.

Suggested-by: Heiko Stuebner <heiko@sntech.de>
Fixes: 7f6ffbb885d1 ("clk: rockchip: convert rk3036 pll type to use internal lock status")
Signed-off-by: Peter Geis <pgwipeout@gmail.com>
[adjusted the commit message, adjusted the fixes tag]
Link: https://lore.kernel.org/r/20210728180034.717953-3-pgwipeout@gmail.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
drivers/clk/rockchip/clk-pll.c

index fe937bcdb4876696869a840c57f4b70b7fc32b0d..f7827b3b7fc1cb77856347c1e643d9fe200423dd 100644 (file)
@@ -940,7 +940,7 @@ struct clk *rockchip_clk_register_pll(struct rockchip_clk_provider *ctx,
        switch (pll_type) {
        case pll_rk3036:
        case pll_rk3328:
-               if (!pll->rate_table || IS_ERR(ctx->grf))
+               if (!pll->rate_table)
                        init.ops = &rockchip_rk3036_pll_clk_norate_ops;
                else
                        init.ops = &rockchip_rk3036_pll_clk_ops;