diff options
Diffstat (limited to 'drivers/scsi/qla2xxx/qla_def.h')
-rw-r--r-- | drivers/scsi/qla2xxx/qla_def.h | 33 |
1 files changed, 20 insertions, 13 deletions
diff --git a/drivers/scsi/qla2xxx/qla_def.h b/drivers/scsi/qla2xxx/qla_def.h index a29c95204975..023ee77fb027 100644 --- a/drivers/scsi/qla2xxx/qla_def.h +++ b/drivers/scsi/qla2xxx/qla_def.h | |||
@@ -187,7 +187,6 @@ struct req_que; | |||
187 | * SCSI Request Block | 187 | * SCSI Request Block |
188 | */ | 188 | */ |
189 | typedef struct srb { | 189 | typedef struct srb { |
190 | struct scsi_qla_host *vha; /* HA the SP is queued on */ | ||
191 | struct req_que *que; | 190 | struct req_que *que; |
192 | struct fc_port *fcport; | 191 | struct fc_port *fcport; |
193 | 192 | ||
@@ -2136,7 +2135,6 @@ struct qla_msix_entry { | |||
2136 | /* Work events. */ | 2135 | /* Work events. */ |
2137 | enum qla_work_type { | 2136 | enum qla_work_type { |
2138 | QLA_EVT_AEN, | 2137 | QLA_EVT_AEN, |
2139 | QLA_EVT_HWE_LOG, | ||
2140 | }; | 2138 | }; |
2141 | 2139 | ||
2142 | 2140 | ||
@@ -2151,10 +2149,6 @@ struct qla_work_evt { | |||
2151 | enum fc_host_event_code code; | 2149 | enum fc_host_event_code code; |
2152 | u32 data; | 2150 | u32 data; |
2153 | } aen; | 2151 | } aen; |
2154 | struct { | ||
2155 | uint16_t code; | ||
2156 | uint16_t d1, d2, d3; | ||
2157 | } hwe; | ||
2158 | } u; | 2152 | } u; |
2159 | }; | 2153 | }; |
2160 | 2154 | ||
@@ -2309,6 +2303,7 @@ struct qla_hw_data { | |||
2309 | #define PORT_SPEED_2GB 0x01 | 2303 | #define PORT_SPEED_2GB 0x01 |
2310 | #define PORT_SPEED_4GB 0x03 | 2304 | #define PORT_SPEED_4GB 0x03 |
2311 | #define PORT_SPEED_8GB 0x04 | 2305 | #define PORT_SPEED_8GB 0x04 |
2306 | #define PORT_SPEED_10GB 0x13 | ||
2312 | uint16_t link_data_rate; /* F/W operating speed */ | 2307 | uint16_t link_data_rate; /* F/W operating speed */ |
2313 | 2308 | ||
2314 | uint8_t current_topology; | 2309 | uint8_t current_topology; |
@@ -2328,6 +2323,7 @@ struct qla_hw_data { | |||
2328 | 2323 | ||
2329 | #define PCI_DEVICE_ID_QLOGIC_ISP2532 0x2532 | 2324 | #define PCI_DEVICE_ID_QLOGIC_ISP2532 0x2532 |
2330 | #define PCI_DEVICE_ID_QLOGIC_ISP8432 0x8432 | 2325 | #define PCI_DEVICE_ID_QLOGIC_ISP8432 0x8432 |
2326 | #define PCI_DEVICE_ID_QLOGIC_ISP8001 0x8001 | ||
2331 | uint32_t device_type; | 2327 | uint32_t device_type; |
2332 | #define DT_ISP2100 BIT_0 | 2328 | #define DT_ISP2100 BIT_0 |
2333 | #define DT_ISP2200 BIT_1 | 2329 | #define DT_ISP2200 BIT_1 |
@@ -2342,7 +2338,8 @@ struct qla_hw_data { | |||
2342 | #define DT_ISP5432 BIT_10 | 2338 | #define DT_ISP5432 BIT_10 |
2343 | #define DT_ISP2532 BIT_11 | 2339 | #define DT_ISP2532 BIT_11 |
2344 | #define DT_ISP8432 BIT_12 | 2340 | #define DT_ISP8432 BIT_12 |
2345 | #define DT_ISP_LAST (DT_ISP8432 << 1) | 2341 | #define DT_ISP8001 BIT_13 |
2342 | #define DT_ISP_LAST (DT_ISP8001 << 1) | ||
2346 | 2343 | ||
2347 | #define DT_IIDMA BIT_26 | 2344 | #define DT_IIDMA BIT_26 |
2348 | #define DT_FWI2 BIT_27 | 2345 | #define DT_FWI2 BIT_27 |
@@ -2364,6 +2361,7 @@ struct qla_hw_data { | |||
2364 | #define IS_QLA5432(ha) (DT_MASK(ha) & DT_ISP5432) | 2361 | #define IS_QLA5432(ha) (DT_MASK(ha) & DT_ISP5432) |
2365 | #define IS_QLA2532(ha) (DT_MASK(ha) & DT_ISP2532) | 2362 | #define IS_QLA2532(ha) (DT_MASK(ha) & DT_ISP2532) |
2366 | #define IS_QLA8432(ha) (DT_MASK(ha) & DT_ISP8432) | 2363 | #define IS_QLA8432(ha) (DT_MASK(ha) & DT_ISP8432) |
2364 | #define IS_QLA8001(ha) (DT_MASK(ha) & DT_ISP8001) | ||
2367 | 2365 | ||
2368 | #define IS_QLA23XX(ha) (IS_QLA2300(ha) || IS_QLA2312(ha) || IS_QLA2322(ha) || \ | 2366 | #define IS_QLA23XX(ha) (IS_QLA2300(ha) || IS_QLA2312(ha) || IS_QLA2322(ha) || \ |
2369 | IS_QLA6312(ha) || IS_QLA6322(ha)) | 2367 | IS_QLA6312(ha) || IS_QLA6322(ha)) |
@@ -2373,8 +2371,11 @@ struct qla_hw_data { | |||
2373 | #define IS_QLA84XX(ha) (IS_QLA8432(ha)) | 2371 | #define IS_QLA84XX(ha) (IS_QLA8432(ha)) |
2374 | #define IS_QLA24XX_TYPE(ha) (IS_QLA24XX(ha) || IS_QLA54XX(ha) || \ | 2372 | #define IS_QLA24XX_TYPE(ha) (IS_QLA24XX(ha) || IS_QLA54XX(ha) || \ |
2375 | IS_QLA84XX(ha)) | 2373 | IS_QLA84XX(ha)) |
2374 | #define IS_QLA81XX(ha) (IS_QLA8001(ha)) | ||
2376 | #define IS_QLA2XXX_MIDTYPE(ha) (IS_QLA24XX(ha) || IS_QLA84XX(ha) || \ | 2375 | #define IS_QLA2XXX_MIDTYPE(ha) (IS_QLA24XX(ha) || IS_QLA84XX(ha) || \ |
2377 | IS_QLA25XX(ha)) | 2376 | IS_QLA25XX(ha) || IS_QLA81XX(ha)) |
2377 | #define IS_NOPOLLING_TYPE(ha) ((IS_QLA25XX(ha) || IS_QLA81XX(ha)) && \ | ||
2378 | (ha)->flags.msix_enabled) | ||
2378 | 2379 | ||
2379 | #define IS_IIDMA_CAPABLE(ha) ((ha)->device_type & DT_IIDMA) | 2380 | #define IS_IIDMA_CAPABLE(ha) ((ha)->device_type & DT_IIDMA) |
2380 | #define IS_FWI2_CAPABLE(ha) ((ha)->device_type & DT_FWI2) | 2381 | #define IS_FWI2_CAPABLE(ha) ((ha)->device_type & DT_FWI2) |
@@ -2472,6 +2473,9 @@ struct qla_hw_data { | |||
2472 | uint8_t fw_seriallink_options[4]; | 2473 | uint8_t fw_seriallink_options[4]; |
2473 | uint16_t fw_seriallink_options24[4]; | 2474 | uint16_t fw_seriallink_options24[4]; |
2474 | 2475 | ||
2476 | uint8_t mpi_version[4]; | ||
2477 | uint32_t mpi_capabilities; | ||
2478 | |||
2475 | /* Firmware dump information. */ | 2479 | /* Firmware dump information. */ |
2476 | struct qla2xxx_fw_dump *fw_dump; | 2480 | struct qla2xxx_fw_dump *fw_dump; |
2477 | uint32_t fw_dump_len; | 2481 | uint32_t fw_dump_len; |
@@ -2480,6 +2484,7 @@ struct qla_hw_data { | |||
2480 | dma_addr_t eft_dma; | 2484 | dma_addr_t eft_dma; |
2481 | void *eft; | 2485 | void *eft; |
2482 | 2486 | ||
2487 | uint32_t chain_offset; | ||
2483 | struct dentry *dfs_dir; | 2488 | struct dentry *dfs_dir; |
2484 | struct dentry *dfs_fce; | 2489 | struct dentry *dfs_fce; |
2485 | dma_addr_t fce_dma; | 2490 | dma_addr_t fce_dma; |
@@ -2489,10 +2494,6 @@ struct qla_hw_data { | |||
2489 | uint64_t fce_wr, fce_rd; | 2494 | uint64_t fce_wr, fce_rd; |
2490 | struct mutex fce_mutex; | 2495 | struct mutex fce_mutex; |
2491 | 2496 | ||
2492 | uint32_t hw_event_start; | ||
2493 | uint32_t hw_event_ptr; | ||
2494 | uint32_t hw_event_pause_errors; | ||
2495 | |||
2496 | uint32_t pci_attr; | 2497 | uint32_t pci_attr; |
2497 | uint16_t chip_revision; | 2498 | uint16_t chip_revision; |
2498 | 2499 | ||
@@ -2522,6 +2523,12 @@ struct qla_hw_data { | |||
2522 | uint8_t fcode_revision[16]; | 2523 | uint8_t fcode_revision[16]; |
2523 | uint32_t fw_revision[4]; | 2524 | uint32_t fw_revision[4]; |
2524 | 2525 | ||
2526 | /* Offsets for flash/nvram access (set to ~0 if not used). */ | ||
2527 | uint32_t flash_conf_off; | ||
2528 | uint32_t flash_data_off; | ||
2529 | uint32_t nvram_conf_off; | ||
2530 | uint32_t nvram_data_off; | ||
2531 | |||
2525 | uint32_t fdt_wrt_disable; | 2532 | uint32_t fdt_wrt_disable; |
2526 | uint32_t fdt_erase_cmd; | 2533 | uint32_t fdt_erase_cmd; |
2527 | uint32_t fdt_block_size; | 2534 | uint32_t fdt_block_size; |
@@ -2533,7 +2540,6 @@ struct qla_hw_data { | |||
2533 | uint32_t flt_region_boot; | 2540 | uint32_t flt_region_boot; |
2534 | uint32_t flt_region_fw; | 2541 | uint32_t flt_region_fw; |
2535 | uint32_t flt_region_vpd_nvram; | 2542 | uint32_t flt_region_vpd_nvram; |
2536 | uint32_t flt_region_hw_event; | ||
2537 | uint32_t flt_region_npiv_conf; | 2543 | uint32_t flt_region_npiv_conf; |
2538 | 2544 | ||
2539 | /* Needed for BEACON */ | 2545 | /* Needed for BEACON */ |
@@ -2737,6 +2743,7 @@ typedef struct scsi_qla_host { | |||
2737 | #define OPTROM_SIZE_2322 0x100000 | 2743 | #define OPTROM_SIZE_2322 0x100000 |
2738 | #define OPTROM_SIZE_24XX 0x100000 | 2744 | #define OPTROM_SIZE_24XX 0x100000 |
2739 | #define OPTROM_SIZE_25XX 0x200000 | 2745 | #define OPTROM_SIZE_25XX 0x200000 |
2746 | #define OPTROM_SIZE_81XX 0x400000 | ||
2740 | 2747 | ||
2741 | #include "qla_gbl.h" | 2748 | #include "qla_gbl.h" |
2742 | #include "qla_dbg.h" | 2749 | #include "qla_dbg.h" |