Commit fa5bde13 authored by Damien Le Moal's avatar Damien Le Moal
Browse files

ata: libata: Introduce ata_ncq_supported()



Introduce the inline helper function ata_ncq_supported() to test if a
device supports NCQ commands. The function ata_ncq_enabled() is also
rewritten using this new helper function.

Signed-off-by: default avatarDamien Le Moal <damien.lemoal@opensource.wdc.com>
Reviewed-by: default avatarHannes Reinecke <hare@suse.de>
Reviewed-by: default avatarChaitanya Kulkarni <kch@nvidia.com>
Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
Reviewed-by: default avatarJohannes Thumshirn <johannes.thumshirn@wdc.com>
Reviewed-by: default avatarNiklas Cassel <niklas.cassel@wdc.com>
parent b4a6bb3a
Loading
Loading
Loading
Loading
+21 −7
Original line number Diff line number Diff line
@@ -1691,21 +1691,35 @@ extern struct ata_device *ata_dev_next(struct ata_device *dev,
	     (dev) = ata_dev_next((dev), (link), ATA_DITER_##mode))

/**
 *	ata_ncq_enabled - Test whether NCQ is enabled
 *	@dev: ATA device to test for
 *	ata_ncq_supported - Test whether NCQ is supported
 *	@dev: ATA device to test
 *
 *	LOCKING:
 *	spin_lock_irqsave(host lock)
 *
 *	RETURNS:
 *	1 if NCQ is enabled for @dev, 0 otherwise.
 *	true if @dev supports NCQ, false otherwise.
 */
static inline int ata_ncq_enabled(struct ata_device *dev)
static inline bool ata_ncq_supported(struct ata_device *dev)
{
	if (!IS_ENABLED(CONFIG_SATA_HOST))
		return 0;
	return (dev->flags & (ATA_DFLAG_PIO | ATA_DFLAG_NCQ_OFF |
			      ATA_DFLAG_NCQ)) == ATA_DFLAG_NCQ;
		return false;
	return (dev->flags & (ATA_DFLAG_PIO | ATA_DFLAG_NCQ)) == ATA_DFLAG_NCQ;
}

/**
 *	ata_ncq_enabled - Test whether NCQ is enabled
 *	@dev: ATA device to test
 *
 *	LOCKING:
 *	spin_lock_irqsave(host lock)
 *
 *	RETURNS:
 *	true if NCQ is enabled for @dev, false otherwise.
 */
static inline bool ata_ncq_enabled(struct ata_device *dev)
{
	return ata_ncq_supported(dev) && !(dev->flags & ATA_DFLAG_NCQ_OFF);
}

static inline bool ata_fpdma_dsm_supported(struct ata_device *dev)