Messages in this thread Patch in this message | | | Date | Tue, 18 Jun 2019 14:03:08 +0100 | From | Lorenzo Pieralisi <> | Subject | Re: [PATCH v4] PCI: xilinx-nwl: Fix Multi MSI data programming |
| |
On Tue, Jun 18, 2019 at 12:28:02PM +0000, Bharat Kumar Gogada wrote:
[...]
> > Applied to pci/xilinx for v5.3, please have a look and check if the commit log > > I wrote provides a clear description of the issue. > > > > Lorenzo > Thanks Lorenzo and Marc. > Lorenzo, can you please point to link for above commit.
I did already.
Anyway:
https://git.kernel.org/pub/scm/linux/kernel/git/lpieralisi/pci.git/commit/?h=pci/xilinx&id=46c1bfcfcd873f8754f733e4258121748bcae3a3
> Regards, > Bharat > > > diff --git a/drivers/pci/controller/pcie-xilinx-nwl.c > > > b/drivers/pci/controller/pcie-xilinx-nwl.c > > > index 81538d7..a9e07b8 100644 > > > --- a/drivers/pci/controller/pcie-xilinx-nwl.c > > > +++ b/drivers/pci/controller/pcie-xilinx-nwl.c > > > @@ -483,15 +483,13 @@ static int nwl_irq_domain_alloc(struct > > irq_domain *domain, unsigned int virq, > > > int i; > > > > > > mutex_lock(&msi->lock); > > > - bit = bitmap_find_next_zero_area(msi->bitmap, INT_PCI_MSI_NR, 0, > > > - nr_irqs, 0); > > > - if (bit >= INT_PCI_MSI_NR) { > > > + bit = bitmap_find_free_region(msi->bitmap, INT_PCI_MSI_NR, > > > + get_count_order(nr_irqs)); > > > + if (bit < 0) { > > > mutex_unlock(&msi->lock); > > > return -ENOSPC; > > > } > > > > > > - bitmap_set(msi->bitmap, bit, nr_irqs); > > > - > > > for (i = 0; i < nr_irqs; i++) { > > > irq_domain_set_info(domain, virq + i, bit + i, &nwl_irq_chip, > > > domain->host_data, handle_simple_irq, @@ > > -509,7 +507,8 @@ static > > > void nwl_irq_domain_free(struct irq_domain *domain, unsigned int virq, > > > struct nwl_msi *msi = &pcie->msi; > > > > > > mutex_lock(&msi->lock); > > > - bitmap_clear(msi->bitmap, data->hwirq, nr_irqs); > > > + bitmap_release_region(msi->bitmap, data->hwirq, > > > + get_count_order(nr_irqs)); > > > mutex_unlock(&msi->lock); > > > } > > > > > > -- > > > 2.7.4 > > >
| |