Date: | 2010-05-28 15:33:49 (13 years 10 months ago) |
---|---|
Author: | Lars C. |
Commit: | 3036ab5b8d713797344c1d6e82d08345f636f80f |
Message: | jz4740: intc: Do not ack pending irqs Pending IRQs are auto cleared when their source is cleared. |
Files: |
arch/mips/jz4740/irq.c (3 diffs) |
Change Details
arch/mips/jz4740/irq.c | ||
---|---|---|
53 | 53 | writel(IRQ_BIT(irq), jz_intc_base + JZ_REG_INTC_SET_MASK); |
54 | 54 | } |
55 | 55 | |
56 | static void intc_irq_ack(unsigned int irq) | |
57 | { | |
58 | writel(IRQ_BIT(irq), jz_intc_base + JZ_REG_INTC_PENDING); | |
59 | } | |
60 | ||
61 | 56 | static int intc_irq_set_wake(unsigned int irq, unsigned int on) |
62 | 57 | { |
63 | 58 | if (on) |
... | ... | |
71 | 66 | static struct irq_chip intc_irq_type = { |
72 | 67 | .name = "INTC", |
73 | 68 | .mask = intc_irq_mask, |
69 | .mask_ack = intc_irq_mask, | |
74 | 70 | .unmask = intc_irq_unmask, |
75 | .ack = intc_irq_ack, | |
76 | 71 | .set_wake = intc_irq_set_wake, |
77 | 72 | }; |
78 | 73 | |
... | ... | |
82 | 77 | int intc_irq; |
83 | 78 | |
84 | 79 | irq_reg = readl(jz_intc_base + JZ_REG_INTC_PENDING); |
80 | ||
85 | 81 | intc_irq = ffs(irq_reg); |
86 | 82 | if (intc_irq) |
87 | 83 | generic_handle_irq(intc_irq - 1 + JZ4740_IRQ_BASE); |
Branches:
ben-wpan
ben-wpan-stefan
5396a9238205f20f811ea57898980d3ca82df0b6
jz-2.6.34
jz-2.6.34-rc5
jz-2.6.34-rc6
jz-2.6.34-rc7
jz-2.6.35
jz-2.6.36
jz-2.6.37
jz-2.6.38
jz-2.6.39
jz-3.0
jz-3.1
jz-3.11
jz-3.12
jz-3.13
jz-3.15
jz-3.16
jz-3.18-dt
jz-3.2
jz-3.3
jz-3.4
jz-3.5
jz-3.6
jz-3.6-rc2-pwm
jz-3.9
jz-3.9-clk
jz-3.9-rc8
jz47xx
jz47xx-2.6.38
master
Tags:
od-2011-09-04
od-2011-09-18
v2.6.34-rc5
v2.6.34-rc6
v2.6.34-rc7
v3.9