diff options
Diffstat (limited to 'arch/powerpc/platforms/cell/iommu.c')
-rw-r--r-- | arch/powerpc/platforms/cell/iommu.c | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/arch/powerpc/platforms/cell/iommu.c b/arch/powerpc/platforms/cell/iommu.c index a49ceb799a8e..a35004e14c69 100644 --- a/arch/powerpc/platforms/cell/iommu.c +++ b/arch/powerpc/platforms/cell/iommu.c | |||
@@ -473,6 +473,16 @@ static int cell_dma_supported(struct device *dev, u64 mask) | |||
473 | return mask < 0x100000000ull; | 473 | return mask < 0x100000000ull; |
474 | } | 474 | } |
475 | 475 | ||
476 | static struct dma_mapping_ops cell_iommu_ops = { | ||
477 | .alloc_coherent = cell_alloc_coherent, | ||
478 | .free_coherent = cell_free_coherent, | ||
479 | .map_single = cell_map_single, | ||
480 | .unmap_single = cell_unmap_single, | ||
481 | .map_sg = cell_map_sg, | ||
482 | .unmap_sg = cell_unmap_sg, | ||
483 | .dma_supported = cell_dma_supported, | ||
484 | }; | ||
485 | |||
476 | void cell_init_iommu(void) | 486 | void cell_init_iommu(void) |
477 | { | 487 | { |
478 | int setup_bus = 0; | 488 | int setup_bus = 0; |
@@ -498,11 +508,5 @@ void cell_init_iommu(void) | |||
498 | } | 508 | } |
499 | } | 509 | } |
500 | 510 | ||
501 | pci_dma_ops.alloc_coherent = cell_alloc_coherent; | 511 | pci_dma_ops = cell_iommu_ops; |
502 | pci_dma_ops.free_coherent = cell_free_coherent; | ||
503 | pci_dma_ops.map_single = cell_map_single; | ||
504 | pci_dma_ops.unmap_single = cell_unmap_single; | ||
505 | pci_dma_ops.map_sg = cell_map_sg; | ||
506 | pci_dma_ops.unmap_sg = cell_unmap_sg; | ||
507 | pci_dma_ops.dma_supported = cell_dma_supported; | ||
508 | } | 512 | } |