forked from Minki/linux
POWERPC: Set dma_data correctly for direct_ops on pasemi
More late-caught fallout from the mainline merge. Commit
35e4a6e26d
("[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>
This commit is contained in:
parent
8af03e782c
commit
24af8cb869
@ -182,8 +182,10 @@ static void pci_dma_dev_setup_pasemi(struct pci_dev *dev)
|
|||||||
* CONFIG_PPC_PASEMI_IOMMU_DMA_FORCE at build time.
|
* CONFIG_PPC_PASEMI_IOMMU_DMA_FORCE at build time.
|
||||||
*/
|
*/
|
||||||
if (dev->vendor == 0x1959 && dev->device == 0xa007 &&
|
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_ops = &dma_direct_ops;
|
||||||
|
dev->dev.archdata.dma_data = 0;
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
dev->dev.archdata.dma_data = &iommu_table_iobmap;
|
dev->dev.archdata.dma_data = &iommu_table_iobmap;
|
||||||
|
Loading…
Reference in New Issue
Block a user