summaryrefslogtreecommitdiffstats
path: root/drivers/usb/host/xhci-mvebu.c
diff options
context:
space:
mode:
authorOfer Heifetz <oferh@marvell.com>2019-01-29 10:23:41 +0100
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2019-01-30 09:22:35 +0100
commit12453a897e36665d75f1d7b722159ae1eeadf81c (patch)
treefc4674ac666a190da2d85a9c4eea520f6d537375 /drivers/usb/host/xhci-mvebu.c
parentb97a31348379f7beed7664a8d4eab491e227c165 (diff)
usb: host: xhci: mvebu: add reset on resume quirk
The mvebu xHCI host driver does not have suspend/resume support. Use of the XHCI_RESET_ON_RESUME quirk is mandatory in order to avoid failures after resume. This will work only if no USB device is plugged-in. While at it, mention in the Kconfig file that this IP is also present on the A3700 SoC. Signed-off-by: Ofer Heifetz <oferh@marvell.com> [miquel.raynal@bootlin.com: Reword the commit message] Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com> Reviewed-by: Gregory CLEMENT <gregory.clement@bootlin.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/usb/host/xhci-mvebu.c')
-rw-r--r--drivers/usb/host/xhci-mvebu.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/drivers/usb/host/xhci-mvebu.c b/drivers/usb/host/xhci-mvebu.c
index 32e158568788..60651a50770f 100644
--- a/drivers/usb/host/xhci-mvebu.c
+++ b/drivers/usb/host/xhci-mvebu.c
@@ -13,6 +13,7 @@
#include <linux/usb/hcd.h>
#include "xhci-mvebu.h"
+#include "xhci.h"
#define USB3_MAX_WINDOWS 4
#define USB3_WIN_CTRL(w) (0x0 + ((w) * 8))
@@ -72,3 +73,13 @@ int xhci_mvebu_mbus_init_quirk(struct usb_hcd *hcd)
return 0;
}
+
+int xhci_mvebu_a3700_init_quirk(struct usb_hcd *hcd)
+{
+ struct xhci_hcd *xhci = hcd_to_xhci(hcd);
+
+ /* Without reset on resume, the HC won't work at all */
+ xhci->quirks |= XHCI_RESET_ON_RESUME;
+
+ return 0;
+}