diff options
author | Tejun Heo <tj@kernel.org> | 2015-03-24 14:14:18 -0400 |
---|---|---|
committer | Tejun Heo <tj@kernel.org> | 2015-03-24 14:14:18 -0400 |
commit | 3a02824396c1df1db422d067b0fdcac724f44dd6 (patch) | |
tree | 94194de9c52ec3aac023d68b548943150d151731 /drivers/ata | |
parent | db7a657f3c2de202e8d648b03bc25bcd9a4de1d8 (diff) |
libata: remove ATA_FLAG_LOWTAG
sata_sil24 for some reason pukes when tags are allocated round-robin
which helps tag ordered controllers. To work around the issue,
72dd299d5039 ("libata: allow sata_sil24 to opt-out of tag ordered
submission") introduced ATA_FLAG_LOWTAG which tells libata tag
allocation to do lowest-first.
However, with the recent switch to blk-mq tag allocation, the liata
tag allocation code path is no longer used and the workaround is now
implemented in the block layer and selected by setting
scsi_host_template->tag_alloc_policy to BLK_TAG_ALLOC_FIFO. See
9269e23496dd ("libata: make sata_sil24 use fifo tag allocator").
This leaves ATA_FLAG_LOWTAG withoout any actual user. Remove it.
Signed-off-by: Tejun Heo <tj@kernel.org>
Cc: Shaohua Li <shli@fb.com>
Cc: Dan Williams <dan.j.williams@intel.com>
Diffstat (limited to 'drivers/ata')
-rw-r--r-- | drivers/ata/libata-scsi.c | 5 | ||||
-rw-r--r-- | drivers/ata/sata_sil24.c | 2 |
2 files changed, 2 insertions, 5 deletions
diff --git a/drivers/ata/libata-scsi.c b/drivers/ata/libata-scsi.c index b061ba2c31d8..fd9be1756f0d 100644 --- a/drivers/ata/libata-scsi.c +++ b/drivers/ata/libata-scsi.c | |||
@@ -4240,10 +4240,7 @@ int ata_sas_allocate_tag(struct ata_port *ap) | |||
4240 | unsigned int i, tag; | 4240 | unsigned int i, tag; |
4241 | 4241 | ||
4242 | for (i = 0, tag = ap->sas_last_tag + 1; i < max_queue; i++, tag++) { | 4242 | for (i = 0, tag = ap->sas_last_tag + 1; i < max_queue; i++, tag++) { |
4243 | if (ap->flags & ATA_FLAG_LOWTAG) | 4243 | tag = tag < max_queue ? tag : 0; |
4244 | tag = 1; | ||
4245 | else | ||
4246 | tag = tag < max_queue ? tag : 0; | ||
4247 | 4244 | ||
4248 | /* the last tag is reserved for internal command. */ | 4245 | /* the last tag is reserved for internal command. */ |
4249 | if (tag == ATA_TAG_INTERNAL) | 4246 | if (tag == ATA_TAG_INTERNAL) |
diff --git a/drivers/ata/sata_sil24.c b/drivers/ata/sata_sil24.c index ba2667fa0528..52428971ba94 100644 --- a/drivers/ata/sata_sil24.c +++ b/drivers/ata/sata_sil24.c | |||
@@ -246,7 +246,7 @@ enum { | |||
246 | /* host flags */ | 246 | /* host flags */ |
247 | SIL24_COMMON_FLAGS = ATA_FLAG_SATA | ATA_FLAG_PIO_DMA | | 247 | SIL24_COMMON_FLAGS = ATA_FLAG_SATA | ATA_FLAG_PIO_DMA | |
248 | ATA_FLAG_NCQ | ATA_FLAG_ACPI_SATA | | 248 | ATA_FLAG_NCQ | ATA_FLAG_ACPI_SATA | |
249 | ATA_FLAG_AN | ATA_FLAG_PMP | ATA_FLAG_LOWTAG, | 249 | ATA_FLAG_AN | ATA_FLAG_PMP, |
250 | SIL24_FLAG_PCIX_IRQ_WOC = (1 << 24), /* IRQ loss errata on PCI-X */ | 250 | SIL24_FLAG_PCIX_IRQ_WOC = (1 << 24), /* IRQ loss errata on PCI-X */ |
251 | 251 | ||
252 | IRQ_STAT_4PORTS = 0xf, | 252 | IRQ_STAT_4PORTS = 0xf, |