git.openpandora.org
/
pandora-kernel.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'linus' into core/generic-dma-coherent
[pandora-kernel.git]
/
arch
/
powerpc
/
platforms
/
cell
/
iommu.c
diff --git
a/arch/powerpc/platforms/cell/iommu.c
b/arch/powerpc/platforms/cell/iommu.c
index
45646b2
..
eeacb3a
100644
(file)
--- a/
arch/powerpc/platforms/cell/iommu.c
+++ b/
arch/powerpc/platforms/cell/iommu.c
@@
-540,7
+540,7
@@
static unsigned long cell_dma_direct_offset;
static unsigned long dma_iommu_fixed_base;
struct dma_mapping_ops dma_iommu_fixed_ops;
static unsigned long dma_iommu_fixed_base;
struct dma_mapping_ops dma_iommu_fixed_ops;
-static
void cell_dma_dev_setup_iommu
(struct device *dev)
+static
struct iommu_table *cell_get_iommu_table
(struct device *dev)
{
struct iommu_window *window;
struct cbe_iommu *iommu;
{
struct iommu_window *window;
struct cbe_iommu *iommu;
@@
-555,11
+555,11
@@
static void cell_dma_dev_setup_iommu(struct device *dev)
printk(KERN_ERR "iommu: missing iommu for %s (node %d)\n",
archdata->of_node ? archdata->of_node->full_name : "?",
archdata->numa_node);
printk(KERN_ERR "iommu: missing iommu for %s (node %d)\n",
archdata->of_node ? archdata->of_node->full_name : "?",
archdata->numa_node);
- return;
+ return
NULL
;
}
window = list_entry(iommu->windows.next, struct iommu_window, list);
}
window = list_entry(iommu->windows.next, struct iommu_window, list);
-
archdata->dma_data =
&window->table;
+
return
&window->table;
}
static void cell_dma_dev_setup_fixed(struct device *dev);
}
static void cell_dma_dev_setup_fixed(struct device *dev);
@@
-572,7
+572,7
@@
static void cell_dma_dev_setup(struct device *dev)
if (get_dma_ops(dev) == &dma_iommu_fixed_ops)
cell_dma_dev_setup_fixed(dev);
else if (get_pci_dma_ops() == &dma_iommu_ops)
if (get_dma_ops(dev) == &dma_iommu_fixed_ops)
cell_dma_dev_setup_fixed(dev);
else if (get_pci_dma_ops() == &dma_iommu_ops)
-
cell_dma_dev_setup_iommu
(dev);
+
archdata->dma_data = cell_get_iommu_table
(dev);
else if (get_pci_dma_ops() == &dma_direct_ops)
archdata->dma_data = (void *)cell_dma_direct_offset;
else
else if (get_pci_dma_ops() == &dma_direct_ops)
archdata->dma_data = (void *)cell_dma_direct_offset;
else