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.h38
1 files changed, 36 insertions, 2 deletions
diff --git a/drivers/scsi/qla2xxx/qla_def.h b/drivers/scsi/qla2xxx/qla_def.h
index 2c10130d9e03..05f4f2a378eb 100644
--- a/drivers/scsi/qla2xxx/qla_def.h
+++ b/drivers/scsi/qla2xxx/qla_def.h
@@ -2045,6 +2045,29 @@ struct isp_operations {
2045 uint32_t, uint32_t); 2045 uint32_t, uint32_t);
2046 int (*write_optrom) (struct scsi_qla_host *, uint8_t *, uint32_t, 2046 int (*write_optrom) (struct scsi_qla_host *, uint8_t *, uint32_t,
2047 uint32_t); 2047 uint32_t);
2048
2049 int (*get_flash_version) (struct scsi_qla_host *, void *);
2050};
2051
2052/* MSI-X Support *************************************************************/
2053
2054#define QLA_MSIX_CHIP_REV_24XX 3
2055#define QLA_MSIX_FW_MODE(m) (((m) & (BIT_7|BIT_8|BIT_9)) >> 7)
2056#define QLA_MSIX_FW_MODE_1(m) (QLA_MSIX_FW_MODE(m) == 1)
2057
2058#define QLA_MSIX_DEFAULT 0x00
2059#define QLA_MSIX_RSP_Q 0x01
2060
2061#define QLA_MSIX_ENTRIES 2
2062#define QLA_MIDX_DEFAULT 0
2063#define QLA_MIDX_RSP_Q 1
2064
2065struct scsi_qla_host;
2066
2067struct qla_msix_entry {
2068 int have_irq;
2069 uint16_t msix_vector;
2070 uint16_t msix_entry;
2048}; 2071};
2049 2072
2050/* 2073/*
@@ -2077,6 +2100,7 @@ typedef struct scsi_qla_host {
2077 uint32_t enable_lip_full_login :1; 2100 uint32_t enable_lip_full_login :1;
2078 uint32_t enable_target_reset :1; 2101 uint32_t enable_target_reset :1;
2079 uint32_t enable_led_scheme :1; 2102 uint32_t enable_led_scheme :1;
2103 uint32_t inta_enabled :1;
2080 uint32_t msi_enabled :1; 2104 uint32_t msi_enabled :1;
2081 uint32_t msix_enabled :1; 2105 uint32_t msix_enabled :1;
2082 uint32_t disable_serdes :1; 2106 uint32_t disable_serdes :1;
@@ -2316,8 +2340,6 @@ typedef struct scsi_qla_host {
2316#define MBX_INTR_WAIT 2 2340#define MBX_INTR_WAIT 2
2317#define MBX_UPDATE_FLASH_ACTIVE 3 2341#define MBX_UPDATE_FLASH_ACTIVE 3
2318 2342
2319 spinlock_t mbx_reg_lock; /* Mbx Cmd Register Lock */
2320
2321 struct semaphore mbx_cmd_sem; /* Serialialize mbx access */ 2343 struct semaphore mbx_cmd_sem; /* Serialialize mbx access */
2322 struct semaphore mbx_intr_sem; /* Used for completion notification */ 2344 struct semaphore mbx_intr_sem; /* Used for completion notification */
2323 2345
@@ -2358,6 +2380,7 @@ typedef struct scsi_qla_host {
2358 2380
2359 uint8_t host_str[16]; 2381 uint8_t host_str[16];
2360 uint32_t pci_attr; 2382 uint32_t pci_attr;
2383 uint16_t chip_revision;
2361 2384
2362 uint16_t product_id[4]; 2385 uint16_t product_id[4];
2363 2386
@@ -2379,6 +2402,15 @@ typedef struct scsi_qla_host {
2379#define QLA_SREADING 1 2402#define QLA_SREADING 1
2380#define QLA_SWRITING 2 2403#define QLA_SWRITING 2
2381 2404
2405 /* PCI expansion ROM image information. */
2406#define ROM_CODE_TYPE_BIOS 0
2407#define ROM_CODE_TYPE_FCODE 1
2408#define ROM_CODE_TYPE_EFI 3
2409 uint8_t bios_revision[2];
2410 uint8_t efi_revision[2];
2411 uint8_t fcode_revision[16];
2412 uint32_t fw_revision[4];
2413
2382 /* Needed for BEACON */ 2414 /* Needed for BEACON */
2383 uint16_t beacon_blink_led; 2415 uint16_t beacon_blink_led;
2384 uint8_t beacon_color_state; 2416 uint8_t beacon_color_state;
@@ -2391,6 +2423,8 @@ typedef struct scsi_qla_host {
2391 uint16_t zio_mode; 2423 uint16_t zio_mode;
2392 uint16_t zio_timer; 2424 uint16_t zio_timer;
2393 struct fc_host_statistics fc_host_stat; 2425 struct fc_host_statistics fc_host_stat;
2426
2427 struct qla_msix_entry msix_entries[QLA_MSIX_ENTRIES];
2394} scsi_qla_host_t; 2428} scsi_qla_host_t;
2395 2429
2396 2430