]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
clk: qcom: gcc-glymur: Update the halt check flags for pipe clocks
authorTaniya Das <taniya.das@oss.qualcomm.com>
Thu, 25 Sep 2025 10:19:00 +0000 (15:49 +0530)
committerBjorn Andersson <andersson@kernel.org>
Wed, 22 Oct 2025 21:53:55 +0000 (16:53 -0500)
The pipe clocks for PCIE and USB are externally sourced and they should
not be polled by the clock driver. Update the halt_check flags to 'SKIP'
to disable polling for these clocks.

This helps avoid the clock status stuck at 'off' warnings, which are
benign, since all consumers of the PHYs must initialize a given instance
before performing any operations.

Fixes: efe504300a17 ("clk: qcom: gcc: Add support for Global Clock Controller")
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Signed-off-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>
Link: https://lore.kernel.org/r/20250925-glymur_gcc_usb_fixes-v2-1-ee4619571efe@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
drivers/clk/qcom/gcc-glymur.c

index 62059120f9720bbac03852c0368f4de3038a559c..d938e7dc5b66ec539c3264a2e212b3d6878b1fde 100644 (file)
@@ -6760,7 +6760,7 @@ static struct clk_branch gcc_usb3_prim_phy_com_aux_clk = {
 
 static struct clk_branch gcc_usb3_prim_phy_pipe_clk = {
        .halt_reg = 0x3f088,
-       .halt_check = BRANCH_HALT_DELAY,
+       .halt_check = BRANCH_HALT_SKIP,
        .hwcg_reg = 0x3f088,
        .hwcg_bit = 1,
        .clkr = {
@@ -6816,7 +6816,7 @@ static struct clk_branch gcc_usb3_sec_phy_com_aux_clk = {
 
 static struct clk_branch gcc_usb3_sec_phy_pipe_clk = {
        .halt_reg = 0xe2078,
-       .halt_check = BRANCH_HALT_VOTED,
+       .halt_check = BRANCH_HALT_SKIP,
        .hwcg_reg = 0xe2078,
        .hwcg_bit = 1,
        .clkr = {
@@ -6872,7 +6872,7 @@ static struct clk_branch gcc_usb3_tert_phy_com_aux_clk = {
 
 static struct clk_branch gcc_usb3_tert_phy_pipe_clk = {
        .halt_reg = 0xe1078,
-       .halt_check = BRANCH_HALT_VOTED,
+       .halt_check = BRANCH_HALT_SKIP,
        .hwcg_reg = 0xe1078,
        .hwcg_bit = 1,
        .clkr = {
@@ -6961,7 +6961,7 @@ static struct clk_branch gcc_usb4_0_master_clk = {
 
 static struct clk_branch gcc_usb4_0_phy_p2rr2p_pipe_clk = {
        .halt_reg = 0x2b0f4,
-       .halt_check = BRANCH_HALT,
+       .halt_check = BRANCH_HALT_SKIP,
        .clkr = {
                .enable_reg = 0x2b0f4,
                .enable_mask = BIT(0),
@@ -6979,7 +6979,7 @@ static struct clk_branch gcc_usb4_0_phy_p2rr2p_pipe_clk = {
 
 static struct clk_branch gcc_usb4_0_phy_pcie_pipe_clk = {
        .halt_reg = 0x2b04c,
-       .halt_check = BRANCH_HALT_VOTED,
+       .halt_check = BRANCH_HALT_SKIP,
        .clkr = {
                .enable_reg = 0x62010,
                .enable_mask = BIT(11),
@@ -7033,7 +7033,7 @@ static struct clk_branch gcc_usb4_0_phy_rx1_clk = {
 
 static struct clk_branch gcc_usb4_0_phy_usb_pipe_clk = {
        .halt_reg = 0x2b0bc,
-       .halt_check = BRANCH_HALT_VOTED,
+       .halt_check = BRANCH_HALT_SKIP,
        .hwcg_reg = 0x2b0bc,
        .hwcg_bit = 1,
        .clkr = {
@@ -7196,7 +7196,7 @@ static struct clk_branch gcc_usb4_1_master_clk = {
 
 static struct clk_branch gcc_usb4_1_phy_p2rr2p_pipe_clk = {
        .halt_reg = 0x2d118,
-       .halt_check = BRANCH_HALT,
+       .halt_check = BRANCH_HALT_SKIP,
        .clkr = {
                .enable_reg = 0x2d118,
                .enable_mask = BIT(0),
@@ -7214,7 +7214,7 @@ static struct clk_branch gcc_usb4_1_phy_p2rr2p_pipe_clk = {
 
 static struct clk_branch gcc_usb4_1_phy_pcie_pipe_clk = {
        .halt_reg = 0x2d04c,
-       .halt_check = BRANCH_HALT_VOTED,
+       .halt_check = BRANCH_HALT_SKIP,
        .clkr = {
                .enable_reg = 0x62010,
                .enable_mask = BIT(12),
@@ -7268,7 +7268,7 @@ static struct clk_branch gcc_usb4_1_phy_rx1_clk = {
 
 static struct clk_branch gcc_usb4_1_phy_usb_pipe_clk = {
        .halt_reg = 0x2d0e0,
-       .halt_check = BRANCH_HALT_VOTED,
+       .halt_check = BRANCH_HALT_SKIP,
        .hwcg_reg = 0x2d0e0,
        .hwcg_bit = 1,
        .clkr = {
@@ -7431,7 +7431,7 @@ static struct clk_branch gcc_usb4_2_master_clk = {
 
 static struct clk_branch gcc_usb4_2_phy_p2rr2p_pipe_clk = {
        .halt_reg = 0xe00f8,
-       .halt_check = BRANCH_HALT,
+       .halt_check = BRANCH_HALT_SKIP,
        .clkr = {
                .enable_reg = 0xe00f8,
                .enable_mask = BIT(0),
@@ -7449,7 +7449,7 @@ static struct clk_branch gcc_usb4_2_phy_p2rr2p_pipe_clk = {
 
 static struct clk_branch gcc_usb4_2_phy_pcie_pipe_clk = {
        .halt_reg = 0xe004c,
-       .halt_check = BRANCH_HALT_VOTED,
+       .halt_check = BRANCH_HALT_SKIP,
        .clkr = {
                .enable_reg = 0x62010,
                .enable_mask = BIT(13),
@@ -7503,7 +7503,7 @@ static struct clk_branch gcc_usb4_2_phy_rx1_clk = {
 
 static struct clk_branch gcc_usb4_2_phy_usb_pipe_clk = {
        .halt_reg = 0xe00c0,
-       .halt_check = BRANCH_HALT_VOTED,
+       .halt_check = BRANCH_HALT_SKIP,
        .hwcg_reg = 0xe00c0,
        .hwcg_bit = 1,
        .clkr = {