Lines Matching refs:vector

74 		.vector = IRQ_VECTOR_UNASSIGNED,
104 int pos, vector; in find_unassigned_vector() local
111 vector = IA64_FIRST_DEVICE_VECTOR + pos; in find_unassigned_vector()
112 cpumask_and(&mask, &domain, &vector_table[vector]); in find_unassigned_vector()
115 return vector; in find_unassigned_vector()
120 static int __bind_irq_vector(int irq, int vector, cpumask_t domain) in __bind_irq_vector() argument
127 BUG_ON((unsigned)vector >= IA64_NUM_VECTORS); in __bind_irq_vector()
132 if ((cfg->vector == vector) && cpumask_equal(&cfg->domain, &domain)) in __bind_irq_vector()
134 if (cfg->vector != IRQ_VECTOR_UNASSIGNED) in __bind_irq_vector()
137 per_cpu(vector_irq, cpu)[vector] = irq; in __bind_irq_vector()
138 cfg->vector = vector; in __bind_irq_vector()
141 cpumask_or(&vector_table[vector], &vector_table[vector], &domain); in __bind_irq_vector()
145 int bind_irq_vector(int irq, int vector, cpumask_t domain) in bind_irq_vector() argument
151 ret = __bind_irq_vector(irq, vector, domain); in bind_irq_vector()
158 int vector, cpu; in __clear_irq_vector() local
163 BUG_ON(cfg->vector == IRQ_VECTOR_UNASSIGNED); in __clear_irq_vector()
164 vector = cfg->vector; in __clear_irq_vector()
167 per_cpu(vector_irq, cpu)[vector] = -1; in __clear_irq_vector()
168 cfg->vector = IRQ_VECTOR_UNASSIGNED; in __clear_irq_vector()
171 cpumask_andnot(&vector_table[vector], &vector_table[vector], &domain); in __clear_irq_vector()
187 int vector, cpu; in ia64_native_assign_irq_vector() local
190 vector = -ENOSPC; in ia64_native_assign_irq_vector()
195 vector = find_unassigned_vector(domain); in ia64_native_assign_irq_vector()
196 if (vector >= 0) in ia64_native_assign_irq_vector()
199 if (vector < 0) in ia64_native_assign_irq_vector()
202 irq = vector; in ia64_native_assign_irq_vector()
203 BUG_ON(__bind_irq_vector(irq, vector, domain)); in ia64_native_assign_irq_vector()
206 return vector; in ia64_native_assign_irq_vector()
210 ia64_native_free_irq_vector (int vector) in ia64_native_free_irq_vector() argument
212 if (vector < IA64_FIRST_DEVICE_VECTOR || in ia64_native_free_irq_vector()
213 vector > IA64_LAST_DEVICE_VECTOR) in ia64_native_free_irq_vector()
215 clear_irq_vector(vector); in ia64_native_free_irq_vector()
219 reserve_irq_vector (int vector) in reserve_irq_vector() argument
221 if (vector < IA64_FIRST_DEVICE_VECTOR || in reserve_irq_vector()
222 vector > IA64_LAST_DEVICE_VECTOR) in reserve_irq_vector()
224 return !!bind_irq_vector(vector, vector, CPU_MASK_ALL); in reserve_irq_vector()
233 int irq, vector; in __setup_vector_irq() local
236 for (vector = 0; vector < IA64_NUM_VECTORS; ++vector) in __setup_vector_irq()
237 per_cpu(vector_irq, cpu)[vector] = -1; in __setup_vector_irq()
242 vector = irq_to_vector(irq); in __setup_vector_irq()
243 per_cpu(vector_irq, cpu)[vector] = irq; in __setup_vector_irq()
264 int vector; in __irq_prepare_move() local
269 if (cfg->vector == IRQ_VECTOR_UNASSIGNED || !cpu_online(cpu)) in __irq_prepare_move()
274 vector = find_unassigned_vector(domain); in __irq_prepare_move()
275 if (vector < 0) in __irq_prepare_move()
279 cfg->vector = IRQ_VECTOR_UNASSIGNED; in __irq_prepare_move()
281 BUG_ON(__bind_irq_vector(irq, vector, domain)); in __irq_prepare_move()
318 ia64_vector vector; in smp_irq_move_cleanup_interrupt() local
321 for (vector = IA64_FIRST_DEVICE_VECTOR; in smp_irq_move_cleanup_interrupt()
322 vector < IA64_LAST_DEVICE_VECTOR; vector++) { in smp_irq_move_cleanup_interrupt()
326 irq = __this_cpu_read(vector_irq[vector]); in smp_irq_move_cleanup_interrupt()
340 __this_cpu_write(vector_irq[vector], -1); in smp_irq_move_cleanup_interrupt()
341 cpumask_clear_cpu(me, &vector_table[vector]); in smp_irq_move_cleanup_interrupt()
386 int irq, vector, cpu; in create_irq() local
389 irq = vector = -ENOSPC; in create_irq()
393 vector = find_unassigned_vector(domain); in create_irq()
394 if (vector >= 0) in create_irq()
397 if (vector < 0) in create_irq()
402 BUG_ON(__bind_irq_vector(irq, vector, domain)); in create_irq()
429 ia64_handle_irq (ia64_vector vector, struct pt_regs *regs) in ia64_handle_irq() argument
468 while (vector != IA64_SPURIOUS_INT_VECTOR) { in ia64_handle_irq()
469 int irq = local_vector_to_irq(vector); in ia64_handle_irq()
471 if (unlikely(IS_LOCAL_TLB_FLUSH(vector))) { in ia64_handle_irq()
474 } else if (unlikely(IS_RESCHEDULE(vector))) { in ia64_handle_irq()
478 ia64_setreg(_IA64_REG_CR_TPR, vector); in ia64_handle_irq()
484 "to any IRQ!\n", __func__, vector, in ia64_handle_irq()
496 vector = ia64_get_ivr(); in ia64_handle_irq()
514 ia64_vector vector; in ia64_process_pending_intr() local
518 vector = ia64_get_ivr(); in ia64_process_pending_intr()
527 while (vector != IA64_SPURIOUS_INT_VECTOR) { in ia64_process_pending_intr()
528 int irq = local_vector_to_irq(vector); in ia64_process_pending_intr()
530 if (unlikely(IS_LOCAL_TLB_FLUSH(vector))) { in ia64_process_pending_intr()
533 } else if (unlikely(IS_RESCHEDULE(vector))) { in ia64_process_pending_intr()
538 ia64_setreg(_IA64_REG_CR_TPR, vector); in ia64_process_pending_intr()
550 "to any IRQ!!\n", __func__, vector, in ia64_process_pending_intr()
565 vector = ia64_get_ivr(); in ia64_process_pending_intr()
629 ia64_send_ipi (int cpu, int vector, int delivery_mode, int redirect) in ia64_send_ipi() argument
641 ipi_data = (delivery_mode << 8) | (vector & 0xff); in ia64_send_ipi()