[OpenWrt-Devel] mvebu: enable xHCI USB controller connected to PCIe
diff mbox series

Message ID 20190718133614.6978-1-tomek_n@o2.pl
State Superseded
Headers show
Series
  • [OpenWrt-Devel] mvebu: enable xHCI USB controller connected to PCIe
Related show

Commit Message

Tomasz Maciej Nowak July 18, 2019, 1:36 p.m. UTC
This commit fixes regression on Linksys WRT1900 (Mamba) where this device
doesn't have USB 3.0 controller integrated in SoC, instead it has Etron
EJ168 connected to PCIe lane. Previously enabled in kernel 4.4 and 4.9,
was lost in transition to 4.14. It also removes duplicated functionality
from kmod-usb3.

Fixes: 4ccad92 ("mvebu: Add support for kernel 4.14")
Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
---
 package/kernel/linux/modules/usb.mk | 1 -
 target/linux/generic/config-4.14    | 1 +
 target/linux/generic/config-4.19    | 1 +
 target/linux/generic/config-4.9     | 1 +
 target/linux/mvebu/config-4.14      | 1 +
 target/linux/mvebu/config-4.19      | 1 +
 6 files changed, 5 insertions(+), 1 deletion(-)

Comments

Bjørn Mork Aug. 6, 2019, 12:43 p.m. UTC | #1
Tomasz Maciej Nowak <tomek_n@o2.pl> writes:

> This commit fixes regression on Linksys WRT1900 (Mamba) where this device
> doesn't have USB 3.0 controller integrated in SoC, instead it has Etron
> EJ168 connected to PCIe lane. Previously enabled in kernel 4.4 and 4.9,
> was lost in transition to 4.14.

This is not correct.  CONFIG_USB_XHCI_PCI defaults to y when
CONFIG_USB_XHCI_HCD and CONFIG_USB_PCI are enabled.  The EJ168 on Mamba
works just fine on v4.14 without this patch.

The xhci-pci driver is also enabled and binds to the EJ168 on v4.19. And
it almost works - as shown by my usbmon traces.  There would obviously
not be any port or bus to trace if the EJ168 driver was disabled...

So this fix has no effect.  The v4.14 -> v4.19 regression on Mamba must
be caused by something else.

But I am starting to wonder if it might be unrelated to OpenWrt, EJ168
and Mamba at all. There are some suspicious-looking changes to the
serial driver (io_edgeport) I am using.  I'll do some testing with other
devices and platforms.


Bjørn

Patch
diff mbox series

diff --git a/package/kernel/linux/modules/usb.mk b/package/kernel/linux/modules/usb.mk
index d64094f55d..0493e60d83 100644
--- a/package/kernel/linux/modules/usb.mk
+++ b/package/kernel/linux/modules/usb.mk
@@ -1674,7 +1674,6 @@  define KernelPackage/usb3
 	CONFIG_USB_XHCI_HCD \
 	CONFIG_USB_XHCI_PCI \
 	CONFIG_USB_XHCI_PLATFORM \
-	CONFIG_USB_XHCI_MVEBU=y \
 	CONFIG_USB_XHCI_MTK \
 	CONFIG_USB_XHCI_HCD_DEBUGGING=n
   FILES:= \
diff --git a/target/linux/generic/config-4.14 b/target/linux/generic/config-4.14
index b299f4a749..d80b8f71c2 100644
--- a/target/linux/generic/config-4.14
+++ b/target/linux/generic/config-4.14
@@ -5509,6 +5509,7 @@  CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y
 # CONFIG_USB_WUSB is not set
 # CONFIG_USB_WUSB_CBAF is not set
 # CONFIG_USB_XHCI_HCD is not set
+# CONFIG_USB_XHCI_MVEBU is not set
 # CONFIG_USB_XHCI_TEGRA is not set
 # CONFIG_USB_XUSBATM is not set
 # CONFIG_USB_YUREX is not set
diff --git a/target/linux/generic/config-4.19 b/target/linux/generic/config-4.19
index 5b8a6d35d9..c1e67dced9 100644
--- a/target/linux/generic/config-4.19
+++ b/target/linux/generic/config-4.19
@@ -5785,6 +5785,7 @@  CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y
 # CONFIG_USB_WUSB_CBAF is not set
 # CONFIG_USB_XHCI_DBGCAP is not set
 # CONFIG_USB_XHCI_HCD is not set
+# CONFIG_USB_XHCI_MVEBU is not set
 # CONFIG_USB_XUSBATM is not set
 # CONFIG_USB_YUREX is not set
 # CONFIG_USB_ZD1201 is not set
diff --git a/target/linux/generic/config-4.9 b/target/linux/generic/config-4.9
index 1194f5a5a8..57e57c489b 100644
--- a/target/linux/generic/config-4.9
+++ b/target/linux/generic/config-4.9
@@ -5074,6 +5074,7 @@  CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y
 # CONFIG_USB_WUSB is not set
 # CONFIG_USB_WUSB_CBAF is not set
 # CONFIG_USB_XHCI_HCD is not set
+# CONFIG_USB_XHCI_MVEBU is not set
 # CONFIG_USB_XUSBATM is not set
 # CONFIG_USB_YUREX is not set
 # CONFIG_USB_ZD1201 is not set
diff --git a/target/linux/mvebu/config-4.14 b/target/linux/mvebu/config-4.14
index dca685cffe..7a0caeeb61 100644
--- a/target/linux/mvebu/config-4.14
+++ b/target/linux/mvebu/config-4.14
@@ -482,6 +482,7 @@  CONFIG_USB_STORAGE=y
 CONFIG_USB_SUPPORT=y
 CONFIG_USB_XHCI_HCD=y
 CONFIG_USB_XHCI_MVEBU=y
+CONFIG_USB_XHCI_PCI=y
 CONFIG_USB_XHCI_PLATFORM=y
 CONFIG_USE_OF=y
 CONFIG_VECTORS_BASE=0xffff0000
diff --git a/target/linux/mvebu/config-4.19 b/target/linux/mvebu/config-4.19
index 5a554a0bda..5fb93fa8e7 100644
--- a/target/linux/mvebu/config-4.19
+++ b/target/linux/mvebu/config-4.19
@@ -484,6 +484,7 @@  CONFIG_USB_STORAGE=y
 CONFIG_USB_SUPPORT=y
 CONFIG_USB_XHCI_HCD=y
 CONFIG_USB_XHCI_MVEBU=y
+CONFIG_USB_XHCI_PCI=y
 CONFIG_USB_XHCI_PLATFORM=y
 CONFIG_USE_OF=y
 CONFIG_VFP=y