aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/ata.h
diff options
context:
space:
mode:
authorJens Axboe <jens.axboe@oracle.com>2008-09-24 13:05:10 +0200
committerJens Axboe <jens.axboe@oracle.com>2008-10-09 08:56:19 +0200
commit8bff7c6b0f63c7ee9c5e3a076338d74125b8debb (patch)
tree0863c7e0d09592ee9f4d568625348ef12e4a30df /include/linux/ata.h
parentblock: add queue flag for SSD/non-rotational devices (diff)
downloadlinux-dev-8bff7c6b0f63c7ee9c5e3a076338d74125b8debb.tar.xz
linux-dev-8bff7c6b0f63c7ee9c5e3a076338d74125b8debb.zip
libata: set queue SSD flag for SSD devices
SSD devices should give an RPM setting of 1 in word 217 of the ID page. If we see such a device, tell the block layer about it. Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Diffstat (limited to 'include/linux/ata.h')
-rw-r--r--include/linux/ata.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/include/linux/ata.h b/include/linux/ata.h
index 8a12d718c169..c1c8b4a4ba26 100644
--- a/include/linux/ata.h
+++ b/include/linux/ata.h
@@ -88,6 +88,7 @@ enum {
ATA_ID_DLF = 128,
ATA_ID_CSFO = 129,
ATA_ID_CFA_POWER = 160,
+ ATA_ID_ROT_SPEED = 217,
ATA_ID_PIO4 = (1 << 1),
ATA_ID_SERNO_LEN = 20,
@@ -691,6 +692,11 @@ static inline int ata_id_is_cfa(const u16 *id)
return 0;
}
+static inline int ata_id_is_ssd(const u16 *id)
+{
+ return id[ATA_ID_ROT_SPEED] == 0x01;
+}
+
static inline int ata_drive_40wire(const u16 *dev_id)
{
if (ata_id_is_sata(dev_id))