]> www.infradead.org Git - users/dwmw2/linux.git/commit
clk: qcom: gcc-x1e80100: Fix halt_check for all pipe clocks
authorAbel Vesa <abel.vesa@linaro.org>
Fri, 28 Jun 2024 08:08:00 +0000 (11:08 +0300)
committerBjorn Andersson <andersson@kernel.org>
Tue, 2 Jul 2024 03:28:05 +0000 (22:28 -0500)
commitf27e42c7d3ff8ddfc57273efd1e8642ea89bad90
treebb9f5a587b50cf94306f94f360fa5c241d905c1b
parentf2743ae3ff84579981ac513f512b9df945d109c0
clk: qcom: gcc-x1e80100: Fix halt_check for all pipe clocks

In case of all pipe clocks, there is a QMP PHY clock that is feeding them.
If, for whatever reason, the clock from the PHY is not enabled, halt bit
will not get set, and the clock controller driver will assume the clock
is stuck in a specific state. The way this is supposed to be properly
fixed is to defer the checking of the halt bit until after the PHY clock
has been initialized, but doing so complicates the clock controller
driver. In fact, since these pipe clocks are consumed by the PHY, while
the PHY is also the one providing the source, if clock gets stuck, the PHY
driver would be to blame. So instead of checking the halt bit in here,
just skip it and assume the PHY driver is handling the source clock
correctly.

Fixes: 161b7c401f4b ("clk: qcom: Add Global Clock controller (GCC) driver for X1E80100")
Signed-off-by: Abel Vesa <abel.vesa@linaro.org>
Reviewed-by: Taniya Das <quic_tdas@quicinc.com>
Link: https://lore.kernel.org/r/20240628-x1e80100-clk-gcc-fix-halt-check-for-usb-phy-pipe-clks-v2-1-db3be54b1143@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
drivers/clk/qcom/gcc-x1e80100.c