linux/drivers/ieee1394
Stefan Richter 35bdddb83f sbp2: variable status FIFO address (fix login timeout)
Let the ieee1394 core select a suitable 1394 address range for sbp2's
status FIFO instead of using a fixed range. Since the core only selects
addresses which are guaranteed to be out of the "physical range" as per
OHCI 1.1, this patch also fixes an old bug:

OHCI controllers which implement a writeable PhysicalUpperBound register
included sbp2's status FIFO in the physical range. That way sbp2 was
never notified of a succesful login and always failed after timeout.
Affected OHCI host adapters include ALi and Fujitsu controllers.

As another side effect of this patch, the status FIFO is no longer
located in a range for which OHCI chips perform "posted writes". Each
status write now requires a response subaction. But since large data
transfers involve only few status writes, there is no measurable
decrease of I/O throughput. What's more, the status FIFO is now safe
from potential host bus errors. Nevertheless, posted writes could be
re-enabled by extensions to the ARM features of the 1394 stack.

Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Signed-off-by: Jody McIntyre <scjody@modernduck.com>
(cherry picked from b2d38cccad4ef80d6b672b8f89aae5fe2907b113 commit)
2006-02-23 00:28:52 -05:00
..
.gitignore gitignore: misc files 2006-01-01 22:21:50 +01:00
config_roms.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
config_roms.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
csr1212.c csr1212: add check for !valid 2005-11-22 12:17:14 -05:00
csr1212.h kmalloc/kzalloc changes: 2005-11-07 06:31:45 -05:00
csr.c [PATCH] Sync up ieee-1394 2005-07-10 12:23:23 -07:00
csr.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dma.c ieee1394/dma: LIndent fixes 2005-11-22 12:18:28 -05:00
dma.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dv1394-private.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dv1394.c [PATCH] don't include ioctl32.h in drivers 2006-01-10 08:01:34 -08:00
dv1394.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
eth1394.c kmalloc/kzalloc changes: 2005-11-07 06:31:45 -05:00
eth1394.h [PATCH] eth1394: workaround limitation in rawiso routines 2005-09-30 12:41:19 -07:00
highlevel.c kmalloc/kzalloc changes: 2005-11-07 06:31:45 -05:00
highlevel.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
hosts.c ieee1394: whitespace cleanup in hosts.[ch], ieee1394_core.[ch] 2005-12-01 18:52:03 -05:00
hosts.h ieee1394: resume remote ports when starting a host (fixes device recognition) 2005-12-12 23:20:58 -05:00
ieee1394_core.c [PATCH] don't freeze firewire on suspend. 2006-01-06 08:33:43 -08:00
ieee1394_core.h ieee1394: whitespace cleanup in hosts.[ch], ieee1394_core.[ch] 2005-12-01 18:52:03 -05:00
ieee1394_hotplug.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ieee1394_transactions.c ieee1394/ieee1394_transactions: LIndent fixes 2005-11-22 12:34:16 -05:00
ieee1394_transactions.h [PATCH] ieee1394: drivers/ieee1394/ieee1394_transactions.c: possible cleanups 2005-05-17 07:59:22 -07:00
ieee1394_types.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ieee1394-ioctl.h Remove amdtp, cmp drivers. 2005-11-18 00:16:26 -05:00
ieee1394.h ieee1394: add definitions for phy packet constants 2005-12-01 18:51:56 -05:00
iso.c ieee1394/iso: LIndent fixes 2005-11-22 12:35:23 -05:00
iso.h [PATCH] Sync up ieee-1394 2005-07-10 12:23:23 -07:00
Kconfig Remove amdtp, cmp drivers. 2005-11-18 00:16:26 -05:00
Makefile Remove amdtp, cmp drivers. 2005-11-18 00:16:26 -05:00
nodemgr.c Merge with http://kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git 2006-01-05 08:03:40 -05:00
nodemgr.h ieee1394: remove nonexistent functions from nodemgr.h 2005-12-05 16:29:02 -05:00
ohci1394.c ohci1394: log number of implemented isochronous contexts 2005-12-13 11:05:00 -05:00
ohci1394.h Remove amdtp, cmp drivers. 2005-11-18 00:16:26 -05:00
oui2c.sh Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
oui.db Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pcilynx.c kmalloc/kzalloc changes: 2005-11-07 06:31:45 -05:00
pcilynx.h [PATCH] ieee1394: drivers/ieee1394/pcilynx.c: remove dead options 2005-05-17 07:59:22 -07:00
raw1394-private.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
raw1394.c ieee1394/raw1394: LIndent fixes 2005-11-22 12:37:10 -05:00
raw1394.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sbp2.c sbp2: variable status FIFO address (fix login timeout) 2006-02-23 00:28:52 -05:00
sbp2.h sbp2: variable status FIFO address (fix login timeout) 2006-02-23 00:28:52 -05:00
video1394.c [PATCH] don't include ioctl32.h in drivers 2006-01-10 08:01:34 -08:00
video1394.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00