| .. | .. |
|---|
| 12 | 12 | #include <linux/types.h> |
|---|
| 13 | 13 | #include <linux/profile.h> |
|---|
| 14 | 14 | |
|---|
| 15 | | -#include <asm/machvec.h> |
|---|
| 16 | 15 | #include <asm/ptrace.h> |
|---|
| 17 | 16 | #include <asm/smp.h> |
|---|
| 18 | 17 | |
|---|
| .. | .. |
|---|
| 56 | 55 | extern int ia64_first_device_vector; |
|---|
| 57 | 56 | extern int ia64_last_device_vector; |
|---|
| 58 | 57 | |
|---|
| 59 | | -#if defined(CONFIG_SMP) && (defined(CONFIG_IA64_GENERIC) || defined (CONFIG_IA64_DIG)) |
|---|
| 58 | +#ifdef CONFIG_SMP |
|---|
| 60 | 59 | /* Reserve the lower priority vector than device vectors for "move IRQ" IPI */ |
|---|
| 61 | 60 | #define IA64_IRQ_MOVE_VECTOR 0x30 /* "move IRQ" IPI */ |
|---|
| 62 | 61 | #define IA64_DEF_FIRST_DEVICE_VECTOR 0x31 |
|---|
| .. | .. |
|---|
| 114 | 113 | #define ia64_register_ipi ia64_native_register_ipi |
|---|
| 115 | 114 | #define assign_irq_vector ia64_native_assign_irq_vector |
|---|
| 116 | 115 | #define free_irq_vector ia64_native_free_irq_vector |
|---|
| 117 | | -#define register_percpu_irq ia64_native_register_percpu_irq |
|---|
| 118 | 116 | #define ia64_resend_irq ia64_native_resend_irq |
|---|
| 119 | 117 | |
|---|
| 120 | 118 | extern void ia64_native_register_ipi(void); |
|---|
| .. | .. |
|---|
| 124 | 122 | extern int reserve_irq_vector (int vector); |
|---|
| 125 | 123 | extern void __setup_vector_irq(int cpu); |
|---|
| 126 | 124 | extern void ia64_send_ipi (int cpu, int vector, int delivery_mode, int redirect); |
|---|
| 127 | | -extern void ia64_native_register_percpu_irq (ia64_vector vec, struct irqaction *action); |
|---|
| 128 | 125 | extern void destroy_and_reserve_irq (unsigned int irq); |
|---|
| 129 | 126 | |
|---|
| 130 | | -#if defined(CONFIG_SMP) && (defined(CONFIG_IA64_GENERIC) || defined(CONFIG_IA64_DIG)) |
|---|
| 127 | +#ifdef CONFIG_SMP |
|---|
| 131 | 128 | extern int irq_prepare_move(int irq, int cpu); |
|---|
| 132 | 129 | extern void irq_complete_move(unsigned int irq); |
|---|
| 133 | 130 | #else |
|---|
| .. | .. |
|---|
| 137 | 134 | |
|---|
| 138 | 135 | static inline void ia64_native_resend_irq(unsigned int vector) |
|---|
| 139 | 136 | { |
|---|
| 140 | | - platform_send_ipi(smp_processor_id(), vector, IA64_IPI_DM_INT, 0); |
|---|
| 137 | + ia64_send_ipi(smp_processor_id(), vector, IA64_IPI_DM_INT, 0); |
|---|
| 141 | 138 | } |
|---|
| 142 | | - |
|---|
| 143 | | -/* |
|---|
| 144 | | - * Default implementations for the irq-descriptor API: |
|---|
| 145 | | - */ |
|---|
| 146 | | -#ifndef CONFIG_IA64_GENERIC |
|---|
| 147 | | -static inline ia64_vector __ia64_irq_to_vector(int irq) |
|---|
| 148 | | -{ |
|---|
| 149 | | - return irq_cfg[irq].vector; |
|---|
| 150 | | -} |
|---|
| 151 | | - |
|---|
| 152 | | -static inline unsigned int |
|---|
| 153 | | -__ia64_local_vector_to_irq (ia64_vector vec) |
|---|
| 154 | | -{ |
|---|
| 155 | | - return __this_cpu_read(vector_irq[vec]); |
|---|
| 156 | | -} |
|---|
| 157 | | -#endif |
|---|
| 158 | 139 | |
|---|
| 159 | 140 | /* |
|---|
| 160 | 141 | * Next follows the irq descriptor interface. On IA-64, each CPU supports 256 interrupt |
|---|
| .. | .. |
|---|
| 170 | 151 | static inline ia64_vector |
|---|
| 171 | 152 | irq_to_vector (int irq) |
|---|
| 172 | 153 | { |
|---|
| 173 | | - return platform_irq_to_vector(irq); |
|---|
| 154 | + return irq_cfg[irq].vector; |
|---|
| 174 | 155 | } |
|---|
| 175 | 156 | |
|---|
| 176 | 157 | /* |
|---|
| .. | .. |
|---|
| 181 | 162 | static inline unsigned int |
|---|
| 182 | 163 | local_vector_to_irq (ia64_vector vec) |
|---|
| 183 | 164 | { |
|---|
| 184 | | - return platform_local_vector_to_irq(vec); |
|---|
| 165 | + return __this_cpu_read(vector_irq[vec]); |
|---|
| 185 | 166 | } |
|---|
| 186 | 167 | |
|---|
| 187 | 168 | #endif /* _ASM_IA64_HW_IRQ_H */ |
|---|