Home
last modified time | relevance | path

Searched refs:desc (Results 1 – 13 of 13) sorted by relevance

/DragonOS/kernel/src/arch/x86_64/interrupt/
H A Dhandle.rs25 let desc = irq_desc_manager().lookup(IrqNumber::new(vector)); in x86_64_do_irq() localVariable
27 if likely(desc.is_some()) { in x86_64_do_irq()
28 let desc = desc.unwrap(); in x86_64_do_irq() localVariable
29 let handler = desc.handler(); in x86_64_do_irq()
31 handler.unwrap().handle(&desc, trap_frame); in x86_64_do_irq()
H A Dipi.rs235 let desc = irq_desc_manager().lookup(irq).unwrap(); in do_init_irq_handler() localVariable
236 let irq_data: Arc<IrqData> = desc.irq_data(); in do_init_irq_handler()
240 desc.modify_status(IrqLineStatus::IRQ_LEVEL, IrqLineStatus::empty()); in do_init_irq_handler()
242 desc.set_handler(&X86_64IpiIrqFlowHandler); in do_init_irq_handler()
/DragonOS/kernel/src/exception/
H A Dmanage.rs137 let desc = irq_desc_manager().lookup(irq).ok_or(SystemError::EINVAL)?; in request_threaded_irq() localVariable
138 if !desc.can_request() { in request_threaded_irq()
139 warn!("desc {} can not request", desc.irq().data()); in request_threaded_irq()
160 return self.inner_setup_irq(irq, irqaction, desc); in request_threaded_irq()
169 desc: Arc<IrqDesc>, in inner_setup_irq()
190 desc: Arc<IrqDesc>, in inner_setup_irq()
194 desc.chip_bus_sync_unlock(); in inner_setup_irq()
201 desc: Arc<IrqDesc>, in inner_setup_irq()
206 return err_out_bus_unlock(e, desc, req_mutex_guard, action_guard); in inner_setup_irq()
212 desc: Arc<IrqDesc>, in inner_setup_irq()
[all …]
H A Dsysfs.rs106 for (irq, desc) in irq_desc_manager().iter_descs() { in irq_sysfs_init()
107 irq_sysfs_add(irq, desc); in irq_sysfs_init()
114 fn irq_sysfs_add(irq: &IrqNumber, desc: &Arc<IrqDesc>) { in irq_sysfs_add()
120 KObjectManager::add_kobj(desc.clone() as Arc<dyn KObject>, Some(kset)).unwrap_or_else(|e| { in irq_sysfs_add()
124 desc.mark_in_sysfs(); in irq_sysfs_add()
129 pub(super) fn irq_sysfs_del(desc: &Arc<IrqDesc>) { in irq_sysfs_del()
130 if desc.in_sysfs() { in irq_sysfs_del()
131 KObjectManager::remove_kobj(desc.clone() as Arc<dyn KObject>); in irq_sysfs_del()
132 desc.mark_not_in_sysfs(); in irq_sysfs_del()
H A Dirqchip.rs409 desc: &Arc<IrqDesc>, in __irq_do_set_handler()
482 desc.set_handler_no_lock_inner(handler, desc_inner.irq_data(), &chip); in __irq_do_set_handler()
499 .do_set_irq_trigger(desc.clone(), desc_inner, trigger_type) in __irq_do_set_handler()
501 desc.set_handler(handler); in __irq_do_set_handler()
512 .irq_activate_and_startup(desc, desc_inner, IrqManager::IRQ_RESEND) in __irq_do_set_handler()
524 let desc = irq_desc_manager().lookup(irq).ok_or(SystemError::EINVAL)?; in irq_set_handler_data() localVariable
525 desc.inner().common_data().inner().set_handler_data(data); in irq_set_handler_data()
532 desc: &Arc<IrqDesc>, in irq_percpu_disable()
543 desc.inner() in irq_percpu_disable()
H A Dirqdata.rs47 desc: Weak::new(), in new()
76 self.inner.lock_irqsave().desc.upgrade() in irq_desc()
79 pub fn set_irq_desc(&self, desc: Weak<IrqDesc>) { in set_irq_desc()
80 self.inner.lock_irqsave().desc = desc; in set_irq_desc()
85 self.inner.lock_irqsave().desc = Weak::new(); in clear_irq_desc()
150 desc: Weak<IrqDesc>, field
H A Dirqdesc.rs935 let desc = self.lookup(irq)?; in do_lookup_and_lock() localVariable
937 if check_percpu && !desc.inner().line_status().is_per_cpu_devid() { in do_lookup_and_lock()
941 if check_global && desc.inner().line_status().is_per_cpu_devid() { in do_lookup_and_lock()
947 desc.chip_bus_lock(); in do_lookup_and_lock()
950 return Some(desc); in do_lookup_and_lock()
953 fn insert(&mut self, irq: IrqNumber, desc: Arc<IrqDesc>) { in insert()
954 self.irq_descs.insert(irq, desc); in insert()
960 if let Some(desc) = self.irq_descs.get(&irq) { in free_desc()
961 irq_sysfs_del(desc); in free_desc()
984 let desc = self.lookup(irq).ok_or(SystemError::EINVAL)?; in set_percpu_devid() localVariable
[all …]
H A Dhandle.rs211 desc: &Arc<IrqDesc>, in do_irq_wake_thread()
233 desc.inc_threads_active(); in do_irq_wake_thread()
261 fn do_handle_irq_event(desc: &Arc<IrqDesc>) -> Result<(), SystemError> { in do_handle_irq_event()
262 let desc_inner_guard = desc.inner(); in do_handle_irq_event()
286 irq_manager().do_irq_wake_thread(desc, &mut action_inner); in do_handle_irq_event()
H A Dirqdomain.rs387 let desc = irq_desc_manager().lookup(virq)?; in domain_get_irq_data() localVariable
388 let mut irq_data = Some(desc.irq_data()); in domain_get_irq_data()
/DragonOS/kernel/src/driver/clocksource/
H A Dtimer_riscv.rs109 let desc = irq_desc_manager().lookup(virq).unwrap(); in riscv_sbi_timer_irq_desc_init() localVariable
111 desc.modify_status(IrqLineStatus::IRQ_LEVEL, IrqLineStatus::empty()); in riscv_sbi_timer_irq_desc_init()
112 desc.set_handler(&RiscvSbiTimerIrqFlowHandler); in riscv_sbi_timer_irq_desc_init()
/DragonOS/kernel/src/driver/net/e1000e/
H A De1000e.rs433 let desc = &mut self.recv_desc_ring[index]; in e1000e_receive() localVariable
434 if (desc.status & E1000E_RXD_STATUS_DD) == 0 { in e1000e_receive()
440 desc.addr = new_buffer.as_paddr() as u64; in e1000e_receive()
441 buffer.set_length(desc.len as usize); in e1000e_receive()
451 let desc = &self.trans_desc_ring[index]; in e1000e_can_transmit() localVariable
452 if (desc.status & E1000E_TXD_STATUS_DD) == 0 { in e1000e_can_transmit()
461 let desc = &mut self.trans_desc_ring[index]; in e1000e_transmit() localVariable
467 desc.addr = packet.as_paddr() as u64; in e1000e_transmit()
468 desc.len = packet.len() as u16; in e1000e_transmit()
469 desc.status = 0; in e1000e_transmit()
[all …]
/DragonOS/kernel/src/arch/x86_64/driver/apic/
H A Dioapic.rs413 let desc = irq_desc_manager().lookup(irq).unwrap(); in ioapic_init() localVariable
414 let irq_data = desc.irq_data(); in ioapic_init()
424 register_handler(&desc, level); in ioapic_init()
430 fn register_handler(desc: &Arc<IrqDesc>, level_triggered: bool) { in register_handler()
432 desc.modify_status(IrqLineStatus::empty(), IrqLineStatus::IRQ_LEVEL); in register_handler()
435 desc.modify_status(IrqLineStatus::IRQ_LEVEL, IrqLineStatus::empty()); in register_handler()
444 desc.set_handler(handler); in register_handler()
H A Dapic_timer.rs95 let desc = irq_desc_manager().lookup(APIC_TIMER_IRQ_NUM).unwrap(); in local_apic_timer_irq_desc_init() localVariable
96 let irq_data: Arc<crate::exception::irqdata::IrqData> = desc.irq_data(); in local_apic_timer_irq_desc_init()
100 desc.modify_status(IrqLineStatus::IRQ_LEVEL, IrqLineStatus::empty()); in local_apic_timer_irq_desc_init()
102 desc.set_handler(&LocalApicTimerIrqFlowHandler); in local_apic_timer_irq_desc_init()