aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/hpsa_cmd.h
diff options
context:
space:
mode:
authorStephen M. Cameron <stephenmcameron@gmail.com>2014-11-14 18:26:59 -0500
committerChristoph Hellwig <hch@lst.de>2014-11-20 03:11:24 -0500
commit50a0decf75b66480aa5b076d4e1bca11bc202efe (patch)
tree6e562079679e9310ebfd174cdbe84128e5a4b74c /drivers/scsi/hpsa_cmd.h
parent92084715f4d296c99ac120b3b77cf72d5c194c86 (diff)
hpsa: fix endianness issue with scatter gather elements
The hardware needs little endian scatter gather addresses and lengths but we were not bothering to convert from cpu byte order as we should have been. On Intel, this is all just a bunch of no-ops macros, but it makes the code endian-clean(er). Signed-off-by: Don Brace <don.brace@pmcs.com> Signed-off-by: Robert Elliott <elliott@hp.com> Reviewed-by: Webb Scales <webbnh@hp.com> Signed-off-by: Christoph Hellwig <hch@lst.de>
Diffstat (limited to 'drivers/scsi/hpsa_cmd.h')
-rw-r--r--drivers/scsi/hpsa_cmd.h14
1 files changed, 7 insertions, 7 deletions
diff --git a/drivers/scsi/hpsa_cmd.h b/drivers/scsi/hpsa_cmd.h
index 9b19042ff330..575eda8a8c5e 100644
--- a/drivers/scsi/hpsa_cmd.h
+++ b/drivers/scsi/hpsa_cmd.h
@@ -314,7 +314,7 @@ struct CommandListHeader {
314 u8 ReplyQueue; 314 u8 ReplyQueue;
315 u8 SGList; 315 u8 SGList;
316 u16 SGTotal; 316 u16 SGTotal;
317 struct vals32 Tag; 317 u64 tag;
318 union LUNAddr LUN; 318 union LUNAddr LUN;
319}; 319};
320 320
@@ -330,12 +330,12 @@ struct RequestBlock {
330}; 330};
331 331
332struct ErrDescriptor { 332struct ErrDescriptor {
333 struct vals32 Addr; 333 u64 Addr;
334 u32 Len; 334 u32 Len;
335}; 335};
336 336
337struct SGDescriptor { 337struct SGDescriptor {
338 struct vals32 Addr; 338 u64 Addr;
339 u32 Len; 339 u32 Len;
340 u32 Ext; 340 u32 Ext;
341}; 341};
@@ -434,8 +434,8 @@ struct io_accel1_cmd {
434 u16 timeout_sec; /* 0x62 - 0x63 */ 434 u16 timeout_sec; /* 0x62 - 0x63 */
435 u8 ReplyQueue; /* 0x64 */ 435 u8 ReplyQueue; /* 0x64 */
436 u8 reserved9[3]; /* 0x65 - 0x67 */ 436 u8 reserved9[3]; /* 0x65 - 0x67 */
437 struct vals32 Tag; /* 0x68 - 0x6F */ 437 u64 tag; /* 0x68 - 0x6F */
438 struct vals32 host_addr; /* 0x70 - 0x77 */ 438 u64 host_addr; /* 0x70 - 0x77 */
439 u8 CISS_LUN[8]; /* 0x78 - 0x7F */ 439 u8 CISS_LUN[8]; /* 0x78 - 0x7F */
440 struct SGDescriptor SG[IOACCEL1_MAXSGENTRIES]; 440 struct SGDescriptor SG[IOACCEL1_MAXSGENTRIES];
441} __aligned(IOACCEL1_COMMANDLIST_ALIGNMENT); 441} __aligned(IOACCEL1_COMMANDLIST_ALIGNMENT);
@@ -555,8 +555,8 @@ struct hpsa_tmf_struct {
555 u8 reserved1; /* byte 3 Reserved */ 555 u8 reserved1; /* byte 3 Reserved */
556 u32 it_nexus; /* SCSI I-T Nexus */ 556 u32 it_nexus; /* SCSI I-T Nexus */
557 u8 lun_id[8]; /* LUN ID for TMF request */ 557 u8 lun_id[8]; /* LUN ID for TMF request */
558 struct vals32 Tag; /* cciss tag associated w/ request */ 558 u64 tag; /* cciss tag associated w/ request */
559 struct vals32 abort_tag;/* cciss tag of SCSI cmd or task to abort */ 559 u64 abort_tag; /* cciss tag of SCSI cmd or task to abort */
560 u64 error_ptr; /* Error Pointer */ 560 u64 error_ptr; /* Error Pointer */
561 u32 error_len; /* Error Length */ 561 u32 error_len; /* Error Length */
562}; 562};