[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1635753224-23975-2-git-send-email-quic_c_sanm@quicinc.com>
Date: Mon, 1 Nov 2021 13:23:40 +0530
From: Sandeep Maheswaram <quic_c_sanm@...cinc.com>
To: Andy Gross <agross@...nel.org>,
Bjorn Andersson <bjorn.andersson@...aro.org>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Felipe Balbi <balbi@...nel.org>,
Stephen Boyd <swboyd@...omium.org>,
Doug Anderson <dianders@...omium.org>,
"Matthias Kaehlcke" <mka@...omium.org>,
Mathias Nyman <mathias.nyman@...el.com>
CC: <linux-arm-msm@...r.kernel.org>, <linux-usb@...r.kernel.org>,
<linux-kernel@...r.kernel.org>, <quic_pkondeti@...cinc.com>,
<quic_ppratap@...cinc.com>,
Sandeep Maheswaram <quic_c_sanm@...cinc.com>
Subject: [PATCH v9 1/5] usb: host: xhci: plat: Add suspend quirk for dwc3 controller
During suspend check if any wakeup capable devices are connected to the
controller (directly or through hubs), and set the wakeup capable property
for xhci plat device.
Signed-off-by: Sandeep Maheswaram <quic_c_sanm@...cinc.com>
---
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..7ab272b 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_capable(dev, true);
+ else
+ device_set_wakeup_capable(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
Powered by blists - more mailing lists