summaryrefslogtreecommitdiff
path: root/include/linux/rio.h
diff options
context:
space:
mode:
authorAlexandre Bounine <alexandre.bounine@idt.com>2010-10-28 02:34:29 +0400
committerLinus Torvalds <torvalds@linux-foundation.org>2010-10-28 05:03:15 +0400
commitae05cbd5adef897d405ce8f90484c1239f79e086 (patch)
tree1b235d02a42e40ae2071f2ce0983de1f0feadaf1 /include/linux/rio.h
parent93e2cbd24e71f5eedf6e49e075973fda9b2135e8 (diff)
downloadlinux-ae05cbd5adef897d405ce8f90484c1239f79e086.tar.xz
rapidio: use stored ingress port number instead of register read
The switch port information is obtained and stored during RIO device setup. Therefore repeated reads from Switch Port Information CAR may be removed. Signed-off-by: Alexandre Bounine <alexandre.bounine@idt.com> Cc: Thomas Moll <thomas.moll@sysgo.com> Cc: Matt Porter <mporter@kernel.crashing.org> Cc: Li Yang <leoli@freescale.com> Cc: Kumar Gala <galak@kernel.crashing.org> Cc: Micha Nelissen <micha@neli.hopto.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.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/include/linux/rio.h b/include/linux/rio.h
index 84c9f8c5fb23..ffdfe5ad43bf 100644
--- a/include/linux/rio.h
+++ b/include/linux/rio.h
@@ -112,7 +112,7 @@ struct rio_dev {
u16 asm_rev;
u16 efptr;
u32 pef;
- u32 swpinfo; /* Only used for switches */
+ u32 swpinfo;
u32 src_ops;
u32 dst_ops;
u32 comp_tag;
@@ -219,6 +219,7 @@ struct rio_net {
/**
* struct rio_switch - RIO switch info
* @node: Node in global list of switches
+ * @rdev: Associated RIO device structure
* @switchid: Switch ID that is unique across a network
* @hopcount: Hopcount to this switch
* @destid: Associated destid in the path
@@ -234,6 +235,7 @@ struct rio_net {
*/
struct rio_switch {
struct list_head node;
+ struct rio_dev *rdev;
u16 switchid;
u16 hopcount;
u16 destid;