OSDN Git Service

Revert "clk: qcom: gcc-sc7280: use new clk_regmap_mux_safe_ops for PCIe pipe clocks"
authorDmitry Baryshkov <dmitry.baryshkov@linaro.org>
Sat, 21 May 2022 00:53:37 +0000 (03:53 +0300)
committerBjorn Andersson <bjorn.andersson@linaro.org>
Mon, 23 May 2022 17:26:13 +0000 (12:26 -0500)
Johan Hovold has pointed out that there are several deficiencies and a
race condition in the regmap_mux_safe ops that were merged. Revert the
commit that switches gcc-sc7280 driver to use regmap_mux_safe.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Reviewed-by: Johan Hovold <johan+linaro@kernel.org>
Tested-by: Reviewed-by: Johan Hovold <johan+linaro@kernel.org>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Link: https://lore.kernel.org/r/20220521005343.1429642-3-dmitry.baryshkov@linaro.org
drivers/clk/qcom/gcc-sc7280.c

index dafbbc8..423627d 100644 (file)
@@ -373,14 +373,13 @@ 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_safe_ops,
+                       .ops = &clk_regmap_mux_closest_ops,
                },
        },
 };
@@ -389,14 +388,13 @@ 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_safe_ops,
+                       .ops = &clk_regmap_mux_closest_ops,
                },
        },
 };