summaryrefslogtreecommitdiffstats
path: root/drivers/scsi/qla2xxx/qla_def.h
diff options
context:
space:
mode:
authorAndrew Vasquez <andrew.vasquez@qlogic.com>2007-01-29 10:22:19 -0800
committerJames Bottomley <jejb@mulgrave.il.steeleye.com>2007-01-31 11:05:20 -0600
commita8488abefaa863a0c3a19888f03395adb3f1c6d2 (patch)
treed26c038c2a72231490db6c6e4ef9ea5d7f03862c /drivers/scsi/qla2xxx/qla_def.h
parent3c6061236801a376d86ca75fd56d61f964611dd5 (diff)
downloadlinux-a8488abefaa863a0c3a19888f03395adb3f1c6d2.tar.gz
linux-a8488abefaa863a0c3a19888f03395adb3f1c6d2.tar.bz2
linux-a8488abefaa863a0c3a19888f03395adb3f1c6d2.zip
[SCSI] qla2xxx: Add MSI-X support.
Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Diffstat (limited to 'drivers/scsi/qla2xxx/qla_def.h')
-rw-r--r--drivers/scsi/qla2xxx/qla_def.h24
1 files changed, 24 insertions, 0 deletions
diff --git a/drivers/scsi/qla2xxx/qla_def.h b/drivers/scsi/qla2xxx/qla_def.h
index c4fc40f8e8ca..8d7e8cb1e703 100644
--- a/drivers/scsi/qla2xxx/qla_def.h
+++ b/drivers/scsi/qla2xxx/qla_def.h
@@ -2046,6 +2046,27 @@ struct isp_operations {
uint32_t);
};
+/* MSI-X Support *************************************************************/
+
+#define QLA_MSIX_CHIP_REV_24XX 3
+#define QLA_MSIX_FW_MODE(m) (((m) & (BIT_7|BIT_8|BIT_9)) >> 7)
+#define QLA_MSIX_FW_MODE_1(m) (QLA_MSIX_FW_MODE(m) == 1)
+
+#define QLA_MSIX_DEFAULT 0x00
+#define QLA_MSIX_RSP_Q 0x01
+
+#define QLA_MSIX_ENTRIES 2
+#define QLA_MIDX_DEFAULT 0
+#define QLA_MIDX_RSP_Q 1
+
+struct scsi_qla_host;
+
+struct qla_msix_entry {
+ int have_irq;
+ uint16_t msix_vector;
+ uint16_t msix_entry;
+};
+
/*
* Linux Host Adapter structure
*/
@@ -2356,6 +2377,7 @@ typedef struct scsi_qla_host {
uint8_t host_str[16];
uint32_t pci_attr;
+ uint16_t chip_revision;
uint16_t product_id[4];
@@ -2389,6 +2411,8 @@ typedef struct scsi_qla_host {
uint16_t zio_mode;
uint16_t zio_timer;
struct fc_host_statistics fc_host_stat;
+
+ struct qla_msix_entry msix_entries[QLA_MSIX_ENTRIES];
} scsi_qla_host_t;