diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2008-04-28 20:30:26 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-04-28 20:30:26 -0400 |
commit | 8ab68ab420d5fc084b8cdd76a72df72c5e1cdb5d (patch) | |
tree | 6aef86d06a5eda99f09ac00c1af4084c2d49d2ac /drivers/ide/ide-dma.c | |
parent | f05c463be51898e745c4aa8245b05e25d73fa975 (diff) | |
parent | 7b255436df0543856faaae4704034fe83bc20717 (diff) |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: (35 commits)
siimage: coding style cleanup (take 2)
ide-cd: clean up cdrom_analyze_sense_data()
ide-cd: fix test unsigned var < 0
ide: add TSSTcorp CDDVDW SH-S202H to ivb_list[]
piix: add Asus Eee 701 controller to short cable list
ARM: always select HAVE_IDE
remove the broken ETRAX_IDE driver
ide: remove ->dma_prdtable field from ide_hwif_t
ide: remove ->dma_vendor{1,3} fields from ide_hwif_t
scc_pata: add ->dma_host_set and ->dma_start methods
ide: skip "VLB sync" if host uses MMIO
ide: add ide_pad_transfer() helper
ide: remove ->INW and ->OUTW methods
ide: use IDE I/O helpers directly in ide_tf_{load,read}()
ns87415: add ->tf_read method
scc_pata: add ->tf_{load,read} methods
ide-h8300: add ->tf_{load,read} methods
ide-cris: add ->tf_{load,read} methods
ide: add ->tf_load and ->tf_read methods
ide: move ide_tf_{load,read} to ide-iops.c
...
Diffstat (limited to 'drivers/ide/ide-dma.c')
-rw-r--r-- | drivers/ide/ide-dma.c | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/drivers/ide/ide-dma.c b/drivers/ide/ide-dma.c index c352cf27b6e7..653b1ade13d3 100644 --- a/drivers/ide/ide-dma.c +++ b/drivers/ide/ide-dma.c | |||
@@ -464,9 +464,10 @@ int ide_dma_setup(ide_drive_t *drive) | |||
464 | 464 | ||
465 | /* PRD table */ | 465 | /* PRD table */ |
466 | if (hwif->mmio) | 466 | if (hwif->mmio) |
467 | writel(hwif->dmatable_dma, (void __iomem *)hwif->dma_prdtable); | 467 | writel(hwif->dmatable_dma, |
468 | (void __iomem *)(hwif->dma_base + ATA_DMA_TABLE_OFS)); | ||
468 | else | 469 | else |
469 | outl(hwif->dmatable_dma, hwif->dma_prdtable); | 470 | outl(hwif->dmatable_dma, hwif->dma_base + ATA_DMA_TABLE_OFS); |
470 | 471 | ||
471 | /* specify r/w */ | 472 | /* specify r/w */ |
472 | hwif->OUTB(reading, hwif->dma_command); | 473 | hwif->OUTB(reading, hwif->dma_command); |
@@ -858,14 +859,8 @@ void ide_setup_dma(ide_hwif_t *hwif, unsigned long base) | |||
858 | 859 | ||
859 | if (!hwif->dma_command) | 860 | if (!hwif->dma_command) |
860 | hwif->dma_command = hwif->dma_base + 0; | 861 | hwif->dma_command = hwif->dma_base + 0; |
861 | if (!hwif->dma_vendor1) | ||
862 | hwif->dma_vendor1 = hwif->dma_base + 1; | ||
863 | if (!hwif->dma_status) | 862 | if (!hwif->dma_status) |
864 | hwif->dma_status = hwif->dma_base + 2; | 863 | hwif->dma_status = hwif->dma_base + 2; |
865 | if (!hwif->dma_vendor3) | ||
866 | hwif->dma_vendor3 = hwif->dma_base + 3; | ||
867 | if (!hwif->dma_prdtable) | ||
868 | hwif->dma_prdtable = hwif->dma_base + 4; | ||
869 | 864 | ||
870 | hwif->dma_ops = &sff_dma_ops; | 865 | hwif->dma_ops = &sff_dma_ops; |
871 | } | 866 | } |