diff options
author | Alexandre Bounine <Alexandre.Bounine@tundra.com> | 2007-02-10 01:46:47 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-02-11 11:18:07 -0800 |
commit | c70555b051f2a32bf94a7e1c75b6b6759031b989 (patch) | |
tree | b0ab2e8cd1402e98a85b4303e5f14f39a3e71fc2 /include/linux/rio.h | |
parent | d5698c28b6e4711e4747bf155f69936208d60e28 (diff) | |
download | blackbird-op-linux-c70555b051f2a32bf94a7e1c75b6b6759031b989.tar.gz blackbird-op-linux-c70555b051f2a32bf94a7e1c75b6b6759031b989.zip |
[PATCH] rapidio: fix multi-switch enumeration
This patch contains two fixes for RapisIO enumeration logic:
1. Fix enumeration in configurations with multiple switches. The patch adds:
a. Enumeration of an empty switch. Empty switch is a switch that
does not have any endpoint devices attached to it (except host device
or previous switch in a chain). New code assigns a phony destination
ID associated with the switch and sets up corresponding routes.
b. Adds a second pass to the enumeration to setup routes to
devices discovered after switch was scanned.
2. Fix enumeration failure when riohdid parameter has non-zero value.
Current version fails to setup response path to the host when it has
destination ID other that 0.
Signed-off-by: Alexandre Bounine <alexandreb@tundra.com>
Acked-by: Matt Porter <mporter@kernel.crashing.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'include/linux/rio.h')
-rw-r--r-- | include/linux/rio.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/rio.h b/include/linux/rio.h index d93857056cb9..68e3f6853fa6 100644 --- a/include/linux/rio.h +++ b/include/linux/rio.h @@ -25,6 +25,7 @@ #define RIO_ANY_DESTID 0xff #define RIO_NO_HOPCOUNT -1 +#define RIO_INVALID_DESTID 0xffff #define RIO_MAX_MPORT_RESOURCES 16 #define RIO_MAX_DEV_RESOURCES 16 |