[PATCH] clk: qcom: gcc-x1e80100: Keep GCC USB QTB clock always ON

Jagadeesh Kona posted 1 patch 3 weeks ago
There is a newer version of this series
drivers/clk/qcom/gcc-x1e80100.c | 1 +
1 file changed, 1 insertion(+)
[PATCH] clk: qcom: gcc-x1e80100: Keep GCC USB QTB clock always ON
Posted by Jagadeesh Kona 3 weeks ago
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>
Re: [PATCH] clk: qcom: gcc-x1e80100: Keep GCC USB QTB clock always ON
Posted by Konrad Dybcio 2 weeks ago
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
Re: [PATCH] clk: qcom: gcc-x1e80100: Keep GCC USB QTB clock always ON
Posted by Dmitry Baryshkov 3 weeks ago
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
Re: [PATCH] clk: qcom: gcc-x1e80100: Keep GCC USB QTB clock always ON
Posted by Jagadeesh Kona 2 weeks ago

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>
>>
>
Re: [PATCH] clk: qcom: gcc-x1e80100: Keep GCC USB QTB clock always ON
Posted by Bjorn Andersson 2 weeks ago
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>
> >>
> > 
>
Re: [PATCH] clk: qcom: gcc-x1e80100: Keep GCC USB QTB clock always ON
Posted by Konrad Dybcio 1 week, 6 days ago
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
Re: [PATCH] clk: qcom: gcc-x1e80100: Keep GCC USB QTB clock always ON
Posted by Dmitry Baryshkov 2 weeks ago
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