android_kernel_xiaomi_sdm845/drivers/usb/host
David Brownell 79592b722e USB: ehci completes high speed ISO URBs sooner
This has some bugfixes for the EHCI driver's ISO transfer scanning
logic.  It was leaving ITDs and SITDs on the schedule too long, for
a few different reasons, which caused trouble.

  (a)	Look at all microframes for high speed transfers, not just
	the ones we expect to have finished.  This way transfers
	ending mid-frame will complete without needing another IRQ.
	This also minimizes bogus scheduling underruns (e.g. EL2NSYNC).

  (b)	When we encounter an ISO transfer (either speed, but this
	hits mostly at full speed) that's not yet been completed,
	immediately stop scanning; we've caught up to the hardware,
	no matter what other indications might say.

  (c)	Always clean up ITDs (for high speed transfers) when the HC
	is no longer running.

I'm not sure whether the last one has been observed before, but both
the others have been reported with "real world" audio and video code.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2008-02-01 14:35:02 -08:00
..
ehci-au1xxx.c USB: force handover port to companion when hub_port_connect_change fails 2008-02-01 14:34:52 -08:00
ehci-dbg.c USB: EHCI: add separate IAA watchdog timer 2008-02-01 14:34:55 -08:00
ehci-fsl.c USB: Spelling fixes 2008-02-01 14:34:57 -08:00
ehci-fsl.h ehci-fsl: fix cache coherency problem on system with large memory 2007-05-23 20:14:15 -07:00
ehci-hcd.c USB: add ehci-ixp bus glue 2008-02-01 14:35:02 -08:00
ehci-hub.c USB: EHCI: add separate IAA watchdog timer 2008-02-01 14:34:55 -08:00
ehci-ixp4xx.c USB: add ehci-ixp bus glue 2008-02-01 14:35:02 -08:00
ehci-mem.c Revert "USB: EHCI cpufreq fix" 2007-08-20 23:38:44 -07:00
ehci-orion.c USB: add Marvell Orion USB host support 2008-02-01 14:34:58 -08:00
ehci-pci.c USB: EHCI: add separate IAA watchdog timer 2008-02-01 14:34:55 -08:00
ehci-ppc-of.c USB: add ehci-ppc-of bus glue (device-tree aware) 2008-02-01 14:35:01 -08:00
ehci-ppc-soc.c USB: force handover port to companion when hub_port_connect_change fails 2008-02-01 14:34:52 -08:00
ehci-ps3.c USB: force handover port to companion when hub_port_connect_change fails 2008-02-01 14:34:52 -08:00
ehci-q.c USB: ehci potential oops fix on ARC/TDI cores 2008-02-01 14:34:58 -08:00
ehci-sched.c USB: ehci completes high speed ISO URBs sooner 2008-02-01 14:35:02 -08:00
ehci.h USB: ehci saves some memory in ISO transfer descriptors 2008-02-01 14:35:02 -08:00
isp116x-hcd.c USB: Drop unnecessary continue in a few drivers 2008-02-01 14:34:51 -08:00
isp116x.h USB: Dealias -110 code (more complete) 2006-09-27 11:59:00 -07:00
Kconfig USB: ehci: minor ISO updates, always support split ISO 2008-02-01 14:35:02 -08:00
Makefile USB: r8a66597-hcd: host controller driver for R8A66597 2007-07-12 16:29:45 -07:00
ohci-at91.c USB: ohci-at91 uses generic GPIO calls 2008-02-01 14:35:01 -08:00
ohci-au1xxx.c ohci: Rework bus glue integration to allow several at once 2007-02-07 15:44:33 -08:00
ohci-dbg.c USB: convert ohci debug files to use debugfs instead of sysfs 2008-02-01 14:34:52 -08:00
ohci-ep93xx.c [PATCH] Scheduled removal of SA_xxx interrupt flags fixups 2007-02-14 08:09:54 -08:00
ohci-hcd.c usb: Remove OHCI useless masking/unmasking of WDH interrupt 2008-02-01 14:34:53 -08:00
ohci-hub.c USB: Fix NEC OHCI chip silicon bug 2007-07-12 16:34:29 -07:00
ohci-lh7a404.c ohci: Rework bus glue integration to allow several at once 2007-02-07 15:44:33 -08:00
ohci-mem.c USB: OHCI handles more ZFMicro quirks 2007-10-12 14:54:59 -07:00
ohci-omap.c i2c/tps65010: move header to <linux/i2c/...> 2008-01-27 18:14:49 +01:00
ohci-pci.c USB: OHCI handles more ZFMicro quirks 2007-10-12 14:54:59 -07:00
ohci-pnx4008.c i2c: Kill rogue driver IDs 2008-01-27 18:14:47 +01:00
ohci-pnx8550.c [PATCH] Scheduled removal of SA_xxx interrupt flags fixups 2007-02-14 08:09:54 -08:00
ohci-ppc-of.c [POWERPC] mpc5200: normalize compatible property bindings 2008-01-26 15:26:01 -07:00
ohci-ppc-soc.c USB: add runtime frame_no quirk for big-endian OHCI 2007-10-12 14:55:32 -07:00
ohci-ps3.c USB: PS3: USB system-bus rework 2007-07-12 16:34:30 -07:00
ohci-pxa27x.c [ARM] USB: update pxa27x ohci driver to use clk support 2008-01-26 15:07:53 +00:00
ohci-q.c USB: Eliminate urb->status usage! 2007-10-12 14:55:23 -07:00
ohci-s3c2410.c Add missing newlines to some uses of dev_<level> messages 2007-10-18 14:37:28 -07:00
ohci-sa1111.c ohci: Rework bus glue integration to allow several at once 2007-02-07 15:44:33 -08:00
ohci-ssb.c USB: use IRQF_DISABLED for HCD interrupt handlers 2007-12-17 10:47:15 -08:00
ohci.h USB: convert ohci debug files to use debugfs instead of sysfs 2008-02-01 14:34:52 -08:00
pci-quirks.c EHCI: fix problem with BIOS handoff 2007-05-22 23:45:48 -07:00
pci-quirks.h [PATCH] USB: pci-quirks.c: proper prototypes 2006-04-14 11:12:20 -07:00
r8a66597-hcd.c USB: use IRQF_DISABLED for HCD interrupt handlers 2007-12-17 10:47:15 -08:00
r8a66597.h USB: Spelling fixes 2008-02-01 14:34:57 -08:00
sl811_cs.c some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
sl811-hcd.c Fix misspellings of "system", "controller", "interrupt" and "necessary". 2007-10-19 23:10:43 +02:00
sl811.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
u132-hcd.c USB: ELAN U132 Host Controller Driver: convert sw_lock to mutex 2007-10-12 14:55:24 -07:00
uhci-debug.c USB: add urb->unlinked field 2007-10-12 14:55:19 -07:00
uhci-hcd.c USB: use IRQF_DISABLED for HCD interrupt handlers 2007-12-17 10:47:15 -08:00
uhci-hcd.h USB: Eliminate urb->status usage! 2007-10-12 14:55:23 -07:00
uhci-hub.c UHCI: fix port resume problem 2007-03-09 19:52:23 -08:00
uhci-q.c USB: fix scheduling of Iso URBs in uhci-hcd 2007-10-25 12:18:43 -07:00