mirror of
https://github.com/Fishwaldo/linux-bl808.git
synced 2025-06-17 20:25:19 +00:00
Merge branch 'irq-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
* 'irq-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: xtensa: Fixup irq conversion fallout and nmi_count
This commit is contained in:
commit
d6d61c97e6
1 changed files with 6 additions and 12 deletions
|
@ -64,47 +64,41 @@ asmlinkage void do_IRQ(int irq, struct pt_regs *regs)
|
||||||
|
|
||||||
int arch_show_interrupts(struct seq_file *p, int prec)
|
int arch_show_interrupts(struct seq_file *p, int prec)
|
||||||
{
|
{
|
||||||
int j;
|
|
||||||
|
|
||||||
seq_printf(p, "%*s: ", prec, "NMI");
|
|
||||||
for_each_online_cpu(j)
|
|
||||||
seq_printf(p, "%10u ", nmi_count(j));
|
|
||||||
seq_putc(p, '\n');
|
|
||||||
seq_printf(p, "%*s: ", prec, "ERR");
|
seq_printf(p, "%*s: ", prec, "ERR");
|
||||||
seq_printf(p, "%10u\n", atomic_read(&irq_err_count));
|
seq_printf(p, "%10u\n", atomic_read(&irq_err_count));
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void xtensa_irq_mask(struct irq_chip *d)
|
static void xtensa_irq_mask(struct irq_data *d)
|
||||||
{
|
{
|
||||||
cached_irq_mask &= ~(1 << d->irq);
|
cached_irq_mask &= ~(1 << d->irq);
|
||||||
set_sr (cached_irq_mask, INTENABLE);
|
set_sr (cached_irq_mask, INTENABLE);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void xtensa_irq_unmask(struct irq_chip *d)
|
static void xtensa_irq_unmask(struct irq_data *d)
|
||||||
{
|
{
|
||||||
cached_irq_mask |= 1 << d->irq;
|
cached_irq_mask |= 1 << d->irq;
|
||||||
set_sr (cached_irq_mask, INTENABLE);
|
set_sr (cached_irq_mask, INTENABLE);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void xtensa_irq_enable(struct irq_chip *d)
|
static void xtensa_irq_enable(struct irq_data *d)
|
||||||
{
|
{
|
||||||
variant_irq_enable(d->irq);
|
variant_irq_enable(d->irq);
|
||||||
xtensa_irq_unmask(d->irq);
|
xtensa_irq_unmask(d->irq);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void xtensa_irq_disable(struct irq_chip *d)
|
static void xtensa_irq_disable(struct irq_data *d)
|
||||||
{
|
{
|
||||||
xtensa_irq_mask(d->irq);
|
xtensa_irq_mask(d->irq);
|
||||||
variant_irq_disable(d->irq);
|
variant_irq_disable(d->irq);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void xtensa_irq_ack(struct irq_chip *d)
|
static void xtensa_irq_ack(struct irq_data *d)
|
||||||
{
|
{
|
||||||
set_sr(1 << d->irq, INTCLEAR);
|
set_sr(1 << d->irq, INTCLEAR);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int xtensa_irq_retrigger(struct irq_chip *d)
|
static int xtensa_irq_retrigger(struct irq_data *d)
|
||||||
{
|
{
|
||||||
set_sr (1 << d->irq, INTSET);
|
set_sr (1 << d->irq, INTSET);
|
||||||
return 1;
|
return 1;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue