All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sandeep Maheswaram <quic_c_sanm@quicinc.com>
To: 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>
Cc: <linux-arm-msm@vger.kernel.org>, <linux-usb@vger.kernel.org>,
	<linux-kernel@vger.kernel.org>, <quic_pkondeti@quicinc.com>,
	<quic_ppratap@quicinc.com>,
	Sandeep Maheswaram <quic_c_sanm@quicinc.com>
Subject: [PATCH v10 1/6] usb: host: xhci: plat: Add suspend quirk for dwc3 controller
Date: Mon, 17 Jan 2022 11:14:03 +0530	[thread overview]
Message-ID: <1642398248-21753-2-git-send-email-quic_c_sanm@quicinc.com> (raw)
In-Reply-To: <1642398248-21753-1-git-send-email-quic_c_sanm@quicinc.com>

During suspend check if any wakeup capable devices are connected to the
controller (directly or through hubs), and set the wakeup enable property
for xhci plat device.

Signed-off-by: Sandeep Maheswaram <quic_c_sanm@quicinc.com>
Signed-off-by: Matthias Kaehlcke <mka@chromium.org>
Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>
---
Change device_set_wakeup_capable to device_set_wakeup_enable as 
wakeup capable false was deleting the sysfs property.

 drivers/usb/host/xhci-plat.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/drivers/usb/host/xhci-plat.c b/drivers/usb/host/xhci-plat.c
index c1edcc9..1c8fadb 100644
--- a/drivers/usb/host/xhci-plat.c
+++ b/drivers/usb/host/xhci-plat.c
@@ -431,6 +431,14 @@ static int xhci_plat_remove(struct platform_device *dev)
 	return 0;
 }
 
+static void xhci_dwc3_suspend_quirk(struct usb_hcd *hcd, struct device *dev)
+{
+	if (usb_wakeup_enabled_descendants(hcd->self.root_hub))
+		device_set_wakeup_enable(dev, true);
+	else
+		device_set_wakeup_enable(dev, false);
+}
+
 static int __maybe_unused xhci_plat_suspend(struct device *dev)
 {
 	struct usb_hcd	*hcd = dev_get_drvdata(dev);
@@ -440,6 +448,10 @@ static int __maybe_unused xhci_plat_suspend(struct device *dev)
 	ret = xhci_priv_suspend_quirk(hcd);
 	if (ret)
 		return ret;
+
+	if (of_device_is_compatible(dev->parent->of_node, "snps,dwc3"))
+		xhci_dwc3_suspend_quirk(hcd, dev);
+
 	/*
 	 * xhci_suspend() needs `do_wakeup` to know whether host is allowed
 	 * to do wakeup during suspend.
-- 
2.7.4


  reply	other threads:[~2022-01-17  5:46 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-01-17  5:44 [PATCH v10 0/6] USB DWC3 host wake up support from system suspend Sandeep Maheswaram
2022-01-17  5:44 ` Sandeep Maheswaram [this message]
2022-01-26 12:47   ` [PATCH v10 1/6] usb: host: xhci: plat: Add suspend quirk for dwc3 controller Greg Kroah-Hartman
2022-01-17  5:44 ` [PATCH v10 2/6] usb: dwc3: core: Host wake up support from system suspend Sandeep Maheswaram
2022-01-18  8:57   ` Jun Li
2022-01-24  5:27     ` Sandeep Maheswaram
2022-01-17  5:44 ` [PATCH v10 3/6] usb: dwc3: qcom: Add helper functions to enable,disable wake irqs Sandeep Maheswaram
2022-01-17  5:44 ` [PATCH v10 4/6] usb: dwc3: qcom: Change the IRQ flag for DP/DM hs phy irq Sandeep Maheswaram
2022-01-17  5:44 ` [PATCH v10 5/6] usb: dwc3: qcom: Keep power domain on to retain controller status Sandeep Maheswaram
2022-01-17  5:44 ` [PATCH v10 6/6] usb: dwc3: qcom: Enable the interrupts during probe Sandeep Maheswaram
2022-01-18  6:12   ` Steev Klimaszewski
2022-01-18  6:30     ` Sandeep Maheswaram
2022-01-18  8:46       ` Steev Klimaszewski
2022-01-18  9:52     ` Pavan Kondeti
2022-01-20  5:22       ` Sandeep Maheswaram
2022-01-25  9:17         ` Sandeep Maheswaram
2022-01-28  8:36           ` Steev Klimaszewski
2022-01-28  9:00             ` Pavan Kondeti
2022-02-15  9:40             ` Sandeep Maheswaram
2022-02-16  3:22               ` Steev Klimaszewski
2022-02-16  6:27                 ` Sandeep Maheswaram
2022-02-16  9:51                   ` Steev Klimaszewski
     [not found]                     ` <cad907b6-4434-45e7-bd70-b93c0035d90c@quicinc.com>
2022-02-17 22:16                       ` Steev Klimaszewski

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=1642398248-21753-2-git-send-email-quic_c_sanm@quicinc.com \
    --to=quic_c_sanm@quicinc.com \
    --cc=balbi@kernel.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_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.