diff options
author | Sumit.Saxena@lsi.com <Sumit.Saxena@lsi.com> | 2014-02-12 13:07:46 -0500 |
---|---|---|
committer | James Bottomley <JBottomley@Parallels.com> | 2014-03-15 13:19:20 -0400 |
commit | be26374beff8b4442b042033613055fae4b0a56e (patch) | |
tree | aaa8c5bbd63c0862f315443e9ca8be759bb11d67 | |
parent | cfbe7554f6ebdf8034604d3cc90afd60cbb2195e (diff) |
[SCSI] megaraid_sas: Big endian code related fixes
Signed-off-by: Sumit Saxena <sumit.saxena@lsi.com>
Signed-off-by: Kashyap Desai <kashyap.desai@lsi.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
-rw-r--r-- | drivers/scsi/megaraid/megaraid_sas.h | 8 | ||||
-rw-r--r-- | drivers/scsi/megaraid/megaraid_sas_fp.c | 6 | ||||
-rw-r--r-- | drivers/scsi/megaraid/megaraid_sas_fusion.c | 6 |
3 files changed, 13 insertions, 7 deletions
diff --git a/drivers/scsi/megaraid/megaraid_sas.h b/drivers/scsi/megaraid/megaraid_sas.h index 34452ea386ac..a80e13ef9ffa 100644 --- a/drivers/scsi/megaraid/megaraid_sas.h +++ b/drivers/scsi/megaraid/megaraid_sas.h | |||
@@ -1347,9 +1347,15 @@ struct megasas_cmd; | |||
1347 | union megasas_evt_class_locale { | 1347 | union megasas_evt_class_locale { |
1348 | 1348 | ||
1349 | struct { | 1349 | struct { |
1350 | #ifndef __BIG_ENDIAN_BITFIELD | ||
1350 | u16 locale; | 1351 | u16 locale; |
1351 | u8 reserved; | 1352 | u8 reserved; |
1352 | s8 class; | 1353 | s8 class; |
1354 | #else | ||
1355 | s8 class; | ||
1356 | u8 reserved; | ||
1357 | u16 locale; | ||
1358 | #endif | ||
1353 | } __attribute__ ((packed)) members; | 1359 | } __attribute__ ((packed)) members; |
1354 | 1360 | ||
1355 | u32 word; | 1361 | u32 word; |
@@ -1728,7 +1734,7 @@ MR_BuildRaidContext(struct megasas_instance *instance, | |||
1728 | struct IO_REQUEST_INFO *io_info, | 1734 | struct IO_REQUEST_INFO *io_info, |
1729 | struct RAID_CONTEXT *pRAID_Context, | 1735 | struct RAID_CONTEXT *pRAID_Context, |
1730 | struct MR_FW_RAID_MAP_ALL *map, u8 **raidLUN); | 1736 | struct MR_FW_RAID_MAP_ALL *map, u8 **raidLUN); |
1731 | u16 MR_TargetIdToLdGet(u32 ldTgtId, struct MR_FW_RAID_MAP_ALL *map); | 1737 | u8 MR_TargetIdToLdGet(u32 ldTgtId, struct MR_FW_RAID_MAP_ALL *map); |
1732 | struct MR_LD_RAID *MR_LdRaidGet(u32 ld, struct MR_FW_RAID_MAP_ALL *map); | 1738 | struct MR_LD_RAID *MR_LdRaidGet(u32 ld, struct MR_FW_RAID_MAP_ALL *map); |
1733 | u16 MR_ArPdGet(u32 ar, u32 arm, struct MR_FW_RAID_MAP_ALL *map); | 1739 | u16 MR_ArPdGet(u32 ar, u32 arm, struct MR_FW_RAID_MAP_ALL *map); |
1734 | u16 MR_LdSpanArrayGet(u32 ld, u32 span, struct MR_FW_RAID_MAP_ALL *map); | 1740 | u16 MR_LdSpanArrayGet(u32 ld, u32 span, struct MR_FW_RAID_MAP_ALL *map); |
diff --git a/drivers/scsi/megaraid/megaraid_sas_fp.c b/drivers/scsi/megaraid/megaraid_sas_fp.c index e24b6eb645b5..2f3bd555ff87 100644 --- a/drivers/scsi/megaraid/megaraid_sas_fp.c +++ b/drivers/scsi/megaraid/megaraid_sas_fp.c | |||
@@ -143,12 +143,12 @@ u16 MR_PdDevHandleGet(u32 pd, struct MR_FW_RAID_MAP_ALL *map) | |||
143 | 143 | ||
144 | u16 MR_GetLDTgtId(u32 ld, struct MR_FW_RAID_MAP_ALL *map) | 144 | u16 MR_GetLDTgtId(u32 ld, struct MR_FW_RAID_MAP_ALL *map) |
145 | { | 145 | { |
146 | return map->raidMap.ldSpanMap[ld].ldRaid.targetId; | 146 | return le16_to_cpu(map->raidMap.ldSpanMap[ld].ldRaid.targetId); |
147 | } | 147 | } |
148 | 148 | ||
149 | u16 MR_TargetIdToLdGet(u32 ldTgtId, struct MR_FW_RAID_MAP_ALL *map) | 149 | u8 MR_TargetIdToLdGet(u32 ldTgtId, struct MR_FW_RAID_MAP_ALL *map) |
150 | { | 150 | { |
151 | return le16_to_cpu(map->raidMap.ldTgtIdToLd[ldTgtId]); | 151 | return map->raidMap.ldTgtIdToLd[ldTgtId]; |
152 | } | 152 | } |
153 | 153 | ||
154 | static struct MR_LD_SPAN *MR_LdSpanPtrGet(u32 ld, u32 span, | 154 | static struct MR_LD_SPAN *MR_LdSpanPtrGet(u32 ld, u32 span, |
diff --git a/drivers/scsi/megaraid/megaraid_sas_fusion.c b/drivers/scsi/megaraid/megaraid_sas_fusion.c index 4544c27b6489..ba323175bc64 100644 --- a/drivers/scsi/megaraid/megaraid_sas_fusion.c +++ b/drivers/scsi/megaraid/megaraid_sas_fusion.c | |||
@@ -1607,8 +1607,8 @@ megasas_build_dcdb_fusion(struct megasas_instance *instance, | |||
1607 | MR_RAID_CTX_RAID_FLAGS_IO_SUB_TYPE_SHIFT; | 1607 | MR_RAID_CTX_RAID_FLAGS_IO_SUB_TYPE_SHIFT; |
1608 | if ((instance->pdev->device == PCI_DEVICE_ID_LSI_INVADER) || | 1608 | if ((instance->pdev->device == PCI_DEVICE_ID_LSI_INVADER) || |
1609 | (instance->pdev->device == PCI_DEVICE_ID_LSI_FURY)) | 1609 | (instance->pdev->device == PCI_DEVICE_ID_LSI_FURY)) |
1610 | io_request->IoFlags |= | 1610 | io_request->IoFlags |= cpu_to_le16( |
1611 | MPI25_SAS_DEVICE0_FLAGS_ENABLED_FAST_PATH; | 1611 | MPI25_SAS_DEVICE0_FLAGS_ENABLED_FAST_PATH); |
1612 | cmd->request_desc->SCSIIO.RequestFlags = | 1612 | cmd->request_desc->SCSIIO.RequestFlags = |
1613 | (MPI2_REQ_DESCRIPT_FLAGS_HIGH_PRIORITY << | 1613 | (MPI2_REQ_DESCRIPT_FLAGS_HIGH_PRIORITY << |
1614 | MEGASAS_REQ_DESCRIPT_FLAGS_TYPE_SHIFT); | 1614 | MEGASAS_REQ_DESCRIPT_FLAGS_TYPE_SHIFT); |
@@ -2425,7 +2425,7 @@ int megasas_reset_fusion(struct Scsi_Host *shost) | |||
2425 | instance-> | 2425 | instance-> |
2426 | cmd_list[cmd_fusion->sync_cmd_idx]; | 2426 | cmd_list[cmd_fusion->sync_cmd_idx]; |
2427 | if (cmd_mfi->frame->dcmd.opcode == | 2427 | if (cmd_mfi->frame->dcmd.opcode == |
2428 | MR_DCMD_LD_MAP_GET_INFO) { | 2428 | cpu_to_le32(MR_DCMD_LD_MAP_GET_INFO)) { |
2429 | megasas_return_cmd(instance, | 2429 | megasas_return_cmd(instance, |
2430 | cmd_mfi); | 2430 | cmd_mfi); |
2431 | megasas_return_cmd_fusion( | 2431 | megasas_return_cmd_fusion( |