Right now its difficult to see which device is running out of iommu space:
iommu_alloc failed, tbl c0076e096660 vaddr c00768806600 npages 1
Use dev_info() so we get the device name and location:
ipr :00:01.0: iommu_alloc failed, tbl c0076e096660 vaddr
c00768806600 npages 1
Signed-off-by: Anton Blanchard an...@samba.org
---
Index: powerpc.git/arch/powerpc/kernel/iommu.c
===
--- powerpc.git.orig/arch/powerpc/kernel/iommu.c2010-12-08
11:28:39.055483332 +1100
+++ powerpc.git/arch/powerpc/kernel/iommu.c 2010-12-08 11:30:54.569176185
+1100
@@ -311,8 +311,9 @@ int iommu_map_sg(struct device *dev, str
/* Handle failure */
if (unlikely(entry == DMA_ERROR_CODE)) {
if (printk_ratelimit())
- printk(KERN_INFO iommu_alloc failed, tbl %p
vaddr %lx
- npages %lx\n, tbl, vaddr, npages);
+ dev_info(dev, iommu_alloc failed, tbl %p
+vaddr %lx npages %lu\n, tbl, vaddr,
+npages);
goto failure;
}
@@ -579,9 +580,9 @@ dma_addr_t iommu_map_page(struct device
attrs);
if (dma_handle == DMA_ERROR_CODE) {
if (printk_ratelimit()) {
- printk(KERN_INFO iommu_alloc failed,
- tbl %p vaddr %p npages %d\n,
- tbl, vaddr, npages);
+ dev_info(dev, iommu_alloc failed, tbl %p
+vaddr %p npages %d\n, tbl, vaddr,
+npages);
}
} else
dma_handle |= (uaddr ~IOMMU_PAGE_MASK);
@@ -627,7 +628,8 @@ void *iommu_alloc_coherent(struct device
* the tce tables.
*/
if (order = IOMAP_MAX_ORDER) {
- printk(iommu_alloc_consistent size too large: 0x%lx\n, size);
+ dev_info(dev, iommu_alloc_consistent size too large: 0x%lx\n,
+size);
return NULL;
}
___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev