[PATCH] [POWERPC] Set dma_data correctly for direct_ops on pasemi

Olof Johansson olof at lixom.net
Thu Jan 31 17:41:30 EST 2008

More late-caught fallout from the mainline merge. The patch:

[POWERPC] Use archdata.dma_data in dma_direct_ops and add the offset

"Now that all platforms using dma_direct_offset setup the
archdata.dma_data correctly, ..."

Nope -- the pasemi iommu setup code that disables translation on the
DMA pci device didn't set dma_data correctly.

The below patch is needed, please merge as soon as practical. Thanks!

Signed-off-by: Olof Johansson <olof at lixom.net>

diff --git a/arch/powerpc/platforms/pasemi/iommu.c b/arch/powerpc/platforms/pasemi/iommu.c
index 9916a0f..c5cfd4b 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)
 	if (dev->vendor == 0x1959 && dev->device == 0xa007 &&
-	    !firmware_has_feature(FW_FEATURE_LPAR))
+	    !firmware_has_feature(FW_FEATURE_LPAR)) {
 		dev->dev.archdata.dma_ops = &dma_direct_ops;
+		dev->dev.archdata.dma_data = 0;
+	}
 	dev->dev.archdata.dma_data = &iommu_table_iobmap;

More information about the Linuxppc-dev mailing list