linux/drivers/ieee1394
Stefan Richter 64c634ef83 ieee1394: ohci1394: increase AT req. retries, fix ack_busy_X from Panasonic camcorders and others
Camcorders have a tendency to fail read requests to their config ROM and
write request to their FCP command register with ack_busy_X.  This has
become a problem with newer kernels and especially Panasonic camcorders,
causing AV/C in dvgrab and kino to fail.  Dvgrab for example frequently
logs "send oops"; kino reports loss of AV/C control.  I suspect that
lower CPU scheduling latencies in newer kernels made this issue more
prominent now.

According to
https://sourceforge.net/tracker/?func=detail&atid=114103&aid=2492640&group_id=14103
this can be fixed by configuring the FireWire controller for more
hardware retries for request transmission; these retries are evidently
more successful than libavc1394's own retry loop (typically 3 tries on
top of hardware retries).

Presumably the same issue has been reported at
https://bugzilla.redhat.com/show_bug.cgi?id=449252 and
https://bugzilla.redhat.com/show_bug.cgi?id=477279 .

Tested-by: Mathias Beilstein
Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
2009-01-24 11:17:28 +01:00
..
config_roms.c ieee1394: eth1394: don't autoload by hotplug when ohci1394 starts 2007-04-30 00:00:30 +02:00
config_roms.h ieee1394: eth1394: don't autoload by hotplug when ohci1394 starts 2007-04-30 00:00:30 +02:00
csr1212.c ieee1394: ignore nonzero Bus_Info_Block.max_rom, fetch config ROM in quadlets 2009-01-04 23:50:34 +01:00
csr1212.h ieee1394: mark bus_info_data as a __be32 array 2009-01-04 23:50:35 +01:00
csr.c ieee1394: consolidate uses of IEEE1934_BUSID_MAGIC 2009-01-04 23:50:34 +01:00
csr.h ieee1394: replace CSR_SET_BUS_INFO_GENERATION macro 2009-01-04 23:50:35 +01:00
dma.c ieee1394: dump mmapped iso buffers in core files 2008-07-14 13:06:02 +02:00
dma.h ieee1394: move some comments from declaration to definition 2007-04-30 00:00:28 +02:00
dv1394-private.h ieee1394: dv1394: annotate frame input/output structs as little endian 2009-01-04 23:50:36 +01:00
dv1394.c ieee1934: dv1394: interrupt enabling/disabling broken on big-endian 2009-01-04 23:50:36 +01:00
dv1394.h
eth1394.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 2009-01-08 11:05:59 -08:00
eth1394.h Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 2009-01-08 11:05:59 -08:00
highlevel.c ieee1394: mark all hpsb_address_ops instances as const 2009-01-04 23:50:32 +01:00
highlevel.h ieee1394: mark all hpsb_address_ops instances as const 2009-01-04 23:50:32 +01:00
hosts.c ieee1394: replace CSR_SET_BUS_INFO_GENERATION macro 2009-01-04 23:50:35 +01:00
hosts.h ieee1394: mark bus_info_data as a __be32 array 2009-01-04 23:50:35 +01:00
ieee1394_core.c ieee1394: limit early node speed to host interface speed 2008-04-18 17:55:31 +02:00
ieee1394_core.h ieee1394: remove old isochronous ABI 2007-07-10 00:07:41 +02:00
ieee1394_hotplug.h [PATCH] ieee1394: remove redundant code from ieee1394_hotplug.h 2006-07-03 12:02:30 -04:00
ieee1394_transactions.c ieee1394: remove unused code 2008-01-30 22:22:20 +01:00
ieee1394_transactions.h ieee1394: remove old isochronous ABI 2007-07-10 00:07:41 +02:00
ieee1394_types.h ieee1394: safer definition of empty macros 2006-09-17 19:31:20 +02:00
ieee1394-ioctl.h ieee1394: cycle timer read extension for raw1394 2007-02-17 14:39:33 +01:00
ieee1394.h ieee1394: consolidate uses of IEEE1934_BUSID_MAGIC 2009-01-04 23:50:34 +01:00
init_ohci1394_dma.c x86: early boot debugging via FireWire (ohci1394_dma=early) 2008-01-30 13:34:11 +01:00
iso.c PAGE_ALIGN(): correctly handle 64-bit values on 32-bit architectures 2008-07-24 10:47:21 -07:00
iso.h ieee1394: rawiso: requeue packet for transmission after skipped cycle 2008-04-25 18:15:45 +02:00
Kconfig ieee1394: Kconfig menu touch-up 2008-06-19 00:12:36 +02:00
Makefile x86: early boot debugging via FireWire (ohci1394_dma=early) 2008-01-30 13:34:11 +01:00
nodemgr.c ieee1394: ignore nonzero Bus_Info_Block.max_rom, fetch config ROM in quadlets 2009-01-04 23:50:34 +01:00
nodemgr.h ieee1394: consolidate uses of IEEE1934_BUSID_MAGIC 2009-01-04 23:50:34 +01:00
ohci1394.c ieee1394: mark bus_info_data as a __be32 array 2009-01-04 23:50:35 +01:00
ohci1394.h ieee1394: ohci1394: increase AT req. retries, fix ack_busy_X from Panasonic camcorders and others 2009-01-24 11:17:28 +01:00
pcilynx.c ieee1394: consolidate uses of IEEE1934_BUSID_MAGIC 2009-01-04 23:50:34 +01:00
pcilynx.h ieee1394: pcilynx: trivial endian annotation 2009-01-04 23:50:34 +01:00
raw1394-private.h ieee1394: raw1394: replace BKL by local mutex, make ioctl() and mmap() thread-safe 2008-10-15 22:21:08 +02:00
raw1394.c ieee1394: mark all hpsb_address_ops instances as const 2009-01-04 23:50:32 +01:00
raw1394.h ieee1394: remove old isochronous ABI 2007-07-10 00:07:41 +02:00
sbp2.c ieee1394: mark all hpsb_address_ops instances as const 2009-01-04 23:50:32 +01:00
sbp2.h ieee1394: sbp2: enforce s/g segment size limit 2008-10-15 22:21:07 +02:00
video1394.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6 2008-10-16 15:02:24 -07:00
video1394.h