diff options
author | adam radford <aradford@gmail.com> | 2010-12-21 16:34:31 -0500 |
---|---|---|
committer | James Bottomley <James.Bottomley@suse.de> | 2010-12-23 00:26:53 -0500 |
commit | 9c915a8c99bce637226aa09cb05fc18486b229cb (patch) | |
tree | 7bc2330661366db6407548a12366f7340f1b31e9 /drivers/scsi/megaraid/megaraid_sas.h | |
parent | cd50ba8ede5cd3c4606a8e5d163913da5ff36ad7 (diff) |
[SCSI] megaraid_sas: Add 9565/9285 specific code
This patch adds MegaRAID 9265/9285 (Device id 0x5b) specific code
Signed-off-by: Adam Radford <aradford@gmail.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Diffstat (limited to 'drivers/scsi/megaraid/megaraid_sas.h')
-rw-r--r-- | drivers/scsi/megaraid/megaraid_sas.h | 38 |
1 files changed, 30 insertions, 8 deletions
diff --git a/drivers/scsi/megaraid/megaraid_sas.h b/drivers/scsi/megaraid/megaraid_sas.h index a0b8ee1a5d2d..1b5e375732c0 100644 --- a/drivers/scsi/megaraid/megaraid_sas.h +++ b/drivers/scsi/megaraid/megaraid_sas.h | |||
@@ -33,9 +33,9 @@ | |||
33 | /* | 33 | /* |
34 | * MegaRAID SAS Driver meta data | 34 | * MegaRAID SAS Driver meta data |
35 | */ | 35 | */ |
36 | #define MEGASAS_VERSION "00.00.04.31-rc1" | 36 | #define MEGASAS_VERSION "00.00.05.29-rc1" |
37 | #define MEGASAS_RELDATE "May 3, 2010" | 37 | #define MEGASAS_RELDATE "Dec. 7, 2010" |
38 | #define MEGASAS_EXT_VERSION "Mon. May 3, 11:41:51 PST 2010" | 38 | #define MEGASAS_EXT_VERSION "Tue. Dec. 7 17:00:00 PDT 2010" |
39 | 39 | ||
40 | /* | 40 | /* |
41 | * Device IDs | 41 | * Device IDs |
@@ -47,6 +47,7 @@ | |||
47 | #define PCI_DEVICE_ID_LSI_SAS0079GEN2 0x0079 | 47 | #define PCI_DEVICE_ID_LSI_SAS0079GEN2 0x0079 |
48 | #define PCI_DEVICE_ID_LSI_SAS0073SKINNY 0x0073 | 48 | #define PCI_DEVICE_ID_LSI_SAS0073SKINNY 0x0073 |
49 | #define PCI_DEVICE_ID_LSI_SAS0071SKINNY 0x0071 | 49 | #define PCI_DEVICE_ID_LSI_SAS0071SKINNY 0x0071 |
50 | #define PCI_DEVICE_ID_LSI_FUSION 0x005b | ||
50 | 51 | ||
51 | /* | 52 | /* |
52 | * ===================================== | 53 | * ===================================== |
@@ -436,7 +437,6 @@ struct megasas_ctrl_prop { | |||
436 | * Add properties that can be controlled by | 437 | * Add properties that can be controlled by |
437 | * a bit in the following structure. | 438 | * a bit in the following structure. |
438 | */ | 439 | */ |
439 | |||
440 | struct { | 440 | struct { |
441 | u32 copyBackDisabled : 1; | 441 | u32 copyBackDisabled : 1; |
442 | u32 SMARTerEnabled : 1; | 442 | u32 SMARTerEnabled : 1; |
@@ -716,6 +716,7 @@ struct megasas_ctrl_info { | |||
716 | #define MEGASAS_DEFAULT_INIT_ID -1 | 716 | #define MEGASAS_DEFAULT_INIT_ID -1 |
717 | #define MEGASAS_MAX_LUN 8 | 717 | #define MEGASAS_MAX_LUN 8 |
718 | #define MEGASAS_MAX_LD 64 | 718 | #define MEGASAS_MAX_LD 64 |
719 | #define MEGASAS_DEFAULT_CMD_PER_LUN 128 | ||
719 | #define MEGASAS_MAX_PD (MEGASAS_MAX_PD_CHANNELS * \ | 720 | #define MEGASAS_MAX_PD (MEGASAS_MAX_PD_CHANNELS * \ |
720 | MEGASAS_MAX_DEV_PER_CHANNEL) | 721 | MEGASAS_MAX_DEV_PER_CHANNEL) |
721 | #define MEGASAS_MAX_LD_IDS (MEGASAS_MAX_LD_CHANNELS * \ | 722 | #define MEGASAS_MAX_LD_IDS (MEGASAS_MAX_LD_CHANNELS * \ |
@@ -784,7 +785,10 @@ struct megasas_ctrl_info { | |||
784 | */ | 785 | */ |
785 | 786 | ||
786 | struct megasas_register_set { | 787 | struct megasas_register_set { |
787 | u32 reserved_0[4]; /*0000h*/ | 788 | u32 doorbell; /*0000h*/ |
789 | u32 fusion_seq_offset; /*0004h*/ | ||
790 | u32 fusion_host_diag; /*0008h*/ | ||
791 | u32 reserved_01; /*000Ch*/ | ||
788 | 792 | ||
789 | u32 inbound_msg_0; /*0010h*/ | 793 | u32 inbound_msg_0; /*0010h*/ |
790 | u32 inbound_msg_1; /*0014h*/ | 794 | u32 inbound_msg_1; /*0014h*/ |
@@ -804,15 +808,18 @@ struct megasas_register_set { | |||
804 | u32 inbound_queue_port; /*0040h*/ | 808 | u32 inbound_queue_port; /*0040h*/ |
805 | u32 outbound_queue_port; /*0044h*/ | 809 | u32 outbound_queue_port; /*0044h*/ |
806 | 810 | ||
807 | u32 reserved_2[22]; /*0048h*/ | 811 | u32 reserved_2[9]; /*0048h*/ |
812 | u32 reply_post_host_index; /*006Ch*/ | ||
813 | u32 reserved_2_2[12]; /*0070h*/ | ||
808 | 814 | ||
809 | u32 outbound_doorbell_clear; /*00A0h*/ | 815 | u32 outbound_doorbell_clear; /*00A0h*/ |
810 | 816 | ||
811 | u32 reserved_3[3]; /*00A4h*/ | 817 | u32 reserved_3[3]; /*00A4h*/ |
812 | 818 | ||
813 | u32 outbound_scratch_pad ; /*00B0h*/ | 819 | u32 outbound_scratch_pad ; /*00B0h*/ |
820 | u32 outbound_scratch_pad_2; /*00B4h*/ | ||
814 | 821 | ||
815 | u32 reserved_4[3]; /*00B4h*/ | 822 | u32 reserved_4[2]; /*00B8h*/ |
816 | 823 | ||
817 | u32 inbound_low_queue_port ; /*00C0h*/ | 824 | u32 inbound_low_queue_port ; /*00C0h*/ |
818 | 825 | ||
@@ -1287,6 +1294,9 @@ struct megasas_instance { | |||
1287 | 1294 | ||
1288 | u16 max_num_sge; | 1295 | u16 max_num_sge; |
1289 | u16 max_fw_cmds; | 1296 | u16 max_fw_cmds; |
1297 | /* For Fusion its num IOCTL cmds, for others MFI based its | ||
1298 | max_fw_cmds */ | ||
1299 | u16 max_mfi_cmds; | ||
1290 | u32 max_sectors_per_req; | 1300 | u32 max_sectors_per_req; |
1291 | struct megasas_aen_event *ev; | 1301 | struct megasas_aen_event *ev; |
1292 | 1302 | ||
@@ -1336,9 +1346,15 @@ struct megasas_instance { | |||
1336 | struct timer_list io_completion_timer; | 1346 | struct timer_list io_completion_timer; |
1337 | struct list_head internal_reset_pending_q; | 1347 | struct list_head internal_reset_pending_q; |
1338 | 1348 | ||
1349 | /* Ptr to hba specfic information */ | ||
1350 | void *ctrl_context; | ||
1339 | u8 msi_flag; | 1351 | u8 msi_flag; |
1340 | struct msix_entry msixentry; | 1352 | struct msix_entry msixentry; |
1353 | u64 map_id; | ||
1354 | struct megasas_cmd *map_update_cmd; | ||
1341 | unsigned long bar; | 1355 | unsigned long bar; |
1356 | long reset_flags; | ||
1357 | struct mutex reset_mutex; | ||
1342 | }; | 1358 | }; |
1343 | 1359 | ||
1344 | enum { | 1360 | enum { |
@@ -1397,7 +1413,13 @@ struct megasas_cmd { | |||
1397 | struct list_head list; | 1413 | struct list_head list; |
1398 | struct scsi_cmnd *scmd; | 1414 | struct scsi_cmnd *scmd; |
1399 | struct megasas_instance *instance; | 1415 | struct megasas_instance *instance; |
1400 | u32 frame_count; | 1416 | union { |
1417 | struct { | ||
1418 | u16 smid; | ||
1419 | u16 resvd; | ||
1420 | } context; | ||
1421 | u32 frame_count; | ||
1422 | }; | ||
1401 | }; | 1423 | }; |
1402 | 1424 | ||
1403 | #define MAX_MGMT_ADAPTERS 1024 | 1425 | #define MAX_MGMT_ADAPTERS 1024 |