aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ata
diff options
context:
space:
mode:
authorTejun Heo <tj@kernel.org>2015-03-24 14:14:18 -0400
committerTejun Heo <tj@kernel.org>2015-03-24 14:14:18 -0400
commit3a02824396c1df1db422d067b0fdcac724f44dd6 (patch)
tree94194de9c52ec3aac023d68b548943150d151731 /drivers/ata
parentdb7a657f3c2de202e8d648b03bc25bcd9a4de1d8 (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.c5
-rw-r--r--drivers/ata/sata_sil24.c2
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,