From: "John W. Linville" <linville@tuxdriver.com>
To: linux-kernel@vger.kernel.org, linux-ide@vger.kernel.org
Cc: andyw@pobox.com, jgarzik@pobox.com
Subject: [patch libata-dev-2.6 1/1] libata: sync SMART ioctls with ATA pass thru spec (T10/04-262r7)
Date: Wed, 2 Feb 2005 13:37:55 -0500 [thread overview]
Message-ID: <20050202183753.GB17450@tuxdriver.com> (raw)
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 <linville@tuxdriver.com>
---
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.orig 2005-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.h 2005-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_16 0x85 /* 16-byte pass-thru [0x85 == unused]*/
-#define ATA_12 0xb3 /* 12-byte pass-thru [0xb3 == obsolete set limits command] */
+/* Values for T10/04-262r7 */
+#define ATA_16 0x85 /* 16-byte pass-thru */
+#define ATA_12 0xa1 /* 12-byte pass-thru */
/*
* SCSI Architecture Model (SAM) Status codes. Taken from SAM-3 draft
--
John W. Linville
linville@tuxdriver.com
next reply other threads:[~2005-02-02 18:38 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-02-02 18:37 John W. Linville [this message]
2005-02-02 18:51 ` [patch libata-dev-2.6 1/1] libata: sync SMART ioctls with ATA pass thru spec (T10/04-262r7) Jens Axboe
2005-02-02 18:59 ` John W. Linville
-- strict thread matches above, loose matches on Subject: below --
2005-02-02 23:05 Douglas Gilbert
2005-02-02 23:36 ` Jeff Garzik
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20050202183753.GB17450@tuxdriver.com \
--to=linville@tuxdriver.com \
--cc=andyw@pobox.com \
--cc=jgarzik@pobox.com \
--cc=linux-ide@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.