libata: implement ZBC IN translation

ZAC drives implement a 'ZAC Management In' command template,
which maps onto the ZBC IN command.

Signed-off-by: Hannes Reinecke <hare@suse.de>
Signed-off-by: Tejun Heo <tj@kernel.org>
This commit is contained in:
Hannes Reinecke
2016-04-25 12:45:52 +02:00
committed by Tejun Heo
parent 3a92945b24
commit 28a3fc2295
6 changed files with 185 additions and 1 deletions

View File

@@ -1651,6 +1651,13 @@ static inline bool ata_fpdma_read_log_supported(struct ata_device *dev)
ATA_LOG_NCQ_SEND_RECV_RD_LOG_SUPPORTED);
}
static inline bool ata_fpdma_zac_mgmt_in_supported(struct ata_device *dev)
{
return (dev->flags & ATA_DFLAG_NCQ_SEND_RECV) &&
(dev->ncq_send_recv_cmds[ATA_LOG_NCQ_SEND_RECV_ZAC_MGMT_OFFSET] &
ATA_LOG_NCQ_SEND_RECV_ZAC_MGMT_IN_SUPPORTED);
}
static inline void ata_qc_set_polling(struct ata_queued_cmd *qc)
{
qc->tf.ctl |= ATA_NIEN;