Message ID | 20250610092253.2998351-1-krishna.kurapati@oss.qualcomm.com |
---|---|
State | New |
Headers | show |
Series | clk: qcom: sm8450: Enable retention for usb controller gdsc | expand |
On 10/06/2025 11:22, Krishna Kurapati wrote: > When USB controller enters runtime suspend while operating in host > mode, then wakeup because of cable disconnect or a button press of > a headset causes the following kind of errors: > > Error after button press on a connected headset : > > [ 355.309260] usb 1-1: reset full-speed USB device number 2 using xhci-hcd > [ 355.725844] usb 1-1: device not accepting address 2, error -108 > > Error on removal of headset device from usb port: > > [ 157.563136] arm-smmu 15000000.iommu: Unhandled context fault: fsr=0x402 > ,iova=0xd65504710, fsynr=0x100011, cbfrsynra=0x0, cb=6 > [ 157.574842] arm-smmu 15000000.iommu: FSR = 00000402 [Format=2 TF], > SID=0x0 > [ 157.582181] arm-smmu 15000000.iommu: FSYNR0 = 00100011 [S1CBNDX=16 WNR > PLVL=1] > [ 157.589610] xhci-hcd xhci-hcd.0.auto: WARNING: Host Controller Error > [ 157.596197] xhci-hcd xhci-hcd.0.auto: WARNING: Host Controller Error > > Enabling retention on usb controller GDSC fixes the above issues. > > Signed-off-by: Krishna Kurapati <krishna.kurapati@oss.qualcomm.com> > --- > > Note: > The above mentioned issues pop up after I enabled runtime suspend after > applying [1]. > [1]: https://lore.kernel.org/all/20250610091357.2983085-1-krishna.kurapati@oss.qualcomm.com/ > > drivers/clk/qcom/gcc-sm8450.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/clk/qcom/gcc-sm8450.c b/drivers/clk/qcom/gcc-sm8450.c > index 65d7d52bce03..f94da4a1c921 100644 > --- a/drivers/clk/qcom/gcc-sm8450.c > +++ b/drivers/clk/qcom/gcc-sm8450.c > @@ -3141,7 +3141,7 @@ static struct gdsc usb30_prim_gdsc = { > .pd = { > .name = "usb30_prim_gdsc", > }, > - .pwrsts = PWRSTS_OFF_ON, > + .pwrsts = PWRSTS_RET_ON, > }; > > static struct clk_regmap *gcc_sm8450_clocks[] = { Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
diff --git a/drivers/clk/qcom/gcc-sm8450.c b/drivers/clk/qcom/gcc-sm8450.c index 65d7d52bce03..f94da4a1c921 100644 --- a/drivers/clk/qcom/gcc-sm8450.c +++ b/drivers/clk/qcom/gcc-sm8450.c @@ -3141,7 +3141,7 @@ static struct gdsc usb30_prim_gdsc = { .pd = { .name = "usb30_prim_gdsc", }, - .pwrsts = PWRSTS_OFF_ON, + .pwrsts = PWRSTS_RET_ON, }; static struct clk_regmap *gcc_sm8450_clocks[] = {
When USB controller enters runtime suspend while operating in host mode, then wakeup because of cable disconnect or a button press of a headset causes the following kind of errors: Error after button press on a connected headset : [ 355.309260] usb 1-1: reset full-speed USB device number 2 using xhci-hcd [ 355.725844] usb 1-1: device not accepting address 2, error -108 Error on removal of headset device from usb port: [ 157.563136] arm-smmu 15000000.iommu: Unhandled context fault: fsr=0x402 ,iova=0xd65504710, fsynr=0x100011, cbfrsynra=0x0, cb=6 [ 157.574842] arm-smmu 15000000.iommu: FSR = 00000402 [Format=2 TF], SID=0x0 [ 157.582181] arm-smmu 15000000.iommu: FSYNR0 = 00100011 [S1CBNDX=16 WNR PLVL=1] [ 157.589610] xhci-hcd xhci-hcd.0.auto: WARNING: Host Controller Error [ 157.596197] xhci-hcd xhci-hcd.0.auto: WARNING: Host Controller Error Enabling retention on usb controller GDSC fixes the above issues. Signed-off-by: Krishna Kurapati <krishna.kurapati@oss.qualcomm.com> --- Note: The above mentioned issues pop up after I enabled runtime suspend after applying [1]. [1]: https://lore.kernel.org/all/20250610091357.2983085-1-krishna.kurapati@oss.qualcomm.com/ drivers/clk/qcom/gcc-sm8450.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)