aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBartlomiej Zolnierkiewicz <bzolnier@gmail.com>2007-07-19 19:11:56 -0400
committerBartlomiej Zolnierkiewicz <bzolnier@gmail.com>2007-07-19 19:11:56 -0400
commit1c164acf50146d8a82caed642951390e073620f1 (patch)
treeb83f3f02719406dfd9bdd477c9a03bfa4bd747b4
parent1880a8d7f2d0587e657e3292166003636067b7ea (diff)
serverworks: fix DMA
The driver used to depend on BIOS settings for deciding whether it is OK to use DMA. However it seems that BIOS doesn't always handle all cases correctly so just let IDE core to decide about this. It should be a safe thing to do now, after the driver went through heavy bugfixing. Thanks for bugreport and testing the patch goes out to Sven Niedner. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
-rw-r--r--drivers/ide/pci/serverworks.c8
1 files changed, 2 insertions, 6 deletions
diff --git a/drivers/ide/pci/serverworks.c b/drivers/ide/pci/serverworks.c
index 011245246b1f..abc3cd58aaa9 100644
--- a/drivers/ide/pci/serverworks.c
+++ b/drivers/ide/pci/serverworks.c
@@ -1,5 +1,5 @@
1/* 1/*
2 * linux/drivers/ide/pci/serverworks.c Version 0.21 Jun 16 2007 2 * linux/drivers/ide/pci/serverworks.c Version 0.22 Jun 27 2007
3 * 3 *
4 * Copyright (C) 1998-2000 Michel Aubry 4 * Copyright (C) 1998-2000 Michel Aubry
5 * Copyright (C) 1998-2000 Andrzej Krzysztofowicz 5 * Copyright (C) 1998-2000 Andrzej Krzysztofowicz
@@ -387,8 +387,6 @@ static u8 __devinit ata66_svwks(ide_hwif_t *hwif)
387 387
388static void __devinit init_hwif_svwks (ide_hwif_t *hwif) 388static void __devinit init_hwif_svwks (ide_hwif_t *hwif)
389{ 389{
390 u8 dma_stat = 0;
391
392 if (!hwif->irq) 390 if (!hwif->irq)
393 hwif->irq = hwif->channel ? 15 : 14; 391 hwif->irq = hwif->channel ? 15 : 14;
394 392
@@ -419,9 +417,7 @@ static void __devinit init_hwif_svwks (ide_hwif_t *hwif)
419 if (!noautodma) 417 if (!noautodma)
420 hwif->autodma = 1; 418 hwif->autodma = 1;
421 419
422 dma_stat = inb(hwif->dma_status); 420 hwif->drives[0].autodma = hwif->drives[1].autodma = 1;
423 hwif->drives[0].autodma = (dma_stat & 0x20);
424 hwif->drives[1].autodma = (dma_stat & 0x40);
425} 421}
426 422
427static int __devinit init_setup_svwks (struct pci_dev *dev, ide_pci_device_t *d) 423static int __devinit init_setup_svwks (struct pci_dev *dev, ide_pci_device_t *d)