From: Brian Norris <briannorris@chromium.org>
To: Sandeep Maheswaram <quic_c_sanm@quicinc.com>
Cc: Andy Gross <agross@kernel.org>,
Bjorn Andersson <bjorn.andersson@linaro.org>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Felipe Balbi <balbi@kernel.org>,
Stephen Boyd <swboyd@chromium.org>,
Doug Anderson <dianders@chromium.org>,
Matthias Kaehlcke <mka@chromium.org>,
Mathias Nyman <mathias.nyman@intel.com>,
linux-arm-msm@vger.kernel.org, linux-usb@vger.kernel.org,
linux-kernel@vger.kernel.org, quic_pkondeti@quicinc.com,
quic_ppratap@quicinc.com
Subject: Re: [PATCH v9 2/5] usb: dwc3: core: Host wake up support from system suspend
Date: Tue, 16 Nov 2021 16:28:16 -0800 [thread overview]
Message-ID: <YZRMoNEZTy8XimIx@google.com> (raw)
In-Reply-To: <1635753224-23975-3-git-send-email-quic_c_sanm@quicinc.com>
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>
Because you've now factored in a device_may_wakeup() (which evaluates
'false' for me), this no longer breaks my Rockchip RK3399 systems
(previous versions did). So from that angle:
Tested-by: Brian Norris <briannorris@chromium.org>
> ---
> 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)) {
I still find it odd to use device_may_wakeup(), since that's something
controlled by user space (sysfs) and doesn't fully factor in hardware
support. But that's what xhci-plat.c is doing, so I guess I see why
you're imitating it...
...still, feels wrong to me. But so does a lot of how dwc3 works.
Brian
> 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);
> }
> +
> /* Restore GUSB2PHYCFG bits that were modified in suspend */
> reg = dwc3_readl(dwc->regs, DWC3_GUSB2PHYCFG(0));
> if (dwc->dis_u2_susphy_quirk)
> --
> 2.7.4
>
next prev parent reply other threads:[~2021-11-17 0:28 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-11-01 7:53 [PATCH v9 0/5] USB DWC3 host wake up support from system suspend Sandeep Maheswaram
2021-11-01 7:53 ` [PATCH v9 1/5] usb: host: xhci: plat: Add suspend quirk for dwc3 controller Sandeep Maheswaram
2021-11-01 18:59 ` Matthias Kaehlcke
2021-11-01 20:50 ` Bjorn Andersson
2021-11-01 21:05 ` Matthias Kaehlcke
2021-11-01 7:53 ` [PATCH v9 2/5] usb: dwc3: core: Host wake up support from system suspend Sandeep Maheswaram
2021-11-17 0:28 ` Brian Norris [this message]
2021-11-17 1:14 ` Matthias Kaehlcke
2021-11-17 3:09 ` Brian Norris
2021-11-17 6:01 ` Pavan Kondeti
2021-11-01 7:53 ` [PATCH v9 3/5] usb: dwc3: qcom: Add helper functions to enable,disable wake irqs Sandeep Maheswaram
2021-11-01 16:18 ` Matthias Kaehlcke
2021-11-01 16:39 ` Bjorn Andersson
2021-11-01 7:53 ` [PATCH v9 4/5] usb: dwc3: qcom: Change the IRQ flag for DP/DM hs phy irq Sandeep Maheswaram
2021-11-01 16:31 ` Bjorn Andersson
2021-11-18 11:45 ` Sandeep Maheswaram
2021-11-01 7:53 ` [PATCH v9 5/5] usb: dwc3: qcom: Keep power domain on to support wakeup Sandeep Maheswaram
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=YZRMoNEZTy8XimIx@google.com \
--to=briannorris@chromium.org \
--cc=agross@kernel.org \
--cc=balbi@kernel.org \
--cc=bjorn.andersson@linaro.org \
--cc=dianders@chromium.org \
--cc=gregkh@linuxfoundation.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=mathias.nyman@intel.com \
--cc=mka@chromium.org \
--cc=quic_c_sanm@quicinc.com \
--cc=quic_pkondeti@quicinc.com \
--cc=quic_ppratap@quicinc.com \
--cc=swboyd@chromium.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.