aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/drivers/usb/host/xhci-plat.c
diff options
context:
space:
mode:
authorThang Q. Nguyen <tqnguyen@apm.com>2017-10-05 11:21:37 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2017-10-05 11:01:57 +0200
commit4750bc78efdb126ddc40f1b34dbae7ce319344cb (patch)
treee8beed27b739a1fafe3736d47b579c173f26dd2a /drivers/usb/host/xhci-plat.c
parentusb: gadget: udc: snps_udc_core: use setup_timer() helper. (diff)
downloadwireguard-linux-4750bc78efdb126ddc40f1b34dbae7ce319344cb.tar.xz
wireguard-linux-4750bc78efdb126ddc40f1b34dbae7ce319344cb.zip
usb: host: xhci support option to disable the xHCI USB2 HW LPM
XHCI specification 1.1 does not require xHCI-compliant controllers to always enable hardware USB2 LPM. However, the current xHCI driver always enable it when seeing HLC=1. This patch supports an option for users to control disabling USB2 Hardware LPM via DT/ACPI attribute. This option is needed in case user would like to disable this feature. For example, their xHCI controller has its USB2 HW LPM broken. Signed-off-by: Tung Nguyen <tunguyen@apm.com> Signed-off-by: Thang Q. Nguyen <tqnguyen@apm.com> Acked-by: Rob Herring <robh@kernel.org> Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/usb/host/xhci-plat.c')
-rw-r--r--drivers/usb/host/xhci-plat.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/usb/host/xhci-plat.c b/drivers/usb/host/xhci-plat.c
index 163bafde709f..d0625faee8f7 100644
--- a/drivers/usb/host/xhci-plat.c
+++ b/drivers/usb/host/xhci-plat.c
@@ -259,6 +259,9 @@ static int xhci_plat_probe(struct platform_device *pdev)
goto disable_clk;
}
+ if (device_property_read_bool(sysdev, "usb2-lpm-disable"))
+ xhci->quirks |= XHCI_HW_LPM_DISABLE;
+
if (device_property_read_bool(sysdev, "usb3-lpm-capable"))
xhci->quirks |= XHCI_LPM_SUPPORT;