RE: [PATCH 03/10] megaraid_sas: add endianess annotations

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



>-----Original Message-----
>From: Christoph Hellwig [mailto:hch@xxxxxx]
>Sent: Saturday, January 10, 2015 10:41 PM
>To: Sumit.Saxena@xxxxxxxxxxxxx; kashyap.desai@xxxxxxxxxxxxx
>Cc: martin.petersen@xxxxxxxxxx; linux-scsi@xxxxxxxxxxxxxxx
>Subject: [PATCH 03/10] megaraid_sas: add endianess annotations
>
>This adds endianess annotations to all data structures, and a few
variables
>directly referencing them.
>
>Signed-off-by: Christoph Hellwig <hch@xxxxxx>
>---
> drivers/scsi/megaraid/megaraid_sas.h        | 296
++++++++++++++-------------
>-
> drivers/scsi/megaraid/megaraid_sas_base.c   |   2 +-
> drivers/scsi/megaraid/megaraid_sas_fp.c     |  10 +-
> drivers/scsi/megaraid/megaraid_sas_fusion.c |   2 +-
> drivers/scsi/megaraid/megaraid_sas_fusion.h | 276
+++++++++++++----------
>---
> 5 files changed, 293 insertions(+), 293 deletions(-)
>
>diff --git a/drivers/scsi/megaraid/megaraid_sas.h
>b/drivers/scsi/megaraid/megaraid_sas.h
>index ecc4321..81484f1 100644
>--- a/drivers/scsi/megaraid/megaraid_sas.h
>+++ b/drivers/scsi/megaraid/megaraid_sas.h
>@@ -408,7 +408,7 @@ enum MR_PD_STATE {
>  * defines the physical drive address structure
>  */
> struct MR_PD_ADDRESS {
>-	u16     deviceId;
>+	__le16	deviceId;
> 	u16     enclDeviceId;
>
> 	union {
>@@ -433,8 +433,8 @@ struct MR_PD_ADDRESS {
>  * defines the physical drive list structure
>  */
> struct MR_PD_LIST {
>-	u32             size;
>-	u32             count;
>+	__le32		size;
>+	__le32		count;
> 	struct MR_PD_ADDRESS   addr[1];
> } __packed;
>
>@@ -451,28 +451,28 @@ union  MR_LD_REF {
> 	struct {
> 		u8      targetId;
> 		u8      reserved;
>-		u16     seqNum;
>+		__le16     seqNum;
> 	};
>-	u32     ref;
>+	__le32     ref;
> } __packed;
>
> /*
>  * defines the logical drive list structure
>  */
> struct MR_LD_LIST {
>-	u32     ldCount;
>-	u32     reserved;
>+	__le32     ldCount;
>+	__le32     reserved;
> 	struct {
> 		union MR_LD_REF   ref;
> 		u8          state;
> 		u8          reserved[3];
>-		u64         size;
>+		__le64		size;
> 	} ldList[MAX_LOGICAL_DRIVES_EXT];
> } __packed;
>
> struct MR_LD_TARGETID_LIST {
>-	u32	size;
>-	u32	count;
>+	__le32	size;
>+	__le32	count;
> 	u8	pad[3];
> 	u8	targetId[MAX_LOGICAL_DRIVES_EXT];
> };
>@@ -553,7 +553,7 @@ struct megasas_ctrl_prop {
> 	} OnOffProperties;
> 	u8 autoSnapVDSpace;
> 	u8 viewSpace;
>-	u16 spinDownTime;
>+	__le16 spinDownTime;
> 	u8  reserved[24];
> } __packed;
>
>@@ -567,10 +567,10 @@ struct megasas_ctrl_info {
> 	 */
> 	struct {
>
>-		u16 vendor_id;
>-		u16 device_id;
>-		u16 sub_vendor_id;
>-		u16 sub_device_id;
>+		__le16 vendor_id;
>+		__le16 device_id;
>+		__le16 sub_vendor_id;
>+		__le16 sub_device_id;
> 		u8 reserved[24];
>
> 	} __attribute__ ((packed)) pci;
>@@ -611,8 +611,8 @@ struct megasas_ctrl_info {
> 	/*
> 	 * List of components residing in flash. All str are null
terminated
> 	 */
>-	u32 image_check_word;
>-	u32 image_component_count;
>+	__le32 image_check_word;
>+	__le32 image_component_count;
>
> 	struct {
>
>@@ -629,7 +629,7 @@ struct megasas_ctrl_info {
> 	 * empty if a flash operation has not occurred. All stings are
null
> 	 * terminated
> 	 */
>-	u32 pending_image_component_count;
>+	__le32 pending_image_component_count;
>
> 	struct {
>
>@@ -662,39 +662,39 @@ struct megasas_ctrl_info {
>
> 	} __attribute__ ((packed)) hw_present;
>
>-	u32 current_fw_time;
>+	__le32 current_fw_time;
>
> 	/*
> 	 * Maximum data transfer sizes
> 	 */
>-	u16 max_concurrent_cmds;
>-	u16 max_sge_count;
>-	u32 max_request_size;
>+	__le16 max_concurrent_cmds;
>+	__le16 max_sge_count;
>+	__le32 max_request_size;
>
> 	/*
> 	 * Logical and physical device counts
> 	 */
>-	u16 ld_present_count;
>-	u16 ld_degraded_count;
>-	u16 ld_offline_count;
>+	__le16 ld_present_count;
>+	__le16 ld_degraded_count;
>+	__le16 ld_offline_count;
>
>-	u16 pd_present_count;
>-	u16 pd_disk_present_count;
>-	u16 pd_disk_pred_failure_count;
>-	u16 pd_disk_failed_count;
>+	__le16 pd_present_count;
>+	__le16 pd_disk_present_count;
>+	__le16 pd_disk_pred_failure_count;
>+	__le16 pd_disk_failed_count;
>
> 	/*
> 	 * Memory size information
> 	 */
>-	u16 nvram_size;
>-	u16 memory_size;
>-	u16 flash_size;
>+	__le16 nvram_size;
>+	__le16 memory_size;
>+	__le16 flash_size;
>
> 	/*
> 	 * Error counters
> 	 */
>-	u16 mem_correctable_error_count;
>-	u16 mem_uncorrectable_error_count;
>+	__le16 mem_correctable_error_count;
>+	__le16 mem_uncorrectable_error_count;
>
> 	/*
> 	 * Cluster information
>@@ -705,7 +705,7 @@ struct megasas_ctrl_info {
> 	/*
> 	 * Additional max data transfer sizes
> 	 */
>-	u16 max_strips_per_io;
>+	__le16 max_strips_per_io;
>
> 	/*
> 	 * Controller capabilities structures
>@@ -805,7 +805,7 @@ struct megasas_ctrl_info {
> 	* deviceInterface.portAddr, and the rest shall be
> 	* populated in deviceInterfacePortAddr2.
> 	*/
>-	u64         deviceInterfacePortAddr2[8]; /*6a0h */
>+	__le64	    deviceInterfacePortAddr2[8]; /*6a0h */
> 	u8          reserved3[128];              /*6e0h */
>
> 	struct {                                /*760h */
>@@ -842,26 +842,26 @@ struct megasas_ctrl_info {
> 		u16 reserved[6];
> 	} pdsForRaidLevels;
>
>-	u16 maxPds;                             /*780h */
>-	u16 maxDedHSPs;                         /*782h */
>-	u16 maxGlobalHSPs;                      /*784h */
>-	u16 ddfSize;                            /*786h */
>+	__le16 maxPds;                          /*780h */
>+	__le16 maxDedHSPs;                      /*782h */
>+	__le16 maxGlobalHSP;                    /*784h */
>+	__le16 ddfSize;                         /*786h */
> 	u8  maxLdsPerArray;                     /*788h */
> 	u8  partitionsInDDF;                    /*789h */
> 	u8  lockKeyBinding;                     /*78ah */
> 	u8  maxPITsPerLd;                       /*78bh */
> 	u8  maxViewsPerLd;                      /*78ch */
> 	u8  maxTargetId;                        /*78dh */
>-	u16 maxBvlVdSize;                       /*78eh */
>+	__le16 maxBvlVdSize;                    /*78eh */
>
>-	u16 maxConfigurableSSCSize;             /*790h */
>-	u16 currentSSCsize;                     /*792h */
>+	__le16 maxConfigurableSSCSize;          /*790h */
>+	__le16 currentSSCsize;                  /*792h */
>
> 	char    expanderFwVersion[12];          /*794h */
>
>-	u16 PFKTrialTimeRemaining;              /*7A0h */
>+	__le16 PFKTrialTimeRemaining;           /*7A0h */
>
>-	u16 cacheMemorySize;                    /*7A2h */
>+	__le16 cacheMemorySize;                 /*7A2h */
>
> 	struct {                                /*7A4h */
> #if   defined(__BIG_ENDIAN_BITFIELD)
>@@ -931,7 +931,7 @@ struct megasas_ctrl_info {
> 	u8  temperatureROC;                     /*7C9h */
> 	u8  temperatureCtrl;                    /*7CAh */
> 	u8  reserved4;                          /*7CBh */
>-	u16 maxConfigurablePds;                 /*7CCh */
>+	__le16 maxConfigurablePds;              /*7CCh */
>
>
> 	u8  reserved5[2];                       /*0x7CDh */
>@@ -1172,22 +1172,22 @@ struct megasas_register_set {
>
> struct megasas_sge32 {
>
>-	u32 phys_addr;
>-	u32 length;
>+	__le32 phys_addr;
>+	__le32 length;
>
> } __attribute__ ((packed));
>
> struct megasas_sge64 {
>
>-	u64 phys_addr;
>-	u32 length;
>+	__le64 phys_addr;
>+	__le32 length;
>
> } __attribute__ ((packed));
>
> struct megasas_sge_skinny {
>-	u64 phys_addr;
>-	u32 length;
>-	u32 flag;
>+	__le64 phys_addr;
>+	__le32 length;
>+	__le32 flag;
> } __packed;
>
> union megasas_sgl {
>@@ -1210,12 +1210,12 @@ struct megasas_header {
> 	u8 cdb_len;		/*06h */
> 	u8 sge_count;		/*07h */
>
>-	u32 context;		/*08h */
>-	u32 pad_0;		/*0Ch */
>+	__le32 context;		/*08h */
>+	__le32 pad_0;		/*0Ch */
>
>-	u16 flags;		/*10h */
>-	u16 timeout;		/*12h */
>-	u32 data_xferlen;	/*14h */
>+	__le16 flags;		/*10h */
>+	__le16 timeout;		/*12h */
>+	__le32 data_xferlen;	/*14h */
>
> } __attribute__ ((packed));
>
>@@ -1248,7 +1248,7 @@ typedef union _MFI_CAPABILITIES {
> 		u32     reserved:25;
> #endif
> 	} mfi_capabilities;
>-	u32     reg;
>+	__le32		reg;
> } MFI_CAPABILITIES;
>
> struct megasas_init_frame {
>@@ -1260,33 +1260,33 @@ struct megasas_init_frame {
> 	u8 reserved_1;		/*03h */
> 	MFI_CAPABILITIES driver_operations; /*04h*/
>
>-	u32 context;		/*08h */
>-	u32 pad_0;		/*0Ch */
>+	__le32 context;		/*08h */
>+	__le32 pad_0;		/*0Ch */
>
>-	u16 flags;		/*10h */
>-	u16 reserved_3;		/*12h */
>-	u32 data_xfer_len;	/*14h */
>+	__le16 flags;		/*10h */
>+	__le16 reserved_3;	/*12h */
>+	__le32 data_xfer_len;	/*14h */
>
>-	u32 queue_info_new_phys_addr_lo;	/*18h */
>-	u32 queue_info_new_phys_addr_hi;	/*1Ch */
>-	u32 queue_info_old_phys_addr_lo;	/*20h */
>-	u32 queue_info_old_phys_addr_hi;	/*24h */
>+	__le32 queue_info_new_phys_addr_lo;	/*18h */
>+	__le32 queue_info_new_phys_addr_hi;	/*1Ch */
>+	__le32 queue_info_old_phys_addr_lo;	/*20h */
>+	__le32 queue_info_old_phys_addr_hi;	/*24h */
>
>-	u32 reserved_4[6];	/*28h */
>+	__le32 reserved_4[6];	/*28h */
>
> } __attribute__ ((packed));
>
> struct megasas_init_queue_info {
>
>-	u32 init_flags;		/*00h */
>-	u32 reply_queue_entries;	/*04h */
>+	__le32 init_flags;		/*00h */
>+	__le32 reply_queue_entries;	/*04h */
>
>-	u32 reply_queue_start_phys_addr_lo;	/*08h */
>-	u32 reply_queue_start_phys_addr_hi;	/*0Ch */
>-	u32 producer_index_phys_addr_lo;	/*10h */
>-	u32 producer_index_phys_addr_hi;	/*14h */
>-	u32 consumer_index_phys_addr_lo;	/*18h */
>-	u32 consumer_index_phys_addr_hi;	/*1Ch */
>+	__le32 reply_queue_start_phys_addr_lo;	/*08h */
>+	__le32 reply_queue_start_phys_addr_hi;	/*0Ch */
>+	__le32 producer_index_phys_addr_lo;	/*10h */
>+	__le32 producer_index_phys_addr_hi;	/*14h */
>+	__le32 consumer_index_phys_addr_lo;	/*18h */
>+	__le32 consumer_index_phys_addr_hi;	/*1Ch */
>
> } __attribute__ ((packed));
>
>@@ -1302,18 +1302,18 @@ struct megasas_io_frame {
> 	u8 reserved_0;		/*06h */
> 	u8 sge_count;		/*07h */
>
>-	u32 context;		/*08h */
>-	u32 pad_0;		/*0Ch */
>+	__le32 context;		/*08h */
>+	__le32 pad_0;		/*0Ch */
>
>-	u16 flags;		/*10h */
>-	u16 timeout;		/*12h */
>-	u32 lba_count;		/*14h */
>+	__le16 flags;		/*10h */
>+	__le16 timeout;		/*12h */
>+	__le32 lba_count;	/*14h */
>
>-	u32 sense_buf_phys_addr_lo;	/*18h */
>-	u32 sense_buf_phys_addr_hi;	/*1Ch */
>+	__le32 sense_buf_phys_addr_lo;	/*18h */
>+	__le32 sense_buf_phys_addr_hi;	/*1Ch */
>
>-	u32 start_lba_lo;	/*20h */
>-	u32 start_lba_hi;	/*24h */
>+	__le32 start_lba_lo;	/*20h */
>+	__le32 start_lba_hi;	/*24h */
>
> 	union megasas_sgl sgl;	/*28h */
>
>@@ -1331,15 +1331,15 @@ struct megasas_pthru_frame {
> 	u8 cdb_len;		/*06h */
> 	u8 sge_count;		/*07h */
>
>-	u32 context;		/*08h */
>-	u32 pad_0;		/*0Ch */
>+	__le32 context;		/*08h */
>+	__le32 pad_0;		/*0Ch */
>
>-	u16 flags;		/*10h */
>-	u16 timeout;		/*12h */
>-	u32 data_xfer_len;	/*14h */
>+	__le16 flags;		/*10h */
>+	__le16 timeout;		/*12h */
>+	__le32 data_xfer_len;	/*14h */
>
>-	u32 sense_buf_phys_addr_lo;	/*18h */
>-	u32 sense_buf_phys_addr_hi;	/*1Ch */
>+	__le32 sense_buf_phys_addr_lo;	/*18h */
>+	__le32 sense_buf_phys_addr_hi;	/*1Ch */
>
> 	u8 cdb[16];		/*20h */
> 	union megasas_sgl sgl;	/*30h */
>@@ -1354,19 +1354,19 @@ struct megasas_dcmd_frame {
> 	u8 reserved_1[4];	/*03h */
> 	u8 sge_count;		/*07h */
>
>-	u32 context;		/*08h */
>-	u32 pad_0;		/*0Ch */
>+	__le32 context;		/*08h */
>+	__le32 pad_0;		/*0Ch */
>
>-	u16 flags;		/*10h */
>-	u16 timeout;		/*12h */
>+	__le16 flags;		/*10h */
>+	__le16 timeout;		/*12h */
>
>-	u32 data_xfer_len;	/*14h */
>-	u32 opcode;		/*18h */
>+	__le32 data_xfer_len;	/*14h */
>+	__le32 opcode;		/*18h */
>
> 	union {			/*1Ch */
> 		u8 b[12];
>-		u16 s[6];
>-		u32 w[3];
>+		__le16 s[6];
>+		__le32 w[3];
> 	} mbox;
>
> 	union megasas_sgl sgl;	/*28h */
>@@ -1380,22 +1380,22 @@ struct megasas_abort_frame {
> 	u8 cmd_status;		/*02h */
>
> 	u8 reserved_1;		/*03h */
>-	u32 reserved_2;		/*04h */
>+	__le32 reserved_2;	/*04h */
>
>-	u32 context;		/*08h */
>-	u32 pad_0;		/*0Ch */
>+	__le32 context;		/*08h */
>+	__le32 pad_0;		/*0Ch */
>
>-	u16 flags;		/*10h */
>-	u16 reserved_3;		/*12h */
>-	u32 reserved_4;		/*14h */
>+	__le16 flags;		/*10h */
>+	__le16 reserved_3;	/*12h */
>+	__le32 reserved_4;	/*14h */
>
>-	u32 abort_context;	/*18h */
>-	u32 pad_1;		/*1Ch */
>+	__le32 abort_context;	/*18h */
>+	__le32 pad_1;		/*1Ch */
>
>-	u32 abort_mfi_phys_addr_lo;	/*20h */
>-	u32 abort_mfi_phys_addr_hi;	/*24h */
>+	__le32 abort_mfi_phys_addr_lo;	/*20h */
>+	__le32 abort_mfi_phys_addr_hi;	/*24h */
>
>-	u32 reserved_5[6];	/*28h */
>+	__le32 reserved_5[6];	/*28h */
>
> } __attribute__ ((packed));
>
>@@ -1409,14 +1409,14 @@ struct megasas_smp_frame {
> 	u8 reserved_2[3];	/*04h */
> 	u8 sge_count;		/*07h */
>
>-	u32 context;		/*08h */
>-	u32 pad_0;		/*0Ch */
>+	__le32 context;		/*08h */
>+	__le32 pad_0;		/*0Ch */
>
>-	u16 flags;		/*10h */
>-	u16 timeout;		/*12h */
>+	__le16 flags;		/*10h */
>+	__le16 timeout;		/*12h */
>
>-	u32 data_xfer_len;	/*14h */
>-	u64 sas_addr;		/*18h */
>+	__le32 data_xfer_len;	/*14h */
>+	__le64 sas_addr;	/*18h */
>
> 	union {
> 		struct megasas_sge32 sge32[2];	/* [0]: resp [1]: req */
>@@ -1436,16 +1436,16 @@ struct megasas_stp_frame {
> 	u8 reserved_3[2];	/*05h */
> 	u8 sge_count;		/*07h */
>
>-	u32 context;		/*08h */
>-	u32 pad_0;		/*0Ch */
>+	__le32 context;		/*08h */
>+	__le32 pad_0;		/*0Ch */
>
>-	u16 flags;		/*10h */
>-	u16 timeout;		/*12h */
>+	__le16 flags;		/*10h */
>+	__le16 timeout;		/*12h */
>
>-	u32 data_xfer_len;	/*14h */
>+	__le32 data_xfer_len;	/*14h */
>
>-	u16 fis[10];		/*18h */
>-	u32 stp_flags;
>+	__le16 fis[10];		/*18h */
>+	__le32 stp_flags;
>
> 	union {
> 		struct megasas_sge32 sge32[2];	/* [0]: resp [1]: data */
>@@ -1489,18 +1489,18 @@ union megasas_evt_class_locale {  } __attribute__
>((packed));
>
> struct megasas_evt_log_info {
>-	u32 newest_seq_num;
>-	u32 oldest_seq_num;
>-	u32 clear_seq_num;
>-	u32 shutdown_seq_num;
>-	u32 boot_seq_num;
>+	__le32 newest_seq_num;
>+	__le32 oldest_seq_num;
>+	__le32 clear_seq_num;
>+	__le32 shutdown_seq_num;
>+	__le32 boot_seq_num;
>
> } __attribute__ ((packed));
>
> struct megasas_progress {
>
>-	u16 progress;
>-	u16 elapsed_seconds;
>+	__le16 progress;
>+	__le16 elapsed_seconds;
>
> } __attribute__ ((packed));
>
>@@ -1521,9 +1521,9 @@ struct megasas_evtarg_pd {
>
> struct megasas_evt_detail {
>
>-	u32 seq_num;
>-	u32 time_stamp;
>-	u32 code;
>+	__le32 seq_num;
>+	__le32 time_stamp;
>+	__le32 code;
> 	union megasas_evt_class_locale cl;
> 	u8 arg_type;
> 	u8 reserved1[15];
>@@ -1542,18 +1542,18 @@ struct megasas_evt_detail {
>
> 		struct {
> 			struct megasas_evtarg_ld ld;
>-			u64 count;
>+			__le64 count;
> 		} __attribute__ ((packed)) ld_count;
>
> 		struct {
>-			u64 lba;
>+			__le64 lba;
> 			struct megasas_evtarg_ld ld;
> 		} __attribute__ ((packed)) ld_lba;
>
> 		struct {
> 			struct megasas_evtarg_ld ld;
>-			u32 prevOwner;
>-			u32 newOwner;
>+			__le32 prevOwner;
>+			__le32 newOwner;
> 		} __attribute__ ((packed)) ld_owner;
>
> 		struct {
>@@ -1610,7 +1610,7 @@ struct megasas_evt_detail {
>
> 		struct {
> 			u16 vendorId;
>-			u16 deviceId;
>+			__le16 deviceId;
> 			u16 subVendorId;
> 			u16 subDeviceId;
> 		} __attribute__ ((packed)) pci;
>@@ -1630,9 +1630,9 @@ struct megasas_evt_detail {
> 		} __attribute__ ((packed)) ecc;
>
> 		u8 b[96];
>-		u16 s[48];
>-		u32 w[24];
>-		u64 d[12];
>+		__le16 s[48];
>+		__le32 w[24];
>+		__le64 d[12];
> 	} args;
>
> 	char description[128];
>@@ -1651,9 +1651,9 @@ struct megasas_irq_context {
>
> struct megasas_instance {
>
>-	u32 *producer;
>+	__le32 *producer;
> 	dma_addr_t producer_h;
>-	u32 *consumer;
>+	__le32 *consumer;
> 	dma_addr_t consumer_h;
> 	struct MR_LD_VF_AFFILIATION *vf_affiliation;
> 	dma_addr_t vf_affiliation_h;
>@@ -1662,7 +1662,7 @@ struct megasas_instance {
> 	struct MR_CTRL_HB_HOST_MEM *hb_host_mem;
> 	dma_addr_t hb_host_mem_h;
>
>-	u32 *reply_queue;
>+	__le32 *reply_queue;
> 	dma_addr_t reply_queue_h;
>
> 	u32 *crash_dump_buf;
>@@ -1963,10 +1963,10 @@ u8 MR_TargetIdToLdGet(u32 ldTgtId, struct
>MR_DRV_RAID_MAP_ALL *map);  struct MR_LD_RAID *MR_LdRaidGet(u32
>ld, struct MR_DRV_RAID_MAP_ALL *map);
> u16 MR_ArPdGet(u32 ar, u32 arm, struct MR_DRV_RAID_MAP_ALL *map);
> u16 MR_LdSpanArrayGet(u32 ld, u32 span, struct MR_DRV_RAID_MAP_ALL
>*map);
>-u16 MR_PdDevHandleGet(u32 pd, struct MR_DRV_RAID_MAP_ALL *map);
>+__le16 MR_PdDevHandleGet(u32 pd, struct MR_DRV_RAID_MAP_ALL
>*map);
> u16 MR_GetLDTgtId(u32 ld, struct MR_DRV_RAID_MAP_ALL *map);
>
>-u16 get_updated_dev_handle(struct megasas_instance *instance,
>+__le16 get_updated_dev_handle(struct megasas_instance *instance,
> 	struct LD_LOAD_BALANCE_INFO *lbInfo, struct IO_REQUEST_INFO
>*in_info);  void mr_update_load_balance_params(struct
>MR_DRV_RAID_MAP_ALL *map,
> 	struct LD_LOAD_BALANCE_INFO *lbInfo);
>diff --git a/drivers/scsi/megaraid/megaraid_sas_base.c
>b/drivers/scsi/megaraid/megaraid_sas_base.c
>index 875db92..cb7d0c4 100644
>--- a/drivers/scsi/megaraid/megaraid_sas_base.c
>+++ b/drivers/scsi/megaraid/megaraid_sas_base.c
>@@ -4262,7 +4262,7 @@ int megasas_set_crash_dump_params(struct
>megasas_instance *instance,  static int  megasas_issue_init_mfi(struct
>megasas_instance *instance)  {
>-	u32 context;
>+	__le32 context;
>
> 	struct megasas_cmd *cmd;
>
>diff --git a/drivers/scsi/megaraid/megaraid_sas_fp.c
>b/drivers/scsi/megaraid/megaraid_sas_fp.c
>index 4f72287..e9138a2 100644
>--- a/drivers/scsi/megaraid/megaraid_sas_fp.c
>+++ b/drivers/scsi/megaraid/megaraid_sas_fp.c
>@@ -142,7 +142,7 @@ u16 MR_LdSpanArrayGet(u32 ld, u32 span, struct
>MR_DRV_RAID_MAP_ALL *map)
> 	return le16_to_cpu(map-
>>raidMap.ldSpanMap[ld].spanBlock[span].span.arrayRef);
> }
>
>-u16 MR_PdDevHandleGet(u32 pd, struct MR_DRV_RAID_MAP_ALL *map)
>+__le16 MR_PdDevHandleGet(u32 pd, struct MR_DRV_RAID_MAP_ALL
>*map)
> {
> 	return map->raidMap.devHndlInfo[pd].curDevHdl;
> }
>@@ -735,7 +735,7 @@ static u8 mr_spanset_get_phy_params(struct
>megasas_instance *instance, u32 ld,
> 	u8	retval = TRUE;
> 	u8	do_invader = 0;
> 	u64	*pdBlock = &io_info->pdBlock;
>-	u16	*pDevHandle = &io_info->devHandle;
>+	__le16	*pDevHandle = &io_info->devHandle;
> 	u32	logArm, rowMod, armQ, arm;
>
> 	if ((instance->pdev->device == PCI_DEVICE_ID_LSI_INVADER || @@ -
>817,7 +817,7 @@ u8 MR_GetPhyParams(struct megasas_instance *instance,
>u32 ld, u64 stripRow,
> 	u8	    retval = TRUE;
> 	u8          do_invader = 0;
> 	u64	    *pdBlock = &io_info->pdBlock;
>-	u16	    *pDevHandle = &io_info->devHandle;
>+	__le16	    *pDevHandle = &io_info->devHandle;
>
> 	if ((instance->pdev->device == PCI_DEVICE_ID_LSI_INVADER ||
> 		instance->pdev->device == PCI_DEVICE_ID_LSI_FURY)) @@ -
>1341,11 +1341,11 @@ u8 megasas_get_best_arm_pd(struct
>megasas_instance *instance,
> 	return io_info->pd_after_lb;
> }
>
>-u16 get_updated_dev_handle(struct megasas_instance *instance,
>+__le16 get_updated_dev_handle(struct megasas_instance *instance,
> 	struct LD_LOAD_BALANCE_INFO *lbInfo, struct IO_REQUEST_INFO
>*io_info)  {
> 	u8 arm_pd;
>-	u16 devHandle;
>+	__le16 devHandle;
> 	struct fusion_context *fusion;
> 	struct MR_DRV_RAID_MAP_ALL *drv_map;
>
>diff --git a/drivers/scsi/megaraid/megaraid_sas_fusion.c
>b/drivers/scsi/megaraid/megaraid_sas_fusion.c
>index 675b5e7..983635f 100644
>--- a/drivers/scsi/megaraid/megaraid_sas_fusion.c
>+++ b/drivers/scsi/megaraid/megaraid_sas_fusion.c
>@@ -1670,7 +1670,7 @@ megasas_build_dcdb_fusion(struct
>megasas_instance *instance,
> 	struct MR_DRV_RAID_MAP_ALL *local_map_ptr;
> 	struct fusion_context *fusion = instance->ctrl_context;
> 	u8                          span, physArm;
>-	u16                         devHandle;
>+	__le16                      devHandle;
> 	u32                         ld, arRef, pd;
> 	struct MR_LD_RAID                  *raid;
> 	struct RAID_CONTEXT                *pRAID_Context;
>diff --git a/drivers/scsi/megaraid/megaraid_sas_fusion.h
>b/drivers/scsi/megaraid/megaraid_sas_fusion.h
>index 56e6db2..d62285e 100644
>--- a/drivers/scsi/megaraid/megaraid_sas_fusion.h
>+++ b/drivers/scsi/megaraid/megaraid_sas_fusion.h
>@@ -104,18 +104,18 @@ struct RAID_CONTEXT {
> 	u8	nseg:4;
> #endif
> 	u8	resvd0;
>-	u16     timeoutValue;
>+	__le16	timeoutValue;
> 	u8      regLockFlags;
> 	u8      resvd1;
>-	u16     VirtualDiskTgtId;
>-	u64     regLockRowLBA;
>-	u32     regLockLength;
>-	u16     nextLMId;
>+	__le16	VirtualDiskTgtId;
>+	__le64	regLockRowLBA;
>+	__le32	regLockLength;
>+	__le16	nextLMId;
> 	u8      exStatus;
> 	u8      status;
> 	u8      RAIDFlags;
> 	u8      numSGE;
>-	u16	configSeqNum;
>+	__le16	configSeqNum;
> 	u8      spanArm;
> 	u8      resvd2[3];
> };
>@@ -182,61 +182,61 @@ enum REGION_TYPE {
> #define MPI2_WRSEQ_6TH_KEY_VALUE                (0xD)
>
> struct MPI25_IEEE_SGE_CHAIN64 {
>-	u64                     Address;
>-	u32                     Length;
>-	u16                     Reserved1;
>+	__le64			Address;
>+	__le32			Length;
>+	__le16			Reserved1;
> 	u8                      NextChainOffset;
> 	u8                      Flags;
> };
>
> struct MPI2_SGE_SIMPLE_UNION {
>-	u32                     FlagsLength;
>+	__le32                     FlagsLength;
> 	union {
>-		u32                 Address32;
>-		u64                 Address64;
>+		__le32                 Address32;
>+		__le64                 Address64;
> 	} u;
> };
>
> struct MPI2_SCSI_IO_CDB_EEDP32 {
> 	u8                      CDB[20];                    /* 0x00 */
>-	u32                     PrimaryReferenceTag;        /* 0x14 */
>-	u16                     PrimaryApplicationTag;      /* 0x18 */
>-	u16                     PrimaryApplicationTagMask;  /* 0x1A */
>-	u32                     TransferLength;             /* 0x1C */
>+	__be32			PrimaryReferenceTag;        /* 0x14 */
>+	__be16			PrimaryApplicationTag;      /* 0x18 */
>+	__be16			PrimaryApplicationTagMask;  /* 0x1A */
>+	__le32			TransferLength;             /* 0x1C */
> };
>
> struct MPI2_SGE_CHAIN_UNION {
>-	u16                     Length;
>+	__le16			Length;
> 	u8                      NextChainOffset;
> 	u8                      Flags;
> 	union {
>-		u32                 Address32;
>-		u64                 Address64;
>+		__le32		Address32;
>+		__le64		Address64;
> 	} u;
> };
>
> struct MPI2_IEEE_SGE_SIMPLE32 {
>-	u32                     Address;
>-	u32                     FlagsLength;
>+	__le32			Address;
>+	__le32			FlagsLength;
> };
>
> struct MPI2_IEEE_SGE_CHAIN32 {
>-	u32                     Address;
>-	u32                     FlagsLength;
>+	__le32			Address;
>+	__le32			FlagsLength;
> };
>
> struct MPI2_IEEE_SGE_SIMPLE64 {
>-	u64                     Address;
>-	u32                     Length;
>-	u16                     Reserved1;
>+	__le64			Address;
>+	__le32			Length;
>+	__le16			Reserved1;
> 	u8                      Reserved2;
> 	u8                      Flags;
> };
>
> struct MPI2_IEEE_SGE_CHAIN64 {
>-	u64                     Address;
>-	u32                     Length;
>-	u16                     Reserved1;
>+	__le64			Address;
>+	__le32			Length;
>+	__le16			Reserved1;
> 	u8                      Reserved2;
> 	u8                      Flags;
> };
>@@ -269,34 +269,34 @@ union MPI2_SCSI_IO_CDB_UNION {
>  * Total SGE count will be one less than  _MPI2_SCSI_IO_REQUEST
>  */
> struct MPI2_RAID_SCSI_IO_REQUEST {
>-	u16                     DevHandle;                      /* 0x00 */
>+	__le16			DevHandle;                      /* 0x00 */
> 	u8                      ChainOffset;                    /* 0x02 */
> 	u8                      Function;                       /* 0x03 */
>-	u16                     Reserved1;                      /* 0x04 */
>+	__le16			Reserved1;                      /* 0x04 */
> 	u8                      Reserved2;                      /* 0x06 */
> 	u8                      MsgFlags;                       /* 0x07 */
> 	u8                      VP_ID;                          /* 0x08 */
> 	u8                      VF_ID;                          /* 0x09 */
>-	u16                     Reserved3;                      /* 0x0A */
>-	u32                     SenseBufferLowAddress;          /* 0x0C */
>-	u16                     SGLFlags;                       /* 0x10 */
>+	__le16			Reserved3;                      /* 0x0A */
>+	__le32			SenseBufferLowAddress;          /* 0x0C */
>+	__le16			SGLFlags;                       /* 0x10 */
> 	u8                      SenseBufferLength;              /* 0x12 */
> 	u8                      Reserved4;                      /* 0x13 */
> 	u8                      SGLOffset0;                     /* 0x14 */
> 	u8                      SGLOffset1;                     /* 0x15 */
> 	u8                      SGLOffset2;                     /* 0x16 */
> 	u8                      SGLOffset3;                     /* 0x17 */
>-	u32                     SkipCount;                      /* 0x18 */
>-	u32                     DataLength;                     /* 0x1C */
>-	u32                     BidirectionalDataLength;        /* 0x20 */
>-	u16                     IoFlags;                        /* 0x24 */
>-	u16                     EEDPFlags;                      /* 0x26 */
>-	u32                     EEDPBlockSize;                  /* 0x28 */
>-	u32                     SecondaryReferenceTag;          /* 0x2C */
>-	u16                     SecondaryApplicationTag;        /* 0x30 */
>-	u16                     ApplicationTagTranslationMask;  /* 0x32 */
>+	__le32			SkipCount;                      /* 0x18 */
>+	__le32			DataLength;                     /* 0x1C */
>+	__le32			BidirectionalDataLength;        /* 0x20 */
>+	__le16			IoFlags;                        /* 0x24 */
>+	__le16			EEDPFlags;                      /* 0x26 */
>+	__le32			EEDPBlockSize;                  /* 0x28 */
>+	__le32			SecondaryReferenceTag;          /* 0x2C */
>+	__le16			SecondaryApplicationTag;        /* 0x30 */
>+	__le16			ApplicationTagTranslationMask;  /* 0x32 */
> 	u8                      LUN[8];                         /* 0x34 */
>-	u32                     Control;                        /* 0x3C */
>+	__le32			Control;                        /* 0x3C */
> 	union MPI2_SCSI_IO_CDB_UNION  CDB;			/*
>0x40 */
> 	struct RAID_CONTEXT	RaidContext;                    /* 0x60 */
> 	union MPI2_SGE_IO_UNION       SGL;			/* 0x80 */
>@@ -315,45 +315,45 @@ struct
>MEGASAS_RAID_MFA_IO_REQUEST_DESCRIPTOR {  struct
>MPI2_DEFAULT_REQUEST_DESCRIPTOR {
> 	u8              RequestFlags;               /* 0x00 */
> 	u8              MSIxIndex;                  /* 0x01 */
>-	u16             SMID;                       /* 0x02 */
>-	u16             LMID;                       /* 0x04 */
>-	u16             DescriptorTypeDependent;    /* 0x06 */
>+	__le16		SMID;                       /* 0x02 */
>+	__le16		LMID;                       /* 0x04 */
>+	__le16		DescriptorTypeDependent;    /* 0x06 */
> };
>
> /* High Priority Request Descriptor */
> struct MPI2_HIGH_PRIORITY_REQUEST_DESCRIPTOR {
> 	u8              RequestFlags;               /* 0x00 */
> 	u8              MSIxIndex;                  /* 0x01 */
>-	u16             SMID;                       /* 0x02 */
>-	u16             LMID;                       /* 0x04 */
>-	u16             Reserved1;                  /* 0x06 */
>+	__le16		SMID;                       /* 0x02 */
>+	__le16		LMID;                       /* 0x04 */
>+	__le16		Reserved1;                  /* 0x06 */
> };
>
> /* SCSI IO Request Descriptor */
> struct MPI2_SCSI_IO_REQUEST_DESCRIPTOR {
> 	u8              RequestFlags;               /* 0x00 */
> 	u8              MSIxIndex;                  /* 0x01 */
>-	u16             SMID;                       /* 0x02 */
>-	u16             LMID;                       /* 0x04 */
>-	u16             DevHandle;                  /* 0x06 */
>+	__le16		SMID;                       /* 0x02 */
>+	__le16		LMID;                       /* 0x04 */
>+	__le16		DevHandle;                  /* 0x06 */
> };
>
> /* SCSI Target Request Descriptor */
> struct MPI2_SCSI_TARGET_REQUEST_DESCRIPTOR {
> 	u8              RequestFlags;               /* 0x00 */
> 	u8              MSIxIndex;                  /* 0x01 */
>-	u16             SMID;                       /* 0x02 */
>-	u16             LMID;                       /* 0x04 */
>-	u16             IoIndex;                    /* 0x06 */
>+	__le16		SMID;                       /* 0x02 */
>+	__le16		LMID;                       /* 0x04 */
>+	__le16		IoIndex;                    /* 0x06 */
> };
>
> /* RAID Accelerator Request Descriptor */  struct
>MPI2_RAID_ACCEL_REQUEST_DESCRIPTOR {
> 	u8              RequestFlags;               /* 0x00 */
> 	u8              MSIxIndex;                  /* 0x01 */
>-	u16             SMID;                       /* 0x02 */
>-	u16             LMID;                       /* 0x04 */
>-	u16             Reserved;                   /* 0x06 */
>+	__le16		SMID;                       /* 0x02 */
>+	__le16		LMID;                       /* 0x04 */
>+	__le16		Reserved;                   /* 0x06 */
> };
>
> /* union of Request Descriptors */
>@@ -366,10 +366,10 @@ union MEGASAS_REQUEST_DESCRIPTOR_UNION {
> 	struct MEGASAS_RAID_MFA_IO_REQUEST_DESCRIPTOR      MFAIo;
> 	union {
> 		struct {
>-			u32 low;
>-			u32 high;
>+			__le32 low;
>+			__le32 high;
> 		} u;
>-		u64 Words;
>+		__le64 Words;
> 	};
> };
>
>@@ -377,35 +377,35 @@ union MEGASAS_REQUEST_DESCRIPTOR_UNION {
>struct MPI2_DEFAULT_REPLY_DESCRIPTOR {
> 	u8              ReplyFlags;                 /* 0x00 */
> 	u8              MSIxIndex;                  /* 0x01 */
>-	u16             DescriptorTypeDependent1;   /* 0x02 */
>-	u32             DescriptorTypeDependent2;   /* 0x04 */
>+	__le16		DescriptorTypeDependent1;   /* 0x02 */
>+	__le32		DescriptorTypeDependent2;   /* 0x04 */
> };
>
> /* Address Reply Descriptor */
> struct MPI2_ADDRESS_REPLY_DESCRIPTOR {
> 	u8              ReplyFlags;                 /* 0x00 */
> 	u8              MSIxIndex;                  /* 0x01 */
>-	u16             SMID;                       /* 0x02 */
>-	u32             ReplyFrameAddress;          /* 0x04 */
>+	__le16		SMID;                       /* 0x02 */
>+	__le32		ReplyFrameAddress;          /* 0x04 */
> };
>
> /* SCSI IO Success Reply Descriptor */
> struct MPI2_SCSI_IO_SUCCESS_REPLY_DESCRIPTOR {
> 	u8              ReplyFlags;                 /* 0x00 */
> 	u8              MSIxIndex;                  /* 0x01 */
>-	u16             SMID;                       /* 0x02 */
>-	u16             TaskTag;                    /* 0x04 */
>-	u16             Reserved1;                  /* 0x06 */
>+	__le16		SMID;                       /* 0x02 */
>+	__le16		TaskTag;                    /* 0x04 */
>+	__le16		Reserved1;                  /* 0x06 */
> };
>
> /* TargetAssist Success Reply Descriptor */  struct
>MPI2_TARGETASSIST_SUCCESS_REPLY_DESCRIPTOR {
> 	u8              ReplyFlags;                 /* 0x00 */
> 	u8              MSIxIndex;                  /* 0x01 */
>-	u16             SMID;                       /* 0x02 */
>+	__le16		SMID;                       /* 0x02 */
> 	u8              SequenceNumber;             /* 0x04 */
> 	u8              Reserved1;                  /* 0x05 */
>-	u16             IoIndex;                    /* 0x06 */
>+	__le16		IoIndex;                    /* 0x06 */
> };
>
> /* Target Command Buffer Reply Descriptor */ @@ -414,16 +414,16 @@
>struct MPI2_TARGET_COMMAND_BUFFER_REPLY_DESCRIPTOR {
> 	u8              MSIxIndex;                  /* 0x01 */
> 	u8              VP_ID;                      /* 0x02 */
> 	u8              Flags;                      /* 0x03 */
>-	u16             InitiatorDevHandle;         /* 0x04 */
>-	u16             IoIndex;                    /* 0x06 */
>+	__le16		InitiatorDevHandle;         /* 0x04 */
>+	__le16		IoIndex;                    /* 0x06 */
> };
>
> /* RAID Accelerator Success Reply Descriptor */  struct
>MPI2_RAID_ACCELERATOR_SUCCESS_REPLY_DESCRIPTOR {
> 	u8              ReplyFlags;                 /* 0x00 */
> 	u8              MSIxIndex;                  /* 0x01 */
>-	u16             SMID;                       /* 0x02 */
>-	u32             Reserved;                   /* 0x04 */
>+	__le16		SMID;                       /* 0x02 */
>+	__le32		Reserved;                   /* 0x04 */
> };
>
> /* union of Reply Descriptors */
>@@ -435,7 +435,7 @@ union MPI2_REPLY_DESCRIPTORS_UNION {
> 	struct MPI2_TARGET_COMMAND_BUFFER_REPLY_DESCRIPTOR
>TargetCommandBuffer;
> 	struct MPI2_RAID_ACCELERATOR_SUCCESS_REPLY_DESCRIPTOR
> 	RAIDAcceleratorSuccess;
>-	u64                                             Words;
>+	__le64                                             Words;
> };
>
> /* IOCInit Request message */
>@@ -444,28 +444,28 @@ struct MPI2_IOC_INIT_REQUEST {
> 	u8                      Reserved1;                      /* 0x01 */
> 	u8                      ChainOffset;                    /* 0x02 */
> 	u8                      Function;                       /* 0x03 */
>-	u16                     Reserved2;                      /* 0x04 */
>+	__le16			Reserved2;                      /* 0x04 */
> 	u8                      Reserved3;                      /* 0x06 */
> 	u8                      MsgFlags;                       /* 0x07 */
> 	u8                      VP_ID;                          /* 0x08 */
> 	u8                      VF_ID;                          /* 0x09 */
>-	u16                     Reserved4;                      /* 0x0A */
>-	u16                     MsgVersion;                     /* 0x0C */
>-	u16                     HeaderVersion;                  /* 0x0E */
>+	__le16			Reserved4;                      /* 0x0A */
>+	__le16			MsgVersion;                     /* 0x0C */
>+	__le16			HeaderVersion;                  /* 0x0E */
> 	u32                     Reserved5;                      /* 0x10 */
>-	u16                     Reserved6;                      /* 0x14 */
>+	__le16			Reserved6;                      /* 0x14 */
> 	u8                      Reserved7;                      /* 0x16 */
> 	u8                      HostMSIxVectors;                /* 0x17 */
>-	u16                     Reserved8;                      /* 0x18 */
>-	u16                     SystemRequestFrameSize;         /* 0x1A */
>-	u16                     ReplyDescriptorPostQueueDepth;  /* 0x1C */
>-	u16                     ReplyFreeQueueDepth;            /* 0x1E */
>-	u32                     SenseBufferAddressHigh;         /* 0x20 */
>-	u32                     SystemReplyAddressHigh;         /* 0x24 */
>-	u64                     SystemRequestFrameBaseAddress;  /* 0x28 */
>-	u64                     ReplyDescriptorPostQueueAddress;/* 0x30 */
>-	u64                     ReplyFreeQueueAddress;          /* 0x38 */
>-	u64                     TimeStamp;                      /* 0x40 */
>+	__le16			Reserved8;                      /* 0x18 */
>+	__le16			SystemRequestFrameSize;         /* 0x1A */
>+	__le16			ReplyDescriptorPostQueueDepth;  /* 0x1C */
>+	__le16			ReplyFreeQueueDepth;            /* 0x1E */
>+	__le32			SenseBufferAddressHigh;         /* 0x20 */
>+	__le32			SystemReplyAddressHigh;         /* 0x24 */
>+	__le64			SystemRequestFrameBaseAddress;  /* 0x28
>*/
>+	__le64			ReplyDescriptorPostQueueAddress;/* 0x30 */
>+	__le64			ReplyFreeQueueAddress;          /* 0x38 */
>+	__le64			TimeStamp;                      /* 0x40 */
> };
>
> /* mrpriv defines */
>@@ -491,41 +491,41 @@ struct MPI2_IOC_INIT_REQUEST {
> #define MR_DCMD_LD_VF_MAP_GET_ALL_LDS       0x03150200
>
> struct MR_DEV_HANDLE_INFO {
>-	u16     curDevHdl;
>+	__le16	curDevHdl;
> 	u8      validHandles;
> 	u8      reserved;
>-	u16     devHandle[2];
>+	__le16	devHandle[2];
> };
>
> struct MR_ARRAY_INFO {
>-	u16      pd[MAX_RAIDMAP_ROW_SIZE];
>+	__le16	pd[MAX_RAIDMAP_ROW_SIZE];
> };
>
> struct MR_QUAD_ELEMENT {
>-	u64     logStart;
>-	u64     logEnd;
>-	u64     offsetInSpan;
>-	u32     diff;
>-	u32     reserved1;
>+	__le64     logStart;
>+	__le64     logEnd;
>+	__le64     offsetInSpan;
>+	__le32     diff;
>+	__le32     reserved1;
> };
>
> struct MR_SPAN_INFO {
>-	u32             noElements;
>-	u32             reserved1;
>+	__le32             noElements;
>+	__le32             reserved1;
> 	struct MR_QUAD_ELEMENT quad[MAX_RAIDMAP_SPAN_DEPTH];  };
>
> struct MR_LD_SPAN {
>-	u64      startBlk;
>-	u64      numBlks;
>-	u16      arrayRef;
>+	__le64	 startBlk;
>+	__le64	 numBlks;
>+	__le16	 arrayRef;
> 	u8       spanRowSize;
> 	u8       spanRowDataSize;
> 	u8       reserved[4];
> };
>
> struct MR_SPAN_BLOCK_INFO {
>-	u64          num_rows;
>+	__le64          num_rows;
> 	struct MR_LD_SPAN   span;
> 	struct MR_SPAN_INFO block_span_info;
> };
>@@ -558,8 +558,8 @@ struct MR_LD_RAID {
> 		u32     reserved4:7;
> #endif
> 	} capability;
>-	u32     reserved6;
>-	u64     size;
>+	__le32     reserved6;
>+	__le64     size;
> 	u8      spanDepth;
> 	u8      level;
> 	u8      stripeShift;
>@@ -568,12 +568,12 @@ struct MR_LD_RAID {
> 	u8      writeMode;
> 	u8      PRL;
> 	u8      SRL;
>-	u16     targetId;
>+	__le16     targetId;
> 	u8      ldState;
> 	u8      regTypeReqOnWrite;
> 	u8      modFactor;
> 	u8	regTypeReqOnRead;
>-	u16     seqNum;
>+	__le16     seqNum;
>
> 	struct {
> 		u32 ldSyncRequired:1;
>@@ -592,20 +592,20 @@ struct MR_LD_SPAN_MAP {  };
>
> struct MR_FW_RAID_MAP {
>-	u32                 totalSize;
>+	__le32                 totalSize;
> 	union {
> 		struct {
>-			u32         maxLd;
>-			u32         maxSpanDepth;
>-			u32         maxRowSize;
>-			u32         maxPdCount;
>-			u32         maxArrays;
>+			__le32         maxLd;
>+			__le32         maxSpanDepth;
>+			__le32         maxRowSize;
>+			__le32         maxPdCount;
>+			__le32         maxArrays;
> 		} validationInfo;
>-		u32             version[5];
>+		__le32             version[5];
> 	};
>
>-	u32                 ldCount;
>-	u32                 Reserved1;
>+	__le32                 ldCount;
>+	__le32                 Reserved1;
> 	u8                  ldTgtIdToLd[MAX_RAIDMAP_LOGICAL_DRIVES+
> 					MAX_RAIDMAP_VIEWS];
> 	u8                  fpPdIoTimeoutSec;
>@@ -620,7 +620,7 @@ struct IO_REQUEST_INFO {
> 	u32 numBlocks;
> 	u16 ldTgtId;
> 	u8 isRead;
>-	u16 devHandle;
>+	__le16 devHandle;
> 	u64 pdBlock;
> 	u8 fpOkForIo;
> 	u8 IoforUnevenSpan;
>@@ -634,7 +634,7 @@ struct IO_REQUEST_INFO {  struct
>MR_LD_TARGET_SYNC {
> 	u8  targetId;
> 	u8  reserved;
>-	u16 seqNum;
>+	__le16 seqNum;
> };
>
> #define IEEE_SGE_FLAGS_ADDR_MASK            (0x03)
>@@ -720,27 +720,27 @@ struct MR_DRV_RAID_MAP {
> 	 * This feild will be manupulated by driver for ext raid map,
> 	 * else pick the value from firmware raid map.
> 	 */
>-	u32                 totalSize;
>+	__le32                 totalSize;
>
> 	union {
> 	struct {
>-		u32         maxLd;
>-		u32         maxSpanDepth;
>-		u32         maxRowSize;
>-		u32         maxPdCount;
>-		u32         maxArrays;
>+		__le32         maxLd;
>+		__le32         maxSpanDepth;
>+		__le32         maxRowSize;
>+		__le32         maxPdCount;
>+		__le32         maxArrays;
> 	} validationInfo;
>-	u32             version[5];
>+	__le32             version[5];
> 	};
>
> 	/* timeout value used by driver in FP IOs*/
> 	u8                  fpPdIoTimeoutSec;
> 	u8                  reserved2[7];
>
>-	u16                 ldCount;
>-	u16                 arCount;
>-	u16                 spanCount;
>-	u16                 reserve3;
>+	__le16                 ldCount;
>+	__le16                 arCount;
>+	__le16                 spanCount;
>+	__le16                 reserve3;
>
> 	struct MR_DEV_HANDLE_INFO
>devHndlInfo[MAX_RAIDMAP_PHYSICAL_DEVICES];
> 	u8                  ldTgtIdToLd[MAX_LOGICAL_DRIVES_EXT];
>@@ -779,10 +779,10 @@ struct MR_FW_RAID_MAP_EXT {
> 	u8                  fpPdIoTimeoutSec;
> 	u8                  reserved2[7];
>
>-	u16                 ldCount;
>-	u16                 arCount;
>-	u16                 spanCount;
>-	u16                 reserve3;
>+	__le16                 ldCount;
>+	__le16                 arCount;
>+	__le16                 spanCount;
>+	__le16                 reserve3;
>
> 	struct MR_DEV_HANDLE_INFO
>devHndlInfo[MAX_RAIDMAP_PHYSICAL_DEVICES];
> 	u8                  ldTgtIdToLd[MAX_LOGICAL_DRIVES_EXT];
>@@ -839,10 +839,10 @@ struct fusion_context {  };
>
> union desc_value {
>-	u64 word;
>+	__le64 word;
> 	struct {
>-		u32 low;
>-		u32 high;
>+		__le32 low;
>+		__le32 high;
> 	} u;
> };
>
Acked-by: Sumit Saxena <sumit.saxena@xxxxxxxxxxxxx>

>--
>1.9.1
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]
  Powered by Linux