• Stefan Richter's avatar
    firewire: ohci: fix Agere FW643 and multiple cameras · fc383796
    Stefan Richter authored
    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: default avatarSamuel Audet <samuel.audet@gmail.com>
    Reported-by: default avatarJonathan Cameron <jic23@cam.ac.uk>
    Signed-off-by: default avatarStefan Richter <stefanr@s5r6.in-berlin.de>
    fc383796
ohci.c 72.9 KB