aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ide
diff options
context:
space:
mode:
authorJoao Ramos <joao.ramos@inov.pt>2009-05-17 17:22:54 +0200
committerBartlomiej Zolnierkiewicz <bzolnier@gmail.com>2009-05-17 17:22:54 +0200
commit6029336426a2b43e4bc6f4a84be8789a047d139e (patch)
treea83bdc5af2d842b0c9ec1dbffbeae80edce13eaa /drivers/ide
parente8e7526c3c0863be25ab03a0871ee0978de5ba50 (diff)
downloadkernel_samsung_crespo-6029336426a2b43e4bc6f4a84be8789a047d139e.zip
kernel_samsung_crespo-6029336426a2b43e4bc6f4a84be8789a047d139e.tar.gz
kernel_samsung_crespo-6029336426a2b43e4bc6f4a84be8789a047d139e.tar.bz2
ide: try to use PIO Mode 0 during probe if possible
Initially set PIO Mode 0 for all host drivers that have a 'set_pio_mode' method before the IDE core figures out the most suited PIO mode for the attached device. Signed-off-by: Joao Ramos <joao.ramos@inov.pt> Cc: Sergei Shtylyov <sshtylyov@ru.montavista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Diffstat (limited to 'drivers/ide')
-rw-r--r--drivers/ide/ide-probe.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/ide/ide-probe.c b/drivers/ide/ide-probe.c
index 7f264ed..b609a58 100644
--- a/drivers/ide/ide-probe.c
+++ b/drivers/ide/ide-probe.c
@@ -1032,6 +1032,15 @@ static void ide_port_init_devices(ide_hwif_t *hwif)
if (port_ops && port_ops->init_dev)
port_ops->init_dev(drive);
}
+
+ ide_port_for_each_dev(i, drive, hwif) {
+ /*
+ * default to PIO Mode 0 before we figure out
+ * the most suited mode for the attached device
+ */
+ if (port_ops && port_ops->set_pio_mode)
+ port_ops->set_pio_mode(drive, 0);
+ }
}
static void ide_init_port(ide_hwif_t *hwif, unsigned int port,