qemu/hw/usb
Hans de Goede 8082624099 ehci: Lower timer freq when the periodic schedule is idle
Lower the timer freq if no iso schedule packets complete for 64 frames in
a row.

We can safely do this, without adding latency, because:
1) If there is isoc traffic this will never trigger
2) For async handled interrupt packets (only usb-host), the completion handler
   will immediately schedule the frame_timer from a bh
3) All devices using NAK to signal no data for interrupt endpoints now use
   wakeup, which will immediately schedule the frame_timer from a bh

The advantage of this is that when we only have interrupt packets in the
periodic schedule, async_stepdown can do its work and significantly lower
the frequency at which the frame_timer runs.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2012-12-04 14:41:54 +01:00
..
bus.c usb: Allow overriding of usb_desc at the device level 2012-12-04 14:41:54 +01:00
combined-packet.c usb/combined-packet: Move freeing of combined to usb_combined_packet_remove() 2012-11-08 18:41:47 +01:00
core.c usb: Don't allow USB_RET_ASYNC for interrupt packets 2012-12-04 14:41:54 +01:00
desc.c usb: split packet result into actual_length + status 2012-11-08 18:41:46 +01:00
desc.h usb: split packet result into actual_length + status 2012-11-08 18:41:46 +01:00
dev-audio.c usb: split packet result into actual_length + status 2012-11-08 18:41:46 +01:00
dev-bluetooth.c usb-bt: Return NAK instead of STALL when interrupt ep has no data 2012-11-21 14:55:54 +01:00
dev-hid.c usb: split packet result into actual_length + status 2012-11-08 18:41:46 +01:00
dev-hub.c usb: Call wakeup when data becomes available for all devices with int eps 2012-12-04 14:41:54 +01:00
dev-network.c usb: Call wakeup when data becomes available for all devices with int eps 2012-12-04 14:41:54 +01:00
dev-serial.c usb: split packet result into actual_length + status 2012-11-08 18:41:46 +01:00
dev-smartcard-reader.c usb-smartcard-reader: Properly NAK interrupt eps when we've no events 2012-11-21 14:55:54 +01:00
dev-storage.c usb: split packet result into actual_length + status 2012-11-08 18:41:46 +01:00
dev-uas.c usb: split packet result into actual_length + status 2012-11-08 18:41:46 +01:00
dev-wacom.c usb: Call wakeup when data becomes available for all devices with int eps 2012-12-04 14:41:54 +01:00
hcd-ehci-pci.c usb: tag usb host adapters as not hotpluggable. 2012-11-29 08:04:13 +01:00
hcd-ehci-sysbus.c ehci-sysbus: Attach DMA context. 2012-11-29 08:04:13 +01:00
hcd-ehci.c ehci: Lower timer freq when the periodic schedule is idle 2012-12-04 14:41:54 +01:00
hcd-ehci.h ehci: Lower timer freq when the periodic schedule is idle 2012-12-04 14:41:54 +01:00
hcd-musb.c usb: split packet result into actual_length + status 2012-11-08 18:41:46 +01:00
hcd-ohci.c usb: tag usb host adapters as not hotpluggable. 2012-11-29 08:04:13 +01:00
hcd-uhci.c usb: tag usb host adapters as not hotpluggable. 2012-11-29 08:04:13 +01:00
hcd-xhci.c usb: tag usb host adapters as not hotpluggable. 2012-11-29 08:04:13 +01:00
host-bsd.c usb: Don't allow USB_RET_ASYNC for interrupt packets 2012-12-04 14:41:54 +01:00
host-linux.c usb: Don't allow USB_RET_ASYNC for interrupt packets 2012-12-04 14:41:54 +01:00
host-stub.c usb: the big rename 2012-03-13 10:15:32 +01:00
libhw.c usb: Fix (another) bug in usb_packet_map() for IOMMU handling 2012-11-16 11:27:05 +01:00
Makefile.objs usb: Add packet combining functions 2012-11-01 15:17:58 +01:00
redirect.c usb: Call wakeup when data becomes available for all devices with int eps 2012-12-04 14:41:54 +01:00