aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorOlof Johansson <olof@lixom.net>2008-01-31 01:41:30 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2008-01-31 03:59:44 -0500
commit24af8cb86973dde9bf8df51bef923fda8718bdb5 (patch)
tree984e150e7160ac027b9c77651e98f614811cf273 /arch
parent8af03e782cae1e0a0f530ddd22301cdd12cf9dc0 (diff)
POWERPC: Set dma_data correctly for direct_ops on pasemi
More late-caught fallout from the mainline merge. Commit 35e4a6e26d0c6bc7f32087db61f0fb3666531183 ("[POWERPC] Use archdata.dma_data in dma_direct_ops and add the offset") claimed "Now that all platforms using dma_direct_offset setup the archdata.dma_data correctly, ..." ..but nope -- the pasemi iommu setup code that disables translation on the DMA pci device didn't set dma_data correctly. This fixes it. Signed-off-by: Olof Johansson <olof@lixom.net> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'arch')
-rw-r--r--arch/powerpc/platforms/pasemi/iommu.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/arch/powerpc/platforms/pasemi/iommu.c b/arch/powerpc/platforms/pasemi/iommu.c
index 9916a0f3e431..c5cfd4b04a83 100644
--- a/arch/powerpc/platforms/pasemi/iommu.c
+++ b/arch/powerpc/platforms/pasemi/iommu.c
@@ -182,8 +182,10 @@ static void pci_dma_dev_setup_pasemi(struct pci_dev *dev)
182 * CONFIG_PPC_PASEMI_IOMMU_DMA_FORCE at build time. 182 * CONFIG_PPC_PASEMI_IOMMU_DMA_FORCE at build time.
183 */ 183 */
184 if (dev->vendor == 0x1959 && dev->device == 0xa007 && 184 if (dev->vendor == 0x1959 && dev->device == 0xa007 &&
185 !firmware_has_feature(FW_FEATURE_LPAR)) 185 !firmware_has_feature(FW_FEATURE_LPAR)) {
186 dev->dev.archdata.dma_ops = &dma_direct_ops; 186 dev->dev.archdata.dma_ops = &dma_direct_ops;
187 dev->dev.archdata.dma_data = 0;
188 }
187#endif 189#endif
188 190
189 dev->dev.archdata.dma_data = &iommu_table_iobmap; 191 dev->dev.archdata.dma_data = &iommu_table_iobmap;