Lines Matching refs:msi

295 	struct tegra_msi msi;  member
1127 int msi; in tegra_msi_alloc() local
1131 msi = find_first_zero_bit(chip->used, INT_PCI_MSI_NR); in tegra_msi_alloc()
1132 if (msi < INT_PCI_MSI_NR) in tegra_msi_alloc()
1133 set_bit(msi, chip->used); in tegra_msi_alloc()
1135 msi = -ENOSPC; in tegra_msi_alloc()
1139 return msi; in tegra_msi_alloc()
1159 struct tegra_msi *msi = &pcie->msi; in tegra_pcie_msi_irq() local
1173 irq = irq_find_mapping(msi->domain, index); in tegra_pcie_msi_irq()
1175 if (test_bit(index, msi->used)) in tegra_pcie_msi_irq()
1200 struct tegra_msi *msi = to_tegra_msi(chip); in tegra_msi_setup_irq() local
1205 hwirq = tegra_msi_alloc(msi); in tegra_msi_setup_irq()
1209 irq = irq_create_mapping(msi->domain, hwirq); in tegra_msi_setup_irq()
1211 tegra_msi_free(msi, hwirq); in tegra_msi_setup_irq()
1217 msg.address_lo = virt_to_phys((void *)msi->pages); in tegra_msi_setup_irq()
1230 struct tegra_msi *msi = to_tegra_msi(chip); in tegra_msi_teardown_irq() local
1235 tegra_msi_free(msi, hwirq); in tegra_msi_teardown_irq()
1265 struct tegra_msi *msi = &pcie->msi; in tegra_pcie_enable_msi() local
1270 mutex_init(&msi->lock); in tegra_pcie_enable_msi()
1272 msi->chip.dev = pcie->dev; in tegra_pcie_enable_msi()
1273 msi->chip.setup_irq = tegra_msi_setup_irq; in tegra_pcie_enable_msi()
1274 msi->chip.teardown_irq = tegra_msi_teardown_irq; in tegra_pcie_enable_msi()
1276 msi->domain = irq_domain_add_linear(pcie->dev->of_node, INT_PCI_MSI_NR, in tegra_pcie_enable_msi()
1277 &msi_domain_ops, &msi->chip); in tegra_pcie_enable_msi()
1278 if (!msi->domain) { in tegra_pcie_enable_msi()
1289 msi->irq = err; in tegra_pcie_enable_msi()
1291 err = request_irq(msi->irq, tegra_pcie_msi_irq, IRQF_NO_THREAD, in tegra_pcie_enable_msi()
1299 msi->pages = __get_free_pages(GFP_KERNEL, 0); in tegra_pcie_enable_msi()
1300 base = virt_to_phys((void *)msi->pages); in tegra_pcie_enable_msi()
1325 irq_domain_remove(msi->domain); in tegra_pcie_enable_msi()
1331 struct tegra_msi *msi = &pcie->msi; in tegra_pcie_disable_msi() local
1350 free_pages(msi->pages, 0); in tegra_pcie_disable_msi()
1352 if (msi->irq > 0) in tegra_pcie_disable_msi()
1353 free_irq(msi->irq, pcie); in tegra_pcie_disable_msi()
1356 irq = irq_find_mapping(msi->domain, i); in tegra_pcie_disable_msi()
1361 irq_domain_remove(msi->domain); in tegra_pcie_disable_msi()
1811 hw.msi_ctrl = &pcie->msi.chip; in tegra_pcie_enable()