Alexander Gordeev
2014-Feb-19 10:15 UTC
[PATCH] virtio: Use pci_enable_msix_range() instead of pci_enable_msix()
As result deprecation of MSI-X/MSI enablement functions pci_enable_msix() and pci_enable_msi_block() all drivers using these two interfaces need to be updated to use the new pci_enable_msi_range() and pci_enable_msix_range() interfaces. Signed-off-by: Alexander Gordeev <agordeev at redhat.com> Cc: Rusty Russell <rusty at rustcorp.com.au> Cc: "Michael S. Tsirkin" <mst at redhat.com> Cc: virtio-dev at lists.oasis-open.org Cc: virtualization at lists.linux-foundation.org Cc: linux-pci at vger.kernel.org --- drivers/virtio/virtio_pci.c | 8 +++----- 1 files changed, 3 insertions(+), 5 deletions(-) diff --git a/drivers/virtio/virtio_pci.c b/drivers/virtio/virtio_pci.c index a416f9b..dea042c 100644 --- a/drivers/virtio/virtio_pci.c +++ b/drivers/virtio/virtio_pci.c @@ -333,11 +333,9 @@ static int vp_request_msix_vectors(struct virtio_device *vdev, int nvectors, for (i = 0; i < nvectors; ++i) vp_dev->msix_entries[i].entry = i; - /* pci_enable_msix returns positive if we can't get this many. */ - err = pci_enable_msix(vp_dev->pci_dev, vp_dev->msix_entries, nvectors); - if (err > 0) - err = -ENOSPC; - if (err) + err = pci_enable_msix_range(vp_dev->pci_dev, + vp_dev->msix_entries, nvectors, nvectors); + if (err < 0) goto error; vp_dev->msix_enabled = 1; -- 1.7.7.6
Rusty Russell
2014-Feb-20 01:44 UTC
[PATCH] virtio: Use pci_enable_msix_range() instead of pci_enable_msix()
Alexander Gordeev <agordeev at redhat.com> writes:> As result deprecation of MSI-X/MSI enablement functions > pci_enable_msix() and pci_enable_msi_block() all drivers > using these two interfaces need to be updated to use the > new pci_enable_msi_range() and pci_enable_msix_range() > interfaces. > > Signed-off-by: Alexander Gordeev <agordeev at redhat.com> > Cc: Rusty Russell <rusty at rustcorp.com.au> > Cc: "Michael S. Tsirkin" <mst at redhat.com> > Cc: virtio-dev at lists.oasis-open.org > Cc: virtualization at lists.linux-foundation.org > Cc: linux-pci at vger.kernel.org > --- > drivers/virtio/virtio_pci.c | 8 +++----- > 1 files changed, 3 insertions(+), 5 deletions(-) > > diff --git a/drivers/virtio/virtio_pci.c b/drivers/virtio/virtio_pci.c > index a416f9b..dea042c 100644 > --- a/drivers/virtio/virtio_pci.c > +++ b/drivers/virtio/virtio_pci.c > @@ -333,11 +333,9 @@ static int vp_request_msix_vectors(struct virtio_device *vdev, int nvectors, > for (i = 0; i < nvectors; ++i) > vp_dev->msix_entries[i].entry = i; > > - /* pci_enable_msix returns positive if we can't get this many. */ > - err = pci_enable_msix(vp_dev->pci_dev, vp_dev->msix_entries, nvectors); > - if (err > 0) > - err = -ENOSPC; > - if (err) > + err = pci_enable_msix_range(vp_dev->pci_dev, > + vp_dev->msix_entries, nvectors, nvectors); > + if (err < 0) > goto error; > vp_dev->msix_enabled = 1;I've put this in my pending queue, but in case someone else wants to take it: Acked-by: Rusty Russell <rusty at rustcorp.com.au> Cheers, Rusty.
Michael S. Tsirkin
2014-Feb-20 05:17 UTC
[PATCH] virtio: Use pci_enable_msix_range() instead of pci_enable_msix()
On Wed, Feb 19, 2014 at 11:15:29AM +0100, Alexander Gordeev wrote:> As result deprecation of MSI-X/MSI enablement functions > pci_enable_msix() and pci_enable_msi_block() all drivers > using these two interfaces need to be updated to use the > new pci_enable_msi_range() and pci_enable_msix_range() > interfaces. > > Signed-off-by: Alexander Gordeev <agordeev at redhat.com> > Cc: Rusty Russell <rusty at rustcorp.com.au> > Cc: "Michael S. Tsirkin" <mst at redhat.com> > Cc: virtio-dev at lists.oasis-open.org > Cc: virtualization at lists.linux-foundation.org > Cc: linux-pci at vger.kernel.orgAcked-by: Michael S. Tsirkin <mst at redhat.com>> --- > drivers/virtio/virtio_pci.c | 8 +++----- > 1 files changed, 3 insertions(+), 5 deletions(-) > > diff --git a/drivers/virtio/virtio_pci.c b/drivers/virtio/virtio_pci.c > index a416f9b..dea042c 100644 > --- a/drivers/virtio/virtio_pci.c > +++ b/drivers/virtio/virtio_pci.c > @@ -333,11 +333,9 @@ static int vp_request_msix_vectors(struct virtio_device *vdev, int nvectors, > for (i = 0; i < nvectors; ++i) > vp_dev->msix_entries[i].entry = i; > > - /* pci_enable_msix returns positive if we can't get this many. */ > - err = pci_enable_msix(vp_dev->pci_dev, vp_dev->msix_entries, nvectors); > - if (err > 0) > - err = -ENOSPC; > - if (err) > + err = pci_enable_msix_range(vp_dev->pci_dev, > + vp_dev->msix_entries, nvectors, nvectors); > + if (err < 0) > goto error; > vp_dev->msix_enabled = 1; > > -- > 1.7.7.6
Alexander Gordeev
2014-Feb-21 16:59 UTC
[PATCH] virtio: Use pci_enable_msix_range() instead of pci_enable_msix()
Hi Rusty et al, Based on recently accepted to the mainline pci_enable_msix_exact() function, I am sending a updated version of the patch. Please, let me know if it does not work for you and you need and incremental update from the previous version. Thanks! -- Regards, Alexander Gordeev agordeev at redhat.com
Apparently Analagous Threads
- [PATCH] virtio: Use pci_enable_msix_range() instead of pci_enable_msix()
- [PATCH] virtio: Use pci_enable_msix_range() instead of pci_enable_msix()
- [PATCH] virtio: Use pci_enable_msix_range() instead of pci_enable_msix()
- [PATCH v2] virtio: Use pci_enable_msix_exact() instead of pci_enable_msix()
- [PATCH v2] virtio: Use pci_enable_msix_exact() instead of pci_enable_msix()