linux/drivers/firewire
David Moore bcee893c6c firewire: fw-ohci: Bug fixes for packet-per-buffer support
This patch corrects a number of bugs in the current OHCI 1.0
packet-per-buffer support:

1. Correctly deal with payloads that cross a page boundary.  The
previous version would not split the descriptor at such a boundary,
potentially corrupting unrelated memory.

2. Allow user-space to specify multiple packets per struct
fw_cdev_iso_packet in the same way that dual-buffer allows.  This is
signaled by header_length being a multiple of header_size.  This
multiple determines the number of packets.  The payload size allocated
per packet is determined by dividing the total payload size by the
number of packets.

3. Make sync support work properly for packet-per-buffer.

I have tested this patch with libdc1394 by forcing my OHCI 1.1
controller to use the packet-per-buffer support instead of dual-buffer.

I would greatly appreciate testing by those who have a DV devices and
other types of iso streamers to make sure I didn't cause any
regressions.

Stefan, with this patch, I'm hoping that libdc1394 will work with all
your OHCI 1.0 controllers now.

The one bit of future work that remains for packet-per-buffer support is
the automatic compaction of short payloads that I discussed with
Kristian.

Signed-off-by: David Moore <dcm@acm.org>
Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
2008-01-30 22:22:23 +01:00
..
fw-card.c
fw-cdev.c firewire: fw-cdev: reorder wakeup vs. spinlock 2007-10-17 00:00:10 +02:00
fw-device.c Driver core: change add_uevent_var to use a struct 2007-10-12 14:51:01 -07:00
fw-device.h firewire: fw-sbp2: add support for multiple logical units per target 2007-10-17 00:00:03 +02:00
fw-iso.c
fw-ohci.c firewire: fw-ohci: Bug fixes for packet-per-buffer support 2008-01-30 22:22:23 +01:00
fw-ohci.h firewire: fw-ohci: check for misconfigured bus (phyID == 63) 2007-10-17 00:00:08 +02:00
fw-sbp2.c firewire: fw-sbp2: remove unused misleading macro 2008-01-30 22:22:22 +01:00
fw-topology.c firewire: in-code doc updates. 2007-10-17 00:00:09 +02:00
fw-topology.h firewire: a header cleanup 2007-10-17 00:00:09 +02:00
fw-transaction.c fix typo "insted" -> "instead" 2007-10-20 01:55:04 +02:00
fw-transaction.h
Kconfig firewire: point to migration document 2007-10-07 13:48:41 +02:00
Makefile