diff options
Diffstat (limited to 'arch/microblaze/kernel/intc.c')
| -rw-r--r-- | arch/microblaze/kernel/intc.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/arch/microblaze/kernel/intc.c b/arch/microblaze/kernel/intc.c index 6c54d4dcdec3..7a1a8d4354fe 100644 --- a/arch/microblaze/kernel/intc.c +++ b/arch/microblaze/kernel/intc.c | |||
| @@ -44,7 +44,6 @@ static void intc_enable_or_unmask(struct irq_data *d) | |||
| 44 | unsigned long mask = 1 << d->hwirq; | 44 | unsigned long mask = 1 << d->hwirq; |
| 45 | 45 | ||
| 46 | pr_debug("enable_or_unmask: %ld\n", d->hwirq); | 46 | pr_debug("enable_or_unmask: %ld\n", d->hwirq); |
| 47 | out_be32(INTC_BASE + SIE, mask); | ||
| 48 | 47 | ||
| 49 | /* ack level irqs because they can't be acked during | 48 | /* ack level irqs because they can't be acked during |
| 50 | * ack function since the handle_level_irq function | 49 | * ack function since the handle_level_irq function |
| @@ -52,6 +51,8 @@ static void intc_enable_or_unmask(struct irq_data *d) | |||
| 52 | */ | 51 | */ |
| 53 | if (irqd_is_level_type(d)) | 52 | if (irqd_is_level_type(d)) |
| 54 | out_be32(INTC_BASE + IAR, mask); | 53 | out_be32(INTC_BASE + IAR, mask); |
| 54 | |||
| 55 | out_be32(INTC_BASE + SIE, mask); | ||
| 55 | } | 56 | } |
| 56 | 57 | ||
| 57 | static void intc_disable_or_mask(struct irq_data *d) | 58 | static void intc_disable_or_mask(struct irq_data *d) |
| @@ -98,7 +99,7 @@ unsigned int get_irq(void) | |||
| 98 | return irq; | 99 | return irq; |
| 99 | } | 100 | } |
| 100 | 101 | ||
| 101 | int xintc_map(struct irq_domain *d, unsigned int irq, irq_hw_number_t hw) | 102 | static int xintc_map(struct irq_domain *d, unsigned int irq, irq_hw_number_t hw) |
| 102 | { | 103 | { |
| 103 | u32 intr_mask = (u32)d->host_data; | 104 | u32 intr_mask = (u32)d->host_data; |
| 104 | 105 | ||
