Re: [patch libata-dev-2.6 1/1] libata: sync SMART ioctls with ATA pass thru spec (T10/04-262r7)

2005-02-02 Thread Jeff Garzik
Douglas Gilbert wrote:
Hopefully these matters will be sorted out at the next t10
meeting in March.
So that means I have to hold off releasing SMART support for SATA for 
yet another couple months?  Oh well...

Jeff
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patch libata-dev-2.6 1/1] libata: sync SMART ioctls with ATA pass thru spec (T10/04-262r7)

2005-02-02 Thread Douglas Gilbert
Jens Axboe wrote:

> >
> > -/* Temporary values for T10/04-262 until official values are
> allocated */
> > -#define  ATA_160x85  /* 16-byte pass-thru
> [0x85 == unused]*/
> -#define   ATA_120xb3  /* 12-byte pass-thru
> [0xb3 == obsolete set limits command] */
> > +/* Values for T10/04-262r7 */
> > +#define  ATA_160x85  /* 16-byte pass-thru */
> > +#define  ATA_120xa1  /* 12-byte pass-thru */
>
> Ehh are you sure that is correct? 0xa1 is the BLANK command, I would
> hate to think there would be a collision like that.
That very point came up recently in a MMC meeting:
http://www.t10.org/ftp/t10/document.05/05-056r0.pdf
To confuse things further "ATA_16" is shown as opcode 0x98
in the latest draft of SPC-3 (rev 21c 15 January 2005)
http://www.t10.org/ftp/t10/drafts/spc3/spc3r21c.pdf [annex D.3.1].
Hopefully these matters will be sorted out at the next t10
meeting in March.
Doug Gilbert
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patch libata-dev-2.6 1/1] libata: sync SMART ioctls with ATA pass thru spec (T10/04-262r7)

2005-02-02 Thread John W. Linville
On Wed, Feb 02, 2005 at 07:51:22PM +0100, Jens Axboe wrote:
> On Wed, Feb 02 2005, John W. Linville wrote:

> > -/* Temporary values for T10/04-262 until official values are allocated */
> > -#defineATA_160x85  /* 16-byte pass-thru [0x85 == 
> > unused]*/
> > -#defineATA_120xb3  /* 12-byte pass-thru [0xb3 == 
> > obsolete set limits command] */
> > +/* Values for T10/04-262r7 */
> > +#defineATA_160x85  /* 16-byte pass-thru */
> > +#defineATA_120xa1  /* 12-byte pass-thru */
> 
> Ehh are you sure that is correct? 0xa1 is the BLANK command, I would
> hate to think there would be a collision like that.

Well, I'm sure that is what is in T10/04-262r7 in Table 1 on Page 1.
The spec is available here:

http://www.t10.org/ftp/t10/document.04/04-262r7.pdf

Previous versions of the spec did not specify a value.  As to whether
or not the current spec is in error, hopefully Curtis can elablorate?

John
-- 
John W. Linville
[EMAIL PROTECTED]
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patch libata-dev-2.6 1/1] libata: sync SMART ioctls with ATA pass thru spec (T10/04-262r7)

2005-02-02 Thread Jens Axboe
On Wed, Feb 02 2005, John W. Linville wrote:
> Update libata's SMART-related ioctl handlers to match the current
> ATA command pass-through specification (T10/04-262r7).  Also change
> related SCSI op-code definition to match current spec.
> 
> Signed-off-by: John W. Linville <[EMAIL PROTECTED]>
> ---
> Contact w/ spec author (Curtis Stevens @ Western Digital) indicates
> that while a revision 8 of the spec is expected, that it is really
> only a re-formatting of the text to match T10 requirements.  According
> to Stevens, revision 8 is expected to be the last version of the spec.
> 
>  drivers/scsi/libata-scsi.c |6 --
>  include/scsi/scsi.h|6 +++---
>  2 files changed, 7 insertions(+), 5 deletions(-)
> 
> --- sata-smart-2.6/drivers/scsi/libata-scsi.c.orig2005-02-01 
> 16:24:01.687622085 -0500
> +++ sata-smart-2.6/drivers/scsi/libata-scsi.c 2005-02-01 16:49:18.213876086 
> -0500
> @@ -109,14 +109,16 @@ int ata_cmd_ioctl(struct scsi_device *sc
>   return -ENOMEM;
>  
>   scsi_cmd[1]  = (4 << 1); /* PIO Data-in */
> + scsi_cmd[2]  = 0x0e; /* no off.line or cc, read from dev,
> + block count in sector count field */
>   sreq->sr_data_direction = DMA_FROM_DEVICE;
>   } else {
>   scsi_cmd[1]  = (3 << 1); /* Non-data */
> + /* scsi_cmd[2] is already 0 -- no off.line, cc, or data xfer */
>   sreq->sr_data_direction = DMA_NONE;
>   }
>  
>   scsi_cmd[0] = ATA_16;
> - scsi_cmd[2] = 0x1f; /* no off.line or cc, yes all registers */
>  
>   scsi_cmd[4] = args[2];
>   if (args[0] == WIN_SMART) { /* hack -- ide driver does this too... */
> @@ -179,7 +181,7 @@ int ata_task_ioctl(struct scsi_device *s
>   memset(scsi_cmd, 0, sizeof(scsi_cmd));
>   scsi_cmd[0]  = ATA_16;
>   scsi_cmd[1]  = (3 << 1); /* Non-data */
> - scsi_cmd[2]  = 0x1f; /* no off.line or cc, yes all registers */
> + /* scsi_cmd[2] is already 0 -- no off.line, cc, or data xfer */
>   scsi_cmd[4]  = args[1];
>   scsi_cmd[6]  = args[2];
>   scsi_cmd[8]  = args[3];
> --- sata-smart-2.6/include/scsi/scsi.h.orig   2005-02-01 16:22:12.390234346 
> -0500
> +++ sata-smart-2.6/include/scsi/scsi.h2005-02-01 16:23:02.828491161 
> -0500
> @@ -113,9 +113,9 @@ extern const char *const scsi_device_typ
>  /* values for service action in */
>  #define  SAI_READ_CAPACITY_16  0x10
>  
> -/* Temporary values for T10/04-262 until official values are allocated */
> -#define  ATA_160x85  /* 16-byte pass-thru [0x85 == 
> unused]*/
> -#define  ATA_120xb3  /* 12-byte pass-thru [0xb3 == 
> obsolete set limits command] */
> +/* Values for T10/04-262r7 */
> +#define  ATA_160x85  /* 16-byte pass-thru */
> +#define  ATA_120xa1  /* 12-byte pass-thru */

Ehh are you sure that is correct? 0xa1 is the BLANK command, I would
hate to think there would be a collision like that.

-- 
Jens Axboe

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patch libata-dev-2.6 1/1] libata: sync SMART ioctls with ATA pass thru spec (T10/04-262r7)

2005-02-02 Thread Jens Axboe
On Wed, Feb 02 2005, John W. Linville wrote:
 Update libata's SMART-related ioctl handlers to match the current
 ATA command pass-through specification (T10/04-262r7).  Also change
 related SCSI op-code definition to match current spec.
 
 Signed-off-by: John W. Linville [EMAIL PROTECTED]
 ---
 Contact w/ spec author (Curtis Stevens @ Western Digital) indicates
 that while a revision 8 of the spec is expected, that it is really
 only a re-formatting of the text to match T10 requirements.  According
 to Stevens, revision 8 is expected to be the last version of the spec.
 
  drivers/scsi/libata-scsi.c |6 --
  include/scsi/scsi.h|6 +++---
  2 files changed, 7 insertions(+), 5 deletions(-)
 
 --- sata-smart-2.6/drivers/scsi/libata-scsi.c.orig2005-02-01 
 16:24:01.687622085 -0500
 +++ sata-smart-2.6/drivers/scsi/libata-scsi.c 2005-02-01 16:49:18.213876086 
 -0500
 @@ -109,14 +109,16 @@ int ata_cmd_ioctl(struct scsi_device *sc
   return -ENOMEM;
  
   scsi_cmd[1]  = (4  1); /* PIO Data-in */
 + scsi_cmd[2]  = 0x0e; /* no off.line or cc, read from dev,
 + block count in sector count field */
   sreq-sr_data_direction = DMA_FROM_DEVICE;
   } else {
   scsi_cmd[1]  = (3  1); /* Non-data */
 + /* scsi_cmd[2] is already 0 -- no off.line, cc, or data xfer */
   sreq-sr_data_direction = DMA_NONE;
   }
  
   scsi_cmd[0] = ATA_16;
 - scsi_cmd[2] = 0x1f; /* no off.line or cc, yes all registers */
  
   scsi_cmd[4] = args[2];
   if (args[0] == WIN_SMART) { /* hack -- ide driver does this too... */
 @@ -179,7 +181,7 @@ int ata_task_ioctl(struct scsi_device *s
   memset(scsi_cmd, 0, sizeof(scsi_cmd));
   scsi_cmd[0]  = ATA_16;
   scsi_cmd[1]  = (3  1); /* Non-data */
 - scsi_cmd[2]  = 0x1f; /* no off.line or cc, yes all registers */
 + /* scsi_cmd[2] is already 0 -- no off.line, cc, or data xfer */
   scsi_cmd[4]  = args[1];
   scsi_cmd[6]  = args[2];
   scsi_cmd[8]  = args[3];
 --- sata-smart-2.6/include/scsi/scsi.h.orig   2005-02-01 16:22:12.390234346 
 -0500
 +++ sata-smart-2.6/include/scsi/scsi.h2005-02-01 16:23:02.828491161 
 -0500
 @@ -113,9 +113,9 @@ extern const char *const scsi_device_typ
  /* values for service action in */
  #define  SAI_READ_CAPACITY_16  0x10
  
 -/* Temporary values for T10/04-262 until official values are allocated */
 -#define  ATA_160x85  /* 16-byte pass-thru [0x85 == 
 unused]*/
 -#define  ATA_120xb3  /* 12-byte pass-thru [0xb3 == 
 obsolete set limits command] */
 +/* Values for T10/04-262r7 */
 +#define  ATA_160x85  /* 16-byte pass-thru */
 +#define  ATA_120xa1  /* 12-byte pass-thru */

Ehh are you sure that is correct? 0xa1 is the BLANK command, I would
hate to think there would be a collision like that.

-- 
Jens Axboe

-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patch libata-dev-2.6 1/1] libata: sync SMART ioctls with ATA pass thru spec (T10/04-262r7)

2005-02-02 Thread John W. Linville
On Wed, Feb 02, 2005 at 07:51:22PM +0100, Jens Axboe wrote:
 On Wed, Feb 02 2005, John W. Linville wrote:

  -/* Temporary values for T10/04-262 until official values are allocated */
  -#defineATA_160x85  /* 16-byte pass-thru [0x85 == 
  unused]*/
  -#defineATA_120xb3  /* 12-byte pass-thru [0xb3 == 
  obsolete set limits command] */
  +/* Values for T10/04-262r7 */
  +#defineATA_160x85  /* 16-byte pass-thru */
  +#defineATA_120xa1  /* 12-byte pass-thru */
 
 Ehh are you sure that is correct? 0xa1 is the BLANK command, I would
 hate to think there would be a collision like that.

Well, I'm sure that is what is in T10/04-262r7 in Table 1 on Page 1.
The spec is available here:

http://www.t10.org/ftp/t10/document.04/04-262r7.pdf

Previous versions of the spec did not specify a value.  As to whether
or not the current spec is in error, hopefully Curtis can elablorate?

John
-- 
John W. Linville
[EMAIL PROTECTED]
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patch libata-dev-2.6 1/1] libata: sync SMART ioctls with ATA pass thru spec (T10/04-262r7)

2005-02-02 Thread Douglas Gilbert
Jens Axboe wrote:
snip
 
  -/* Temporary values for T10/04-262 until official values are
 allocated */
  -#define  ATA_160x85  /* 16-byte pass-thru
 [0x85 == unused]*/
 -#define   ATA_120xb3  /* 12-byte pass-thru
 [0xb3 == obsolete set limits command] */
  +/* Values for T10/04-262r7 */
  +#define  ATA_160x85  /* 16-byte pass-thru */
  +#define  ATA_120xa1  /* 12-byte pass-thru */

 Ehh are you sure that is correct? 0xa1 is the BLANK command, I would
 hate to think there would be a collision like that.
That very point came up recently in a MMC meeting:
http://www.t10.org/ftp/t10/document.05/05-056r0.pdf
To confuse things further ATA_16 is shown as opcode 0x98
in the latest draft of SPC-3 (rev 21c 15 January 2005)
http://www.t10.org/ftp/t10/drafts/spc3/spc3r21c.pdf [annex D.3.1].
Hopefully these matters will be sorted out at the next t10
meeting in March.
Doug Gilbert
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patch libata-dev-2.6 1/1] libata: sync SMART ioctls with ATA pass thru spec (T10/04-262r7)

2005-02-02 Thread Jeff Garzik
Douglas Gilbert wrote:
Hopefully these matters will be sorted out at the next t10
meeting in March.
So that means I have to hold off releasing SMART support for SATA for 
yet another couple months?  Oh well...

Jeff
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/