Lines Matching refs:msi
273 struct mc_msi msi; member
391 struct mc_msi *msi = &port->msi; in mc_pcie_enable_msi() local
406 writel_relaxed(lower_32_bits(msi->vector_phy), in mc_pcie_enable_msi()
408 writel_relaxed(upper_32_bits(msi->vector_phy), in mc_pcie_enable_msi()
417 struct mc_msi *msi = &port->msi; in mc_handle_msi() local
430 for_each_set_bit(bit, &status, msi->num_vectors) { in mc_handle_msi()
431 ret = generic_handle_domain_irq(msi->dev_domain, bit); in mc_handle_msi()
454 phys_addr_t addr = port->msi.vector_phy; in mc_compose_msi_msg()
481 struct mc_msi *msi = &port->msi; in mc_irq_msi_domain_alloc() local
484 mutex_lock(&msi->lock); in mc_irq_msi_domain_alloc()
485 bit = find_first_zero_bit(msi->used, msi->num_vectors); in mc_irq_msi_domain_alloc()
486 if (bit >= msi->num_vectors) { in mc_irq_msi_domain_alloc()
487 mutex_unlock(&msi->lock); in mc_irq_msi_domain_alloc()
491 set_bit(bit, msi->used); in mc_irq_msi_domain_alloc()
496 mutex_unlock(&msi->lock); in mc_irq_msi_domain_alloc()
506 struct mc_msi *msi = &port->msi; in mc_irq_msi_domain_free() local
508 mutex_lock(&msi->lock); in mc_irq_msi_domain_free()
510 if (test_bit(d->hwirq, msi->used)) in mc_irq_msi_domain_free()
511 __clear_bit(d->hwirq, msi->used); in mc_irq_msi_domain_free()
515 mutex_unlock(&msi->lock); in mc_irq_msi_domain_free()
540 struct mc_msi *msi = &port->msi; in mc_allocate_msi_domains() local
542 mutex_init(&port->msi.lock); in mc_allocate_msi_domains()
544 msi->dev_domain = irq_domain_add_linear(NULL, msi->num_vectors, in mc_allocate_msi_domains()
546 if (!msi->dev_domain) { in mc_allocate_msi_domains()
551 msi->msi_domain = pci_msi_create_irq_domain(fwnode, &mc_msi_domain_info, in mc_allocate_msi_domains()
552 msi->dev_domain); in mc_allocate_msi_domains()
553 if (!msi->msi_domain) { in mc_allocate_msi_domains()
555 irq_domain_remove(msi->dev_domain); in mc_allocate_msi_domains()
1171 port->msi.num_vectors = 1 << val; in mc_host_probe()
1174 port->msi.vector_phy = readl_relaxed(bridge_base_addr + IMSI_ADDR); in mc_host_probe()