diff options
Diffstat (limited to 'drivers/scsi/megaraid/megaraid_sas.h')
-rw-r--r-- | drivers/scsi/megaraid/megaraid_sas.h | 32 |
1 files changed, 31 insertions, 1 deletions
diff --git a/drivers/scsi/megaraid/megaraid_sas.h b/drivers/scsi/megaraid/megaraid_sas.h index 04a42a505852..a6d80f70e2fc 100644 --- a/drivers/scsi/megaraid/megaraid_sas.h +++ b/drivers/scsi/megaraid/megaraid_sas.h | |||
@@ -170,6 +170,7 @@ | |||
170 | 170 | ||
171 | #define MR_DCMD_CTRL_GET_INFO 0x01010000 | 171 | #define MR_DCMD_CTRL_GET_INFO 0x01010000 |
172 | #define MR_DCMD_LD_GET_LIST 0x03010000 | 172 | #define MR_DCMD_LD_GET_LIST 0x03010000 |
173 | #define MR_DCMD_LD_LIST_QUERY 0x03010100 | ||
173 | 174 | ||
174 | #define MR_DCMD_CTRL_CACHE_FLUSH 0x01101000 | 175 | #define MR_DCMD_CTRL_CACHE_FLUSH 0x01101000 |
175 | #define MR_FLUSH_CTRL_CACHE 0x01 | 176 | #define MR_FLUSH_CTRL_CACHE 0x01 |
@@ -345,6 +346,15 @@ enum MR_PD_QUERY_TYPE { | |||
345 | MR_PD_QUERY_TYPE_EXPOSED_TO_HOST = 5, | 346 | MR_PD_QUERY_TYPE_EXPOSED_TO_HOST = 5, |
346 | }; | 347 | }; |
347 | 348 | ||
349 | enum MR_LD_QUERY_TYPE { | ||
350 | MR_LD_QUERY_TYPE_ALL = 0, | ||
351 | MR_LD_QUERY_TYPE_EXPOSED_TO_HOST = 1, | ||
352 | MR_LD_QUERY_TYPE_USED_TGT_IDS = 2, | ||
353 | MR_LD_QUERY_TYPE_CLUSTER_ACCESS = 3, | ||
354 | MR_LD_QUERY_TYPE_CLUSTER_LOCALE = 4, | ||
355 | }; | ||
356 | |||
357 | |||
348 | #define MR_EVT_CFG_CLEARED 0x0004 | 358 | #define MR_EVT_CFG_CLEARED 0x0004 |
349 | #define MR_EVT_LD_STATE_CHANGE 0x0051 | 359 | #define MR_EVT_LD_STATE_CHANGE 0x0051 |
350 | #define MR_EVT_PD_INSERTED 0x005b | 360 | #define MR_EVT_PD_INSERTED 0x005b |
@@ -435,6 +445,14 @@ struct MR_LD_LIST { | |||
435 | } ldList[MAX_LOGICAL_DRIVES]; | 445 | } ldList[MAX_LOGICAL_DRIVES]; |
436 | } __packed; | 446 | } __packed; |
437 | 447 | ||
448 | struct MR_LD_TARGETID_LIST { | ||
449 | u32 size; | ||
450 | u32 count; | ||
451 | u8 pad[3]; | ||
452 | u8 targetId[MAX_LOGICAL_DRIVES]; | ||
453 | }; | ||
454 | |||
455 | |||
438 | /* | 456 | /* |
439 | * SAS controller properties | 457 | * SAS controller properties |
440 | */ | 458 | */ |
@@ -863,7 +881,7 @@ struct megasas_ctrl_info { | |||
863 | * =============================== | 881 | * =============================== |
864 | */ | 882 | */ |
865 | #define MEGASAS_MAX_PD_CHANNELS 2 | 883 | #define MEGASAS_MAX_PD_CHANNELS 2 |
866 | #define MEGASAS_MAX_LD_CHANNELS 2 | 884 | #define MEGASAS_MAX_LD_CHANNELS 1 |
867 | #define MEGASAS_MAX_CHANNELS (MEGASAS_MAX_PD_CHANNELS + \ | 885 | #define MEGASAS_MAX_CHANNELS (MEGASAS_MAX_PD_CHANNELS + \ |
868 | MEGASAS_MAX_LD_CHANNELS) | 886 | MEGASAS_MAX_LD_CHANNELS) |
869 | #define MEGASAS_MAX_DEV_PER_CHANNEL 128 | 887 | #define MEGASAS_MAX_DEV_PER_CHANNEL 128 |
@@ -1656,4 +1674,16 @@ struct megasas_mgmt_info { | |||
1656 | int max_index; | 1674 | int max_index; |
1657 | }; | 1675 | }; |
1658 | 1676 | ||
1677 | u8 | ||
1678 | MR_BuildRaidContext(struct megasas_instance *instance, | ||
1679 | struct IO_REQUEST_INFO *io_info, | ||
1680 | struct RAID_CONTEXT *pRAID_Context, | ||
1681 | struct MR_FW_RAID_MAP_ALL *map, u8 **raidLUN); | ||
1682 | u16 MR_TargetIdToLdGet(u32 ldTgtId, struct MR_FW_RAID_MAP_ALL *map); | ||
1683 | struct MR_LD_RAID *MR_LdRaidGet(u32 ld, struct MR_FW_RAID_MAP_ALL *map); | ||
1684 | u16 MR_ArPdGet(u32 ar, u32 arm, struct MR_FW_RAID_MAP_ALL *map); | ||
1685 | u16 MR_LdSpanArrayGet(u32 ld, u32 span, struct MR_FW_RAID_MAP_ALL *map); | ||
1686 | u16 MR_PdDevHandleGet(u32 pd, struct MR_FW_RAID_MAP_ALL *map); | ||
1687 | u16 MR_GetLDTgtId(u32 ld, struct MR_FW_RAID_MAP_ALL *map); | ||
1688 | |||
1659 | #endif /*LSI_MEGARAID_SAS_H */ | 1689 | #endif /*LSI_MEGARAID_SAS_H */ |