diff options
Diffstat (limited to 'drivers/ide/pci/sc1200.c')
-rw-r--r-- | drivers/ide/pci/sc1200.c | 24 |
1 files changed, 14 insertions, 10 deletions
diff --git a/drivers/ide/pci/sc1200.c b/drivers/ide/pci/sc1200.c index 76f0868054a1..ee0e3f554d9a 100644 --- a/drivers/ide/pci/sc1200.c +++ b/drivers/ide/pci/sc1200.c | |||
@@ -378,16 +378,20 @@ static void __devinit init_hwif_sc1200 (ide_hwif_t *hwif) | |||
378 | if (hwif->mate) | 378 | if (hwif->mate) |
379 | hwif->serialized = hwif->mate->serialized = 1; | 379 | hwif->serialized = hwif->mate->serialized = 1; |
380 | hwif->autodma = 0; | 380 | hwif->autodma = 0; |
381 | if (hwif->dma_base) { | 381 | |
382 | hwif->udma_filter = sc1200_udma_filter; | 382 | hwif->set_pio_mode = &sc1200_set_pio_mode; |
383 | hwif->ide_dma_check = &sc1200_config_dma; | 383 | hwif->set_dma_mode = &sc1200_set_dma_mode; |
384 | hwif->ide_dma_end = &sc1200_ide_dma_end; | 384 | |
385 | if (!noautodma) | 385 | if (hwif->dma_base == 0) |
386 | hwif->autodma = 1; | 386 | return; |
387 | 387 | ||
388 | hwif->set_pio_mode = &sc1200_set_pio_mode; | 388 | hwif->udma_filter = sc1200_udma_filter; |
389 | hwif->set_dma_mode = &sc1200_set_dma_mode; | 389 | hwif->ide_dma_check = &sc1200_config_dma; |
390 | } | 390 | hwif->ide_dma_end = &sc1200_ide_dma_end; |
391 | |||
392 | if (!noautodma) | ||
393 | hwif->autodma = 1; | ||
394 | |||
391 | hwif->atapi_dma = 1; | 395 | hwif->atapi_dma = 1; |
392 | hwif->ultra_mask = 0x07; | 396 | hwif->ultra_mask = 0x07; |
393 | hwif->mwdma_mask = 0x07; | 397 | hwif->mwdma_mask = 0x07; |