提交 dfa70f81 编写于 作者: O Olof Johansson 提交者: Paul Mackerras

[POWERPC] pasemi: Another IOMMU bugfix for 64K PAGE_SIZE

More fallout from the switch from PAGE_SIZE based IOMMU to the native page
size for the driver. By pure luck it happened to work most of the time, since
we end up invalidating the wrong entries in the TLB.
Signed-off-by: NOlof Johansson <olof@lixom.net>
Signed-off-by: NPaul Mackerras <paulus@samba.org>
上级 1a8f4610
...@@ -93,7 +93,7 @@ static void iobmap_build(struct iommu_table *tbl, long index, ...@@ -93,7 +93,7 @@ static void iobmap_build(struct iommu_table *tbl, long index,
pr_debug("iobmap: build at: %lx, %lx, addr: %lx\n", index, npages, uaddr); pr_debug("iobmap: build at: %lx, %lx, addr: %lx\n", index, npages, uaddr);
bus_addr = (tbl->it_offset + index) << PAGE_SHIFT; bus_addr = (tbl->it_offset + index) << IOBMAP_PAGE_SHIFT;
ip = ((u32 *)tbl->it_base) + index; ip = ((u32 *)tbl->it_base) + index;
...@@ -118,7 +118,7 @@ static void iobmap_free(struct iommu_table *tbl, long index, ...@@ -118,7 +118,7 @@ static void iobmap_free(struct iommu_table *tbl, long index,
pr_debug("iobmap: free at: %lx, %lx\n", index, npages); pr_debug("iobmap: free at: %lx, %lx\n", index, npages);
bus_addr = (tbl->it_offset + index) << PAGE_SHIFT; bus_addr = (tbl->it_offset + index) << IOBMAP_PAGE_SHIFT;
ip = ((u32 *)tbl->it_base) + index; ip = ((u32 *)tbl->it_base) + index;
...@@ -137,7 +137,7 @@ static void iommu_table_iobmap_setup(void) ...@@ -137,7 +137,7 @@ static void iommu_table_iobmap_setup(void)
iommu_table_iobmap.it_busno = 0; iommu_table_iobmap.it_busno = 0;
iommu_table_iobmap.it_offset = 0; iommu_table_iobmap.it_offset = 0;
/* it_size is in number of entries */ /* it_size is in number of entries */
iommu_table_iobmap.it_size = 0x80000000 >> PAGE_SHIFT; iommu_table_iobmap.it_size = 0x80000000 >> IOBMAP_PAGE_SHIFT;
/* Initialize the common IOMMU code */ /* Initialize the common IOMMU code */
iommu_table_iobmap.it_base = (unsigned long)iob_l2_base; iommu_table_iobmap.it_base = (unsigned long)iob_l2_base;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册