Lines Matching refs:vector

80 		.vector = IRQ_VECTOR_UNASSIGNED,
110 int pos, vector; in find_unassigned_vector() local
117 vector = IA64_FIRST_DEVICE_VECTOR + pos; in find_unassigned_vector()
118 cpumask_and(&mask, &domain, &vector_table[vector]); in find_unassigned_vector()
121 return vector; in find_unassigned_vector()
126 static int __bind_irq_vector(int irq, int vector, cpumask_t domain) in __bind_irq_vector() argument
133 BUG_ON((unsigned)vector >= IA64_NUM_VECTORS); in __bind_irq_vector()
138 if ((cfg->vector == vector) && cpumask_equal(&cfg->domain, &domain)) in __bind_irq_vector()
140 if (cfg->vector != IRQ_VECTOR_UNASSIGNED) in __bind_irq_vector()
143 per_cpu(vector_irq, cpu)[vector] = irq; in __bind_irq_vector()
144 cfg->vector = vector; in __bind_irq_vector()
147 cpumask_or(&vector_table[vector], &vector_table[vector], &domain); in __bind_irq_vector()
151 int bind_irq_vector(int irq, int vector, cpumask_t domain) in bind_irq_vector() argument
157 ret = __bind_irq_vector(irq, vector, domain); in bind_irq_vector()
164 int vector, cpu; in __clear_irq_vector() local
169 BUG_ON(cfg->vector == IRQ_VECTOR_UNASSIGNED); in __clear_irq_vector()
170 vector = cfg->vector; in __clear_irq_vector()
173 per_cpu(vector_irq, cpu)[vector] = -1; in __clear_irq_vector()
174 cfg->vector = IRQ_VECTOR_UNASSIGNED; in __clear_irq_vector()
177 cpumask_andnot(&vector_table[vector], &vector_table[vector], &domain); in __clear_irq_vector()
193 int vector, cpu; in ia64_native_assign_irq_vector() local
196 vector = -ENOSPC; in ia64_native_assign_irq_vector()
201 vector = find_unassigned_vector(domain); in ia64_native_assign_irq_vector()
202 if (vector >= 0) in ia64_native_assign_irq_vector()
205 if (vector < 0) in ia64_native_assign_irq_vector()
208 irq = vector; in ia64_native_assign_irq_vector()
209 BUG_ON(__bind_irq_vector(irq, vector, domain)); in ia64_native_assign_irq_vector()
212 return vector; in ia64_native_assign_irq_vector()
216 ia64_native_free_irq_vector (int vector) in ia64_native_free_irq_vector() argument
218 if (vector < IA64_FIRST_DEVICE_VECTOR || in ia64_native_free_irq_vector()
219 vector > IA64_LAST_DEVICE_VECTOR) in ia64_native_free_irq_vector()
221 clear_irq_vector(vector); in ia64_native_free_irq_vector()
225 reserve_irq_vector (int vector) in reserve_irq_vector() argument
227 if (vector < IA64_FIRST_DEVICE_VECTOR || in reserve_irq_vector()
228 vector > IA64_LAST_DEVICE_VECTOR) in reserve_irq_vector()
230 return !!bind_irq_vector(vector, vector, CPU_MASK_ALL); in reserve_irq_vector()
239 int irq, vector; in __setup_vector_irq() local
242 for (vector = 0; vector < IA64_NUM_VECTORS; ++vector) in __setup_vector_irq()
243 per_cpu(vector_irq, cpu)[vector] = -1; in __setup_vector_irq()
248 vector = irq_to_vector(irq); in __setup_vector_irq()
249 per_cpu(vector_irq, cpu)[vector] = irq; in __setup_vector_irq()
270 int vector; in __irq_prepare_move() local
275 if (cfg->vector == IRQ_VECTOR_UNASSIGNED || !cpu_online(cpu)) in __irq_prepare_move()
280 vector = find_unassigned_vector(domain); in __irq_prepare_move()
281 if (vector < 0) in __irq_prepare_move()
285 cfg->vector = IRQ_VECTOR_UNASSIGNED; in __irq_prepare_move()
287 BUG_ON(__bind_irq_vector(irq, vector, domain)); in __irq_prepare_move()
324 ia64_vector vector; in smp_irq_move_cleanup_interrupt() local
327 for (vector = IA64_FIRST_DEVICE_VECTOR; in smp_irq_move_cleanup_interrupt()
328 vector < IA64_LAST_DEVICE_VECTOR; vector++) { in smp_irq_move_cleanup_interrupt()
332 irq = __this_cpu_read(vector_irq[vector]); in smp_irq_move_cleanup_interrupt()
346 __this_cpu_write(vector_irq[vector], -1); in smp_irq_move_cleanup_interrupt()
347 cpumask_clear_cpu(me, &vector_table[vector]); in smp_irq_move_cleanup_interrupt()
397 int irq, vector, cpu; in create_irq() local
400 irq = vector = -ENOSPC; in create_irq()
404 vector = find_unassigned_vector(domain); in create_irq()
405 if (vector >= 0) in create_irq()
408 if (vector < 0) in create_irq()
413 BUG_ON(__bind_irq_vector(irq, vector, domain)); in create_irq()
440 ia64_handle_irq (ia64_vector vector, struct pt_regs *regs) in ia64_handle_irq() argument
479 while (vector != IA64_SPURIOUS_INT_VECTOR) { in ia64_handle_irq()
480 int irq = local_vector_to_irq(vector); in ia64_handle_irq()
482 if (unlikely(IS_LOCAL_TLB_FLUSH(vector))) { in ia64_handle_irq()
485 } else if (unlikely(IS_RESCHEDULE(vector))) { in ia64_handle_irq()
489 ia64_setreg(_IA64_REG_CR_TPR, vector); in ia64_handle_irq()
495 "to any IRQ!\n", __func__, vector, in ia64_handle_irq()
507 vector = ia64_get_ivr(); in ia64_handle_irq()
525 ia64_vector vector; in ia64_process_pending_intr() local
529 vector = ia64_get_ivr(); in ia64_process_pending_intr()
538 while (vector != IA64_SPURIOUS_INT_VECTOR) { in ia64_process_pending_intr()
539 int irq = local_vector_to_irq(vector); in ia64_process_pending_intr()
541 if (unlikely(IS_LOCAL_TLB_FLUSH(vector))) { in ia64_process_pending_intr()
544 } else if (unlikely(IS_RESCHEDULE(vector))) { in ia64_process_pending_intr()
549 ia64_setreg(_IA64_REG_CR_TPR, vector); in ia64_process_pending_intr()
561 "to any IRQ!!\n", __func__, vector, in ia64_process_pending_intr()
576 vector = ia64_get_ivr(); in ia64_process_pending_intr()
655 ia64_send_ipi (int cpu, int vector, int delivery_mode, int redirect) in ia64_send_ipi() argument
667 ipi_data = (delivery_mode << 8) | (vector & 0xff); in ia64_send_ipi()