kernel-hacking-2024-linux-s.../drivers/firewire
Stefan Richter fc383796a8 firewire: ohci: fix Agere FW643 and multiple cameras
An Agere FW643 OHCI 1.1 card works fine for video reception from one
camera but fails early if receiving from two cameras.  After a short
while, no IR IRQ events occur and the context control register does not
react anymore.  This happens regardless whether both IR DMA contexts are
dual-buffer or one is dual-buffer and the other packet-per-buffer.

This can be worked around by disabling dual buffer DMA mode entirely.
http://sourceforge.net/mailarchive/message.php?msg_name=4A7C0594.2020208%40gmail.com
(Reported by Samuel Audet.)

In another report (by Jonathan Cameron), an FW643 works OK with two
cameras in dual buffer mode.  Whether this is due to different chip
revisions or different usage patterns (different video formats) is not
yet clear.  However, as far as the current capabilities of
firewire-core's isochronous I/O interface are concerned, simply
switching off dual-buffer on non-working and working FW643s alike is not
a problem in practice.  We only need to revisit this issue if we are
going to enhance the interface, e.g. so that applications can explicitly
choose modes.

Reported-by: Samuel Audet <samuel.audet@gmail.com>
Reported-by: Jonathan Cameron <jic23@cam.ac.uk>
Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
2009-09-05 15:59:34 +02:00
..
core-card.c firewire: core: do not DMA-map stack addresses 2009-06-25 19:42:36 +02:00
core-cdev.c firewire: core: do not DMA-map stack addresses 2009-06-25 19:42:36 +02:00
core-device.c firewire: core: don't update Broadcast_Channel if RFC 2734 conditions aren't met 2009-06-14 11:57:06 +02:00
core-iso.c firewire: core: fix crash in iso resource management 2009-09-05 15:59:34 +02:00
core-topology.c firewire: rename source files 2009-06-05 16:26:18 +02:00
core-transaction.c firewire: core: use more outbound tlabels 2009-06-14 14:23:42 +02:00
core.h firewire: core: do not DMA-map stack addresses 2009-06-25 19:42:36 +02:00
Kconfig firewire: new stack is no longer experimental 2009-06-21 10:53:26 +02:00
Makefile firewire: net: add Kconfig item, rename driver 2009-06-14 14:26:29 +02:00
net.c firewire: net: better FIFO address range check and rcodes 2009-06-16 22:48:09 +02:00
ohci.c firewire: ohci: fix Agere FW643 and multiple cameras 2009-09-05 15:59:34 +02:00
ohci.h firewire: reorganize header files 2009-06-05 16:26:18 +02:00
sbp2.c firewire: sbp2: add support for disks >2 TB (and 16 bytes long CDBs) 2009-07-02 21:27:01 +02:00