aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/qla2xxx/qla_def.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/scsi/qla2xxx/qla_def.h')
-rw-r--r--drivers/scsi/qla2xxx/qla_def.h52
1 files changed, 28 insertions, 24 deletions
diff --git a/drivers/scsi/qla2xxx/qla_def.h b/drivers/scsi/qla2xxx/qla_def.h
index 04e8cbca4c0d..6f129da37589 100644
--- a/drivers/scsi/qla2xxx/qla_def.h
+++ b/drivers/scsi/qla2xxx/qla_def.h
@@ -623,9 +623,6 @@ typedef struct {
623#define MBC_GET_LINK_PRIV_STATS 0x6d /* Get link & private data. */ 623#define MBC_GET_LINK_PRIV_STATS 0x6d /* Get link & private data. */
624#define MBC_SET_VENDOR_ID 0x76 /* Set Vendor ID. */ 624#define MBC_SET_VENDOR_ID 0x76 /* Set Vendor ID. */
625 625
626#define TC_ENABLE 4
627#define TC_DISABLE 5
628
629/* Firmware return data sizes */ 626/* Firmware return data sizes */
630#define FCAL_MAP_SIZE 128 627#define FCAL_MAP_SIZE 128
631 628
@@ -862,14 +859,20 @@ typedef struct {
862#define GLSO_SEND_RPS BIT_0 859#define GLSO_SEND_RPS BIT_0
863#define GLSO_USE_DID BIT_3 860#define GLSO_USE_DID BIT_3
864 861
865typedef struct { 862struct link_statistics {
866 uint32_t link_fail_cnt; 863 uint32_t link_fail_cnt;
867 uint32_t loss_sync_cnt; 864 uint32_t loss_sync_cnt;
868 uint32_t loss_sig_cnt; 865 uint32_t loss_sig_cnt;
869 uint32_t prim_seq_err_cnt; 866 uint32_t prim_seq_err_cnt;
870 uint32_t inval_xmit_word_cnt; 867 uint32_t inval_xmit_word_cnt;
871 uint32_t inval_crc_cnt; 868 uint32_t inval_crc_cnt;
872} link_stat_t; 869 uint32_t unused1[0x1b];
870 uint32_t tx_frames;
871 uint32_t rx_frames;
872 uint32_t dumped_frames;
873 uint32_t unused2[2];
874 uint32_t nos_rcvd;
875};
873 876
874/* 877/*
875 * NVRAM Command values. 878 * NVRAM Command values.
@@ -2116,14 +2119,6 @@ struct qla_msix_entry {
2116 2119
2117#define WATCH_INTERVAL 1 /* number of seconds */ 2120#define WATCH_INTERVAL 1 /* number of seconds */
2118 2121
2119/* NPIV */
2120#define MAX_MULTI_ID_LOOP 126
2121#define MAX_MULTI_ID_FABRIC 64
2122#define MAX_NUM_VPORT_LOOP (MAX_MULTI_ID_LOOP - 1)
2123#define MAX_NUM_VPORT_FABRIC (MAX_MULTI_ID_FABRIC - 1)
2124#define MAX_NUM_VHBA_LOOP (MAX_MULTI_ID_LOOP - 1)
2125#define MAX_NUM_VHBA_FABRIC (MAX_MULTI_ID_FABRIC - 1)
2126
2127/* 2122/*
2128 * Linux Host Adapter structure 2123 * Linux Host Adapter structure
2129 */ 2124 */
@@ -2161,6 +2156,7 @@ typedef struct scsi_qla_host {
2161 uint32_t gpsc_supported :1; 2156 uint32_t gpsc_supported :1;
2162 uint32_t vsan_enabled :1; 2157 uint32_t vsan_enabled :1;
2163 uint32_t npiv_supported :1; 2158 uint32_t npiv_supported :1;
2159 uint32_t fce_enabled :1;
2164 } flags; 2160 } flags;
2165 2161
2166 atomic_t loop_state; 2162 atomic_t loop_state;
@@ -2273,8 +2269,7 @@ typedef struct scsi_qla_host {
2273 2269
2274 int bars; 2270 int bars;
2275 device_reg_t __iomem *iobase; /* Base I/O address */ 2271 device_reg_t __iomem *iobase; /* Base I/O address */
2276 unsigned long pio_address; 2272 resource_size_t pio_address;
2277 unsigned long pio_length;
2278#define MIN_IOBASE_LEN 0x100 2273#define MIN_IOBASE_LEN 0x100
2279 2274
2280 /* ISP ring lock, rings, and indexes */ 2275 /* ISP ring lock, rings, and indexes */
@@ -2416,9 +2411,9 @@ typedef struct scsi_qla_host {
2416#define MBX_INTR_WAIT 2 2411#define MBX_INTR_WAIT 2
2417#define MBX_UPDATE_FLASH_ACTIVE 3 2412#define MBX_UPDATE_FLASH_ACTIVE 3
2418 2413
2419 struct semaphore mbx_cmd_sem; /* Serialialize mbx access */
2420 struct semaphore vport_sem; /* Virtual port synchronization */ 2414 struct semaphore vport_sem; /* Virtual port synchronization */
2421 struct semaphore mbx_intr_sem; /* Used for completion notification */ 2415 struct completion mbx_cmd_comp; /* Serialize mbx access */
2416 struct completion mbx_intr_comp; /* Used for completion notification */
2422 2417
2423 uint32_t mbx_flags; 2418 uint32_t mbx_flags;
2424#define MBX_IN_PROGRESS BIT_0 2419#define MBX_IN_PROGRESS BIT_0
@@ -2455,6 +2450,15 @@ typedef struct scsi_qla_host {
2455 dma_addr_t eft_dma; 2450 dma_addr_t eft_dma;
2456 void *eft; 2451 void *eft;
2457 2452
2453 struct dentry *dfs_dir;
2454 struct dentry *dfs_fce;
2455 dma_addr_t fce_dma;
2456 void *fce;
2457 uint32_t fce_bufs;
2458 uint16_t fce_mb[8];
2459 uint64_t fce_wr, fce_rd;
2460 struct mutex fce_mutex;
2461
2458 uint8_t host_str[16]; 2462 uint8_t host_str[16];
2459 uint32_t pci_attr; 2463 uint32_t pci_attr;
2460 uint16_t chip_revision; 2464 uint16_t chip_revision;
@@ -2507,7 +2511,7 @@ typedef struct scsi_qla_host {
2507 2511
2508 struct list_head vp_list; /* list of VP */ 2512 struct list_head vp_list; /* list of VP */
2509 struct fc_vport *fc_vport; /* holds fc_vport * for each vport */ 2513 struct fc_vport *fc_vport; /* holds fc_vport * for each vport */
2510 uint8_t vp_idx_map[16]; 2514 unsigned long vp_idx_map[(MAX_MULTI_ID_FABRIC / 8) / sizeof(unsigned long)];
2511 uint16_t num_vhosts; /* number of vports created */ 2515 uint16_t num_vhosts; /* number of vports created */
2512 uint16_t num_vsans; /* number of vsan created */ 2516 uint16_t num_vsans; /* number of vsan created */
2513 uint16_t vp_idx; /* vport ID */ 2517 uint16_t vp_idx; /* vport ID */