mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-26 00:41:17 +00:00
a47279154e
Manually rebased patches: bcm27xx: patches-5.4/950-0267-xhci-add-quirk-for-host-controllers-that-don-t-updat.patch bcm53xx: patches-5.4/180-usb-xhci-add-support-for-performing-fake-doorbell.patch layerscape: patches-5.4/802-can-0025-can-flexcan-add-LPSR-mode-support-for-i.MX7D.patch patches-5.4/808-i2c-0002-MLK-10893-i2c-imx-add-irqf_no_suspend.patch patches-5.4/820-usb-0016-MLK-16735-usb-host-add-XHCI_CDNS_HOST-flag.patch Removed since could be reverse-applied by quilt: mediatek: patches-5.4/0700-arm-dts-mt7623-add-missing-pause-for-switchport.patch All modifications made by update_kernel.sh Build system: x86_64 Build-tested: ipq806x/R7800, ath79/generic, bcm27xx/bcm2711, x86_64 Run-tested: ipq806x/R7800, x86_64 No dmesg regressions, everything functional Signed-off-by: John Audia <graysky@archlinux.us> Tested-by: Curtis Deptuck <curtdept@me.com> [x86_64] Rebase of 802-can-0025-can-flexcan-add-LPSR-mode-support-for-i.MX7D.patch Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com> Signed-off-by: Kevin Darbyshire-Bryant <kevin@darbyshire-bryant.me.uk>
43 lines
1.4 KiB
Diff
43 lines
1.4 KiB
Diff
From a9f1d7994a9f8a38fdace19454ef031244e24e5e Mon Sep 17 00:00:00 2001
|
|
From: Peter Chen <peter.chen@nxp.com>
|
|
Date: Thu, 9 Nov 2017 16:58:40 +0800
|
|
Subject: [PATCH] MLK-16735 usb: host: add XHCI_CDNS_HOST flag
|
|
|
|
The NXP Cadence XHCI host has the same issue with Intel's,
|
|
it is triggered by reboot test, the test case is described
|
|
at this jira ticket.
|
|
|
|
BuildInfo:
|
|
- SCFW 8dcff26, IMX-MKIMAGE ea027c4b, ATF
|
|
- U-Boot 2017.03-imx_v2017.03_4.9.51_imx8_beta1+g6dc7b0f
|
|
|
|
Acked-by: Jun Li <jun.li@nxp.com>
|
|
Signed-off-by: Peter Chen <peter.chen@nxp.com>
|
|
(cherry picked from commit 5e353132931b9dc6e05f6bea1281ae35dd6a59d8)
|
|
---
|
|
drivers/usb/host/xhci.c | 2 +-
|
|
drivers/usb/host/xhci.h | 1 +
|
|
2 files changed, 2 insertions(+), 1 deletion(-)
|
|
|
|
--- a/drivers/usb/host/xhci.c
|
|
+++ b/drivers/usb/host/xhci.c
|
|
@@ -193,7 +193,7 @@ int xhci_reset(struct xhci_hcd *xhci)
|
|
* Without this delay, the subsequent HC register access,
|
|
* may result in a system hang very rarely.
|
|
*/
|
|
- if (xhci->quirks & XHCI_INTEL_HOST)
|
|
+ if (xhci->quirks & (XHCI_INTEL_HOST | XHCI_CDNS_HOST))
|
|
udelay(1000);
|
|
|
|
ret = xhci_handshake(&xhci->op_regs->command,
|
|
--- a/drivers/usb/host/xhci.h
|
|
+++ b/drivers/usb/host/xhci.h
|
|
@@ -1873,6 +1873,7 @@ struct xhci_hcd {
|
|
#define XHCI_DEFAULT_PM_RUNTIME_ALLOW BIT_ULL(33)
|
|
#define XHCI_RESET_PLL_ON_DISCONNECT BIT_ULL(34)
|
|
#define XHCI_SNPS_BROKEN_SUSPEND BIT_ULL(35)
|
|
+#define XHCI_CDNS_HOST BIT_ULL(36)
|
|
#define XHCI_DISABLE_SPARSE BIT_ULL(38)
|
|
|
|
unsigned int num_active_eps;
|