Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1402372 > unrolled thread
| Started by | Paul Burton <paul.burton@imgtec.com> |
|---|---|
| First post | 2016-05-17 16:40 +0200 |
| Last post | 2016-05-18 09:00 +0200 |
| Articles | 2 — 2 participants |
Back to article view | Back to linux.kernel
This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by
below is the oldest one visible, not the original post.
[PATCH 1/3] MIPS: Clear Status IPL field when using EIC Paul Burton <paul.burton@imgtec.com> - 2016-05-17 16:40 +0200
Re: [PATCH 1/3] MIPS: Clear Status IPL field when using EIC Matt Redfearn <matt.redfearn@imgtec.com> - 2016-05-18 09:00 +0200
| From | Paul Burton <paul.burton@imgtec.com> |
|---|---|
| Date | 2016-05-17 16:40 +0200 |
| Subject | [PATCH 1/3] MIPS: Clear Status IPL field when using EIC |
| Message-ID | <rzOka-5Kj-7@gated-at.bofh.it> |
When using an external interrupt controller (EIC) the interrupt mask bits in the cop0 Status register are reused for the Interrupt Priority Level, and any interrupts with a priority lower than the field will be ignored. Clear the field to 0 by default such that all interrupts are serviced. Without doing so we default to arbitrarily ignoring all or some subset of interrupts. Signed-off-by: Paul Burton <paul.burton@imgtec.com> --- arch/mips/kernel/irq.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/arch/mips/kernel/irq.c b/arch/mips/kernel/irq.c index 8eb5af8..f25f7ea 100644 --- a/arch/mips/kernel/irq.c +++ b/arch/mips/kernel/irq.c @@ -54,6 +54,9 @@ void __init init_IRQ(void) for (i = 0; i < NR_IRQS; i++) irq_set_noprobe(i); + if (cpu_has_veic) + clear_c0_status(ST0_IM); + arch_init_irq(); } -- 2.8.2
[toc] | [next] | [standalone]
| From | Matt Redfearn <matt.redfearn@imgtec.com> |
|---|---|
| Date | 2016-05-18 09:00 +0200 |
| Message-ID | <rA3Cx-6WR-13@gated-at.bofh.it> |
| In reply to | #1402372 |
On 17/05/16 15:31, Paul Burton wrote: > When using an external interrupt controller (EIC) the interrupt mask > bits in the cop0 Status register are reused for the Interrupt Priority > Level, and any interrupts with a priority lower than the field will be > ignored. Clear the field to 0 by default such that all interrupts are > serviced. Without doing so we default to arbitrarily ignoring all or > some subset of interrupts. > > Signed-off-by: Paul Burton <paul.burton@imgtec.com> > --- > > arch/mips/kernel/irq.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/arch/mips/kernel/irq.c b/arch/mips/kernel/irq.c > index 8eb5af8..f25f7ea 100644 > --- a/arch/mips/kernel/irq.c > +++ b/arch/mips/kernel/irq.c > @@ -54,6 +54,9 @@ void __init init_IRQ(void) > for (i = 0; i < NR_IRQS; i++) > irq_set_noprobe(i); > > + if (cpu_has_veic) > + clear_c0_status(ST0_IM); > + > arch_init_irq(); > } > Hi Paul Reviewed-by: Matt Redfearn <matt.redfearn@imgtec.com> Tested-by: Matt Redfearn <matt.redfearn@imgtec.com>
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web