libata: Remove excess delay in the tf_load path
authorAlan Cox <alan@linux.intel.com>
Wed, 5 May 2010 09:24:57 +0000 (10:24 +0100)
committerJeff Garzik <jgarzik@redhat.com>
Sat, 15 May 2010 02:25:00 +0000 (22:25 -0400)
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>
drivers/ata/libata-sff.c
drivers/ata/pata_via.c

index c0a9054..3cc385d 100644 (file)
@@ -604,7 +604,6 @@ void ata_sff_tf_load(struct ata_port *ap, const struct ata_taskfile *tf)
                if (ioaddr->ctl_addr)
                        iowrite8(tf->ctl, ioaddr->ctl_addr);
                ap->last_ctl = tf->ctl;
-               ata_wait_idle(ap);
        }
 
        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)
                iowrite8(tf->device, ioaddr->device_addr);
                VPRINTK("device 0x%X\n", tf->device);
        }
-
-       ata_wait_idle(ap);
 }
 EXPORT_SYMBOL_GPL(ata_sff_tf_load);
 
index 741e7cb..87fb89e 100644 (file)
@@ -417,8 +417,6 @@ static void via_tf_load(struct ata_port *ap, const struct ata_taskfile *tf)
                        tf->lbam,
                        tf->lbah);
        }
-
-       ata_wait_idle(ap);
 }
 
 static int via_port_start(struct ata_port *ap)