libata: NCQ encapsulation for ZAC MANAGEMENT OUT
Add NCQ encapsulation for ZAC MANAGEMENT OUT and evaluate NCQ Non-Data log pages to figure out if NCQ encapsulation is supported. Signed-off-by: Hannes Reinecke <hare@suse.com> Signed-off-by: Tejun Heo <tj@kernel.org>
This commit is contained in:
committed by
Tejun Heo
parent
27708a9579
commit
284b3b77ea
@@ -729,6 +729,7 @@ struct ata_device {
|
||||
|
||||
/* NCQ send and receive log subcommand support */
|
||||
u8 ncq_send_recv_cmds[ATA_LOG_NCQ_SEND_RECV_SIZE];
|
||||
u8 ncq_non_data_cmds[ATA_LOG_NCQ_NON_DATA_SIZE];
|
||||
|
||||
/* error history */
|
||||
int spdn_cnt;
|
||||
@@ -1658,6 +1659,12 @@ static inline bool ata_fpdma_zac_mgmt_in_supported(struct ata_device *dev)
|
||||
ATA_LOG_NCQ_SEND_RECV_ZAC_MGMT_IN_SUPPORTED);
|
||||
}
|
||||
|
||||
static inline bool ata_fpdma_zac_mgmt_out_supported(struct ata_device *dev)
|
||||
{
|
||||
return (dev->ncq_non_data_cmds[ATA_LOG_NCQ_NON_DATA_ZAC_MGMT_OFFSET] &
|
||||
ATA_LOG_NCQ_NON_DATA_ZAC_MGMT_OUT);
|
||||
}
|
||||
|
||||
static inline void ata_qc_set_polling(struct ata_queued_cmd *qc)
|
||||
{
|
||||
qc->tf.ctl |= ATA_NIEN;
|
||||
|
||||
Reference in New Issue
Block a user