Searched refs:imsic (Results 1 – 5 of 5) sorted by relevance
| /linux/arch/riscv/kvm/ |
| H A D | aia_imsic.c | 34 struct imsic { struct 589 static void imsic_vsfile_cleanup(struct imsic *imsic) in imsic_vsfile_cleanup() argument 600 write_lock_irqsave(&imsic->vsfile_lock, flags); in imsic_vsfile_cleanup() 601 old_vsfile_hgei = imsic->vsfile_hgei; in imsic_vsfile_cleanup() 602 old_vsfile_cpu = imsic->vsfile_cpu; in imsic_vsfile_cleanup() 603 imsic->vsfile_cpu = imsic->vsfile_hgei = -1; in imsic_vsfile_cleanup() 604 imsic->vsfile_va = NULL; in imsic_vsfile_cleanup() 605 imsic->vsfile_pa = 0; in imsic_vsfile_cleanup() 606 write_unlock_irqrestore(&imsic->vsfile_lock, flags); in imsic_vsfile_cleanup() 608 memset(imsic->swfile, 0, sizeof(*imsic->swfile)); in imsic_vsfile_cleanup() [all …]
|
| /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() 136 for_each_set_bit(i, lpriv->dirty_bitmap, imsic->global.nr_ids + 1) { in __imsic_local_sync() 186 tlocal = per_cpu_ptr(imsic->global.local, tvec->cpu); in __imsic_local_sync() 190 mlocal = per_cpu_ptr(imsic->global.local, mvec->cpu); in __imsic_local_sync() 195 mlocal = per_cpu_ptr(imsic->global.local, mvec->cpu); in __imsic_local_sync() 228 struct imsic_local_priv *lpriv = this_cpu_ptr(imsic->lpriv); in imsic_local_sync_all() 234 bitmap_fill(lpriv->dirty_bitmap, imsic->global.nr_ids + 1); in imsic_local_sync_all() 296 lpriv = per_cpu_ptr(imsic->lpriv, vec->cpu); in imsic_vector_mask() 318 lpriv = per_cpu_ptr(imsic->lpriv, vec->cpu); in imsic_vector_unmask() [all …]
|
| H A D | irq-riscv-imsic-platform.c | 32 global = &imsic->global; in imsic_cpu_page_phys() 62 local = per_cpu_ptr(imsic->global.local, vec->cpu); in imsic_irq_retrigger() 312 .host_data = imsic, in imsic_irqdomain_init() 316 if (!imsic || !imsic->fwnode) { in imsic_irqdomain_init() 321 if (imsic->base_domain) { in imsic_irqdomain_init() 322 pr_err("%pfwP: irq domain already created\n", imsic->fwnode); in imsic_irqdomain_init() 327 info.fwnode = imsic->fwnode, in imsic_irqdomain_init() 328 imsic->base_domain = msi_create_parent_irq_domain(&info, &imsic_msi_parent_ops); in imsic_irqdomain_init() 329 if (!imsic->base_domain) { in imsic_irqdomain_init() 330 pr_err("%pfwP: failed to create IMSIC base domain\n", imsic->fwnode); in imsic_irqdomain_init() [all …]
|
| H A D | irq-riscv-imsic-state.h | 65 extern struct imsic_priv *imsic;
|
| /linux/ |
| H A D | MAINTAINERS | 22421 F: drivers/irqchip/irq-riscv-imsic-*.c 22422 F: drivers/irqchip/irq-riscv-imsic-*.h 22425 F: include/linux/irqchip/riscv-imsic.h
|