diff options
| -rw-r--r-- | arch/arm/mach-s5pv310/irq-combiner.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/arch/arm/mach-s5pv310/irq-combiner.c b/arch/arm/mach-s5pv310/irq-combiner.c index c3f88c3faf6c..aad5c3d525d1 100644 --- a/arch/arm/mach-s5pv310/irq-combiner.c +++ b/arch/arm/mach-s5pv310/irq-combiner.c | |||
| @@ -24,6 +24,7 @@ static DEFINE_SPINLOCK(irq_controller_lock); | |||
| 24 | 24 | ||
| 25 | struct combiner_chip_data { | 25 | struct combiner_chip_data { |
| 26 | unsigned int irq_offset; | 26 | unsigned int irq_offset; |
| 27 | unsigned int irq_mask; | ||
| 27 | void __iomem *base; | 28 | void __iomem *base; |
| 28 | }; | 29 | }; |
| 29 | 30 | ||
| @@ -62,6 +63,7 @@ static void combiner_handle_cascade_irq(unsigned int irq, struct irq_desc *desc) | |||
| 62 | spin_lock(&irq_controller_lock); | 63 | spin_lock(&irq_controller_lock); |
| 63 | status = __raw_readl(chip_data->base + COMBINER_INT_STATUS); | 64 | status = __raw_readl(chip_data->base + COMBINER_INT_STATUS); |
| 64 | spin_unlock(&irq_controller_lock); | 65 | spin_unlock(&irq_controller_lock); |
| 66 | status &= chip_data->irq_mask; | ||
| 65 | 67 | ||
| 66 | if (status == 0) | 68 | if (status == 0) |
| 67 | goto out; | 69 | goto out; |
| @@ -104,10 +106,12 @@ void __init combiner_init(unsigned int combiner_nr, void __iomem *base, | |||
| 104 | 106 | ||
| 105 | combiner_data[combiner_nr].base = base; | 107 | combiner_data[combiner_nr].base = base; |
| 106 | combiner_data[combiner_nr].irq_offset = irq_start; | 108 | combiner_data[combiner_nr].irq_offset = irq_start; |
| 109 | combiner_data[combiner_nr].irq_mask = 0xff << ((combiner_nr % 4) << 3); | ||
| 107 | 110 | ||
| 108 | /* Disable all interrupts */ | 111 | /* Disable all interrupts */ |
| 109 | 112 | ||
| 110 | __raw_writel(0xffffffff, base + COMBINER_ENABLE_CLEAR); | 113 | __raw_writel(combiner_data[combiner_nr].irq_mask, |
| 114 | base + COMBINER_ENABLE_CLEAR); | ||
| 111 | 115 | ||
| 112 | /* Setup the Linux IRQ subsystem */ | 116 | /* Setup the Linux IRQ subsystem */ |
| 113 | 117 | ||
