diff options
author | Harihara Kadayam <harihara.kadayam@qlogic.com> | 2008-04-03 16:13:26 -0400 |
---|---|---|
committer | James Bottomley <James.Bottomley@HansenPartnership.com> | 2008-04-07 13:19:15 -0400 |
commit | 4d4df1932b6b116aecc81039066fec27f2050762 (patch) | |
tree | ee02f449a0bb456e40fcdb5287609b98e8e8f62f /drivers/scsi/qla2xxx/qla_def.h | |
parent | b93480e319654b8921364b49528532dff4822a45 (diff) |
[SCSI] qla2xxx: Add ISP84XX support.
Signed-off-by: Ravi Anand <ravi.anand@qlogic.com>
Additional cleanups and
Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
Diffstat (limited to 'drivers/scsi/qla2xxx/qla_def.h')
-rw-r--r-- | drivers/scsi/qla2xxx/qla_def.h | 26 |
1 files changed, 25 insertions, 1 deletions
diff --git a/drivers/scsi/qla2xxx/qla_def.h b/drivers/scsi/qla2xxx/qla_def.h index f7919d348ccd..b2f07649bd3d 100644 --- a/drivers/scsi/qla2xxx/qla_def.h +++ b/drivers/scsi/qla2xxx/qla_def.h | |||
@@ -24,6 +24,7 @@ | |||
24 | #include <linux/workqueue.h> | 24 | #include <linux/workqueue.h> |
25 | #include <linux/firmware.h> | 25 | #include <linux/firmware.h> |
26 | #include <linux/aer.h> | 26 | #include <linux/aer.h> |
27 | #include <linux/mutex.h> | ||
27 | #include <asm/semaphore.h> | 28 | #include <asm/semaphore.h> |
28 | 29 | ||
29 | #include <scsi/scsi.h> | 30 | #include <scsi/scsi.h> |
@@ -2142,6 +2143,21 @@ struct qla_work_evt { | |||
2142 | } u; | 2143 | } u; |
2143 | }; | 2144 | }; |
2144 | 2145 | ||
2146 | struct qla_chip_state_84xx { | ||
2147 | struct list_head list; | ||
2148 | struct kref kref; | ||
2149 | |||
2150 | void *bus; | ||
2151 | spinlock_t access_lock; | ||
2152 | struct mutex fw_update_mutex; | ||
2153 | uint32_t fw_update; | ||
2154 | uint32_t op_fw_version; | ||
2155 | uint32_t op_fw_size; | ||
2156 | uint32_t op_fw_seq_size; | ||
2157 | uint32_t diag_fw_version; | ||
2158 | uint32_t gold_fw_version; | ||
2159 | }; | ||
2160 | |||
2145 | /* | 2161 | /* |
2146 | * Linux Host Adapter structure | 2162 | * Linux Host Adapter structure |
2147 | */ | 2163 | */ |
@@ -2230,6 +2246,7 @@ typedef struct scsi_qla_host { | |||
2230 | #define DFLG_NO_CABLE BIT_4 | 2246 | #define DFLG_NO_CABLE BIT_4 |
2231 | 2247 | ||
2232 | #define PCI_DEVICE_ID_QLOGIC_ISP2532 0x2532 | 2248 | #define PCI_DEVICE_ID_QLOGIC_ISP2532 0x2532 |
2249 | #define PCI_DEVICE_ID_QLOGIC_ISP8432 0x8432 | ||
2233 | uint32_t device_type; | 2250 | uint32_t device_type; |
2234 | #define DT_ISP2100 BIT_0 | 2251 | #define DT_ISP2100 BIT_0 |
2235 | #define DT_ISP2200 BIT_1 | 2252 | #define DT_ISP2200 BIT_1 |
@@ -2243,7 +2260,8 @@ typedef struct scsi_qla_host { | |||
2243 | #define DT_ISP5422 BIT_9 | 2260 | #define DT_ISP5422 BIT_9 |
2244 | #define DT_ISP5432 BIT_10 | 2261 | #define DT_ISP5432 BIT_10 |
2245 | #define DT_ISP2532 BIT_11 | 2262 | #define DT_ISP2532 BIT_11 |
2246 | #define DT_ISP_LAST (DT_ISP2532 << 1) | 2263 | #define DT_ISP8432 BIT_12 |
2264 | #define DT_ISP_LAST (DT_ISP8432 << 1) | ||
2247 | 2265 | ||
2248 | #define DT_IIDMA BIT_26 | 2266 | #define DT_IIDMA BIT_26 |
2249 | #define DT_FWI2 BIT_27 | 2267 | #define DT_FWI2 BIT_27 |
@@ -2265,12 +2283,16 @@ typedef struct scsi_qla_host { | |||
2265 | #define IS_QLA5422(ha) (DT_MASK(ha) & DT_ISP5422) | 2283 | #define IS_QLA5422(ha) (DT_MASK(ha) & DT_ISP5422) |
2266 | #define IS_QLA5432(ha) (DT_MASK(ha) & DT_ISP5432) | 2284 | #define IS_QLA5432(ha) (DT_MASK(ha) & DT_ISP5432) |
2267 | #define IS_QLA2532(ha) (DT_MASK(ha) & DT_ISP2532) | 2285 | #define IS_QLA2532(ha) (DT_MASK(ha) & DT_ISP2532) |
2286 | #define IS_QLA8432(ha) (DT_MASK(ha) & DT_ISP8432) | ||
2268 | 2287 | ||
2269 | #define IS_QLA23XX(ha) (IS_QLA2300(ha) || IS_QLA2312(ha) || IS_QLA2322(ha) || \ | 2288 | #define IS_QLA23XX(ha) (IS_QLA2300(ha) || IS_QLA2312(ha) || IS_QLA2322(ha) || \ |
2270 | IS_QLA6312(ha) || IS_QLA6322(ha)) | 2289 | IS_QLA6312(ha) || IS_QLA6322(ha)) |
2271 | #define IS_QLA24XX(ha) (IS_QLA2422(ha) || IS_QLA2432(ha)) | 2290 | #define IS_QLA24XX(ha) (IS_QLA2422(ha) || IS_QLA2432(ha)) |
2272 | #define IS_QLA54XX(ha) (IS_QLA5422(ha) || IS_QLA5432(ha)) | 2291 | #define IS_QLA54XX(ha) (IS_QLA5422(ha) || IS_QLA5432(ha)) |
2273 | #define IS_QLA25XX(ha) (IS_QLA2532(ha)) | 2292 | #define IS_QLA25XX(ha) (IS_QLA2532(ha)) |
2293 | #define IS_QLA84XX(ha) (IS_QLA8432(ha)) | ||
2294 | #define IS_QLA24XX_TYPE(ha) (IS_QLA24XX(ha) || IS_QLA54XX(ha) || \ | ||
2295 | IS_QLA84XX(ha)) | ||
2274 | 2296 | ||
2275 | #define IS_IIDMA_CAPABLE(ha) ((ha)->device_type & DT_IIDMA) | 2297 | #define IS_IIDMA_CAPABLE(ha) ((ha)->device_type & DT_IIDMA) |
2276 | #define IS_FWI2_CAPABLE(ha) ((ha)->device_type & DT_FWI2) | 2298 | #define IS_FWI2_CAPABLE(ha) ((ha)->device_type & DT_FWI2) |
@@ -2575,6 +2597,8 @@ typedef struct scsi_qla_host { | |||
2575 | #define VP_ERR_ADAP_NORESOURCES 5 | 2597 | #define VP_ERR_ADAP_NORESOURCES 5 |
2576 | uint16_t max_npiv_vports; /* 63 or 125 per topoloty */ | 2598 | uint16_t max_npiv_vports; /* 63 or 125 per topoloty */ |
2577 | int cur_vport_count; | 2599 | int cur_vport_count; |
2600 | |||
2601 | struct qla_chip_state_84xx *cs84xx; | ||
2578 | } scsi_qla_host_t; | 2602 | } scsi_qla_host_t; |
2579 | 2603 | ||
2580 | 2604 | ||