Lines Matching refs:irq
243 pub fn send_irq_to_apic(&self, id: usize, irq: &InterruptData) { in send_irq_to_apic()
246 apic.lock().accept_irq(irq); in send_irq_to_apic()
248 error!("Interrupt for non-existent apic {}: {:?}", id, irq); in send_irq_to_apic()
253 error!("Interrupt for non-existent vcpu {}: {:?}", id, irq); in send_irq_to_apic()
259 pub fn send_irq_to_apics(&self, irq: &Interrupt) { in send_irq_to_apics()
260 match irq.data.delivery { in send_irq_to_apics()
262 _ => info!("UserspaceIrqChip received special irq: {:?}", irq), in send_irq_to_apics()
266 if let Some(apic_id) = Apic::single_dest_fast(&irq.dest) { in send_irq_to_apics()
267 self.send_irq_to_apic(apic_id as usize, &irq.data); in send_irq_to_apics()
271 let lowest_mode = irq.data.delivery == DeliveryMode::Lowest; in send_irq_to_apics()
278 if !apic.match_dest(&irq.dest) { in send_irq_to_apics()
292 self.send_irq_to_apic(i, &irq.data); in send_irq_to_apics()
298 self.send_irq_to_apic(index, &irq.data); in send_irq_to_apics()
305 irq in send_irq_to_apics()
354 irq: u32, in register_irq_event()
360 gsi: irq, in register_irq_event()
375 fn unregister_irq_event(&mut self, irq: u32, irq_event: &Event) -> Result<()> { in unregister_irq_event()
379 if evt.gsi == irq && irq_event.eq(&evt.event) { in unregister_irq_event()
400 irq: u32, in register_edge_irq_event()
404 self.register_irq_event(irq, irq_event.get_trigger(), None, source) in register_edge_irq_event()
407 fn unregister_edge_irq_event(&mut self, irq: u32, irq_event: &IrqEdgeEvent) -> Result<()> { in unregister_edge_irq_event()
408 self.unregister_irq_event(irq, irq_event.get_trigger()) in unregister_edge_irq_event()
413 irq: u32, in register_level_irq_event()
418 irq, in register_level_irq_event()
425 fn unregister_level_irq_event(&mut self, irq: u32, irq_event: &IrqLevelEvent) -> Result<()> { in unregister_level_irq_event()
426 self.unregister_irq_event(irq, irq_event.get_trigger()) in unregister_level_irq_event()
447 fn service_irq(&mut self, irq: u32, level: bool) -> Result<()> { in service_irq()
448 for route in self.routes.lock()[irq as usize].iter() { in service_irq()