android_kernel_motorola_sm6225/drivers/usb/host
Alan Stern d58b4bcc6d USB: EHCI: introduce high-res timer
This patch (as1572) begins the conversion of ehci-hcd over to using
high-resolution timers rather than old-fashioned low-resolution kernel
timers.  This reduces overhead caused by timer roundoff on systems
where HZ is smaller than 1000.  Also, the new timer framework
introduced here is much more logical and easily extended than the
ad-hoc approach ehci-hcd currently uses for timers.

An hrtimer structure is added to ehci_hcd, along with a bitflag array
and an array of ktime_t values, to keep track of which timing events
are pending and what their expiration times are.

Only the infrastructure for the timing operations is added in this
patch.  Later patches will add routines for handling each of the
various timing events the driver needs.  In some cases the new hrtimer
handlers will replace the existing handlers for ehci-hcd's kernel
timers; as this happens the old timers will be removed.  In other
cases the new timing events will replace busy-wait loops.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-07-16 16:53:16 -07:00
..
whci Merge branch 'for-next/dwc3' of git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb into usb-next 2011-12-12 15:19:53 -08:00
alchemy-common.c MIPS: Alchemy: Au1300 SoC support 2011-12-07 22:02:05 +00:00
bcma-hcd.c usb/bcma: Add missing #include <linux/slab.h> 2012-04-23 13:22:00 -07:00
ehci-atmel.c EHCI: centralize controller initialization 2012-07-09 13:35:05 -07:00
ehci-au1xxx.c EHCI: centralize controller initialization 2012-07-09 13:35:05 -07:00
ehci-cns3xxx.c EHCI: centralize controller initialization 2012-07-09 13:35:05 -07:00
ehci-dbg.c USB: EHCI: add new root-hub state: STOPPING 2012-07-16 16:50:14 -07:00
ehci-fsl.c EHCI: centralize controller initialization 2012-07-09 13:35:05 -07:00
ehci-fsl.h fsl/usb: Add controller version based ULPI and UTMI phy support 2012-04-18 13:46:42 -07:00
ehci-grlib.c EHCI: centralize controller initialization 2012-07-09 13:35:05 -07:00
ehci-hcd.c USB: EHCI: introduce high-res timer 2012-07-16 16:53:16 -07:00
ehci-hub.c USB: EHCI: introduce high-res timer 2012-07-16 16:53:16 -07:00
ehci-ixp4xx.c EHCI: centralize controller initialization 2012-07-09 13:35:05 -07:00
ehci-lpm.c USB: Mark EHCI LPM functions as __maybe_unused 2011-02-17 10:47:55 -08:00
ehci-ls1x.c USB: Add EHCI bus glue for Loongson1x SoCs (UPDATED) 2012-01-24 15:28:02 -08:00
ehci-mem.c USB: EHCI: don't refcount QHs 2012-07-16 16:50:13 -07:00
ehci-msm.c EHCI: centralize controller suspend/resume 2012-07-09 08:54:18 -07:00
ehci-mv.c EHCI: centralize controller initialization 2012-07-09 13:35:05 -07:00
ehci-mxc.c EHCI: centralize controller initialization 2012-07-09 13:35:05 -07:00
ehci-octeon.c EHCI: centralize controller initialization 2012-07-09 13:35:05 -07:00
ehci-omap.c EHCI: centralize controller initialization 2012-07-09 13:35:05 -07:00
ehci-orion.c EHCI: centralize controller initialization 2012-07-09 13:35:05 -07:00
ehci-pci.c EHCI: centralize controller initialization 2012-07-09 13:35:05 -07:00
ehci-platform.c EHCI: centralize controller suspend/resume 2012-07-09 08:54:18 -07:00
ehci-pmcmsp.c EHCI: centralize controller initialization 2012-07-09 13:35:05 -07:00
ehci-ppc-of.c EHCI: centralize controller initialization 2012-07-09 13:35:05 -07:00
ehci-ps3.c EHCI: centralize controller initialization 2012-07-09 13:35:05 -07:00
ehci-q.c USB: EHCI: add new root-hub state: STOPPING 2012-07-16 16:50:14 -07:00
ehci-s5p.c EHCI: centralize controller initialization 2012-07-09 13:35:05 -07:00
ehci-sched.c USB: EHCI: add new root-hub state: STOPPING 2012-07-16 16:50:14 -07:00
ehci-sead3.c EHCI: centralize controller suspend/resume 2012-07-09 08:54:18 -07:00
ehci-sh.c EHCI: centralize controller initialization 2012-07-09 13:35:05 -07:00
ehci-spear.c EHCI: centralize controller initialization 2012-07-09 13:35:05 -07:00
ehci-sysfs.c USB: EHCI: Allow users to override 80% max periodic bandwidth 2011-07-08 14:51:33 -07:00
ehci-tegra.c EHCI: centralize controller initialization 2012-07-09 13:35:05 -07:00
ehci-timer.c USB: EHCI: introduce high-res timer 2012-07-16 16:53:16 -07:00
ehci-vt8500.c EHCI: centralize controller initialization 2012-07-09 13:35:05 -07:00
ehci-w90x900.c EHCI: centralize controller initialization 2012-07-09 13:35:05 -07:00
ehci-xilinx-of.c EHCI: centralize controller initialization 2012-07-09 13:35:05 -07:00
ehci-xls.c EHCI: centralize controller initialization 2012-07-09 13:35:05 -07:00
ehci.h USB: EHCI: introduce high-res timer 2012-07-16 16:53:16 -07:00
fhci-dbg.c USB: FHCI: Reusing QUICC Engine USB Controller registers from immap_qe.h 2012-06-26 19:42:11 -07:00
fhci-hcd.c USB: FHCI: Reusing QUICC Engine USB Controller registers from immap_qe.h 2012-06-26 19:42:11 -07:00
fhci-hub.c USB: FHCI: Reusing QUICC Engine USB Controller registers from immap_qe.h 2012-06-26 19:42:11 -07:00
fhci-mem.c
fhci-q.c
fhci-sched.c USB: FHCI: Reusing QUICC Engine USB Controller registers from immap_qe.h 2012-06-26 19:42:11 -07:00
fhci-tds.c USB: FHCI: Reusing QUICC Engine USB Controller registers from immap_qe.h 2012-06-26 19:42:11 -07:00
fhci.h USB: FHCI: Reusing QUICC Engine USB Controller registers from immap_qe.h 2012-06-26 19:42:11 -07:00
fsl-mph-dr-of.c fsl/usb: Add controller version based ULPI and UTMI phy support 2012-04-18 13:46:42 -07:00
hwa-hc.c Merge branch 'usb-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb 2012-01-09 12:09:47 -08:00
imx21-dbg.c usb: Fix typo in imx21-dbg.c 2012-02-13 14:32:34 -08:00
imx21-hcd.c usb: imx21-hcd.c: Use clk_prepare_enable/clk_disable_unprepare 2012-06-12 13:31:03 +03:00
imx21-hcd.h
isp116x-hcd.c Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
isp116x.h Fix common misspellings 2011-03-31 11:26:23 -03:00
isp1362-hcd.c Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
isp1362.h
isp1760-hcd.c isp1760-hcd: fix possible memory leak if urb could not be enqueued 2012-04-18 13:51:19 -07:00
isp1760-hcd.h usb/isp1760: Allow to optionally trigger low-level chip reset via GPIOLIB. 2011-10-19 13:29:06 -07:00
isp1760-if.c isp1760-if: make module unloads correctly 2012-04-18 13:50:44 -07:00
Kconfig usb: correct trivial typo in drivers/usb/host/Kconfig 2012-06-15 15:05:34 -07:00
Makefile USB: Add driver for the ssb bus 2012-04-18 13:43:30 -07:00
octeon2-common.c usb: Configure octeon2 glue logic for proper uSOF cycle period. 2011-05-03 10:09:32 -07:00
ohci-at91.c USB: ohci-at91: add a reset function to fix race condition 2012-05-09 15:22:27 -07:00
ohci-au1xxx.c usb: [MIPS] fix unresolved err() reference in host/ohci-au1xxx.c 2012-05-01 18:36:09 -04:00
ohci-cns3xxx.c USB: ohci-cns3xxx.c: remove err() usage 2012-04-27 11:24:40 -07:00
ohci-da8xx.c ohci-da8xx: set MODULE_ALIAS to allow autoloading 2012-05-08 09:26:10 -07:00
ohci-dbg.c USB: ohci-dbg.c: remove dbg() usage 2012-05-01 21:33:37 -07:00
ohci-ep93xx.c USB: ohci-ep93xx.c: remove dbg() usage 2012-05-01 21:33:38 -07:00
ohci-exynos.c USB: ohci-exynos: use devm_ functions 2012-07-06 10:42:21 -07:00
ohci-hcd.c USB: OHCI: remove old SSB OHCI driver 2012-04-18 13:43:30 -07:00
ohci-hub.c USB: ohci-hub: Mark ohci_finish_controller_resume() as __maybe_unused 2012-06-13 17:26:11 -07:00
ohci-jz4740.c
ohci-mem.c
ohci-nxp.c USB: ohci-nxp: add usbd and otg clock initialization 2012-06-20 16:20:24 -07:00
ohci-octeon.c USB: irq: Remove IRQF_DISABLED 2011-09-18 01:39:36 -07:00
ohci-omap.c usb: phy: patches for v3.6 merge window 2012-07-05 15:35:41 -07:00
ohci-omap3.c ARM: OMAP: USBHOST: Replace usbhs core driver APIs by Runtime pm APIs 2011-12-16 04:29:57 -07:00
ohci-pci.c usb: add support for STA2X11 host driver 2012-01-24 14:15:37 -08:00
ohci-platform.c usb: Fix various typo within usb 2012-04-18 13:57:26 -07:00
ohci-pnx8550.c usb: [MIPS] fix unresolved err() reference in host/ohci-pnx8550.c 2012-05-01 18:36:09 -04:00
ohci-ppc-of.c USB: ohci-ppc-of.c: remove err() usage 2012-04-27 11:24:42 -07:00
ohci-ppc-soc.c USB: ohci-ppc-soc.c: remove err() usage 2012-04-27 11:24:42 -07:00
ohci-ps3.c USB: ohci-ps3.c: remove err() usage 2012-04-27 11:24:43 -07:00
ohci-pxa27x.c usb: [ARM] fix unresolved err() reference in host/ohci-pxa27x.c 2012-05-01 18:36:09 -04:00
ohci-q.c OHCI: remove uses of hcd->state 2011-11-18 10:51:00 -08:00
ohci-s3c2410.c USB: ohci-s3c2410.c: remove err() usage 2012-04-27 11:24:43 -07:00
ohci-sa1111.c USB: ohci-sa1111.c: remove dbg() usage 2012-05-01 21:33:39 -07:00
ohci-sh.c USB: ohci-sh.c: remove err() usage 2012-04-27 11:24:44 -07:00
ohci-sm501.c OHCI: remove uses of hcd->state 2011-11-18 10:51:00 -08:00
ohci-spear.c USB: ehci: ohci: Add clk_{un}prepare() support 2012-04-18 14:33:43 -07:00
ohci-tmio.c USB: ohci-tmio.c: remove err() usage 2012-04-27 11:24:44 -07:00
ohci-xls.c USB: ohci-xls.c: remove err() usage 2012-04-27 11:24:45 -07:00
ohci.h USB: move transceiver from ehci_hcd and ohci_hcd to hcd and rename it as phy 2012-06-13 12:38:36 -07:00
oxu210hp-hcd.c USB: oxu210hp-hcd.c: remove dbg() usage 2012-05-01 21:33:43 -07:00
oxu210hp.h
pci-quirks.c xhci: Add Lynx Point to list of Intel switchable hosts. 2012-05-03 13:18:40 -07:00
pci-quirks.h Intel xhci: Support EHCI/xHCI port switching. 2011-05-27 12:07:36 -07:00
r8a66597-hcd.c Revert "usb: move struct usb_device->children to struct usb_hub_port->child" 2012-05-14 09:20:37 -07:00
r8a66597.h usb: r8a66597-hcd: add function for external controller 2011-07-08 14:57:11 -07:00
sl811-hcd.c Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
sl811.h
sl811_cs.c pcmcia: Convert pcmcia_device_id declarations to const 2011-05-06 07:46:22 +02:00
ssb-hcd.c usb/ssb: Add missing #include <linux/slab.h> 2012-04-23 13:22:00 -07:00
u132-hcd.c Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
uhci-debug.c USB: UHCI: Add support for big endian descriptors 2011-05-19 16:43:20 -07:00
uhci-grlib.c treewide: Convert uses of struct resource to resource_size(ptr) 2011-06-10 14:55:36 +02:00
uhci-hcd.c Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
uhci-hcd.h USB: UHCI: Add support for big endian descriptors 2011-05-19 16:43:20 -07:00
uhci-hub.c UHCI: hub_status_data should indicate if ports are resuming 2012-04-09 15:43:21 -07:00
uhci-pci.c USB: UHCI: Move PCI specific functions to uhci-pci.c 2011-05-06 18:24:00 -07:00
uhci-q.c usb: fix number of mapped SG DMA entries 2011-12-09 16:18:19 -08:00
xhci-dbg.c xHCI: correct to print the true HSEE of USBCMD 2012-04-10 15:21:52 -07:00
xhci-ext-caps.h xHCI: Correct the #define XHCI_LEGACY_DISABLE_SMI 2012-04-11 08:31:06 -07:00
xhci-hub.c usb: Add support for root hub port status CAS 2012-07-02 12:51:24 -07:00
xhci-mem.c xhci: Don't free endpoints in xhci_mem_cleanup() 2012-06-13 16:37:30 -07:00
xhci-pci.c xhci: Add Intel U1/U2 timeout policy. 2012-05-18 15:42:04 -07:00
xhci-plat.c usb: host: xhci: add platform driver support 2012-03-13 10:30:59 -07:00
xhci-ring.c xhci: Fix hang on back-to-back Set TR Deq Ptr commands. 2012-07-02 12:51:25 -07:00
xhci.c usbdevfs: Add a USBDEVFS_GET_CAPABILITIES ioctl 2012-07-06 10:53:19 -07:00
xhci.h usb: Add support for root hub port status CAS 2012-07-02 12:51:24 -07:00