Lines Matching full:msi

10 #include <linux/irqchip/irq-msi-lib.h>
14 #include <linux/msi.h>
47 IMR(MSI) | \
77 /* Number of MSI IRQs */
112 * @msi: MSI information
127 struct xilinx_msi msi; member
272 struct xilinx_msi *msi; in xilinx_pl_dma_pcie_msi_handler_high() local
277 msi = &port->msi; in xilinx_pl_dma_pcie_msi_handler_high()
283 virq = irq_find_mapping(msi->dev_domain, bit); in xilinx_pl_dma_pcie_msi_handler_high()
295 struct xilinx_msi *msi; in xilinx_pl_dma_pcie_msi_handler_low() local
299 msi = &port->msi; in xilinx_pl_dma_pcie_msi_handler_low()
304 virq = irq_find_mapping(msi->dev_domain, bit); in xilinx_pl_dma_pcie_msi_handler_low()
401 .name = "pl_dma:MSI",
409 struct xilinx_msi *msi = &pcie->msi; in xilinx_irq_domain_alloc() local
412 mutex_lock(&msi->lock); in xilinx_irq_domain_alloc()
413 bit = bitmap_find_free_region(msi->bitmap, XILINX_NUM_MSI_IRQS, in xilinx_irq_domain_alloc()
416 mutex_unlock(&msi->lock); in xilinx_irq_domain_alloc()
425 mutex_unlock(&msi->lock); in xilinx_irq_domain_alloc()
435 struct xilinx_msi *msi = &pcie->msi; in xilinx_irq_domain_free() local
437 mutex_lock(&msi->lock); in xilinx_irq_domain_free()
438 bitmap_release_region(msi->bitmap, data->hwirq, in xilinx_irq_domain_free()
440 mutex_unlock(&msi->lock); in xilinx_irq_domain_free()
450 struct xilinx_msi *msi = &port->msi; in xilinx_pl_dma_pcie_free_irq_domains() local
457 if (msi->dev_domain) { in xilinx_pl_dma_pcie_free_irq_domains()
458 irq_domain_remove(msi->dev_domain); in xilinx_pl_dma_pcie_free_irq_domains()
459 msi->dev_domain = NULL; in xilinx_pl_dma_pcie_free_irq_domains()
466 struct xilinx_msi *msi = &port->msi; in xilinx_pl_dma_pcie_init_msi_irq_domain() local
475 msi->dev_domain = msi_create_parent_irq_domain(&info, &xilinx_msi_parent_ops); in xilinx_pl_dma_pcie_init_msi_irq_domain()
476 if (!msi->dev_domain) in xilinx_pl_dma_pcie_init_msi_irq_domain()
479 mutex_init(&msi->lock); in xilinx_pl_dma_pcie_init_msi_irq_domain()
480 msi->bitmap = kzalloc(size, GFP_KERNEL); in xilinx_pl_dma_pcie_init_msi_irq_domain()
481 if (!msi->bitmap) in xilinx_pl_dma_pcie_init_msi_irq_domain()
491 dev_err(dev, "Failed to allocate MSI IRQ domains\n"); in xilinx_pl_dma_pcie_init_msi_irq_domain()
681 /* Needed for MSI DECODE MODE */ in xilinx_pl_dma_pcie_init_port()
699 port->msi.irq_msi0 = platform_get_irq_byname(pdev, "msi0"); in xilinx_request_msi_irq()
700 if (port->msi.irq_msi0 <= 0) in xilinx_request_msi_irq()
701 return port->msi.irq_msi0; in xilinx_request_msi_irq()
703 ret = devm_request_irq(dev, port->msi.irq_msi0, xilinx_pl_dma_pcie_msi_handler_low, in xilinx_request_msi_irq()
711 port->msi.irq_msi1 = platform_get_irq_byname(pdev, "msi1"); in xilinx_request_msi_irq()
712 if (port->msi.irq_msi1 <= 0) in xilinx_request_msi_irq()
713 return port->msi.irq_msi1; in xilinx_request_msi_irq()
715 ret = devm_request_irq(dev, port->msi.irq_msi1, xilinx_pl_dma_pcie_msi_handler_high, in xilinx_request_msi_irq()