aboutsummaryrefslogtreecommitdiffstats
path: root/include/scsi
diff options
context:
space:
mode:
authorJohn Garry <john.garry@huawei.com>2015-11-17 11:50:28 -0500
committerMartin K. Petersen <martin.petersen@oracle.com>2015-11-25 22:12:50 -0500
commitc15d75bec6d0a937f7a15b81052ed99d310e9767 (patch)
treef01b0eaafeef7978f8f8fdf1da6f4a1567689f34 /include/scsi
parent4190230edbbe8864f04610900249db3738e2f51c (diff)
scsi: Centralise ssp frame information units
The xfer_rdy, command, and task frame's iu structures are not available in <scsi/sas.h>, but only aic94xx driver folder. Add them to include/scsi/sas.h Signed-off-by: John Garry <john.garry@huawei.com> Reviewed-by: Arnd Bergmann <arnd@arndb.de> Reviewed-by: Hannes Reinecke <hare@suse.de> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Diffstat (limited to 'include/scsi')
-rw-r--r--include/scsi/sas.h74
1 files changed, 74 insertions, 0 deletions
diff --git a/include/scsi/sas.h b/include/scsi/sas.h
index 0d2607d12387..42a84ef42683 100644
--- a/include/scsi/sas.h
+++ b/include/scsi/sas.h
@@ -344,6 +344,43 @@ struct ssp_response_iu {
344 u8 sense_data[0]; 344 u8 sense_data[0];
345} __attribute__ ((packed)); 345} __attribute__ ((packed));
346 346
347struct ssp_command_iu {
348 u8 lun[8];
349 u8 _r_a;
350
351 union {
352 struct {
353 u8 attr:3;
354 u8 prio:4;
355 u8 efb:1;
356 };
357 u8 efb_prio_attr;
358 };
359
360 u8 _r_b;
361
362 u8 _r_c:2;
363 u8 add_cdb_len:6;
364
365 u8 cdb[16];
366 u8 add_cdb[0];
367} __attribute__ ((packed));
368
369struct xfer_rdy_iu {
370 __be32 requested_offset;
371 __be32 write_data_len;
372 __be32 _r_a;
373} __attribute__ ((packed));
374
375struct ssp_tmf_iu {
376 u8 lun[8];
377 u16 _r_a;
378 u8 tmf;
379 u8 _r_b;
380 __be16 tag;
381 u8 _r_c[14];
382} __attribute__ ((packed));
383
347/* ---------- SMP ---------- */ 384/* ---------- SMP ---------- */
348 385
349struct report_general_resp { 386struct report_general_resp {
@@ -538,6 +575,43 @@ struct ssp_response_iu {
538 u8 sense_data[0]; 575 u8 sense_data[0];
539} __attribute__ ((packed)); 576} __attribute__ ((packed));
540 577
578struct ssp_command_iu {
579 u8 lun[8];
580 u8 _r_a;
581
582 union {
583 struct {
584 u8 efb:1;
585 u8 prio:4;
586 u8 attr:3;
587 };
588 u8 efb_prio_attr;
589 };
590
591 u8 _r_b;
592
593 u8 add_cdb_len:6;
594 u8 _r_c:2;
595
596 u8 cdb[16];
597 u8 add_cdb[0];
598} __attribute__ ((packed));
599
600struct xfer_rdy_iu {
601 __be32 requested_offset;
602 __be32 write_data_len;
603 __be32 _r_a;
604} __attribute__ ((packed));
605
606struct ssp_tmf_iu {
607 u8 lun[8];
608 u16 _r_a;
609 u8 tmf;
610 u8 _r_b;
611 __be16 tag;
612 u8 _r_c[14];
613} __attribute__ ((packed));
614
541/* ---------- SMP ---------- */ 615/* ---------- SMP ---------- */
542 616
543struct report_general_resp { 617struct report_general_resp {