aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ata
diff options
context:
space:
mode:
authorAlan Cox <alan@linux.intel.com>2010-05-05 05:24:57 -0400
committerJeff Garzik <jgarzik@redhat.com>2010-05-14 22:25:00 -0400
commit978c066691a49a205673672a55685305663a2554 (patch)
treedf380b8415c17d80586a111c4492ac6bad7d5afb /drivers/ata
parent95cc2c70c139936a2142bcd583da8af6f9d88efb (diff)
libata: Remove excess delay in the tf_load path
We don't need to stall and wait after loading the task file and before issuing a command, so don't do it. This shows up on profiles and is not needed. Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Diffstat (limited to 'drivers/ata')
-rw-r--r--drivers/ata/libata-sff.c3
-rw-r--r--drivers/ata/pata_via.c2
2 files changed, 0 insertions, 5 deletions
diff --git a/drivers/ata/libata-sff.c b/drivers/ata/libata-sff.c
index c0a90543889..3cc385dbfe2 100644
--- a/drivers/ata/libata-sff.c
+++ b/drivers/ata/libata-sff.c
@@ -604,7 +604,6 @@ void ata_sff_tf_load(struct ata_port *ap, const struct ata_taskfile *tf)
604 if (ioaddr->ctl_addr) 604 if (ioaddr->ctl_addr)
605 iowrite8(tf->ctl, ioaddr->ctl_addr); 605 iowrite8(tf->ctl, ioaddr->ctl_addr);
606 ap->last_ctl = tf->ctl; 606 ap->last_ctl = tf->ctl;
607 ata_wait_idle(ap);
608 } 607 }
609 608
610 if (is_addr && (tf->flags & ATA_TFLAG_LBA48)) { 609 if (is_addr && (tf->flags & ATA_TFLAG_LBA48)) {
@@ -640,8 +639,6 @@ void ata_sff_tf_load(struct ata_port *ap, const struct ata_taskfile *tf)
640 iowrite8(tf->device, ioaddr->device_addr); 639 iowrite8(tf->device, ioaddr->device_addr);
641 VPRINTK("device 0x%X\n", tf->device); 640 VPRINTK("device 0x%X\n", tf->device);
642 } 641 }
643
644 ata_wait_idle(ap);
645} 642}
646EXPORT_SYMBOL_GPL(ata_sff_tf_load); 643EXPORT_SYMBOL_GPL(ata_sff_tf_load);
647 644
diff --git a/drivers/ata/pata_via.c b/drivers/ata/pata_via.c
index 741e7cb69d8..87fb89e407f 100644
--- a/drivers/ata/pata_via.c
+++ b/drivers/ata/pata_via.c
@@ -417,8 +417,6 @@ static void via_tf_load(struct ata_port *ap, const struct ata_taskfile *tf)
417 tf->lbam, 417 tf->lbam,
418 tf->lbah); 418 tf->lbah);
419 } 419 }
420
421 ata_wait_idle(ap);
422} 420}
423 421
424static int via_port_start(struct ata_port *ap) 422static int via_port_start(struct ata_port *ap)