2005-04-16 16:20:36 -06:00
|
|
|
/*
|
|
|
|
* LSAPIC Interrupt Controller
|
|
|
|
*
|
|
|
|
* This takes care of interrupts that are generated by the CPU's
|
|
|
|
* internal Streamlined Advanced Programmable Interrupt Controller
|
|
|
|
* (LSAPIC), such as the ITC and IPI interrupts.
|
|
|
|
*
|
|
|
|
* Copyright (C) 1999 VA Linux Systems
|
|
|
|
* Copyright (C) 1999 Walt Drummond <drummond@valinux.com>
|
|
|
|
* Copyright (C) 2000 Hewlett-Packard Co
|
|
|
|
* Copyright (C) 2000 David Mosberger-Tang <davidm@hpl.hp.com>
|
|
|
|
*/
|
|
|
|
|
|
|
|
#include <linux/sched.h>
|
|
|
|
#include <linux/irq.h>
|
|
|
|
|
|
|
|
static unsigned int
|
|
|
|
lsapic_noop_startup (unsigned int irq)
|
|
|
|
{
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
static void
|
|
|
|
lsapic_noop (unsigned int irq)
|
|
|
|
{
|
2007-05-11 15:55:43 -06:00
|
|
|
/* nothing to do... */
|
2005-04-16 16:20:36 -06:00
|
|
|
}
|
|
|
|
|
2006-06-29 03:24:44 -06:00
|
|
|
static int lsapic_retrigger(unsigned int irq)
|
|
|
|
{
|
|
|
|
ia64_resend_irq(irq);
|
|
|
|
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
2009-06-10 13:45:00 -06:00
|
|
|
struct irq_chip irq_type_ia64_lsapic = {
|
2006-11-16 01:43:02 -07:00
|
|
|
.name = "LSAPIC",
|
2005-04-16 16:20:36 -06:00
|
|
|
.startup = lsapic_noop_startup,
|
|
|
|
.shutdown = lsapic_noop,
|
|
|
|
.enable = lsapic_noop,
|
|
|
|
.disable = lsapic_noop,
|
|
|
|
.ack = lsapic_noop,
|
2006-06-29 03:24:44 -06:00
|
|
|
.end = lsapic_noop,
|
|
|
|
.retrigger = lsapic_retrigger,
|
2005-04-16 16:20:36 -06:00
|
|
|
};
|