Lines Matching refs:msi
170 struct nwl_msi msi; member
337 struct nwl_msi *msi = &pcie->msi; in nwl_pcie_handle_msi_irq() local
344 generic_handle_domain_irq(msi->dev_domain, bit); in nwl_pcie_handle_msi_irq()
462 struct nwl_msi *msi = &pcie->msi; in nwl_irq_domain_alloc() local
466 mutex_lock(&msi->lock); in nwl_irq_domain_alloc()
467 bit = bitmap_find_free_region(msi->bitmap, INT_PCI_MSI_NR, in nwl_irq_domain_alloc()
470 mutex_unlock(&msi->lock); in nwl_irq_domain_alloc()
479 mutex_unlock(&msi->lock); in nwl_irq_domain_alloc()
488 struct nwl_msi *msi = &pcie->msi; in nwl_irq_domain_free() local
490 mutex_lock(&msi->lock); in nwl_irq_domain_free()
491 bitmap_release_region(msi->bitmap, data->hwirq, in nwl_irq_domain_free()
493 mutex_unlock(&msi->lock); in nwl_irq_domain_free()
506 struct nwl_msi *msi = &pcie->msi; in nwl_pcie_init_msi_irq_domain() local
508 msi->dev_domain = irq_domain_add_linear(NULL, INT_PCI_MSI_NR, in nwl_pcie_init_msi_irq_domain()
510 if (!msi->dev_domain) { in nwl_pcie_init_msi_irq_domain()
514 msi->msi_domain = pci_msi_create_irq_domain(fwnode, in nwl_pcie_init_msi_irq_domain()
516 msi->dev_domain); in nwl_pcie_init_msi_irq_domain()
517 if (!msi->msi_domain) { in nwl_pcie_init_msi_irq_domain()
519 irq_domain_remove(msi->dev_domain); in nwl_pcie_init_msi_irq_domain()
557 struct nwl_msi *msi = &pcie->msi; in nwl_pcie_enable_msi() local
561 mutex_init(&msi->lock); in nwl_pcie_enable_msi()
564 msi->irq_msi1 = platform_get_irq_byname(pdev, "msi1"); in nwl_pcie_enable_msi()
565 if (msi->irq_msi1 < 0) in nwl_pcie_enable_msi()
568 irq_set_chained_handler_and_data(msi->irq_msi1, in nwl_pcie_enable_msi()
572 msi->irq_msi0 = platform_get_irq_byname(pdev, "msi0"); in nwl_pcie_enable_msi()
573 if (msi->irq_msi0 < 0) in nwl_pcie_enable_msi()
576 irq_set_chained_handler_and_data(msi->irq_msi0, in nwl_pcie_enable_msi()