aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/pci/msi.h
diff options
context:
space:
mode:
authorEric W. Biederman <ebiederm@xmission.com>2006-10-04 05:16:33 -0400
committerLinus Torvalds <torvalds@g5.osdl.org>2006-10-04 10:55:27 -0400
commit0366f8f7137deb072991e4c50769c6da31f8940c (patch)
tree11cb801b0fe9bc1742f1c47716a7d815b9d98dee /drivers/pci/msi.h
parentdd159eeca971d594fa30176733b66d37acda82a3 (diff)
[PATCH] genirq: msi: implement helper functions read_msi_msg and write_msi_msg
In support of this I also add a struct msi_msg that captures the the two address and one data field ina typical msi message, and I remember the pos and if the address is 64bit in struct msi_desc. This makes the code a little more readable and easier to maintain, and paves the way to further simplfications. Signed-off-by: Eric W. Biederman <ebiederm@xmission.com> Cc: Ingo Molnar <mingo@elte.hu> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Rajesh Shah <rajesh.shah@intel.com> Cc: Andi Kleen <ak@muc.de> Cc: "Protasevich, Natalie" <Natalie.Protasevich@UNISYS.com> Cc: "Luck, Tony" <tony.luck@intel.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/pci/msi.h')
-rw-r--r--drivers/pci/msi.h9
1 files changed, 3 insertions, 6 deletions
diff --git a/drivers/pci/msi.h b/drivers/pci/msi.h
index 9b31d4cbbce4..62f61b61d2c9 100644
--- a/drivers/pci/msi.h
+++ b/drivers/pci/msi.h
@@ -130,10 +130,10 @@ struct msi_desc {
130 __u8 type : 5; /* {0: unused, 5h:MSI, 11h:MSI-X} */ 130 __u8 type : 5; /* {0: unused, 5h:MSI, 11h:MSI-X} */
131 __u8 maskbit : 1; /* mask-pending bit supported ? */ 131 __u8 maskbit : 1; /* mask-pending bit supported ? */
132 __u8 state : 1; /* {0: free, 1: busy} */ 132 __u8 state : 1; /* {0: free, 1: busy} */
133 __u8 reserved: 1; /* reserved */ 133 __u8 is_64 : 1; /* Address size: 0=32bit 1=64bit */
134 __u8 entry_nr; /* specific enabled entry */ 134 __u8 entry_nr; /* specific enabled entry */
135 __u8 default_vector; /* default pre-assigned vector */ 135 __u8 default_vector; /* default pre-assigned vector */
136 __u8 unused; /* formerly unused destination cpu*/ 136 __u8 pos; /* Location of the msi capability */
137 }msi_attrib; 137 }msi_attrib;
138 138
139 struct { 139 struct {
@@ -146,10 +146,7 @@ struct msi_desc {
146 146
147#ifdef CONFIG_PM 147#ifdef CONFIG_PM
148 /* PM save area for MSIX address/data */ 148 /* PM save area for MSIX address/data */
149 149 struct msi_msg msg_save;
150 u32 address_hi_save;
151 u32 address_lo_save;
152 u32 data_save;
153#endif 150#endif
154}; 151};
155 152