Lines Matching refs:msi

271 	struct mc_msi msi;  member
387 struct mc_msi *msi = &port->msi; in mc_pcie_enable_msi() local
400 writel_relaxed(lower_32_bits(msi->vector_phy), in mc_pcie_enable_msi()
402 writel_relaxed(upper_32_bits(msi->vector_phy), in mc_pcie_enable_msi()
410 struct mc_msi *msi = &port->msi; in mc_handle_msi() local
420 for_each_set_bit(bit, &status, msi->num_vectors) { in mc_handle_msi()
421 ret = generic_handle_domain_irq(msi->dev_domain, bit); in mc_handle_msi()
447 phys_addr_t addr = port->msi.vector_phy; in mc_compose_msi_msg()
474 struct mc_msi *msi = &port->msi; in mc_irq_msi_domain_alloc() local
480 mutex_lock(&msi->lock); in mc_irq_msi_domain_alloc()
481 bit = find_first_zero_bit(msi->used, msi->num_vectors); in mc_irq_msi_domain_alloc()
482 if (bit >= msi->num_vectors) { in mc_irq_msi_domain_alloc()
483 mutex_unlock(&msi->lock); in mc_irq_msi_domain_alloc()
487 set_bit(bit, msi->used); in mc_irq_msi_domain_alloc()
497 mutex_unlock(&msi->lock); in mc_irq_msi_domain_alloc()
507 struct mc_msi *msi = &port->msi; in mc_irq_msi_domain_free() local
509 mutex_lock(&msi->lock); in mc_irq_msi_domain_free()
511 if (test_bit(d->hwirq, msi->used)) in mc_irq_msi_domain_free()
512 __clear_bit(d->hwirq, msi->used); in mc_irq_msi_domain_free()
516 mutex_unlock(&msi->lock); in mc_irq_msi_domain_free()
541 struct mc_msi *msi = &port->msi; in mc_allocate_msi_domains() local
543 mutex_init(&port->msi.lock); in mc_allocate_msi_domains()
545 msi->dev_domain = irq_domain_add_linear(NULL, msi->num_vectors, in mc_allocate_msi_domains()
547 if (!msi->dev_domain) { in mc_allocate_msi_domains()
552 msi->msi_domain = pci_msi_create_irq_domain(fwnode, &mc_msi_domain_info, in mc_allocate_msi_domains()
553 msi->dev_domain); in mc_allocate_msi_domains()
554 if (!msi->msi_domain) { in mc_allocate_msi_domains()
556 irq_domain_remove(msi->dev_domain); in mc_allocate_msi_domains()
1013 port->msi.vector_phy = MSI_ADDR; in mc_platform_init()
1014 port->msi.num_vectors = MC_NUM_MSI_IRQS; in mc_platform_init()