[PATCH v3] arm: msm: Add MSM IOMMU support.
Joe Perches
joe at perches.com
Mon Aug 9 23:08:09 EDT 2010
On Mon, 2010-08-09 at 19:27 -0700, Stepan Moskovchenko wrote:
> Add support for the IOMMUs found on the upcoming Qualcomm
> MSM8x60 chips. These IOMMUs allow virtualization of the
> address space used by most of the multimedia cores on these
> chips. The driver implements the kernel's IOMMU API.
> diff --git a/arch/arm/mach-msm/iommu.c b/arch/arm/mach-msm/iommu.c
> new file mode 100644
> index 0000000..b22aecd
> --- /dev/null
> +++ b/arch/arm/mach-msm/iommu.c
> @@ -0,0 +1,601 @@
Why use both pr_err and printk(KERN_ERR ?
> +#define pr_fmt(fmt) "%s %i " fmt, __func__, __LINE__
> + pr_err("bad size: %d\n", len);
> + pr_err("null page table\n");
> + pr_err("could not allocate second level table\n");
> + pr_err("null page table\n");
> + pr_err("first level PTE is 0\n");
> + printk(KERN_ERR "FAR = %08x PAR = %08x\n",
> + printk(KERN_ERR "FSR = %08x [%s%s%s%s%s%s%s%s%s%s]\n", fsr,
> + printk(KERN_ERR "FSYNR0 = %08x FSYNR1 = %08x\n",
> + printk(KERN_ERR "TTBR0 = %08x TTBR1 = %08x\n",
> + printk(KERN_ERR "SCTLR = %08x ACTLR = %08x\n",
> + printk(KERN_ERR "PRRR = %08x NMRR = %08x\n",
> + pr_err("Invalid device ID in context interrupt handler\n");
> + printk(KERN_ERR "===== WOAH! =====\n");
> + printk(KERN_ERR "Unexpected IOMMU page fault!\n");
> + printk(KERN_ERR "base = %08x\n", (unsigned int) base);
> + printk(KERN_ERR "Fault occurred in context %d.\n", i);
> + printk(KERN_ERR "Interesting registers:\n");
> + printk(KERN_ERR "\n");
More information about the linux-arm-kernel
mailing list