diff options
Diffstat (limited to 'drivers/ide/pci/pdc202xx_new.c')
-rw-r--r-- | drivers/ide/pci/pdc202xx_new.c | 31 |
1 files changed, 3 insertions, 28 deletions
diff --git a/drivers/ide/pci/pdc202xx_new.c b/drivers/ide/pci/pdc202xx_new.c index 77a9aaa7dab9..fc2a45bb9651 100644 --- a/drivers/ide/pci/pdc202xx_new.c +++ b/drivers/ide/pci/pdc202xx_new.c | |||
@@ -249,13 +249,6 @@ static int pdcnew_tune_chipset(ide_drive_t *drive, u8 speed) | |||
249 | return err; | 249 | return err; |
250 | } | 250 | } |
251 | 251 | ||
252 | /* 0 1 2 3 4 5 6 7 8 | ||
253 | * 960, 480, 390, 300, 240, 180, 120, 90, 60 | ||
254 | * 180, 150, 120, 90, 60 | ||
255 | * DMA_Speed | ||
256 | * 180, 120, 90, 90, 90, 60, 30 | ||
257 | * 11, 5, 4, 3, 2, 1, 0 | ||
258 | */ | ||
259 | static void pdcnew_tune_drive(ide_drive_t *drive, u8 pio) | 252 | static void pdcnew_tune_drive(ide_drive_t *drive, u8 pio) |
260 | { | 253 | { |
261 | pio = ide_get_best_pio_mode(drive, pio, 4, NULL); | 254 | pio = ide_get_best_pio_mode(drive, pio, 4, NULL); |
@@ -313,12 +306,10 @@ static int pdcnew_config_drive_xfer_rate(ide_drive_t *drive) | |||
313 | 306 | ||
314 | drive->init_speed = 0; | 307 | drive->init_speed = 0; |
315 | 308 | ||
316 | if (id && (id->capability & 1) && drive->autodma) { | 309 | if ((id->capability & 1) && drive->autodma) { |
317 | 310 | ||
318 | if (ide_use_dma(drive)) { | 311 | if (ide_use_dma(drive) && config_chipset_for_dma(drive)) |
319 | if (config_chipset_for_dma(drive)) | 312 | return hwif->ide_dma_on(drive); |
320 | return hwif->ide_dma_on(drive); | ||
321 | } | ||
322 | 313 | ||
323 | goto fast_ata_pio; | 314 | goto fast_ata_pio; |
324 | 315 | ||
@@ -336,20 +327,6 @@ static int pdcnew_quirkproc(ide_drive_t *drive) | |||
336 | return check_in_drive_lists(drive, pdc_quirk_drives); | 327 | return check_in_drive_lists(drive, pdc_quirk_drives); |
337 | } | 328 | } |
338 | 329 | ||
339 | static int pdcnew_ide_dma_lostirq(ide_drive_t *drive) | ||
340 | { | ||
341 | if (HWIF(drive)->resetproc != NULL) | ||
342 | HWIF(drive)->resetproc(drive); | ||
343 | return __ide_dma_lostirq(drive); | ||
344 | } | ||
345 | |||
346 | static int pdcnew_ide_dma_timeout(ide_drive_t *drive) | ||
347 | { | ||
348 | if (HWIF(drive)->resetproc != NULL) | ||
349 | HWIF(drive)->resetproc(drive); | ||
350 | return __ide_dma_timeout(drive); | ||
351 | } | ||
352 | |||
353 | static void pdcnew_reset(ide_drive_t *drive) | 330 | static void pdcnew_reset(ide_drive_t *drive) |
354 | { | 331 | { |
355 | /* | 332 | /* |
@@ -599,8 +576,6 @@ static void __devinit init_hwif_pdc202new(ide_hwif_t *hwif) | |||
599 | hwif->err_stops_fifo = 1; | 576 | hwif->err_stops_fifo = 1; |
600 | 577 | ||
601 | hwif->ide_dma_check = &pdcnew_config_drive_xfer_rate; | 578 | hwif->ide_dma_check = &pdcnew_config_drive_xfer_rate; |
602 | hwif->ide_dma_lostirq = &pdcnew_ide_dma_lostirq; | ||
603 | hwif->ide_dma_timeout = &pdcnew_ide_dma_timeout; | ||
604 | 579 | ||
605 | if (!hwif->udma_four) | 580 | if (!hwif->udma_four) |
606 | hwif->udma_four = pdcnew_cable_detect(hwif) ? 0 : 1; | 581 | hwif->udma_four = pdcnew_cable_detect(hwif) ? 0 : 1; |