.. | .. |
---|
44 | 44 | static void xtensa_irq_mask(struct irq_data *d) |
---|
45 | 45 | { |
---|
46 | 46 | cached_irq_mask &= ~(1 << d->hwirq); |
---|
47 | | - set_sr(cached_irq_mask, intenable); |
---|
| 47 | + xtensa_set_sr(cached_irq_mask, intenable); |
---|
48 | 48 | } |
---|
49 | 49 | |
---|
50 | 50 | static void xtensa_irq_unmask(struct irq_data *d) |
---|
51 | 51 | { |
---|
52 | 52 | cached_irq_mask |= 1 << d->hwirq; |
---|
53 | | - set_sr(cached_irq_mask, intenable); |
---|
| 53 | + xtensa_set_sr(cached_irq_mask, intenable); |
---|
54 | 54 | } |
---|
55 | 55 | |
---|
56 | 56 | static void xtensa_irq_enable(struct irq_data *d) |
---|
.. | .. |
---|
65 | 65 | |
---|
66 | 66 | static void xtensa_irq_ack(struct irq_data *d) |
---|
67 | 67 | { |
---|
68 | | - set_sr(1 << d->hwirq, intclear); |
---|
| 68 | + xtensa_set_sr(1 << d->hwirq, intclear); |
---|
69 | 69 | } |
---|
70 | 70 | |
---|
71 | 71 | static int xtensa_irq_retrigger(struct irq_data *d) |
---|
72 | 72 | { |
---|
73 | | - set_sr(1 << d->hwirq, intset); |
---|
| 73 | + unsigned int mask = 1u << d->hwirq; |
---|
| 74 | + |
---|
| 75 | + if (WARN_ON(mask & ~XCHAL_INTTYPE_MASK_SOFTWARE)) |
---|
| 76 | + return 0; |
---|
| 77 | + xtensa_set_sr(mask, intset); |
---|
74 | 78 | return 1; |
---|
75 | 79 | } |
---|
76 | 80 | |
---|