2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2024-12-29 15:43:59 +08:00
linux-next/drivers/media/dvb
Clemens Ladisch 13882a82ee firewire: optimize iso queueing by setting wake only after the last packet
When queueing iso packets, the run time is dominated by the two
MMIO accesses that set the DMA context's wake bit.  Because most
drivers submit packets in batches, we can save much time by
removing all but the last wakeup.

The internal kernel API is changed to require a call to
fw_iso_context_queue_flush() after a batch of queued packets.
The user space API does not change, so one call to
FW_CDEV_IOC_QUEUE_ISO must specify multiple packets to take
advantage of this optimization.

In my measurements, this patch reduces the time needed to queue
fifty skip packets from userspace to one sixth on a 2.5 GHz CPU,
or to one third at 800 MHz.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
2011-05-10 22:53:45 +02:00
..
b2c2 Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6 2011-04-27 15:17:52 -07:00
bt8xx Fix common misspellings 2011-03-31 11:26:23 -03:00
dm1105 [media] Rename all public generic RC functions from ir_ to rc_ 2010-12-29 08:16:50 -02:00
dvb-core Fix common misspellings 2011-03-31 11:26:23 -03:00
dvb-usb Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6 2011-05-04 14:22:04 -07:00
firewire firewire: optimize iso queueing by setting wake only after the last packet 2011-05-10 22:53:45 +02:00
frontends Fix common misspellings 2011-03-31 11:26:23 -03:00
mantis Fix common misspellings 2011-03-31 11:26:23 -03:00
ngene Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6 2011-05-04 14:22:04 -07:00
pluto2 Fix common misspellings 2011-03-31 11:26:23 -03:00
pt1 [media] i2c: Stop using I2C_CLASS_TV_DIGITAL 2010-10-21 07:54:26 -02:00
siano Fix common misspellings 2011-03-31 11:26:23 -03:00
ttpci Fix common misspellings 2011-03-31 11:26:23 -03:00
ttusb-budget [media] TTUSB DVB: ttusb_boot_dsp() needs to release_firmware() or it leaks memory 2011-03-21 20:32:22 -03:00
ttusb-dec Fix common misspellings 2011-03-31 11:26:23 -03:00
Kconfig [media] firedtv: remove obsolete ieee1394 backend code 2011-03-21 20:32:12 -03:00
Makefile V4L/DVB: ngene: Driver compiles now 2010-02-26 15:10:53 -03:00