u-boot-brain/drivers/usb/host
Stephen Warren 5877de9165 usb: dwc2: retry NAK'd interrupt transfers
IIUC, interrupt transfers are NAK'd by devices until they wish to trigger
an interrupt, and e.g. EHCI controllers retry these in HW until they are
ACK'd. However, DWC2 doesn't seem to retry, so we need to do this in SW.
In practice, I've seen DWC2_HCINT_FRMOVRUN happen too. I'm not quite sure
what this error implies; perhaps it's related to how near the end of a
USB frame we're at when the interrupt transfer is initiated? Anyway,
retrying this temporary error seems to be necessary too.

With all these commits applied, both my USB keyboards (one LS Lenovo and
one FS Dell) work correctly when there is no USB hub between the SoC and
the keyboard; We still need split transactions to be implemented for hubs
to work.

Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>
2015-04-14 05:47:59 +02:00
..
dwc2.c usb: dwc2: retry NAK'd interrupt transfers 2015-04-14 05:47:59 +02:00
dwc2.h usb: dwc2: detect device speed correctly 2015-04-14 05:47:59 +02:00
ehci-armada100.c usb: ehci-hcd: add enum usb_init_type parameter to ehci_hcd_init. 2013-10-20 23:46:27 +02:00
ehci-atmel.c USB: ehci-atmel: use pcr to enable or disable clock 2014-09-19 00:11:21 +02:00
ehci-exynos.c dm: usb: Remove use of fdtdec GPIO support 2015-01-29 17:09:52 -07:00
ehci-faraday.c usb: ehci-hcd: add enum usb_init_type parameter to ehci_hcd_init. 2013-10-20 23:46:27 +02:00
ehci-fsl.c drivers: usb: fsl: Check USB Erratum A007792 applicability 2014-12-11 09:41:11 -08:00
ehci-hcd.c ehci-hcd: fix warnings on 64-bit builds 2015-04-14 05:47:47 +02:00
ehci-marvell.c arm: marvell: Move arch/kirkwood.h to arch/soc.h 2014-10-23 09:59:20 -04:00
ehci-mpc512x.c powerpc/usb:Differentiate USB controller base address 2013-10-24 09:35:09 -07:00
ehci-mx5.c usb: ehci-hcd: add enum usb_init_type parameter to ehci_hcd_init. 2013-10-20 23:46:27 +02:00
ehci-mx6.c usb:ehci-mx6 add phy mode query function 2014-11-14 20:56:54 +01:00
ehci-mxc.c usb: ehci-hcd: add enum usb_init_type parameter to ehci_hcd_init. 2013-10-20 23:46:27 +02:00
ehci-mxs.c usb: ehci: mxs: Add board-specific callbacks 2014-09-29 09:02:16 +02:00
ehci-omap.c usb: ehci-omap: Reset the USB Host OMAP module 2013-12-06 07:02:32 -05:00
ehci-pci.c usb: pci: Use pci_find_class() to find the device 2015-02-05 22:16:42 -07:00
ehci-ppc4xx.c usb: ehci-hcd: add enum usb_init_type parameter to ehci_hcd_init. 2013-10-20 23:46:27 +02:00
ehci-rmobile.c usb: rmobile: Use ARRAY_SIZE(usb_base_address) instead of CONFIG_USB_MAX_CONTROLLER_COUNT 2014-11-07 16:32:02 +01:00
ehci-spear.c usb: ehci-hcd: add enum usb_init_type parameter to ehci_hcd_init. 2013-10-20 23:46:27 +02:00
ehci-sunxi.c sunxi: Move usb-controller init code out of ehci-sunxi.c for reuse for otg 2015-01-14 14:56:40 +01:00
ehci-tegra.c usb: ehci-tegra: Build warning fixes for 64-bit 2015-04-14 05:47:48 +02:00
ehci-uniphier.c ARM: UniPhier: adjust device trees for business transfer 2015-03-15 13:37:00 +09:00
ehci-vct.c usb: ehci-hcd: add enum usb_init_type parameter to ehci_hcd_init. 2013-10-20 23:46:27 +02:00
ehci-zynq.c ARM: zynq: ehci: Added USB host driver support 2014-05-14 07:43:35 +02:00
ehci.h usb: ehci: fix Interrupt on Doorbell flag of USBCMD 2014-11-07 16:32:02 +01:00
isp116x-hcd.c include: move various macros to include/linux/kernel.h 2014-11-20 11:28:25 -05:00
isp116x.h Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
Kconfig usb: UniPhier: add UniPhier on-chip xHCI host driver support 2015-03-01 00:03:00 +09:00
Makefile usb: UniPhier: add UniPhier on-chip xHCI host driver support 2015-03-01 00:03:00 +09:00
ohci-at91.c USB: ohci-at91: use pcr to enable or disable clock 2014-09-19 00:11:20 +02:00
ohci-da8xx.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
ohci-ep93xx.c arm: ep9315: Return back Cirrus Logic EDB9315A board support 2014-07-04 23:45:48 +02:00
ohci-hcd.c include: move various macros to include/linux/kernel.h 2014-11-20 11:28:25 -05:00
ohci-s3c24xx.c include: move various macros to include/linux/kernel.h 2014-11-20 11:28:25 -05:00
ohci-s3c24xx.h dm: Move s3c24xx USB driver to a proper place 2012-10-18 06:54:18 +02:00
ohci.h usb: new board-specific USB init interface 2013-10-20 23:42:40 +02:00
r8a66597-hcd.c include: move various macros to include/linux/kernel.h 2014-11-20 11:28:25 -05:00
r8a66597.h usb: r8a66597: Fix argument mistake of inl 2011-08-08 21:40:40 +02:00
sl811-hcd.c usb: add enum usb_init_type parameter to usb_lowlevel_init 2013-10-20 23:45:26 +02:00
sl811.h drivers/usb: regorganisation 2009-04-06 20:40:46 +02:00
utmi-armada100.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
xhci-exynos5.c exynos: usb: make dwc3_set_mode to static 2015-02-24 18:54:03 +01:00
xhci-keystone.c keystone: usb: add support of usb xhci 2014-10-23 11:27:04 -04:00
xhci-mem.c usb: 64-bit architectures support for xHCI 2015-04-14 05:47:48 +02:00
xhci-omap.c usb: host: xhci: make sure to power up PHY 2014-07-09 22:11:51 +02:00
xhci-pci.c usb: pci: Add XHCI driver for PCI 2015-02-05 22:16:42 -07:00
xhci-ring.c usb: 64-bit architectures support for xHCI 2015-04-14 05:47:48 +02:00
xhci-uniphier.c ARM: UniPhier: adjust device trees for business transfer 2015-03-15 13:37:00 +09:00
xhci.c usb: 64-bit architectures support for xHCI 2015-04-14 05:47:48 +02:00
xhci.h usb: 64-bit architectures support for xHCI 2015-04-14 05:47:48 +02:00