diff options
author | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2007-02-16 20:40:26 -0500 |
---|---|---|
committer | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2007-02-16 20:40:26 -0500 |
commit | 3608b5d71a52c053787dbad6af20c25f7e0b75a9 (patch) | |
tree | 5bd6ac777d32d8426e65e3c31cc1587674771e8c /drivers/ide/pci/serverworks.c | |
parent | 9ef5791e1be91007951477b8ed1530ac1166a8e7 (diff) |
ide: add ide_set_dma() helper (v2)
* add ide_set_dma() helper and make ide_hwif_t.ide_dma_check return
-1 when DMA needs to be disabled (== need to call ->ide_dma_off_quietly)
0 when DMA needs to be enabled (== need to call ->ide_dma_on)
1 when DMA setting shouldn't be changed
* fix IDE code to use ide_set_dma() instead if using ->ide_dma_check directly
v2:
* updated for scc_pata
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Diffstat (limited to 'drivers/ide/pci/serverworks.c')
-rw-r--r-- | drivers/ide/pci/serverworks.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/drivers/ide/pci/serverworks.c b/drivers/ide/pci/serverworks.c index f44a5ab8fe00..dbcd37a0c652 100644 --- a/drivers/ide/pci/serverworks.c +++ b/drivers/ide/pci/serverworks.c | |||
@@ -315,17 +315,15 @@ static int config_chipset_for_dma (ide_drive_t *drive) | |||
315 | 315 | ||
316 | static int svwks_config_drive_xfer_rate (ide_drive_t *drive) | 316 | static int svwks_config_drive_xfer_rate (ide_drive_t *drive) |
317 | { | 317 | { |
318 | ide_hwif_t *hwif = HWIF(drive); | ||
319 | |||
320 | drive->init_speed = 0; | 318 | drive->init_speed = 0; |
321 | 319 | ||
322 | if (ide_use_dma(drive) && config_chipset_for_dma(drive)) | 320 | if (ide_use_dma(drive) && config_chipset_for_dma(drive)) |
323 | return hwif->ide_dma_on(drive); | 321 | return 0; |
324 | 322 | ||
325 | if (ide_use_fast_pio(drive)) | 323 | if (ide_use_fast_pio(drive)) |
326 | config_chipset_for_pio(drive); | 324 | config_chipset_for_pio(drive); |
327 | 325 | ||
328 | return hwif->ide_dma_off_quietly(drive); | 326 | return -1; |
329 | } | 327 | } |
330 | 328 | ||
331 | static unsigned int __devinit init_chipset_svwks (struct pci_dev *dev, const char *name) | 329 | static unsigned int __devinit init_chipset_svwks (struct pci_dev *dev, const char *name) |