aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/megaraid/megaraid_sas.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/scsi/megaraid/megaraid_sas.h')
-rw-r--r--drivers/scsi/megaraid/megaraid_sas.h32
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
349enum 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
448struct 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
1677u8
1678MR_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);
1682u16 MR_TargetIdToLdGet(u32 ldTgtId, struct MR_FW_RAID_MAP_ALL *map);
1683struct MR_LD_RAID *MR_LdRaidGet(u32 ld, struct MR_FW_RAID_MAP_ALL *map);
1684u16 MR_ArPdGet(u32 ar, u32 arm, struct MR_FW_RAID_MAP_ALL *map);
1685u16 MR_LdSpanArrayGet(u32 ld, u32 span, struct MR_FW_RAID_MAP_ALL *map);
1686u16 MR_PdDevHandleGet(u32 pd, struct MR_FW_RAID_MAP_ALL *map);
1687u16 MR_GetLDTgtId(u32 ld, struct MR_FW_RAID_MAP_ALL *map);
1688
1659#endif /*LSI_MEGARAID_SAS_H */ 1689#endif /*LSI_MEGARAID_SAS_H */