diff mbox

scsi_proto.h: ATA_32 added for ata pass-thru(32).

Message ID 1497526164-7432-1-git-send-email-dn3108@gmail.com (mailing list archive)
State Not Applicable, archived
Headers show

Commit Message

Minwoo Im June 15, 2017, 11:29 a.m. UTC
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(+)

Comments

Bart Van Assche June 16, 2017, 3:27 p.m. UTC | #1
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.
Minwoo Im June 17, 2017, 6:48 a.m. UTC | #2
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 mbox

Patch

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 */