aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorKanigeri, Hari <h-kanigeri2@ti.com>2010-05-23 22:01:50 -0400
committerHiroshi DOYU <Hiroshi.DOYU@nokia.com>2010-06-29 00:55:06 -0400
commit993dd17e32cfb6cc058e1a4394dd113edf764186 (patch)
treee1fd70529b7e1a3ccce54ecddb59a91c3978f330 /arch
parent124933599a11cab4b77a6d79d49312754e8ff88e (diff)
omap iommu: update irq mask to be specific about twl and tlb
Revise the IRQ mask definitions to handle the MMU faults related to TWL fault as well as TLB miss fault. Signed-off-by: Hari Kanigeri <h-kanigeri2@ti.com> Signed-off-by: Hiroshi Doyu <Hiroshi.DOYU@nokia.com>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/mach-omap2/iommu2.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/arch/arm/mach-omap2/iommu2.c b/arch/arm/mach-omap2/iommu2.c
index e82da680d908..ebbdae262f78 100644
--- a/arch/arm/mach-omap2/iommu2.c
+++ b/arch/arm/mach-omap2/iommu2.c
@@ -44,9 +44,13 @@
44#define MMU_IRQ_EMUMISS (1 << 2) 44#define MMU_IRQ_EMUMISS (1 << 2)
45#define MMU_IRQ_TRANSLATIONFAULT (1 << 1) 45#define MMU_IRQ_TRANSLATIONFAULT (1 << 1)
46#define MMU_IRQ_TLBMISS (1 << 0) 46#define MMU_IRQ_TLBMISS (1 << 0)
47#define MMU_IRQ_MASK \ 47
48 (MMU_IRQ_MULTIHITFAULT | MMU_IRQ_TABLEWALKFAULT | MMU_IRQ_EMUMISS | \ 48#define __MMU_IRQ_FAULT \
49 MMU_IRQ_TRANSLATIONFAULT) 49 (MMU_IRQ_MULTIHITFAULT | MMU_IRQ_EMUMISS | MMU_IRQ_TRANSLATIONFAULT)
50#define MMU_IRQ_MASK \
51 (__MMU_IRQ_FAULT | MMU_IRQ_TABLEWALKFAULT | MMU_IRQ_TLBMISS)
52#define MMU_IRQ_TWL_MASK (__MMU_IRQ_FAULT | MMU_IRQ_TABLEWALKFAULT)
53#define MMU_IRQ_TLB_MISS_MASK (__MMU_IRQ_FAULT | MMU_IRQ_TLBMISS)
50 54
51/* MMU_CNTL */ 55/* MMU_CNTL */
52#define MMU_CNTL_SHIFT 1 56#define MMU_CNTL_SHIFT 1
@@ -96,7 +100,7 @@ static int omap2_iommu_enable(struct iommu *obj)
96 l |= (MMU_SYS_IDLE_SMART | MMU_SYS_AUTOIDLE); 100 l |= (MMU_SYS_IDLE_SMART | MMU_SYS_AUTOIDLE);
97 iommu_write_reg(obj, l, MMU_SYSCONFIG); 101 iommu_write_reg(obj, l, MMU_SYSCONFIG);
98 102
99 iommu_write_reg(obj, MMU_IRQ_MASK, MMU_IRQENABLE); 103 iommu_write_reg(obj, MMU_IRQ_TWL_MASK, MMU_IRQENABLE);
100 iommu_write_reg(obj, pa, MMU_TTB); 104 iommu_write_reg(obj, pa, MMU_TTB);
101 105
102 l = iommu_read_reg(obj, MMU_CNTL); 106 l = iommu_read_reg(obj, MMU_CNTL);