diff options
Diffstat (limited to 'include/asm-ia64/hw_irq.h')
| -rw-r--r-- | include/asm-ia64/hw_irq.h | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/include/asm-ia64/hw_irq.h b/include/asm-ia64/hw_irq.h index 7e6e377967..76366dc9c1 100644 --- a/include/asm-ia64/hw_irq.h +++ b/include/asm-ia64/hw_irq.h | |||
| @@ -93,6 +93,9 @@ extern __u8 isa_irq_to_vector_map[16]; | |||
| 93 | struct irq_cfg { | 93 | struct irq_cfg { |
| 94 | ia64_vector vector; | 94 | ia64_vector vector; |
| 95 | cpumask_t domain; | 95 | cpumask_t domain; |
| 96 | cpumask_t old_domain; | ||
| 97 | unsigned move_cleanup_count; | ||
| 98 | u8 move_in_progress : 1; | ||
| 96 | }; | 99 | }; |
| 97 | extern spinlock_t vector_lock; | 100 | extern spinlock_t vector_lock; |
| 98 | extern struct irq_cfg irq_cfg[NR_IRQS]; | 101 | extern struct irq_cfg irq_cfg[NR_IRQS]; |
| @@ -106,12 +109,19 @@ extern int assign_irq_vector (int irq); /* allocate a free vector */ | |||
| 106 | extern void free_irq_vector (int vector); | 109 | extern void free_irq_vector (int vector); |
| 107 | extern int reserve_irq_vector (int vector); | 110 | extern int reserve_irq_vector (int vector); |
| 108 | extern void __setup_vector_irq(int cpu); | 111 | extern void __setup_vector_irq(int cpu); |
| 109 | extern int reassign_irq_vector(int irq, int cpu); | ||
| 110 | extern void ia64_send_ipi (int cpu, int vector, int delivery_mode, int redirect); | 112 | extern void ia64_send_ipi (int cpu, int vector, int delivery_mode, int redirect); |
| 111 | extern void register_percpu_irq (ia64_vector vec, struct irqaction *action); | 113 | extern void register_percpu_irq (ia64_vector vec, struct irqaction *action); |
| 112 | extern int check_irq_used (int irq); | 114 | extern int check_irq_used (int irq); |
| 113 | extern void destroy_and_reserve_irq (unsigned int irq); | 115 | extern void destroy_and_reserve_irq (unsigned int irq); |
| 114 | 116 | ||
| 117 | #if defined(CONFIG_SMP) && (defined(CONFIG_IA64_GENERIC) || defined(CONFIG_IA64_DIG)) | ||
| 118 | extern int irq_prepare_move(int irq, int cpu); | ||
| 119 | extern void irq_complete_move(unsigned int irq); | ||
| 120 | #else | ||
| 121 | static inline int irq_prepare_move(int irq, int cpu) { return 0; } | ||
| 122 | static inline void irq_complete_move(unsigned int irq) {} | ||
| 123 | #endif | ||
| 124 | |||
| 115 | static inline void ia64_resend_irq(unsigned int vector) | 125 | static inline void ia64_resend_irq(unsigned int vector) |
| 116 | { | 126 | { |
| 117 | platform_send_ipi(smp_processor_id(), vector, IA64_IPI_DM_INT, 0); | 127 | platform_send_ipi(smp_processor_id(), vector, IA64_IPI_DM_INT, 0); |
