ata: define ATA_PROT_* in terms of ATA_PROT_FLAG_*
This avoid the need to always translate between the two in ata_prot_flags and generally cleans up the taskfile protocol usage. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Tejun Heo <tj@kernel.org>
This commit is contained in:

committed by
Tejun Heo

parent
d6e50e379e
commit
37f92d77dc
@@ -281,7 +281,7 @@ static void sata_dwc_dma_exit_old(struct sata_dwc_device *hsdev)
|
|||||||
|
|
||||||
static const char *get_prot_descript(u8 protocol)
|
static const char *get_prot_descript(u8 protocol)
|
||||||
{
|
{
|
||||||
switch ((enum ata_tf_protocols)protocol) {
|
switch (protocol) {
|
||||||
case ATA_PROT_NODATA:
|
case ATA_PROT_NODATA:
|
||||||
return "ATA no data";
|
return "ATA no data";
|
||||||
case ATA_PROT_PIO:
|
case ATA_PROT_PIO:
|
||||||
|
@@ -523,17 +523,23 @@ enum {
|
|||||||
SERR_DEV_XCHG = (1 << 26), /* device exchanged */
|
SERR_DEV_XCHG = (1 << 26), /* device exchanged */
|
||||||
};
|
};
|
||||||
|
|
||||||
enum ata_tf_protocols {
|
enum ata_prot_flags {
|
||||||
/* ATA taskfile protocols */
|
/* protocol flags */
|
||||||
ATA_PROT_UNKNOWN, /* unknown/invalid */
|
ATA_PROT_FLAG_PIO = (1 << 0), /* is PIO */
|
||||||
ATA_PROT_NODATA, /* no data */
|
ATA_PROT_FLAG_DMA = (1 << 1), /* is DMA */
|
||||||
ATA_PROT_PIO, /* PIO data xfer */
|
ATA_PROT_FLAG_NCQ = (1 << 2), /* is NCQ */
|
||||||
ATA_PROT_DMA, /* DMA */
|
ATA_PROT_FLAG_ATAPI = (1 << 3), /* is ATAPI */
|
||||||
ATA_PROT_NCQ, /* NCQ */
|
|
||||||
ATA_PROT_NCQ_NODATA, /* NCQ no data */
|
/* taskfile protocols */
|
||||||
ATAPI_PROT_NODATA, /* packet command, no data */
|
ATA_PROT_UNKNOWN = (u8)-1,
|
||||||
ATAPI_PROT_PIO, /* packet command, PIO data xfer*/
|
ATA_PROT_NODATA = 0,
|
||||||
ATAPI_PROT_DMA, /* packet command with special DMA sauce */
|
ATA_PROT_PIO = ATA_PROT_FLAG_PIO,
|
||||||
|
ATA_PROT_DMA = ATA_PROT_FLAG_DMA,
|
||||||
|
ATA_PROT_NCQ_NODATA = ATA_PROT_FLAG_NCQ,
|
||||||
|
ATA_PROT_NCQ = ATA_PROT_FLAG_DMA | ATA_PROT_FLAG_NCQ,
|
||||||
|
ATAPI_PROT_NODATA = ATA_PROT_FLAG_ATAPI,
|
||||||
|
ATAPI_PROT_PIO = ATA_PROT_FLAG_ATAPI | ATA_PROT_FLAG_PIO,
|
||||||
|
ATAPI_PROT_DMA = ATA_PROT_FLAG_ATAPI | ATA_PROT_FLAG_DMA,
|
||||||
};
|
};
|
||||||
|
|
||||||
enum ata_ioctls {
|
enum ata_ioctls {
|
||||||
|
@@ -146,12 +146,6 @@ enum {
|
|||||||
ATA_TFLAG_FUA = (1 << 5), /* enable FUA */
|
ATA_TFLAG_FUA = (1 << 5), /* enable FUA */
|
||||||
ATA_TFLAG_POLLING = (1 << 6), /* set nIEN to 1 and use polling */
|
ATA_TFLAG_POLLING = (1 << 6), /* set nIEN to 1 and use polling */
|
||||||
|
|
||||||
/* protocol flags */
|
|
||||||
ATA_PROT_FLAG_PIO = (1 << 0), /* is PIO */
|
|
||||||
ATA_PROT_FLAG_DMA = (1 << 1), /* is DMA */
|
|
||||||
ATA_PROT_FLAG_NCQ = (1 << 2), /* is NCQ */
|
|
||||||
ATA_PROT_FLAG_ATAPI = (1 << 3), /* is ATAPI */
|
|
||||||
|
|
||||||
/* struct ata_device stuff */
|
/* struct ata_device stuff */
|
||||||
ATA_DFLAG_LBA = (1 << 0), /* device supports LBA */
|
ATA_DFLAG_LBA = (1 << 0), /* device supports LBA */
|
||||||
ATA_DFLAG_LBA48 = (1 << 1), /* device supports LBA48 */
|
ATA_DFLAG_LBA48 = (1 << 1), /* device supports LBA48 */
|
||||||
@@ -1038,55 +1032,29 @@ extern const unsigned long sata_deb_timing_long[];
|
|||||||
extern struct ata_port_operations ata_dummy_port_ops;
|
extern struct ata_port_operations ata_dummy_port_ops;
|
||||||
extern const struct ata_port_info ata_dummy_port_info;
|
extern const struct ata_port_info ata_dummy_port_info;
|
||||||
|
|
||||||
/*
|
|
||||||
* protocol tests
|
|
||||||
*/
|
|
||||||
static inline unsigned int ata_prot_flags(u8 prot)
|
|
||||||
{
|
|
||||||
switch (prot) {
|
|
||||||
case ATA_PROT_NODATA:
|
|
||||||
return 0;
|
|
||||||
case ATA_PROT_PIO:
|
|
||||||
return ATA_PROT_FLAG_PIO;
|
|
||||||
case ATA_PROT_DMA:
|
|
||||||
return ATA_PROT_FLAG_DMA;
|
|
||||||
case ATA_PROT_NCQ:
|
|
||||||
return ATA_PROT_FLAG_DMA | ATA_PROT_FLAG_NCQ;
|
|
||||||
case ATA_PROT_NCQ_NODATA:
|
|
||||||
return ATA_PROT_FLAG_NCQ;
|
|
||||||
case ATAPI_PROT_NODATA:
|
|
||||||
return ATA_PROT_FLAG_ATAPI;
|
|
||||||
case ATAPI_PROT_PIO:
|
|
||||||
return ATA_PROT_FLAG_ATAPI | ATA_PROT_FLAG_PIO;
|
|
||||||
case ATAPI_PROT_DMA:
|
|
||||||
return ATA_PROT_FLAG_ATAPI | ATA_PROT_FLAG_DMA;
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline bool ata_is_atapi(u8 prot)
|
static inline bool ata_is_atapi(u8 prot)
|
||||||
{
|
{
|
||||||
return ata_prot_flags(prot) & ATA_PROT_FLAG_ATAPI;
|
return prot & ATA_PROT_FLAG_ATAPI;
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline bool ata_is_pio(u8 prot)
|
static inline bool ata_is_pio(u8 prot)
|
||||||
{
|
{
|
||||||
return ata_prot_flags(prot) & ATA_PROT_FLAG_PIO;
|
return prot & ATA_PROT_FLAG_PIO;
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline bool ata_is_dma(u8 prot)
|
static inline bool ata_is_dma(u8 prot)
|
||||||
{
|
{
|
||||||
return ata_prot_flags(prot) & ATA_PROT_FLAG_DMA;
|
return prot & ATA_PROT_FLAG_DMA;
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline bool ata_is_ncq(u8 prot)
|
static inline bool ata_is_ncq(u8 prot)
|
||||||
{
|
{
|
||||||
return ata_prot_flags(prot) & ATA_PROT_FLAG_NCQ;
|
return prot & ATA_PROT_FLAG_NCQ;
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline bool ata_is_data(u8 prot)
|
static inline bool ata_is_data(u8 prot)
|
||||||
{
|
{
|
||||||
return ata_prot_flags(prot) & (ATA_PROT_FLAG_PIO | ATA_PROT_FLAG_DMA);
|
return prot & (ATA_PROT_FLAG_PIO | ATA_PROT_FLAG_DMA);
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline int is_multi_taskfile(struct ata_taskfile *tf)
|
static inline int is_multi_taskfile(struct ata_taskfile *tf)
|
||||||
|
Reference in New Issue
Block a user