Lines Matching defs:msi
16 #include <linux/msi.h>
170 struct nwl_msi msi;
345 struct nwl_msi *msi;
350 msi = &pcie->msi;
355 virq = irq_find_mapping(msi->dev_domain, bit);
439 .name = "nwl_pcie:msi",
479 struct nwl_msi *msi = &pcie->msi;
483 mutex_lock(&msi->lock);
484 bit = bitmap_find_free_region(msi->bitmap, INT_PCI_MSI_NR,
487 mutex_unlock(&msi->lock);
496 mutex_unlock(&msi->lock);
505 struct nwl_msi *msi = &pcie->msi;
507 mutex_lock(&msi->lock);
508 bitmap_release_region(msi->bitmap, data->hwirq,
510 mutex_unlock(&msi->lock);
523 struct nwl_msi *msi = &pcie->msi;
525 msi->dev_domain = irq_domain_add_linear(NULL, INT_PCI_MSI_NR,
527 if (!msi->dev_domain) {
531 msi->msi_domain = pci_msi_create_irq_domain(fwnode,
533 msi->dev_domain);
534 if (!msi->msi_domain) {
535 dev_err(dev, "failed to create msi IRQ domain\n");
536 irq_domain_remove(msi->dev_domain);
574 struct nwl_msi *msi = &pcie->msi;
579 mutex_init(&msi->lock);
581 msi->bitmap = kzalloc(size, GFP_KERNEL);
582 if (!msi->bitmap)
586 msi->irq_msi1 = platform_get_irq_byname(pdev, "msi1");
587 if (msi->irq_msi1 < 0) {
592 irq_set_chained_handler_and_data(msi->irq_msi1,
596 msi->irq_msi0 = platform_get_irq_byname(pdev, "msi0");
597 if (msi->irq_msi0 < 0) {
602 irq_set_chained_handler_and_data(msi->irq_msi0,
650 kfree(msi->bitmap);
651 msi->bitmap = NULL;