Lines Matching refs:loongarch_avec
48 static struct avecintc_chip loongarch_avec; variable
96 scoped_guard(raw_spinlock, &loongarch_avec.lock) { in avecintc_set_affinity()
107 ret = irq_matrix_alloc(loongarch_avec.vector_matrix, &intersect_mask, false, &cpu); in avecintc_set_affinity()
125 if (!loongarch_avec.vector_matrix) in avecintc_cpu_online()
128 guard(raw_spinlock)(&loongarch_avec.lock); in avecintc_cpu_online()
130 irq_matrix_online(loongarch_avec.vector_matrix); in avecintc_cpu_online()
141 if (!loongarch_avec.vector_matrix) in avecintc_cpu_offline()
144 guard(raw_spinlock)(&loongarch_avec.lock); in avecintc_cpu_offline()
149 irq_matrix_offline(loongarch_avec.vector_matrix); in avecintc_cpu_offline()
161 guard(raw_spinlock)(&loongarch_avec.lock); in complete_irq_moving()
187 irq_matrix_free(loongarch_avec.vector_matrix, cpu, vector, false); in complete_irq_moving()
201 msg->address_lo = (loongarch_avec.msi_base_addr | (adata->vec & 0xff) << 4) in avecintc_compose_msi_msg()
247 guard(raw_spinlock_irqsave)(&loongarch_avec.lock); in avecintc_alloc_vector()
249 ret = irq_matrix_alloc(loongarch_avec.vector_matrix, cpu_online_mask, false, &cpu); in avecintc_alloc_vector()
288 guard(raw_spinlock_irqsave)(&loongarch_avec.lock); in avecintc_free_vector()
291 irq_matrix_free(loongarch_avec.vector_matrix, adata->cpu, adata->vec, false); in avecintc_free_vector()
298 irq_matrix_free(loongarch_avec.vector_matrix, adata->prev_cpu, adata->prev_vec, false); in avecintc_free_vector()
327 loongarch_avec.vector_matrix = irq_alloc_matrix(NR_VECTORS, 0, NR_VECTORS); in irq_matrix_init()
328 if (!loongarch_avec.vector_matrix) in irq_matrix_init()
332 irq_matrix_assign_system(loongarch_avec.vector_matrix, i, false); in irq_matrix_init()
334 irq_matrix_online(loongarch_avec.vector_matrix); in irq_matrix_init()
344 raw_spin_lock_init(&loongarch_avec.lock); in avecintc_init()
346 loongarch_avec.fwnode = irq_domain_alloc_named_fwnode("AVECINTC"); in avecintc_init()
347 if (!loongarch_avec.fwnode) { in avecintc_init()
353 loongarch_avec.domain = irq_domain_create_tree(loongarch_avec.fwnode, in avecintc_init()
355 if (!loongarch_avec.domain) { in avecintc_init()
388 irq_domain_remove(loongarch_avec.domain); in avecintc_init()
390 irq_domain_free_fwnode(loongarch_avec.fwnode); in avecintc_init()
400 loongarch_avec.msi_base_addr = pchmsi_entry->msg_address - AVEC_MSG_OFFSET; in pch_msi_parse_madt()
402 return pch_msi_acpi_init_avec(loongarch_avec.domain); in pch_msi_parse_madt()