clk: qcom: gcc-ipq806x: add unusued flag for critical clock
authorAnsuel Smith <ansuelsmth@gmail.com>
Sat, 26 Feb 2022 13:52:28 +0000 (14:52 +0100)
committerBjorn Andersson <bjorn.andersson@linaro.org>
Tue, 8 Mar 2022 22:19:31 +0000 (16:19 -0600)
Some clocks are used by other devices present on the SoC. For example
the gsbi4_h_clk is used by RPM and is if disabled cause the RPM to
reject any regulator change command. These clock should never be
disabled.

Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
Tested-by: Jonathan McDowell <noodles@earth.li>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Link: https://lore.kernel.org/r/20220226135235.10051-9-ansuelsmth@gmail.com
drivers/clk/qcom/gcc-ipq806x.c

index f49fc8b..983d075 100644 (file)
@@ -798,7 +798,7 @@ static struct clk_rcg gsbi4_qup_src = {
                        .parent_data = gcc_pxo_pll8,
                        .num_parents = ARRAY_SIZE(gcc_pxo_pll8),
                        .ops = &clk_rcg_ops,
-                       .flags = CLK_SET_PARENT_GATE,
+                       .flags = CLK_SET_PARENT_GATE | CLK_IGNORE_UNUSED,
                },
        },
 };
@@ -816,7 +816,7 @@ static struct clk_branch gsbi4_qup_clk = {
                        },
                        .num_parents = 1,
                        .ops = &clk_branch_ops,
-                       .flags = CLK_SET_RATE_PARENT,
+                       .flags = CLK_SET_RATE_PARENT | CLK_IGNORE_UNUSED,
                },
        },
 };
@@ -900,7 +900,7 @@ static struct clk_rcg gsbi6_qup_src = {
                        .parent_data = gcc_pxo_pll8,
                        .num_parents = ARRAY_SIZE(gcc_pxo_pll8),
                        .ops = &clk_rcg_ops,
-                       .flags = CLK_SET_PARENT_GATE,
+                       .flags = CLK_SET_PARENT_GATE | CLK_IGNORE_UNUSED,
                },
        },
 };
@@ -969,7 +969,7 @@ static struct clk_branch gsbi7_qup_clk = {
                        },
                        .num_parents = 1,
                        .ops = &clk_branch_ops,
-                       .flags = CLK_SET_RATE_PARENT,
+                       .flags = CLK_SET_RATE_PARENT | CLK_IGNORE_UNUSED,
                },
        },
 };
@@ -1015,6 +1015,7 @@ static struct clk_branch gsbi4_h_clk = {
                .hw.init = &(struct clk_init_data){
                        .name = "gsbi4_h_clk",
                        .ops = &clk_branch_ops,
+                       .flags = CLK_IGNORE_UNUSED,
                },
        },
 };