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 fe937bc..f7827b3 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;