Message ID | 1497526164-7432-1-git-send-email-dn3108@gmail.com (mailing list archive) |
---|---|
State | Not Applicable, archived |
Headers | show |
On Thu, 2017-06-15 at 20:29 +0900, Minwoo Im wrote: > SAT-4(SCSI/ATA Translation Standard) supports a ATA PASS-THROUGH(32) > SCSI command. It uses 7Fh as a operation code which means > variable-length CDB. > It would be great if kernel supports an ata pass-thru(32) command. > Prior to development of ata pass-through in libata level, > the definition of it should be added first. > > Signed-off-by: Minwoo Im <dn3108@gmail.com> > --- > include/scsi/scsi_proto.h | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/include/scsi/scsi_proto.h b/include/scsi/scsi_proto.h > index ce78ec8..1eb4efd 100644 > --- a/include/scsi/scsi_proto.h > +++ b/include/scsi/scsi_proto.h > @@ -164,6 +164,7 @@ > #define WRITE_SAME_32 0x0d > > /* Values for T10/04-262r7 */ > +#define ATA_32 0x7F /* 32-byte pass-thru */ > #define ATA_16 0x85 /* 16-byte pass-thru */ > #define ATA_12 0xa1 /* 12-byte pass-thru */ Hello Minwoo, In the Linux kernel we do not add such definitions separately but we only add such definitions together with the code that uses the newly introduced symbolic name. Regarding the above patch, to keep the definitions consistent, please use VARIABLE_LENGTH_CMD as a symbolic name for 0x7F and also add the following definition below "/* values for variable length command */": #define ATA_32 0x1ff0 Thanks, Bart.
On Sat, Jun 17, 2017 at 12:27 AM, Bart Van Assche <Bart.VanAssche@wdc.com> wrote: > On Thu, 2017-06-15 at 20:29 +0900, Minwoo Im wrote: >> SAT-4(SCSI/ATA Translation Standard) supports a ATA PASS-THROUGH(32) >> SCSI command. It uses 7Fh as a operation code which means >> variable-length CDB. >> It would be great if kernel supports an ata pass-thru(32) command. >> Prior to development of ata pass-through in libata level, >> the definition of it should be added first. >> >> Signed-off-by: Minwoo Im <dn3108@gmail.com> >> --- >> include/scsi/scsi_proto.h | 1 + >> 1 file changed, 1 insertion(+) >> >> diff --git a/include/scsi/scsi_proto.h b/include/scsi/scsi_proto.h >> index ce78ec8..1eb4efd 100644 >> --- a/include/scsi/scsi_proto.h >> +++ b/include/scsi/scsi_proto.h >> @@ -164,6 +164,7 @@ >> #define WRITE_SAME_32 0x0d >> >> /* Values for T10/04-262r7 */ >> +#define ATA_32 0x7F /* 32-byte pass-thru */ >> #define ATA_16 0x85 /* 16-byte pass-thru */ >> #define ATA_12 0xa1 /* 12-byte pass-thru */ > > Hello Minwoo, > > In the Linux kernel we do not add such definitions separately but we > only add such definitions together with the code that uses the newly > introduced symbolic name. > > Regarding the above patch, to keep the definitions consistent, please > use VARIABLE_LENGTH_CMD as a symbolic name for 0x7F and also add the > following definition below "/* values for variable length command */": > > #define ATA_32 0x1ff0 > > Thanks, > > Bart. (retry to reply in plain text mode) Dear Bart, First of all, I really appreciate letting me know the part of process of kernel development. I completely agree with you about the VARIABLE_LENGTH_CMD symbolic name because it's not only for ATA PASS-THROUGH(32) command. I'll try to send a patch the ATA_32 with codes that use those symbolic names soon. Thanks, again Minwoo.
diff --git a/include/scsi/scsi_proto.h b/include/scsi/scsi_proto.h index ce78ec8..1eb4efd 100644 --- a/include/scsi/scsi_proto.h +++ b/include/scsi/scsi_proto.h @@ -164,6 +164,7 @@ #define WRITE_SAME_32 0x0d /* Values for T10/04-262r7 */ +#define ATA_32 0x7F /* 32-byte pass-thru */ #define ATA_16 0x85 /* 16-byte pass-thru */ #define ATA_12 0xa1 /* 12-byte pass-thru */
SAT-4(SCSI/ATA Translation Standard) supports a ATA PASS-THROUGH(32) SCSI command. It uses 7Fh as a operation code which means variable-length CDB. It would be great if kernel supports an ata pass-thru(32) command. Prior to development of ata pass-through in libata level, the definition of it should be added first. Signed-off-by: Minwoo Im <dn3108@gmail.com> --- include/scsi/scsi_proto.h | 1 + 1 file changed, 1 insertion(+)