drivers/clk/qcom/gcc-x1e80100.c | 1 + 1 file changed, 1 insertion(+)
Keep GCC USB QTB clock always ON which is required for SMMU
invalidation on X1E80100 platform.
Signed-off-by: Jagadeesh Kona <jagadeesh.kona@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>
On 3/16/26 12:08 PM, Jagadeesh Kona wrote: > Keep GCC USB QTB clock always ON which is required for SMMU > invalidation on X1E80100 platform. > > Signed-off-by: Jagadeesh Kona <jagadeesh.kona@oss.qualcomm.com> > --- Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Konrad
On Mon, Mar 16, 2026 at 04:38:21PM +0530, Jagadeesh Kona wrote: > Keep GCC USB QTB clock always ON which is required for SMMU > invalidation on X1E80100 platform. > > Signed-off-by: Jagadeesh Kona <jagadeesh.kona@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 */ Is it used during all SMMU invalidations or only for those related to the USB controller? > > /* 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> > -- With best wishes Dmitry
On 3/16/2026 6:26 PM, Dmitry Baryshkov wrote: > On Mon, Mar 16, 2026 at 04:38:21PM +0530, Jagadeesh Kona wrote: >> Keep GCC USB QTB clock always ON which is required for SMMU >> invalidation on X1E80100 platform. >> >> Signed-off-by: Jagadeesh Kona <jagadeesh.kona@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 */ > > Is it used during all SMMU invalidations or only for those related to > the USB controller? > Yes, it is required for all SMMU invalidations. Thanks, Jagadeesh >> >> /* 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> >> >
On Mon, Mar 23, 2026 at 10:26:53AM +0530, Jagadeesh Kona wrote: > > > On 3/16/2026 6:26 PM, Dmitry Baryshkov wrote: > > On Mon, Mar 16, 2026 at 04:38:21PM +0530, Jagadeesh Kona wrote: > >> Keep GCC USB QTB clock always ON which is required for SMMU > >> invalidation on X1E80100 platform. > >> > >> Signed-off-by: Jagadeesh Kona <jagadeesh.kona@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 */ > > > > Is it used during all SMMU invalidations or only for those related to > > the USB controller? > > > > Yes, it is required for all SMMU invalidations. What happens if it's not enabled? Why isn't problem described in the commit message? If it is _required_, wouldn't that imply that this fixes a problem, and if so, why isn't there a Fixes: tag? Regards, Bjorn > > Thanks, > Jagadeesh > > >> > >> /* 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> > >> > > >
On 3/24/26 3:33 AM, Bjorn Andersson wrote: > On Mon, Mar 23, 2026 at 10:26:53AM +0530, Jagadeesh Kona wrote: >> >> >> On 3/16/2026 6:26 PM, Dmitry Baryshkov wrote: >>> On Mon, Mar 16, 2026 at 04:38:21PM +0530, Jagadeesh Kona wrote: >>>> Keep GCC USB QTB clock always ON which is required for SMMU >>>> invalidation on X1E80100 platform. >>>> >>>> Signed-off-by: Jagadeesh Kona <jagadeesh.kona@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 */ >>> >>> Is it used during all SMMU invalidations or only for those related to >>> the USB controller? >>> >> >> Yes, it is required for all SMMU invalidations. > > What happens if it's not enabled? Board goes kaboom if you suspend the system with the flattened USB node (why only with the flattened one? I would assume that moving the iommus property makes a difference) > Why isn't problem described in the > commit message? That would be good.. > > If it is _required_, wouldn't that imply that this fixes a problem, and > if so, why isn't there a Fixes: tag? Certainly Konrad
On Mon, Mar 23, 2026 at 10:26:53AM +0530, Jagadeesh Kona wrote: > > > On 3/16/2026 6:26 PM, Dmitry Baryshkov wrote: > > On Mon, Mar 16, 2026 at 04:38:21PM +0530, Jagadeesh Kona wrote: > >> Keep GCC USB QTB clock always ON which is required for SMMU > >> invalidation on X1E80100 platform. > >> > >> Signed-off-by: Jagadeesh Kona <jagadeesh.kona@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 */ > > > > Is it used during all SMMU invalidations or only for those related to > > the USB controller? > > > > Yes, it is required for all SMMU invalidations. Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> -- With best wishes Dmitry
© 2016 - 2026 Red Hat, Inc.