summaryrefslogtreecommitdiffstats
path: root/drivers/net/bnx2.h
diff options
context:
space:
mode:
authorMichael Chan <mchan@broadcom.com>2007-12-20 19:56:09 -0800
committerDavid S. Miller <davem@davemloft.net>2008-01-28 14:57:34 -0800
commit6d866ffc69b0c3e584782f212a3f783708d31e9a (patch)
treeb8a25c8fe7b53344b82c3c07eda5109c832a2b31 /drivers/net/bnx2.h
parentead7270b993bed77cb45a5bc786a879679e2b16a (diff)
downloadlinux-6d866ffc69b0c3e584782f212a3f783708d31e9a.tar.bz2
[BNX2]: Restructure IRQ datastructures.
Add a table to keep track of multiple IRQs and restructure the IRQ request and free functions so that they can be easily expanded to handle multiple IRQs. Signed-off-by: Michael Chan <mchan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/bnx2.h')
-rw-r--r--drivers/net/bnx2.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/drivers/net/bnx2.h b/drivers/net/bnx2.h
index 1f244faf3624..1accf0093126 100644
--- a/drivers/net/bnx2.h
+++ b/drivers/net/bnx2.h
@@ -6494,6 +6494,15 @@ struct flash_spec {
u8 *name;
};
+#define BNX2_MAX_MSIX_HW_VEC 9
+#define BNX2_MAX_MSIX_VEC 1
+
+struct bnx2_irq {
+ irq_handler_t handler;
+ u16 vector;
+ char name[16];
+};
+
struct bnx2 {
/* Fields used in the tx and intr/napi performance paths are grouped */
/* together in the beginning of the structure. */
@@ -6721,6 +6730,9 @@ struct bnx2 {
u32 flash_size;
int status_stats_size;
+
+ struct bnx2_irq irq_tbl[BNX2_MAX_MSIX_VEC];
+ int irq_nvecs;
};
static u32 bnx2_reg_rd_ind(struct bnx2 *bp, u32 offset);