diff options
author | Arnd Bergmann <abergman@de.ibm.com> | 2006-03-22 18:00:04 -0500 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2006-03-26 22:48:14 -0500 |
commit | 5fa500bfc60f36c54bb20338795cc2facc0425f6 (patch) | |
tree | cc5de78de2439330bcd7d4db19598d3ec56bc20c | |
parent | dd4d7bfad635dddc56b74dab1894ef01c8c836e1 (diff) |
[PATCH] powerpc: fix cell iommu setup
A small bug crept in the iommu driver when we made it more
generic. This patch is needed for boards that have a dma
window that does not start at bus address zero.
Signed-off-by: Arnd Bergmann <arnd.bergmann@de.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
-rw-r--r-- | arch/powerpc/platforms/cell/iommu.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/powerpc/platforms/cell/iommu.c b/arch/powerpc/platforms/cell/iommu.c index 46e7cb9c3e64..c8a98be8b6a1 100644 --- a/arch/powerpc/platforms/cell/iommu.c +++ b/arch/powerpc/platforms/cell/iommu.c | |||
@@ -289,7 +289,7 @@ static void cell_do_map_iommu(struct cell_iommu *iommu, | |||
289 | ioc_base = iommu->mapped_base; | 289 | ioc_base = iommu->mapped_base; |
290 | ioc_mmio_base = iommu->mapped_mmio_base; | 290 | ioc_mmio_base = iommu->mapped_mmio_base; |
291 | 291 | ||
292 | for (real_address = 0, io_address = 0; | 292 | for (real_address = 0, io_address = map_start; |
293 | io_address <= map_start + map_size; | 293 | io_address <= map_start + map_size; |
294 | real_address += io_page_size, io_address += io_page_size) { | 294 | real_address += io_page_size, io_address += io_page_size) { |
295 | ioste = get_iost_entry(fake_iopt, io_address, io_page_size); | 295 | ioste = get_iost_entry(fake_iopt, io_address, io_page_size); |
@@ -302,7 +302,7 @@ static void cell_do_map_iommu(struct cell_iommu *iommu, | |||
302 | set_iopt_cache(ioc_mmio_base, | 302 | set_iopt_cache(ioc_mmio_base, |
303 | get_ioc_hash_1way(ioste, io_address), | 303 | get_ioc_hash_1way(ioste, io_address), |
304 | get_ioc_tag(ioste, io_address), | 304 | get_ioc_tag(ioste, io_address), |
305 | get_iopt_entry(real_address-map_start, ioid, IOPT_PROT_RW)); | 305 | get_iopt_entry(real_address, ioid, IOPT_PROT_RW)); |
306 | } | 306 | } |
307 | } | 307 | } |
308 | 308 | ||