Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 92e753d7 authored by David Cohen's avatar David Cohen Committed by Tony Lindgren
Browse files

OMAP2+: IOMMU: don't print fault warning on specific layer



IOMMU upper layer and user are responsible to handle a fault and to
define whether it will end up as an error or not. OMAP2+ specific
layer should not print anything in such case.

Signed-off-by: default avatarDavid Cohen <dacohen@gmail.com>
Acked-by: default avatarHiroshi DOYU <Hiroshi.DOYU@nokia.com>
Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
parent 82d2a5db
Loading
Loading
Loading
Loading
+0 −16
Original line number Original line Diff line number Diff line
@@ -145,15 +145,7 @@ static void omap2_iommu_set_twl(struct iommu *obj, bool on)


static u32 omap2_iommu_fault_isr(struct iommu *obj, u32 *ra)
static u32 omap2_iommu_fault_isr(struct iommu *obj, u32 *ra)
{
{
	int i;
	u32 stat, da;
	u32 stat, da;
	const char *err_msg[] =	{
		"tlb miss",
		"translation fault",
		"emulation miss",
		"table walk fault",
		"multi hit fault",
	};


	stat = iommu_read_reg(obj, MMU_IRQSTATUS);
	stat = iommu_read_reg(obj, MMU_IRQSTATUS);
	stat &= MMU_IRQ_MASK;
	stat &= MMU_IRQ_MASK;
@@ -163,14 +155,6 @@ static u32 omap2_iommu_fault_isr(struct iommu *obj, u32 *ra)
	da = iommu_read_reg(obj, MMU_FAULT_AD);
	da = iommu_read_reg(obj, MMU_FAULT_AD);
	*ra = da;
	*ra = da;


	dev_err(obj->dev, "%s:\tda:%08x ", __func__, da);

	for (i = 0; i < ARRAY_SIZE(err_msg); i++) {
		if (stat & (1 << i))
			printk("%s ", err_msg[i]);
	}
	printk("\n");

	iommu_write_reg(obj, stat, MMU_IRQSTATUS);
	iommu_write_reg(obj, stat, MMU_IRQSTATUS);


	return stat;
	return stat;