diff options
Diffstat (limited to 'drivers/scsi/qla2xxx/qla_def.h')
-rw-r--r-- | drivers/scsi/qla2xxx/qla_def.h | 52 |
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 | ||
865 | typedef struct { | 862 | struct 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 */ |