ia64: Convert sn to new irq_chip functions
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
This commit is contained in:
parent
42c9a74d0e
commit
545c8d8d4f
|
@ -78,34 +78,34 @@ u64 sn_intr_redirect(nasid_t local_nasid, int local_widget,
|
||||||
return ret_stuff.status;
|
return ret_stuff.status;
|
||||||
}
|
}
|
||||||
|
|
||||||
static unsigned int sn_startup_irq(unsigned int irq)
|
static unsigned int sn_startup_irq(struct irq_data *data)
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void sn_shutdown_irq(unsigned int irq)
|
static void sn_shutdown_irq(struct irq_data *data)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
extern void ia64_mca_register_cpev(int);
|
extern void ia64_mca_register_cpev(int);
|
||||||
|
|
||||||
static void sn_disable_irq(unsigned int irq)
|
static void sn_disable_irq(struct irq_data *data)
|
||||||
{
|
{
|
||||||
if (irq == local_vector_to_irq(IA64_CPE_VECTOR))
|
if (data->irq == local_vector_to_irq(IA64_CPE_VECTOR))
|
||||||
ia64_mca_register_cpev(0);
|
ia64_mca_register_cpev(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void sn_enable_irq(unsigned int irq)
|
static void sn_enable_irq(struct irq_data *data)
|
||||||
{
|
{
|
||||||
if (irq == local_vector_to_irq(IA64_CPE_VECTOR))
|
if (data->irq == local_vector_to_irq(IA64_CPE_VECTOR))
|
||||||
ia64_mca_register_cpev(irq);
|
ia64_mca_register_cpev(data->irq);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void sn_ack_irq(unsigned int irq)
|
static void sn_ack_irq(struct irq_data *data)
|
||||||
{
|
{
|
||||||
u64 event_occurred, mask;
|
u64 event_occurred, mask;
|
||||||
|
unsigned int irq = data->irq & 0xff;
|
||||||
|
|
||||||
irq = irq & 0xff;
|
|
||||||
event_occurred = HUB_L((u64*)LOCAL_MMR_ADDR(SH_EVENT_OCCURRED));
|
event_occurred = HUB_L((u64*)LOCAL_MMR_ADDR(SH_EVENT_OCCURRED));
|
||||||
mask = event_occurred & SH_ALL_INT_MASK;
|
mask = event_occurred & SH_ALL_INT_MASK;
|
||||||
HUB_S((u64*)LOCAL_MMR_ADDR(SH_EVENT_OCCURRED_ALIAS), mask);
|
HUB_S((u64*)LOCAL_MMR_ADDR(SH_EVENT_OCCURRED_ALIAS), mask);
|
||||||
|
@ -206,9 +206,11 @@ finish_up:
|
||||||
return new_irq_info;
|
return new_irq_info;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int sn_set_affinity_irq(unsigned int irq, const struct cpumask *mask)
|
static int sn_set_affinity_irq(struct irq_data *data,
|
||||||
|
const struct cpumask *mask, bool force)
|
||||||
{
|
{
|
||||||
struct sn_irq_info *sn_irq_info, *sn_irq_info_safe;
|
struct sn_irq_info *sn_irq_info, *sn_irq_info_safe;
|
||||||
|
unsigned int irq = data->irq;
|
||||||
nasid_t nasid;
|
nasid_t nasid;
|
||||||
int slice;
|
int slice;
|
||||||
|
|
||||||
|
@ -237,25 +239,25 @@ void sn_set_err_irq_affinity(unsigned int irq) { }
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static void
|
static void
|
||||||
sn_mask_irq(unsigned int irq)
|
sn_mask_irq(struct irq_data *data)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
sn_unmask_irq(unsigned int irq)
|
sn_unmask_irq(struct irq_data *data)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
struct irq_chip irq_type_sn = {
|
struct irq_chip irq_type_sn = {
|
||||||
.name = "SN hub",
|
.name = "SN hub",
|
||||||
.startup = sn_startup_irq,
|
.irq_startup = sn_startup_irq,
|
||||||
.shutdown = sn_shutdown_irq,
|
.irq_shutdown = sn_shutdown_irq,
|
||||||
.enable = sn_enable_irq,
|
.irq_enable = sn_enable_irq,
|
||||||
.disable = sn_disable_irq,
|
.irq_disable = sn_disable_irq,
|
||||||
.ack = sn_ack_irq,
|
.irq_ack = sn_ack_irq,
|
||||||
.mask = sn_mask_irq,
|
.irq_mask = sn_mask_irq,
|
||||||
.unmask = sn_unmask_irq,
|
.irq_unmask = sn_unmask_irq,
|
||||||
.set_affinity = sn_set_affinity_irq
|
.irq_set_affinity = sn_set_affinity_irq
|
||||||
};
|
};
|
||||||
|
|
||||||
ia64_vector sn_irq_to_vector(int irq)
|
ia64_vector sn_irq_to_vector(int irq)
|
||||||
|
|
Loading…
Reference in a new issue