aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ide/setup-pci.c
diff options
context:
space:
mode:
authorBartlomiej Zolnierkiewicz <bzolnier@gmail.com>2008-02-02 13:56:30 -0500
committerBartlomiej Zolnierkiewicz <bzolnier@gmail.com>2008-02-02 13:56:30 -0500
commitbf77c5317168eb73894bcc9a455429c4589a179d (patch)
tree917da9a5545c3deb479f5a261df7773f725645ae /drivers/ide/setup-pci.c
parentd4e6d4eb164bc0a110e2e0ba031e713e6226a27a (diff)
ide: always set DMA masks in ide_pci_setup_ports()
Always set DMA masks in ide_pci_setup_ports() to make sure that the valid masks for a host are set. Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Diffstat (limited to 'drivers/ide/setup-pci.c')
-rw-r--r--drivers/ide/setup-pci.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/drivers/ide/setup-pci.c b/drivers/ide/setup-pci.c
index 05db429a7da8..acef85d1c581 100644
--- a/drivers/ide/setup-pci.c
+++ b/drivers/ide/setup-pci.c
@@ -558,10 +558,15 @@ void ide_pci_setup_ports(struct pci_dev *dev, const struct ide_port_info *d, int
558 hwif->drives[1].unmask = 1; 558 hwif->drives[1].unmask = 1;
559 } 559 }
560 560
561 if (hwif->dma_base) { 561 hwif->swdma_mask = d->swdma_mask;
562 hwif->swdma_mask = d->swdma_mask; 562 hwif->mwdma_mask = d->mwdma_mask;
563 hwif->mwdma_mask = d->mwdma_mask; 563 hwif->ultra_mask = d->udma_mask;
564 hwif->ultra_mask = d->udma_mask; 564
565 if ((d->host_flags && IDE_HFLAG_NO_DMA) == 0 &&
566 hwif->dma_base == 0) {
567 hwif->swdma_mask = 0;
568 hwif->mwdma_mask = 0;
569 hwif->ultra_mask = 0;
565 } 570 }
566 571
567 hwif->drives[0].autotune = 1; 572 hwif->drives[0].autotune = 1;