clk: qcom: gcc-sc7280: use new clk_regmap_mux_safe_ops for PCIe pipe clocks
authorDmitry Baryshkov <dmitry.baryshkov@linaro.org>
Wed, 23 Mar 2022 08:50:08 +0000 (11:50 +0300)
committerBjorn Andersson <bjorn.andersson@linaro.org>
Tue, 12 Apr 2022 18:32:58 +0000 (13:32 -0500)
Use newly defined clk_regmap_mux_safe_ops for PCIe pipe clocks to let
the clock framework automatically park the clock when the clock is
switched off and restore the parent when the clock is switched on.

Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Link: https://lore.kernel.org/r/20220323085010.1753493-4-dmitry.baryshkov@linaro.org
drivers/clk/qcom/gcc-sc7280.c

index 423627d..dafbbc8 100644 (file)
@@ -373,13 +373,14 @@ static struct clk_regmap_mux gcc_pcie_0_pipe_clk_src = {
        .reg = 0x6b054,
        .shift = 0,
        .width = 2,
+       .safe_src_parent = P_BI_TCXO,
        .parent_map = gcc_parent_map_6,
        .clkr = {
                .hw.init = &(struct clk_init_data){
                        .name = "gcc_pcie_0_pipe_clk_src",
                        .parent_data = gcc_parent_data_6,
                        .num_parents = ARRAY_SIZE(gcc_parent_data_6),
-                       .ops = &clk_regmap_mux_closest_ops,
+                       .ops = &clk_regmap_mux_safe_ops,
                },
        },
 };
@@ -388,13 +389,14 @@ static struct clk_regmap_mux gcc_pcie_1_pipe_clk_src = {
        .reg = 0x8d054,
        .shift = 0,
        .width = 2,
+       .safe_src_parent = P_BI_TCXO,
        .parent_map = gcc_parent_map_7,
        .clkr = {
                .hw.init = &(struct clk_init_data){
                        .name = "gcc_pcie_1_pipe_clk_src",
                        .parent_data = gcc_parent_data_7,
                        .num_parents = ARRAY_SIZE(gcc_parent_data_7),
-                       .ops = &clk_regmap_mux_closest_ops,
+                       .ops = &clk_regmap_mux_safe_ops,
                },
        },
 };