aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ide/pci/pdc202xx_new.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/ide/pci/pdc202xx_new.c')
-rw-r--r--drivers/ide/pci/pdc202xx_new.c12
1 files changed, 3 insertions, 9 deletions
diff --git a/drivers/ide/pci/pdc202xx_new.c b/drivers/ide/pci/pdc202xx_new.c
index 236a03144a2..b13a06c5cb2 100644
--- a/drivers/ide/pci/pdc202xx_new.c
+++ b/drivers/ide/pci/pdc202xx_new.c
@@ -282,19 +282,13 @@ static int config_chipset_for_dma(ide_drive_t *drive)
282static int pdcnew_config_drive_xfer_rate(ide_drive_t *drive) 282static int pdcnew_config_drive_xfer_rate(ide_drive_t *drive)
283{ 283{
284 ide_hwif_t *hwif = HWIF(drive); 284 ide_hwif_t *hwif = HWIF(drive);
285 struct hd_driveid *id = drive->id;
286 285
287 drive->init_speed = 0; 286 drive->init_speed = 0;
288 287
289 if ((id->capability & 1) && drive->autodma) { 288 if (ide_use_dma(drive) && config_chipset_for_dma(drive))
290 289 return hwif->ide_dma_on(drive);
291 if (ide_use_dma(drive) && config_chipset_for_dma(drive))
292 return hwif->ide_dma_on(drive);
293
294 goto fast_ata_pio;
295 290
296 } else if ((id->capability & 8) || (id->field_valid & 2)) { 291 if (ide_use_fast_pio(drive)) {
297fast_ata_pio:
298 hwif->tuneproc(drive, 255); 292 hwif->tuneproc(drive, 255);
299 return hwif->ide_dma_off_quietly(drive); 293 return hwif->ide_dma_off_quietly(drive);
300 } 294 }