aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/qla2xxx/qla_def.h
diff options
context:
space:
mode:
authorHarihara Kadayam <harihara.kadayam@qlogic.com>2008-04-03 16:13:26 -0400
committerJames Bottomley <James.Bottomley@HansenPartnership.com>2008-04-07 13:19:15 -0400
commit4d4df1932b6b116aecc81039066fec27f2050762 (patch)
treeee02f449a0bb456e40fcdb5287609b98e8e8f62f /drivers/scsi/qla2xxx/qla_def.h
parentb93480e319654b8921364b49528532dff4822a45 (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.h26
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
2146struct 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