lkml.org 
[lkml]   [2021]   [Nov]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH v9 2/5] usb: dwc3: core: Host wake up support from system suspend
    Hi Sandeep,

    On Mon, Nov 01, 2021 at 01:23:41PM +0530, Sandeep Maheswaram wrote:
    > Avoiding phy powerdown when wakeup capable devices are connected
    > by checking wakeup property of xhci plat device.
    > Phy should be on to wake up the device from suspend using wakeup capable
    > devices such as keyboard and mouse.
    >
    > Signed-off-by: Sandeep Maheswaram <quic_c_sanm@quicinc.com>
    > ---
    > drivers/usb/dwc3/core.c | 7 +++++--
    > 1 file changed, 5 insertions(+), 2 deletions(-)
    >
    > diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c
    > index 643239d..a6ad0ed 100644
    > --- a/drivers/usb/dwc3/core.c
    > +++ b/drivers/usb/dwc3/core.c
    > @@ -1787,7 +1787,7 @@ static int dwc3_suspend_common(struct dwc3 *dwc, pm_message_t msg)
    > dwc3_core_exit(dwc);
    > break;
    > case DWC3_GCTL_PRTCAP_HOST:
    > - if (!PMSG_IS_AUTO(msg)) {
    > + if (!PMSG_IS_AUTO(msg) && !device_may_wakeup(&dwc->xhci->dev)) {
    > dwc3_core_exit(dwc);
    > break;
    > }
    > @@ -1848,13 +1848,16 @@ static int dwc3_resume_common(struct dwc3 *dwc, pm_message_t msg)
    > spin_unlock_irqrestore(&dwc->lock, flags);
    > break;
    > case DWC3_GCTL_PRTCAP_HOST:
    > - if (!PMSG_IS_AUTO(msg)) {
    > + if (!PMSG_IS_AUTO(msg) && !device_may_wakeup(&dwc->xhci->dev)) {
    > ret = dwc3_core_init_for_resume(dwc);
    > if (ret)
    > return ret;
    > dwc3_set_prtcap(dwc, DWC3_GCTL_PRTCAP_HOST);
    > break;
    > + } else {
    > + dwc3_set_prtcap(dwc, DWC3_GCTL_PRTCAP_HOST);
    > }
    > +
    During runtime resume, we enter else block and call dwc3_set_prtcap() which
    is not done before. Is that intentional?

    Thanks,
    Pavan

    \
     
     \ /
      Last update: 2021-11-17 07:02    [W:7.951 / U:0.012 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site