summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorHannes Reinecke <hare@suse.de>2016-04-25 13:45:55 +0300
committerTejun Heo <tj@kernel.org>2016-05-09 19:36:46 +0300
commit856c4663930988118d9f355aad66811dd6df06de (patch)
tree5b0d59494d213e6ffdc476bf6e1230c4cc8e444d /include/linux
parent284b3b77ea883234dadb2cbf97b145c3c30fe4bd (diff)
downloadlinux-856c4663930988118d9f355aad66811dd6df06de.tar.xz
libata: support device-managed ZAC devices
Device-managed ZAC devices just set the zoned capabilities field in INQUIRY byte 69 (cf ACS-4). This corresponds to the 'zoned' field in the block device characteristics VPD page. As this is only defined in SPC-5/SBC-4 we also need to update the supported SCSI version descriptor. Reviewed-by: Shaun Tancheff <shaun.tancheff@seagate.com> Tested-by: Shaun Tancheff <shaun.tancheff@seagate.com> Signed-off-by: Hannes Reinecke <hare@suse.de> Signed-off-by: Tejun Heo <tj@kernel.org>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/ata.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/include/linux/ata.h b/include/linux/ata.h
index e62703201e84..ac1cb9310dea 100644
--- a/include/linux/ata.h
+++ b/include/linux/ata.h
@@ -935,6 +935,11 @@ static inline bool ata_id_is_ssd(const u16 *id)
return id[ATA_ID_ROT_SPEED] == 0x01;
}
+static inline u8 ata_id_zoned_cap(const u16 *id)
+{
+ return (id[ATA_ID_ADDITIONAL_SUPP] & 0x3);
+}
+
static inline bool ata_id_pio_need_iordy(const u16 *id, const u8 pio)
{
/* CF spec. r4.1 Table 22 says no IORDY on PIO5 and PIO6. */