Skip to content

Commit

Permalink
m68k: Revive reporting of spurious interrupts
Browse files Browse the repository at this point in the history
commit 2502b66 ("Change the m68knommu irq
handling to use the generic irq framework.") removed the reporting of spurious
interrupts on nommu (68328 and 68360).

Bring it back in a generic way, using "atomic_t irq_err_count", as that's what
most of the other architectures are using.

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Greg Ungerer <gerg@uclinux.org>
  • Loading branch information
Geert Uytterhoeven authored and Greg Ungerer committed Jul 25, 2011
1 parent 739735d commit 8c9f08f
Show file tree
Hide file tree
Showing 5 changed files with 12 additions and 8 deletions.
10 changes: 10 additions & 0 deletions arch/m68k/kernel/irq.c
Original file line number Diff line number Diff line change
Expand Up @@ -28,3 +28,13 @@ asmlinkage void do_IRQ(int irq, struct pt_regs *regs)

set_irq_regs(oldregs);
}


/* The number of spurious interrupts */
atomic_t irq_err_count;

int arch_show_interrupts(struct seq_file *p, int prec)
{
seq_printf(p, "%*s: %10u\n", prec, "ERR", atomic_read(&irq_err_count));
return 0;
}
2 changes: 1 addition & 1 deletion arch/m68k/platform/68328/entry.S
Original file line number Diff line number Diff line change
Expand Up @@ -236,7 +236,7 @@ ret_from_interrupt:
* Handler for uninitialized and spurious interrupts.
*/
ENTRY(bad_interrupt)
addql #1,num_spurious
addql #1,irq_err_count
rte

/*
Expand Down
3 changes: 0 additions & 3 deletions arch/m68k/platform/68328/ints.c
Original file line number Diff line number Diff line change
Expand Up @@ -70,9 +70,6 @@ asmlinkage irqreturn_t inthandler7(void);

extern e_vector *_ramvec;

/* The number of spurious interrupts */
volatile unsigned int num_spurious;

/* The 68k family did not have a good way to determine the source
* of interrupts until later in the family. The EC000 core does
* not provide the vector number on the stack, we vector everything
Expand Down
2 changes: 1 addition & 1 deletion arch/m68k/platform/68360/entry.S
Original file line number Diff line number Diff line change
Expand Up @@ -157,7 +157,7 @@ ret_from_interrupt:
* Handler for uninitialized and spurious interrupts.
*/
bad_interrupt:
addql #1,num_spurious
addql #1,irq_err_count
rte

/*
Expand Down
3 changes: 0 additions & 3 deletions arch/m68k/platform/68360/ints.c
Original file line number Diff line number Diff line change
Expand Up @@ -34,9 +34,6 @@ asmlinkage void inthandler(void);

extern void *_ramvec[];

/* The number of spurious interrupts */
volatile unsigned int num_spurious;

static void intc_irq_unmask(struct irq_data *d)
{
pquicc->intr_cimr |= (1 << d->irq);
Expand Down

0 comments on commit 8c9f08f

Please sign in to comment.