diff options
author | Tejun Heo <htejun@gmail.com> | 2006-01-06 03:56:18 -0500 |
---|---|---|
committer | Jens Axboe <axboe@suse.de> | 2006-01-06 03:56:18 -0500 |
commit | 9a3dccc42556537a48f39ee9a9e7ab90a933f766 (patch) | |
tree | e67d7b314d4e0732bfa5558bef4f1941ea80cb58 /include/linux | |
parent | 93c9338713d4e11102cd09b4670ad42a336b06a3 (diff) |
[BLOCK] add FUA support to libata
Signed-off-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: Jens Axboe <axboe@suse.de>
Diffstat (limited to 'include/linux')
-rw-r--r-- | include/linux/ata.h | 6 | ||||
-rw-r--r-- | include/linux/libata.h | 3 |
2 files changed, 7 insertions, 2 deletions
diff --git a/include/linux/ata.h b/include/linux/ata.h index d2873b732bb..f63dad4165b 100644 --- a/include/linux/ata.h +++ b/include/linux/ata.h | |||
@@ -129,6 +129,7 @@ enum { | |||
129 | ATA_CMD_READ_EXT = 0x25, | 129 | ATA_CMD_READ_EXT = 0x25, |
130 | ATA_CMD_WRITE = 0xCA, | 130 | ATA_CMD_WRITE = 0xCA, |
131 | ATA_CMD_WRITE_EXT = 0x35, | 131 | ATA_CMD_WRITE_EXT = 0x35, |
132 | ATA_CMD_WRITE_FUA_EXT = 0x3D, | ||
132 | ATA_CMD_PIO_READ = 0x20, | 133 | ATA_CMD_PIO_READ = 0x20, |
133 | ATA_CMD_PIO_READ_EXT = 0x24, | 134 | ATA_CMD_PIO_READ_EXT = 0x24, |
134 | ATA_CMD_PIO_WRITE = 0x30, | 135 | ATA_CMD_PIO_WRITE = 0x30, |
@@ -137,6 +138,7 @@ enum { | |||
137 | ATA_CMD_READ_MULTI_EXT = 0x29, | 138 | ATA_CMD_READ_MULTI_EXT = 0x29, |
138 | ATA_CMD_WRITE_MULTI = 0xC5, | 139 | ATA_CMD_WRITE_MULTI = 0xC5, |
139 | ATA_CMD_WRITE_MULTI_EXT = 0x39, | 140 | ATA_CMD_WRITE_MULTI_EXT = 0x39, |
141 | ATA_CMD_WRITE_MULTI_FUA_EXT = 0xCE, | ||
140 | ATA_CMD_SET_FEATURES = 0xEF, | 142 | ATA_CMD_SET_FEATURES = 0xEF, |
141 | ATA_CMD_PACKET = 0xA0, | 143 | ATA_CMD_PACKET = 0xA0, |
142 | ATA_CMD_VERIFY = 0x40, | 144 | ATA_CMD_VERIFY = 0x40, |
@@ -192,6 +194,7 @@ enum { | |||
192 | ATA_TFLAG_DEVICE = (1 << 2), /* enable r/w to device reg */ | 194 | ATA_TFLAG_DEVICE = (1 << 2), /* enable r/w to device reg */ |
193 | ATA_TFLAG_WRITE = (1 << 3), /* data dir: host->dev==1 (write) */ | 195 | ATA_TFLAG_WRITE = (1 << 3), /* data dir: host->dev==1 (write) */ |
194 | ATA_TFLAG_LBA = (1 << 4), /* enable LBA */ | 196 | ATA_TFLAG_LBA = (1 << 4), /* enable LBA */ |
197 | ATA_TFLAG_FUA = (1 << 5), /* enable FUA */ | ||
195 | }; | 198 | }; |
196 | 199 | ||
197 | enum ata_tf_protocols { | 200 | enum ata_tf_protocols { |
@@ -245,7 +248,8 @@ struct ata_taskfile { | |||
245 | #define ata_id_is_sata(id) ((id)[93] == 0) | 248 | #define ata_id_is_sata(id) ((id)[93] == 0) |
246 | #define ata_id_rahead_enabled(id) ((id)[85] & (1 << 6)) | 249 | #define ata_id_rahead_enabled(id) ((id)[85] & (1 << 6)) |
247 | #define ata_id_wcache_enabled(id) ((id)[85] & (1 << 5)) | 250 | #define ata_id_wcache_enabled(id) ((id)[85] & (1 << 5)) |
248 | #define ata_id_has_flush(id) ((id)[83] & (1 << 12)) | 251 | #define ata_id_has_fua(id) ((id)[84] & (1 << 6)) |
252 | #define ata_id_has_flush(id) ((id)[83] & (1 << 12)) | ||
249 | #define ata_id_has_flush_ext(id) ((id)[83] & (1 << 13)) | 253 | #define ata_id_has_flush_ext(id) ((id)[83] & (1 << 13)) |
250 | #define ata_id_has_lba48(id) ((id)[83] & (1 << 10)) | 254 | #define ata_id_has_lba48(id) ((id)[83] & (1 << 10)) |
251 | #define ata_id_has_wcache(id) ((id)[82] & (1 << 5)) | 255 | #define ata_id_has_wcache(id) ((id)[82] & (1 << 5)) |
diff --git a/include/linux/libata.h b/include/linux/libata.h index e828e172ccb..6db2c084573 100644 --- a/include/linux/libata.h +++ b/include/linux/libata.h | |||
@@ -480,7 +480,8 @@ extern u8 ata_bmdma_status(struct ata_port *ap); | |||
480 | extern void ata_bmdma_irq_clear(struct ata_port *ap); | 480 | extern void ata_bmdma_irq_clear(struct ata_port *ap); |
481 | extern void ata_qc_complete(struct ata_queued_cmd *qc); | 481 | extern void ata_qc_complete(struct ata_queued_cmd *qc); |
482 | extern void ata_eng_timeout(struct ata_port *ap); | 482 | extern void ata_eng_timeout(struct ata_port *ap); |
483 | extern void ata_scsi_simulate(u16 *id, struct scsi_cmnd *cmd, | 483 | extern void ata_scsi_simulate(struct ata_port *ap, struct ata_device *dev, |
484 | struct scsi_cmnd *cmd, | ||
484 | void (*done)(struct scsi_cmnd *)); | 485 | void (*done)(struct scsi_cmnd *)); |
485 | extern int ata_std_bios_param(struct scsi_device *sdev, | 486 | extern int ata_std_bios_param(struct scsi_device *sdev, |
486 | struct block_device *bdev, | 487 | struct block_device *bdev, |