Searched refs:imsic (Results 1 – 6 of 6) sorted by relevance
/linux/drivers/irqchip/ |
H A D | irq-riscv-imsic-state.c | 59 struct imsic_priv *imsic; variable 63 return imsic ? &imsic->global : NULL; in imsic_get_global_config() 135 for_each_set_bit(i, lpriv->dirty_bitmap, imsic->global.nr_ids + 1) { in __imsic_local_sync() 155 mlocal = per_cpu_ptr(imsic->global.local, mvec->cpu); in __imsic_local_sync() 169 struct imsic_local_priv *lpriv = this_cpu_ptr(imsic->lpriv); in imsic_local_sync_all() 173 bitmap_fill(lpriv->dirty_bitmap, imsic->global.nr_ids + 1); in imsic_local_sync_all() 193 struct imsic_local_priv *lpriv = this_cpu_ptr(imsic->lpriv); in imsic_local_timer_callback() 241 lpriv = per_cpu_ptr(imsic->lpriv, vec->cpu); in imsic_vector_mask() 263 lpriv = per_cpu_ptr(imsic->lpriv, vec->cpu); in imsic_vector_unmask() 311 old_lpriv = per_cpu_ptr(imsic->lpriv, old_vec->cpu); in imsic_vector_move() [all …]
|
H A D | irq-riscv-imsic-platform.c | 31 global = &imsic->global; in imsic_cpu_page_phys() 61 local = per_cpu_ptr(imsic->global.local, vec->cpu); in imsic_irq_retrigger() 317 if (!imsic || !imsic->fwnode) { in imsic_irqdomain_init() 322 if (imsic->base_domain) { in imsic_irqdomain_init() 323 pr_err("%pfwP: irq domain already created\n", imsic->fwnode); in imsic_irqdomain_init() 328 imsic->base_domain = irq_domain_create_tree(imsic->fwnode, in imsic_irqdomain_init() 329 &imsic_base_domain_ops, imsic); in imsic_irqdomain_init() 330 if (!imsic->base_domain) { in imsic_irqdomain_init() 331 pr_err("%pfwP: failed to create IMSIC base domain\n", imsic->fwnode); in imsic_irqdomain_init() 334 imsic->base_domain->flags |= IRQ_DOMAIN_FLAG_MSI_PARENT; in imsic_irqdomain_init() [all …]
|
H A D | irq-riscv-imsic-early.c | 28 struct imsic_local_config *local = per_cpu_ptr(imsic->global.local, cpu); in imsic_ipi_send() 58 pr_info("%pfwP: providing IPIs using interrupt %d\n", imsic->fwnode, IMSIC_IPI_ID); in imsic_ipi_domain_init() 91 if (unlikely(!imsic->base_domain)) in imsic_handle_irq() 100 err = generic_handle_domain_irq(imsic->base_domain, vec->hwirq); in imsic_handle_irq() 218 struct acpi_madt_imsic *imsic = (struct acpi_madt_imsic *)header; in imsic_early_acpi_init() local 228 rc = imsic_setup_state(imsic_acpi_fwnode, imsic); in imsic_early_acpi_init()
|
H A D | Makefile | 103 obj-$(CONFIG_RISCV_IMSIC) += irq-riscv-imsic-state.o irq-riscv-imsic-early.o irq-riscv-imsic-platf…
|
H A D | irq-riscv-imsic-state.h | 63 extern struct imsic_priv *imsic;
|
/linux/ |
H A D | MAINTAINERS | 20103 F: drivers/irqchip/irq-riscv-imsic-*.c 20104 F: drivers/irqchip/irq-riscv-imsic-*.h 20107 F: include/linux/irqchip/riscv-imsic.h
|