Message ID | 20240924101444.3933828-5-quic_qianyu@quicinc.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | Add support for PCIe3 on x1e80100 | expand |
On Tue, Sep 24, 2024 at 03:14:42AM -0700, Qiang Yu wrote: > The pipediv2_clk's source from the same mux as pipe clock. So they have > same limitation, which is that the PHY sequence requires to enable these > local CBCs before the PHY is actually outputting a clock to them. This > means the clock won't actually turn on when we vote them. Hence, let's > skip the halt bit check of the pipediv2_clk, otherwise pipediv2_clk may > stuck at off state during bootup. > > Suggested-by: Mike Tipton <quic_mdtipton@quicinc.com> > Signed-off-by: Qiang Yu <quic_qianyu@quicinc.com> > Reviewed-by: Konrad Dybcio <konradybcio@kernel.org> Looks like this one is missing a Fixes and CC stable tag. With that added: Reviewed-by: Johan Hovold <johan+linaro@kernel.org> Johan
On 9/24/2024 10:31 PM, Johan Hovold wrote: > On Tue, Sep 24, 2024 at 03:14:42AM -0700, Qiang Yu wrote: >> The pipediv2_clk's source from the same mux as pipe clock. So they have >> same limitation, which is that the PHY sequence requires to enable these >> local CBCs before the PHY is actually outputting a clock to them. This >> means the clock won't actually turn on when we vote them. Hence, let's >> skip the halt bit check of the pipediv2_clk, otherwise pipediv2_clk may >> stuck at off state during bootup. >> >> Suggested-by: Mike Tipton <quic_mdtipton@quicinc.com> >> Signed-off-by: Qiang Yu <quic_qianyu@quicinc.com> >> Reviewed-by: Konrad Dybcio <konradybcio@kernel.org> > Looks like this one is missing a Fixes and CC stable tag. With that > added: Will add Fixes and CC stable tag. Thanks, Qiang Yu > Reviewed-by: Johan Hovold <johan+linaro@kernel.org> > > Johan
diff --git a/drivers/clk/qcom/gcc-x1e80100.c b/drivers/clk/qcom/gcc-x1e80100.c index 0f578771071f..81ba5ceab342 100644 --- a/drivers/clk/qcom/gcc-x1e80100.c +++ b/drivers/clk/qcom/gcc-x1e80100.c @@ -3123,7 +3123,7 @@ static struct clk_branch gcc_pcie_3_pipe_clk = { static struct clk_branch gcc_pcie_3_pipediv2_clk = { .halt_reg = 0x58060, - .halt_check = BRANCH_HALT_VOTED, + .halt_check = BRANCH_HALT_SKIP, .clkr = { .enable_reg = 0x52020, .enable_mask = BIT(5), @@ -3248,7 +3248,7 @@ static struct clk_branch gcc_pcie_4_pipe_clk = { static struct clk_branch gcc_pcie_4_pipediv2_clk = { .halt_reg = 0x6b054, - .halt_check = BRANCH_HALT_VOTED, + .halt_check = BRANCH_HALT_SKIP, .clkr = { .enable_reg = 0x52010, .enable_mask = BIT(27), @@ -3373,7 +3373,7 @@ static struct clk_branch gcc_pcie_5_pipe_clk = { static struct clk_branch gcc_pcie_5_pipediv2_clk = { .halt_reg = 0x2f054, - .halt_check = BRANCH_HALT_VOTED, + .halt_check = BRANCH_HALT_SKIP, .clkr = { .enable_reg = 0x52018, .enable_mask = BIT(19), @@ -3511,7 +3511,7 @@ static struct clk_branch gcc_pcie_6a_pipe_clk = { static struct clk_branch gcc_pcie_6a_pipediv2_clk = { .halt_reg = 0x31060, - .halt_check = BRANCH_HALT_VOTED, + .halt_check = BRANCH_HALT_SKIP, .clkr = { .enable_reg = 0x52018, .enable_mask = BIT(28), @@ -3649,7 +3649,7 @@ static struct clk_branch gcc_pcie_6b_pipe_clk = { static struct clk_branch gcc_pcie_6b_pipediv2_clk = { .halt_reg = 0x8d060, - .halt_check = BRANCH_HALT_VOTED, + .halt_check = BRANCH_HALT_SKIP, .clkr = { .enable_reg = 0x52010, .enable_mask = BIT(28),