Message ID | 1642398248-21753-1-git-send-email-quic_c_sanm@quicinc.com |
---|---|
Headers | show |
Series | USB DWC3 host wake up support from system suspend | expand |
Hi Steev, On 1/18/2022 11:42 AM, Steev Klimaszewski wrote: > > On 1/16/22 11:44 PM, Sandeep Maheswaram wrote: >> Enable the interrupts during probe and remove the disable interrupts >> function. >> >> Signed-off-by: Sandeep Maheswaram <quic_c_sanm@quicinc.com> >> --- >> drivers/usb/dwc3/dwc3-qcom.c | 28 ++++------------------------ >> 1 file changed, 4 insertions(+), 24 deletions(-) >> >> diff --git a/drivers/usb/dwc3/dwc3-qcom.c b/drivers/usb/dwc3/dwc3-qcom.c >> index 54dc3d3..7c5e636 100644 >> --- a/drivers/usb/dwc3/dwc3-qcom.c >> +++ b/drivers/usb/dwc3/dwc3-qcom.c >> @@ -306,25 +306,7 @@ static void dwc3_qcom_enable_wakeup_irq(int irq) >> enable_irq_wake(irq); >> } >> -static void dwc3_qcom_disable_wakeup_irq(int irq) >> -{ >> - if (!irq) >> - return; >> - >> - disable_irq_wake(irq); >> - disable_irq_nosync(irq); >> -} >> -static void dwc3_qcom_disable_interrupts(struct dwc3_qcom *qcom) >> -{ >> - dwc3_qcom_disable_wakeup_irq(qcom->hs_phy_irq); >> - >> - dwc3_qcom_disable_wakeup_irq(qcom->dp_hs_phy_irq); >> - >> - dwc3_qcom_disable_wakeup_irq(qcom->dm_hs_phy_irq); >> - >> - dwc3_qcom_disable_wakeup_irq(qcom->ss_phy_irq); >> -} >> static void dwc3_qcom_enable_interrupts(struct dwc3_qcom *qcom) >> { >> @@ -356,9 +338,6 @@ static int dwc3_qcom_suspend(struct dwc3_qcom *qcom) >> if (ret) >> dev_warn(qcom->dev, "failed to disable interconnect: %d\n", >> ret); >> - if (device_may_wakeup(qcom->dev)) >> - dwc3_qcom_enable_interrupts(qcom); >> - >> qcom->is_suspended = true; >> return 0; >> @@ -372,9 +351,6 @@ static int dwc3_qcom_resume(struct dwc3_qcom *qcom) >> if (!qcom->is_suspended) >> return 0; >> - if (device_may_wakeup(qcom->dev)) >> - dwc3_qcom_disable_interrupts(qcom); >> - >> for (i = 0; i < qcom->num_clocks; i++) { >> ret = clk_prepare_enable(qcom->clks[i]); >> if (ret < 0) { >> @@ -832,6 +808,10 @@ static int dwc3_qcom_probe(struct >> platform_device *pdev) >> genpd->flags |= GENPD_FLAG_ALWAYS_ON; >> device_init_wakeup(&pdev->dev, 1); >> + >> + if (device_may_wakeup(qcom->dev)) >> + dwc3_qcom_enable_interrupts(qcom); >> + >> qcom->is_suspended = false; >> pm_runtime_set_active(dev); >> pm_runtime_enable(dev); > > Hi Sandeep, > > I was testing this series on my Lenovo Yoga C630, and with this patch > in particular applied, my system will no longer boot. Unfortunately I > don't get any sort of good output at all, I just get hung tasks when > trying to probe things it would seem. > > > With the other 5 patches in the series applied, the system still boots > and works correctly. > > > -- Steev > Will check this. Is your controller in host mode or device mode? Regards Sandeep
On 1/18/22 12:30 AM, Sandeep Maheswaram wrote: > Hi Steev, <snip> >> Hi Sandeep, >> >> I was testing this series on my Lenovo Yoga C630, and with this patch >> in particular applied, my system will no longer boot. Unfortunately I >> don't get any sort of good output at all, I just get hung tasks when >> trying to probe things it would seem. >> >> >> With the other 5 patches in the series applied, the system still >> boots and works correctly. >> >> >> -- Steev >> > Will check this. Is your controller in host mode or device mode? > > Regards > > Sandeep > Both usb_1_dwc3 and usb_2_dwc3 are in host mode -- Steev