Lines Matching refs:msi
15 #include <linux/msi.h>
36 struct plda_msi *msi = &port->msi;
49 for_each_set_bit(bit, &status, msi->num_vectors) {
50 ret = generic_handle_domain_irq(msi->dev_domain, bit);
72 phys_addr_t addr = port->msi.vector_phy;
78 dev_dbg(port->dev, "msi#%x address_hi %#x address_lo %#x\n",
94 struct plda_msi *msi = &port->msi;
97 mutex_lock(&msi->lock);
98 bit = find_first_zero_bit(msi->used, msi->num_vectors);
99 if (bit >= msi->num_vectors) {
100 mutex_unlock(&msi->lock);
104 set_bit(bit, msi->used);
109 mutex_unlock(&msi->lock);
120 struct plda_msi *msi = &port->msi;
122 mutex_lock(&msi->lock);
124 if (test_bit(d->hwirq, msi->used))
125 __clear_bit(d->hwirq, msi->used);
129 mutex_unlock(&msi->lock);
154 struct plda_msi *msi = &port->msi;
156 mutex_init(&port->msi.lock);
158 msi->dev_domain = irq_domain_add_linear(NULL, msi->num_vectors,
160 if (!msi->dev_domain) {
165 msi->msi_domain = pci_msi_create_irq_domain(fwnode,
167 msi->dev_domain);
168 if (!msi->msi_domain) {
170 irq_domain_remove(msi->dev_domain);
568 irq_domain_remove(pcie->msi.msi_domain);
569 irq_domain_remove(pcie->msi.dev_domain);
618 plda_set_default_msi(&port->msi);