diff options
author | Kanigeri, Hari <h-kanigeri2@ti.com> | 2010-05-23 22:01:50 -0400 |
---|---|---|
committer | Hiroshi DOYU <Hiroshi.DOYU@nokia.com> | 2010-06-29 00:55:06 -0400 |
commit | 993dd17e32cfb6cc058e1a4394dd113edf764186 (patch) | |
tree | e1fd70529b7e1a3ccce54ecddb59a91c3978f330 /arch/arm/mach-omap2/iommu2.c | |
parent | 124933599a11cab4b77a6d79d49312754e8ff88e (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/arm/mach-omap2/iommu2.c')
-rw-r--r-- | arch/arm/mach-omap2/iommu2.c | 12 |
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); |