clk: qcom: gcc-sm4450: Update the SDCC RCGs to use shared_floor_ops
authorJagadeesh Kona <jagadeesh.kona@oss.qualcomm.com>
Thu, 27 Nov 2025 17:57:38 +0000 (23:27 +0530)
committerBjorn Andersson <andersson@kernel.org>
Wed, 7 Jan 2026 15:12:00 +0000 (09:12 -0600)
Use shared_floor_ops for the SDCC RCGs so the RCG is safely parked
during disable and the new parent configuration is programmed in
hardware only when the new parent is enabled, avoiding cases where
the RCG configuration fails to update.

Fixes: c32c4ef98bac ("clk: qcom: Add GCC driver support for SM4450")
Reviewed-by: Taniya Das <taniya.das@oss.qualcomm.com>
Reviewed-by: Imran Shaik <imran.shaik@oss.qualcomm.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Reviewed-by: Vladimir Zapolskiy <vladimir.zapolskiy@linaro.org>
Signed-off-by: Jagadeesh Kona <jagadeesh.kona@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20251127-sdcc_shared_floor_ops-v2-3-473afc86589c@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
drivers/clk/qcom/gcc-sm4450.c

index e2d9e46..023d840 100644 (file)
@@ -769,7 +769,7 @@ static struct clk_rcg2 gcc_sdcc1_apps_clk_src = {
                .parent_data = gcc_parent_data_4,
                .num_parents = ARRAY_SIZE(gcc_parent_data_4),
                .flags = CLK_SET_RATE_PARENT,
-               .ops = &clk_rcg2_floor_ops,
+               .ops = &clk_rcg2_shared_floor_ops,
        },
 };
 
@@ -791,7 +791,7 @@ static struct clk_rcg2 gcc_sdcc1_ice_core_clk_src = {
                .parent_data = gcc_parent_data_4,
                .num_parents = ARRAY_SIZE(gcc_parent_data_4),
                .flags = CLK_SET_RATE_PARENT,
-               .ops = &clk_rcg2_floor_ops,
+               .ops = &clk_rcg2_shared_floor_ops,
        },
 };
 
@@ -815,7 +815,7 @@ static struct clk_rcg2 gcc_sdcc2_apps_clk_src = {
                .parent_data = gcc_parent_data_6,
                .num_parents = ARRAY_SIZE(gcc_parent_data_6),
                .flags = CLK_SET_RATE_PARENT,
-               .ops = &clk_rcg2_floor_ops,
+               .ops = &clk_rcg2_shared_floor_ops,
        },
 };