mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH v2] clk: qcom: gcc-x1e80100: Keep GCC USB QTB clock always ON
@ 2026-03-27 15:06 Jagadeesh Kona
  2026-03-27 15:10 ` Abel Vesa
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Jagadeesh Kona @ 2026-03-27 15:06 UTC (permalink / raw)
  To: Bjorn Andersson, Michael Turquette, Stephen Boyd,
	Bryan O'Donoghue, Sibi Sankar, Rajendra Nayak, Konrad Dybcio
  Cc: Ajit Pandey, Imran Shaik, Taniya Das, linux-arm-msm, linux-clk,
	linux-kernel, Abel Vesa, Jagadeesh Kona, Konrad Dybcio,
	Dmitry Baryshkov

In Hamoa, SMMU invalidation requires the GCC_AGGRE_USB_NOC_AXI_CLK
to be on for the USB QTB to be functional. This is currently
explicitly enabled by the DWC3 glue driver, so an invalidation
happening while the USB controller is suspended will fault.

Solve this by voting for the GCC MMU USB QTB clock.

Fixes: 161b7c401f4b ("clk: qcom: Add Global Clock controller (GCC) driver for X1E80100")
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Signed-off-by: Jagadeesh Kona <jagadeesh.kona@oss.qualcomm.com>
---
Changes in v2:
- Updated commit text to add more details
- Added Fixes tag and R-By comments received on v1
- Link to v1: https://lore.kernel.org/r/20260316-hamoa-usb-qtb-clk-always-on-v1-1-a29ac94f20f5@oss.qualcomm.com
---
 drivers/clk/qcom/gcc-x1e80100.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/clk/qcom/gcc-x1e80100.c b/drivers/clk/qcom/gcc-x1e80100.c
index 74afd12c158c01c121d9aecd56e65c0c302d7cd0..73a2a5112623e5190f41129af7fd76a86603557b 100644
--- a/drivers/clk/qcom/gcc-x1e80100.c
+++ b/drivers/clk/qcom/gcc-x1e80100.c
@@ -7480,6 +7480,7 @@ static int gcc_x1e80100_probe(struct platform_device *pdev)
 	qcom_branch_set_clk_en(regmap, 0x32004); /* GCC_VIDEO_AHB_CLK */
 	qcom_branch_set_clk_en(regmap, 0x32030); /* GCC_VIDEO_XO_CLK */
 	qcom_branch_set_clk_en(regmap, 0x71004); /* GCC_GPU_CFG_AHB_CLK */
+	qcom_branch_set_clk_en(regmap, 0x7d01c); /* GCC_HLOS1_VOTE_AGGRE_NOC_MMU_USB_QTB_CLK */
 
 	/* Clear GDSC_SLEEP_ENA_VOTE to stop votes being auto-removed in sleep. */
 	regmap_write(regmap, 0x52224, 0x0);

---
base-commit: b84a0ebe421ca56995ff78b66307667b62b3a900
change-id: 20260316-hamoa-usb-qtb-clk-always-on-bcd4e5f3553e

Best regards,
-- 
Jagadeesh Kona <jagadeesh.kona@oss.qualcomm.com>


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH v2] clk: qcom: gcc-x1e80100: Keep GCC USB QTB clock always ON
  2026-03-27 15:06 [PATCH v2] clk: qcom: gcc-x1e80100: Keep GCC USB QTB clock always ON Jagadeesh Kona
@ 2026-03-27 15:10 ` Abel Vesa
  2026-03-27 15:35 ` Taniya Das
  2026-04-05 19:40 ` Bjorn Andersson
  2 siblings, 0 replies; 4+ messages in thread
From: Abel Vesa @ 2026-03-27 15:10 UTC (permalink / raw)
  To: Jagadeesh Kona
  Cc: Bjorn Andersson, Michael Turquette, Stephen Boyd,
	Bryan O'Donoghue, Sibi Sankar, Rajendra Nayak, Konrad Dybcio,
	Ajit Pandey, Imran Shaik, Taniya Das, linux-arm-msm, linux-clk,
	linux-kernel, Abel Vesa, Konrad Dybcio, Dmitry Baryshkov

On 26-03-27 20:36:46, Jagadeesh Kona wrote:
> In Hamoa, SMMU invalidation requires the GCC_AGGRE_USB_NOC_AXI_CLK
> to be on for the USB QTB to be functional. This is currently
> explicitly enabled by the DWC3 glue driver, so an invalidation
> happening while the USB controller is suspended will fault.
> 
> Solve this by voting for the GCC MMU USB QTB clock.
> 
> Fixes: 161b7c401f4b ("clk: qcom: Add Global Clock controller (GCC) driver for X1E80100")
> Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
> Signed-off-by: Jagadeesh Kona <jagadeesh.kona@oss.qualcomm.com>

Reviewed-by: Abel Vesa <abel.vesa@oss.qualcomm.com>

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH v2] clk: qcom: gcc-x1e80100: Keep GCC USB QTB clock always ON
  2026-03-27 15:06 [PATCH v2] clk: qcom: gcc-x1e80100: Keep GCC USB QTB clock always ON Jagadeesh Kona
  2026-03-27 15:10 ` Abel Vesa
@ 2026-03-27 15:35 ` Taniya Das
  2026-04-05 19:40 ` Bjorn Andersson
  2 siblings, 0 replies; 4+ messages in thread
From: Taniya Das @ 2026-03-27 15:35 UTC (permalink / raw)
  To: Jagadeesh Kona
  Cc: Bjorn Andersson, Michael Turquette, Stephen Boyd,
	Bryan O'Donoghue, Sibi Sankar, Rajendra Nayak, Konrad Dybcio,
	Ajit Pandey, Imran Shaik, linux-arm-msm, linux-clk, linux-kernel,
	Abel Vesa, Konrad Dybcio, Dmitry Baryshkov

> diff --git a/drivers/clk/qcom/gcc-x1e80100.c b/drivers/clk/qcom/gcc-x1e80100.c
> index 74afd12c158c01c121d9aecd56e65c0c302d7cd0..73a2a5112623e5190f41129af7fd76a86603557b 100644
> --- a/drivers/clk/qcom/gcc-x1e80100.c
> +++ b/drivers/clk/qcom/gcc-x1e80100.c
> @@ -7480,6 +7480,7 @@ static int gcc_x1e80100_probe(struct platform_device *pdev)
>         qcom_branch_set_clk_en(regmap, 0x32004); /* GCC_VIDEO_AHB_CLK */
>         qcom_branch_set_clk_en(regmap, 0x32030); /* GCC_VIDEO_XO_CLK */
>         qcom_branch_set_clk_en(regmap, 0x71004); /* GCC_GPU_CFG_AHB_CLK */
> +       qcom_branch_set_clk_en(regmap, 0x7d01c); /* GCC_HLOS1_VOTE_AGGRE_NOC_MMU_USB_QTB_CLK */
>
>         /* Clear GDSC_SLEEP_ENA_VOTE to stop votes being auto-removed in sleep. */
>         regmap_write(regmap, 0x52224, 0x0);

Reviewed-by: Taniya Das <taniya.das@oss.qualcomm.com>

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH v2] clk: qcom: gcc-x1e80100: Keep GCC USB QTB clock always ON
  2026-03-27 15:06 [PATCH v2] clk: qcom: gcc-x1e80100: Keep GCC USB QTB clock always ON Jagadeesh Kona
  2026-03-27 15:10 ` Abel Vesa
  2026-03-27 15:35 ` Taniya Das
@ 2026-04-05 19:40 ` Bjorn Andersson
  2 siblings, 0 replies; 4+ messages in thread
From: Bjorn Andersson @ 2026-04-05 19:40 UTC (permalink / raw)
  To: Michael Turquette, Stephen Boyd, Bryan O'Donoghue,
	Sibi Sankar, Rajendra Nayak, Konrad Dybcio, Jagadeesh Kona
  Cc: Ajit Pandey, Imran Shaik, Taniya Das, linux-arm-msm, linux-clk,
	linux-kernel, Abel Vesa, Konrad Dybcio, Dmitry Baryshkov


On Fri, 27 Mar 2026 20:36:46 +0530, Jagadeesh Kona wrote:
> In Hamoa, SMMU invalidation requires the GCC_AGGRE_USB_NOC_AXI_CLK
> to be on for the USB QTB to be functional. This is currently
> explicitly enabled by the DWC3 glue driver, so an invalidation
> happening while the USB controller is suspended will fault.
> 
> Solve this by voting for the GCC MMU USB QTB clock.
> 
> [...]

Applied, thanks!

[1/1] clk: qcom: gcc-x1e80100: Keep GCC USB QTB clock always ON
      commit: 05566ebcc0cd170bd4f50c907ee3ed8e106251e3

Best regards,
-- 
Bjorn Andersson <andersson@kernel.org>

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2026-04-05 19:40 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-03-27 15:06 [PATCH v2] clk: qcom: gcc-x1e80100: Keep GCC USB QTB clock always ON Jagadeesh Kona
2026-03-27 15:10 ` Abel Vesa
2026-03-27 15:35 ` Taniya Das
2026-04-05 19:40 ` Bjorn Andersson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox