summaryrefslogtreecommitdiff
path: root/arch/arm
diff options
context:
space:
mode:
authorStephen Warren <swarren@wwwdotorg.org>2015-04-11 21:52:02 -0600
committerMarek Vasut <marex@denx.de>2015-04-14 05:47:59 +0200
commit5877de916510cc2030eafe3761a835726956c7d3 (patch)
treed78f4932cc2460676820798e95728d6d7b418c70 /arch/arm
parente236519b7365ef75c5da6a5623f0b03d9c00cfae (diff)
downloadu-boot-imx-5877de916510cc2030eafe3761a835726956c7d3.zip
u-boot-imx-5877de916510cc2030eafe3761a835726956c7d3.tar.gz
u-boot-imx-5877de916510cc2030eafe3761a835726956c7d3.tar.bz2
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>
Diffstat (limited to 'arch/arm')
0 files changed, 0 insertions, 0 deletions