public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/9] Phase out pci_enable_msi_block()
@ 2014-01-17 16:02 Alexander Gordeev
  2014-01-17 16:02 ` [PATCH v2 3/9] ipr: Get rid of superfluous call to pci_disable_msi/msix() Alexander Gordeev
                   ` (3 more replies)
  0 siblings, 4 replies; 14+ messages in thread
From: Alexander Gordeev @ 2014-01-17 16:02 UTC (permalink / raw)
  To: linux-kernel
  Cc: Alexander Gordeev, Brian King, Tejun Heo, Matthew Wilcox,
	Alex Williamson, Kalle Valo, Vladimir Kondratiev, linux-wireless,
	wil6210, ath10k, linux-nvme, linux-ide, linux-scsi, kvm,
	linux-pci

This series is against "next" branch in Bjorn's repo:
git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git

Changes from v1 to v2:
  - added a regression fix "ahci: Fix broken fallback to single
    MSI mode" as patch 1/9;
  - the series is reordered to move the regression fix in front;
  - at Bjorn's request pci_enable_msi() is un-deprecated;
  - as result, pci_enable_msi_range(pdev, 1, 1) styled calls
    rolled back to pci_enable_msi(pdev);
  - nvme bug fix moved out as a separate patch 5/9 "nvme: Fix
    invalid call to irq_set_affinity_hint()"
  - patches changelog elaborated a bit;

Bjorn,

As the release is supposedly this weekend, do you prefer
the patches to go to your tree or to individual trees after
the release?

Thanks!

Alexander Gordeev (9):
  ahci: Fix broken fallback to single MSI mode
  ahci: Use pci_enable_msi_range()
  ipr: Get rid of superfluous call to pci_disable_msi/msix()
  ipr: Use pci_enable_msi_range() and pci_enable_msix_range()
  nvme: Fix invalid call to irq_set_affinity_hint()
  nvme: Use pci_enable_msi_range() and pci_enable_msix_range()
  vfio: Use pci_enable_msi_range() and pci_enable_msix_range()
  ath10k: Use pci_enable_msi_range()
  wil6210: Use pci_enable_msi_range()

 drivers/ata/ahci.c                          |   18 +++++-----
 drivers/block/nvme-core.c                   |   33 ++++-------------
 drivers/net/wireless/ath/ath10k/pci.c       |   20 +++++-----
 drivers/net/wireless/ath/wil6210/pcie_bus.c |   36 ++++++++++---------
 drivers/scsi/ipr.c                          |   51 +++++++++-----------------
 drivers/vfio/pci/vfio_pci_intrs.c           |   12 ++++--
 6 files changed, 72 insertions(+), 98 deletions(-)

-- 
1.7.7.6

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [PATCH v2 3/9] ipr: Get rid of superfluous call to pci_disable_msi/msix()
  2014-01-17 16:02 [PATCH v2 0/9] Phase out pci_enable_msi_block() Alexander Gordeev
@ 2014-01-17 16:02 ` Alexander Gordeev
  2014-01-17 16:02 ` [PATCH v2 4/9] ipr: Use pci_enable_msi_range() and pci_enable_msix_range() Alexander Gordeev
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 14+ messages in thread
From: Alexander Gordeev @ 2014-01-17 16:02 UTC (permalink / raw)
  To: linux-kernel; +Cc: Alexander Gordeev, Brian King, linux-scsi, kvm, linux-pci

There is no need to call pci_disable_msi() or pci_disable_msix()
in case the call to pci_enable_msi() or pci_enable_msix() failed.

Signed-off-by: Alexander Gordeev <agordeev@redhat.com>
---
 drivers/scsi/ipr.c |    8 ++------
 1 files changed, 2 insertions(+), 6 deletions(-)

diff --git a/drivers/scsi/ipr.c b/drivers/scsi/ipr.c
index 36ac1c3..fb57e21 100644
--- a/drivers/scsi/ipr.c
+++ b/drivers/scsi/ipr.c
@@ -9255,10 +9255,8 @@ static int ipr_enable_msix(struct ipr_ioa_cfg *ioa_cfg)
 	while ((err = pci_enable_msix(ioa_cfg->pdev, entries, vectors)) > 0)
 			vectors = err;
 
-	if (err < 0) {
-		pci_disable_msix(ioa_cfg->pdev);
+	if (err < 0)
 		return err;
-	}
 
 	if (!err) {
 		for (i = 0; i < vectors; i++)
@@ -9278,10 +9276,8 @@ static int ipr_enable_msi(struct ipr_ioa_cfg *ioa_cfg)
 	while ((err = pci_enable_msi_block(ioa_cfg->pdev, vectors)) > 0)
 			vectors = err;
 
-	if (err < 0) {
-		pci_disable_msi(ioa_cfg->pdev);
+	if (err < 0)
 		return err;
-	}
 
 	if (!err) {
 		for (i = 0; i < vectors; i++)
-- 
1.7.7.6

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH v2 4/9] ipr: Use pci_enable_msi_range() and pci_enable_msix_range()
  2014-01-17 16:02 [PATCH v2 0/9] Phase out pci_enable_msi_block() Alexander Gordeev
  2014-01-17 16:02 ` [PATCH v2 3/9] ipr: Get rid of superfluous call to pci_disable_msi/msix() Alexander Gordeev
@ 2014-01-17 16:02 ` Alexander Gordeev
  2014-01-28  9:54   ` Alexander Gordeev
  2014-01-17 16:02 ` [PATCH v2 7/9] vfio: " Alexander Gordeev
  2014-01-17 21:00 ` [PATCH v2 0/9] Phase out pci_enable_msi_block() Bjorn Helgaas
  3 siblings, 1 reply; 14+ messages in thread
From: Alexander Gordeev @ 2014-01-17 16:02 UTC (permalink / raw)
  To: linux-kernel; +Cc: Alexander Gordeev, Brian King, linux-scsi, kvm, linux-pci

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@redhat.com>
---
 drivers/scsi/ipr.c |   47 ++++++++++++++++++-----------------------------
 1 files changed, 18 insertions(+), 29 deletions(-)

diff --git a/drivers/scsi/ipr.c b/drivers/scsi/ipr.c
index fb57e21..3841298 100644
--- a/drivers/scsi/ipr.c
+++ b/drivers/scsi/ipr.c
@@ -9245,47 +9245,36 @@ ipr_get_chip_info(const struct pci_device_id *dev_id)
 static int ipr_enable_msix(struct ipr_ioa_cfg *ioa_cfg)
 {
 	struct msix_entry entries[IPR_MAX_MSIX_VECTORS];
-	int i, err, vectors;
+	int i, vectors;
 
 	for (i = 0; i < ARRAY_SIZE(entries); ++i)
 		entries[i].entry = i;
 
-	vectors = ipr_number_of_msix;
+	vectors = pci_enable_msix_range(ioa_cfg->pdev, entries,
+					1, ipr_number_of_msix);
+	if (vectors < 0)
+		return vectors;
 
-	while ((err = pci_enable_msix(ioa_cfg->pdev, entries, vectors)) > 0)
-			vectors = err;
+	for (i = 0; i < vectors; i++)
+		ioa_cfg->vectors_info[i].vec = entries[i].vector;
+	ioa_cfg->nvectors = vectors;
 
-	if (err < 0)
-		return err;
-
-	if (!err) {
-		for (i = 0; i < vectors; i++)
-			ioa_cfg->vectors_info[i].vec = entries[i].vector;
-		ioa_cfg->nvectors = vectors;
-	}
-
-	return err;
+	return 0;
 }
 
 static int ipr_enable_msi(struct ipr_ioa_cfg *ioa_cfg)
 {
-	int i, err, vectors;
+	int i, vectors;
 
-	vectors = ipr_number_of_msix;
+	vectors = pci_enable_msi_range(ioa_cfg->pdev, 1, ipr_number_of_msix);
+	if (vectors < 0)
+		return vectors;
 
-	while ((err = pci_enable_msi_block(ioa_cfg->pdev, vectors)) > 0)
-			vectors = err;
+	for (i = 0; i < vectors; i++)
+		ioa_cfg->vectors_info[i].vec = ioa_cfg->pdev->irq + i;
+	ioa_cfg->nvectors = vectors;
 
-	if (err < 0)
-		return err;
-
-	if (!err) {
-		for (i = 0; i < vectors; i++)
-			ioa_cfg->vectors_info[i].vec = ioa_cfg->pdev->irq + i;
-		ioa_cfg->nvectors = vectors;
-	}
-
-	return err;
+	return 0;
 }
 
 static void name_msi_vectors(struct ipr_ioa_cfg *ioa_cfg)
@@ -9350,7 +9339,7 @@ static irqreturn_t ipr_test_intr(int irq, void *devp)
  * ipr_test_msi - Test for Message Signaled Interrupt (MSI) support.
  * @pdev:		PCI device struct
  *
- * Description: The return value from pci_enable_msi() can not always be
+ * Description: The return value from pci_enable_msi_range() can not always be
  * trusted.  This routine sets up and initiates a test interrupt to determine
  * if the interrupt is received via the ipr_test_intr() service routine.
  * If the tests fails, the driver will fall back to LSI.
-- 
1.7.7.6

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH v2 7/9] vfio: Use pci_enable_msi_range() and pci_enable_msix_range()
  2014-01-17 16:02 [PATCH v2 0/9] Phase out pci_enable_msi_block() Alexander Gordeev
  2014-01-17 16:02 ` [PATCH v2 3/9] ipr: Get rid of superfluous call to pci_disable_msi/msix() Alexander Gordeev
  2014-01-17 16:02 ` [PATCH v2 4/9] ipr: Use pci_enable_msi_range() and pci_enable_msix_range() Alexander Gordeev
@ 2014-01-17 16:02 ` Alexander Gordeev
  2014-01-29 21:36   ` Bjorn Helgaas
  2014-01-17 21:00 ` [PATCH v2 0/9] Phase out pci_enable_msi_block() Bjorn Helgaas
  3 siblings, 1 reply; 14+ messages in thread
From: Alexander Gordeev @ 2014-01-17 16:02 UTC (permalink / raw)
  To: linux-kernel; +Cc: Alexander Gordeev, Alex Williamson, kvm, linux-pci

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@redhat.com>
Acked-by: Alex Williamson <alex.williamson@redhat.com>
---
 drivers/vfio/pci/vfio_pci_intrs.c |   12 ++++++++----
 1 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/drivers/vfio/pci/vfio_pci_intrs.c b/drivers/vfio/pci/vfio_pci_intrs.c
index 641bc87..4a9db1d 100644
--- a/drivers/vfio/pci/vfio_pci_intrs.c
+++ b/drivers/vfio/pci/vfio_pci_intrs.c
@@ -482,15 +482,19 @@ static int vfio_msi_enable(struct vfio_pci_device *vdev, int nvec, bool msix)
 		for (i = 0; i < nvec; i++)
 			vdev->msix[i].entry = i;
 
-		ret = pci_enable_msix(pdev, vdev->msix, nvec);
-		if (ret) {
+		ret = pci_enable_msix_range(pdev, vdev->msix, 1, nvec);
+		if (ret < nvec) {
+			if (ret > 0)
+				pci_disable_msix(pdev);
 			kfree(vdev->msix);
 			kfree(vdev->ctx);
 			return ret;
 		}
 	} else {
-		ret = pci_enable_msi_block(pdev, nvec);
-		if (ret) {
+		ret = pci_enable_msi_range(pdev, 1, nvec);
+		if (ret < nvec) {
+			if (ret > 0)
+				pci_disable_msi(pdev);
 			kfree(vdev->ctx);
 			return ret;
 		}
-- 
1.7.7.6

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* Re: [PATCH v2 0/9] Phase out pci_enable_msi_block()
  2014-01-17 16:02 [PATCH v2 0/9] Phase out pci_enable_msi_block() Alexander Gordeev
                   ` (2 preceding siblings ...)
  2014-01-17 16:02 ` [PATCH v2 7/9] vfio: " Alexander Gordeev
@ 2014-01-17 21:00 ` Bjorn Helgaas
  2014-01-18  7:15   ` Alexander Gordeev
  2014-01-29 13:59   ` Alexander Gordeev
  3 siblings, 2 replies; 14+ messages in thread
From: Bjorn Helgaas @ 2014-01-17 21:00 UTC (permalink / raw)
  To: Alexander Gordeev
  Cc: linux-kernel@vger.kernel.org, Brian King, Tejun Heo,
	Matthew Wilcox, Alex Williamson, Kalle Valo, Vladimir Kondratiev,
	linux-wireless, wil6210, ath10k, linux-nvme,
	linux-ide@vger.kernel.org, linux-scsi@vger.kernel.org,
	kvm@vger.kernel.org, linux-pci@vger.kernel.org

On Fri, Jan 17, 2014 at 9:02 AM, Alexander Gordeev <agordeev@redhat.com> wrote:
> This series is against "next" branch in Bjorn's repo:
> git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git
>
> Changes from v1 to v2:
>   - added a regression fix "ahci: Fix broken fallback to single
>     MSI mode" as patch 1/9;
>   - the series is reordered to move the regression fix in front;
>   - at Bjorn's request pci_enable_msi() is un-deprecated;
>   - as result, pci_enable_msi_range(pdev, 1, 1) styled calls
>     rolled back to pci_enable_msi(pdev);
>   - nvme bug fix moved out as a separate patch 5/9 "nvme: Fix
>     invalid call to irq_set_affinity_hint()"
>   - patches changelog elaborated a bit;
>
> Bjorn,
>
> As the release is supposedly this weekend, do you prefer
> the patches to go to your tree or to individual trees after
> the release?

I'd be happy to merge them, except for the fact that they probably
wouldn't have any time in -next before I ask Linus to pull them.  So
how about if we wait until after the release, ask the area maintainers
to take them, and if they don't take them, I'll put them in my tree
for v3.15?

Bjorn

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH v2 0/9] Phase out pci_enable_msi_block()
  2014-01-17 21:00 ` [PATCH v2 0/9] Phase out pci_enable_msi_block() Bjorn Helgaas
@ 2014-01-18  7:15   ` Alexander Gordeev
  2014-01-18 14:38     ` Bjorn Helgaas
  2014-01-29 13:59   ` Alexander Gordeev
  1 sibling, 1 reply; 14+ messages in thread
From: Alexander Gordeev @ 2014-01-18  7:15 UTC (permalink / raw)
  To: Bjorn Helgaas
  Cc: linux-kernel@vger.kernel.org, Brian King, Tejun Heo,
	Matthew Wilcox, Alex Williamson, Kalle Valo, Vladimir Kondratiev,
	linux-wireless, wil6210, ath10k, linux-nvme,
	linux-ide@vger.kernel.org, linux-scsi@vger.kernel.org,
	kvm@vger.kernel.org, linux-pci@vger.kernel.org

On Fri, Jan 17, 2014 at 02:00:32PM -0700, Bjorn Helgaas wrote:
> > As the release is supposedly this weekend, do you prefer
> > the patches to go to your tree or to individual trees after
> > the release?
> 
> I'd be happy to merge them, except for the fact that they probably
> wouldn't have any time in -next before I ask Linus to pull them.  So
> how about if we wait until after the release, ask the area maintainers
> to take them, and if they don't take them, I'll put them in my tree
> for v3.15?

Patch 11 depends on patches 1-10, so I am not sure how to better handle it.
Whatever works for you ;)

I am only concerned with a regression fix "ahci: Fix broken fallback to
single MSI mode" which would be nice to have in 3.14. But it seems pretty
much too late.

> Bjorn

Thanks!

-- 
Regards,
Alexander Gordeev
agordeev@redhat.com

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH v2 0/9] Phase out pci_enable_msi_block()
  2014-01-18  7:15   ` Alexander Gordeev
@ 2014-01-18 14:38     ` Bjorn Helgaas
  2014-01-18 14:59       ` Tejun Heo
  0 siblings, 1 reply; 14+ messages in thread
From: Bjorn Helgaas @ 2014-01-18 14:38 UTC (permalink / raw)
  To: Alexander Gordeev
  Cc: linux-kernel@vger.kernel.org, Brian King, Tejun Heo,
	Matthew Wilcox, Alex Williamson, Kalle Valo, Vladimir Kondratiev,
	linux-wireless, wil6210, ath10k, linux-nvme,
	linux-ide@vger.kernel.org, linux-scsi@vger.kernel.org,
	kvm@vger.kernel.org, linux-pci@vger.kernel.org

On Sat, Jan 18, 2014 at 12:15 AM, Alexander Gordeev <agordeev@redhat.com> wrote:
> On Fri, Jan 17, 2014 at 02:00:32PM -0700, Bjorn Helgaas wrote:
>> > As the release is supposedly this weekend, do you prefer
>> > the patches to go to your tree or to individual trees after
>> > the release?
>>
>> I'd be happy to merge them, except for the fact that they probably
>> wouldn't have any time in -next before I ask Linus to pull them.  So
>> how about if we wait until after the release, ask the area maintainers
>> to take them, and if they don't take them, I'll put them in my tree
>> for v3.15?
>
> Patch 11 depends on patches 1-10, so I am not sure how to better handle it.
> Whatever works for you ;)
>
> I am only concerned with a regression fix "ahci: Fix broken fallback to
> single MSI mode" which would be nice to have in 3.14. But it seems pretty
> much too late.

Tejun, if you want to ack that one, I can put it in either the first
3.14 pull request or a subsequent one.  Either way, since it's a
regression fix, we should be able to get it in 3.14.

Bjorn

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH v2 0/9] Phase out pci_enable_msi_block()
  2014-01-18 14:38     ` Bjorn Helgaas
@ 2014-01-18 14:59       ` Tejun Heo
  2014-01-29 21:48         ` Bjorn Helgaas
  0 siblings, 1 reply; 14+ messages in thread
From: Tejun Heo @ 2014-01-18 14:59 UTC (permalink / raw)
  To: Bjorn Helgaas
  Cc: Alexander Gordeev, linux-kernel@vger.kernel.org, Brian King,
	Matthew Wilcox, Alex Williamson, Kalle Valo, Vladimir Kondratiev,
	linux-wireless, wil6210, ath10k, linux-nvme,
	linux-ide@vger.kernel.org, linux-scsi@vger.kernel.org,
	kvm@vger.kernel.org, linux-pci@vger.kernel.org

On Sat, Jan 18, 2014 at 07:38:55AM -0700, Bjorn Helgaas wrote:
> On Sat, Jan 18, 2014 at 12:15 AM, Alexander Gordeev <agordeev@redhat.com> wrote:
> > On Fri, Jan 17, 2014 at 02:00:32PM -0700, Bjorn Helgaas wrote:
> >> > As the release is supposedly this weekend, do you prefer
> >> > the patches to go to your tree or to individual trees after
> >> > the release?
> >>
> >> I'd be happy to merge them, except for the fact that they probably
> >> wouldn't have any time in -next before I ask Linus to pull them.  So
> >> how about if we wait until after the release, ask the area maintainers
> >> to take them, and if they don't take them, I'll put them in my tree
> >> for v3.15?
> >
> > Patch 11 depends on patches 1-10, so I am not sure how to better handle it.
> > Whatever works for you ;)
> >
> > I am only concerned with a regression fix "ahci: Fix broken fallback to
> > single MSI mode" which would be nice to have in 3.14. But it seems pretty
> > much too late.
> 
> Tejun, if you want to ack that one, I can put it in either the first
> 3.14 pull request or a subsequent one.  Either way, since it's a
> regression fix, we should be able to get it in 3.14.

Acked-by: Tejun Heo <tj@kernel.org>

Please feel free to route it any way you see fit.

Thanks!

-- 
tejun

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH v2 4/9] ipr: Use pci_enable_msi_range() and pci_enable_msix_range()
  2014-01-17 16:02 ` [PATCH v2 4/9] ipr: Use pci_enable_msi_range() and pci_enable_msix_range() Alexander Gordeev
@ 2014-01-28  9:54   ` Alexander Gordeev
  2014-01-28 15:28     ` Brian King
  0 siblings, 1 reply; 14+ messages in thread
From: Alexander Gordeev @ 2014-01-28  9:54 UTC (permalink / raw)
  To: Brian King, James E.J. Bottomley; +Cc: linux-scsi, kvm, linux-pci, linux-kernel

On Fri, Jan 17, 2014 at 05:02:18PM +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@redhat.com>

Brian, James,

Could you please review patches 3 and 4?

Thanks!

-- 
Regards,
Alexander Gordeev
agordeev@redhat.com

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH v2 4/9] ipr: Use pci_enable_msi_range() and pci_enable_msix_range()
  2014-01-28  9:54   ` Alexander Gordeev
@ 2014-01-28 15:28     ` Brian King
  2014-01-29 13:26       ` Alexander Gordeev
  0 siblings, 1 reply; 14+ messages in thread
From: Brian King @ 2014-01-28 15:28 UTC (permalink / raw)
  To: Alexander Gordeev
  Cc: Brian King, James E.J. Bottomley, linux-scsi, kvm, linux-pci,
	linux-kernel, Wendy Xiong

On 01/28/2014 03:54 AM, Alexander Gordeev wrote:
> On Fri, Jan 17, 2014 at 05:02:18PM +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@redhat.com>
> 
> Brian, James,
> 
> Could you please review patches 3 and 4?

These look like they will conflict with a recent patch to
the ipr driver:

http://www.spinics.net/lists/linux-scsi/msg71644.html

Do you want me to rediff your patches on top of this one,
or do you want to keep the entire MSI series together
and do the rediff? Otherwise the patches seem fine.

Thanks,

Brian


-- 
Brian King
Power Linux I/O
IBM Linux Technology Center

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH v2 4/9] ipr: Use pci_enable_msi_range() and pci_enable_msix_range()
  2014-01-28 15:28     ` Brian King
@ 2014-01-29 13:26       ` Alexander Gordeev
  0 siblings, 0 replies; 14+ messages in thread
From: Alexander Gordeev @ 2014-01-29 13:26 UTC (permalink / raw)
  To: Brian King
  Cc: James E.J. Bottomley, linux-scsi, kvm, linux-pci, linux-kernel,
	Wendy Xiong

On Tue, Jan 28, 2014 at 09:28:45AM -0600, Brian King wrote:

Thanks for the review, Brian!

> These look like they will conflict with a recent patch to
> the ipr driver:
> 
> http://www.spinics.net/lists/linux-scsi/msg71644.html

BTW, this one does not appear ACKed.

> Do you want me to rediff your patches on top of this one,
> or do you want to keep the entire MSI series together
> and do the rediff? Otherwise the patches seem fine.

I would prefer the former.

@Bjorn, please let us know if you prefer otherwise.

> Thanks,
> 
> Brian
> 
> 
> -- 
> Brian King
> Power Linux I/O
> IBM Linux Technology Center
> 
> 

-- 
Regards,
Alexander Gordeev
agordeev@redhat.com

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH v2 0/9] Phase out pci_enable_msi_block()
  2014-01-17 21:00 ` [PATCH v2 0/9] Phase out pci_enable_msi_block() Bjorn Helgaas
  2014-01-18  7:15   ` Alexander Gordeev
@ 2014-01-29 13:59   ` Alexander Gordeev
  1 sibling, 0 replies; 14+ messages in thread
From: Alexander Gordeev @ 2014-01-29 13:59 UTC (permalink / raw)
  To: Alex Williamson, Kalle Valo, Vladimir Kondratiev
  Cc: linux-kernel@vger.kernel.org, Brian King, Tejun Heo,
	Matthew Wilcox, linux-wireless, wil6210, ath10k, linux-nvme,
	linux-ide@vger.kernel.org, linux-scsi@vger.kernel.org,
	kvm@vger.kernel.org, linux-pci@vger.kernel.org, Bjorn Helgaas

On Fri, Jan 17, 2014 at 02:00:32PM -0700, Bjorn Helgaas wrote:
> > Bjorn,
> >
> > As the release is supposedly this weekend, do you prefer
> > the patches to go to your tree or to individual trees after
> > the release?
> 
> I'd be happy to merge them, except for the fact that they probably
> wouldn't have any time in -next before I ask Linus to pull them.  So
> how about if we wait until after the release, ask the area maintainers
> to take them, and if they don't take them, I'll put them in my tree
> for v3.15?

Hi Gentleman,

As the prerequisite commit 302a252 ("PCI/MSI: Add pci_enable_msi_range()
and pci_enable_msix_range()") is in mainline now, could you please take
the ACKed patches to your trees?

Thanks!

> Bjorn

-- 
Regards,
Alexander Gordeev
agordeev@redhat.com

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH v2 7/9] vfio: Use pci_enable_msi_range() and pci_enable_msix_range()
  2014-01-17 16:02 ` [PATCH v2 7/9] vfio: " Alexander Gordeev
@ 2014-01-29 21:36   ` Bjorn Helgaas
  0 siblings, 0 replies; 14+ messages in thread
From: Bjorn Helgaas @ 2014-01-29 21:36 UTC (permalink / raw)
  To: Alexander Gordeev; +Cc: linux-kernel, Alex Williamson, kvm, linux-pci

On Fri, Jan 17, 2014 at 05:02:21PM +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@redhat.com>
> Acked-by: Alex Williamson <alex.williamson@redhat.com>

Applied to my pci/msi branch, thanks!

> ---
>  drivers/vfio/pci/vfio_pci_intrs.c |   12 ++++++++----
>  1 files changed, 8 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/vfio/pci/vfio_pci_intrs.c b/drivers/vfio/pci/vfio_pci_intrs.c
> index 641bc87..4a9db1d 100644
> --- a/drivers/vfio/pci/vfio_pci_intrs.c
> +++ b/drivers/vfio/pci/vfio_pci_intrs.c
> @@ -482,15 +482,19 @@ static int vfio_msi_enable(struct vfio_pci_device *vdev, int nvec, bool msix)
>  		for (i = 0; i < nvec; i++)
>  			vdev->msix[i].entry = i;
>  
> -		ret = pci_enable_msix(pdev, vdev->msix, nvec);
> -		if (ret) {
> +		ret = pci_enable_msix_range(pdev, vdev->msix, 1, nvec);
> +		if (ret < nvec) {
> +			if (ret > 0)
> +				pci_disable_msix(pdev);
>  			kfree(vdev->msix);
>  			kfree(vdev->ctx);
>  			return ret;
>  		}
>  	} else {
> -		ret = pci_enable_msi_block(pdev, nvec);
> -		if (ret) {
> +		ret = pci_enable_msi_range(pdev, 1, nvec);
> +		if (ret < nvec) {
> +			if (ret > 0)
> +				pci_disable_msi(pdev);
>  			kfree(vdev->ctx);
>  			return ret;
>  		}
> -- 
> 1.7.7.6
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH v2 0/9] Phase out pci_enable_msi_block()
  2014-01-18 14:59       ` Tejun Heo
@ 2014-01-29 21:48         ` Bjorn Helgaas
  0 siblings, 0 replies; 14+ messages in thread
From: Bjorn Helgaas @ 2014-01-29 21:48 UTC (permalink / raw)
  To: Tejun Heo
  Cc: Alexander Gordeev, linux-kernel@vger.kernel.org, Brian King,
	Matthew Wilcox, Alex Williamson, Kalle Valo, Vladimir Kondratiev,
	linux-wireless, wil6210, ath10k, linux-nvme,
	linux-ide@vger.kernel.org, linux-scsi@vger.kernel.org,
	kvm@vger.kernel.org, linux-pci@vger.kernel.org

On Sat, Jan 18, 2014 at 09:59:40AM -0500, Tejun Heo wrote:
> On Sat, Jan 18, 2014 at 07:38:55AM -0700, Bjorn Helgaas wrote:
> > On Sat, Jan 18, 2014 at 12:15 AM, Alexander Gordeev <agordeev@redhat.com> wrote:
> > > On Fri, Jan 17, 2014 at 02:00:32PM -0700, Bjorn Helgaas wrote:
> > >> > As the release is supposedly this weekend, do you prefer
> > >> > the patches to go to your tree or to individual trees after
> > >> > the release?
> > >>
> > >> I'd be happy to merge them, except for the fact that they probably
> > >> wouldn't have any time in -next before I ask Linus to pull them.  So
> > >> how about if we wait until after the release, ask the area maintainers
> > >> to take them, and if they don't take them, I'll put them in my tree
> > >> for v3.15?
> > >
> > > Patch 11 depends on patches 1-10, so I am not sure how to better handle it.
> > > Whatever works for you ;)
> > >
> > > I am only concerned with a regression fix "ahci: Fix broken fallback to
> > > single MSI mode" which would be nice to have in 3.14. But it seems pretty
> > > much too late.
> > 
> > Tejun, if you want to ack that one, I can put it in either the first
> > 3.14 pull request or a subsequent one.  Either way, since it's a
> > regression fix, we should be able to get it in 3.14.
> 
> Acked-by: Tejun Heo <tj@kernel.org>
> 
> Please feel free to route it any way you see fit.

I applied the following to my pci/msi branch, since they had acks from
maintainers (Tejun, I assumed your ack applies to both ahci patches):

    ahci: Fix broken fallback to single MSI mode
    ahci: Use pci_enable_msi_range()
    vfio: Use pci_enable_msi_range() and pci_enable_msix_range()
    wil6210: Use pci_enable_msi_range()

I didn't do anything with these:

    ipr: Get rid of superfluous call to pci_disable_msi/msix()
    ipr: Use pci_enable_msi_range() and pci_enable_msix_range()

	The conflict with "ipr: Handle early EEH" needs to get resolved
	first.  Either Alexander's patches need to go via the same tree as
	the EEH change, or the EEH change needs to be in some published
	tree so I can cherry-pick it.

    nvme: Fix invalid call to irq_set_affinity_hint()
    nvme: Use pci_enable_msi_range() and pci_enable_msix_range()

	These don't seem fully baked yet.  If/when Keith acks them, I (or
	he) can merge them.

    ath10k: Use pci_enable_msi_range()

	This has been acked, but no longer applies to mainline (I'm
	currently at 0e47c969c65e).

Bjorn

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2014-01-29 21:48 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-01-17 16:02 [PATCH v2 0/9] Phase out pci_enable_msi_block() Alexander Gordeev
2014-01-17 16:02 ` [PATCH v2 3/9] ipr: Get rid of superfluous call to pci_disable_msi/msix() Alexander Gordeev
2014-01-17 16:02 ` [PATCH v2 4/9] ipr: Use pci_enable_msi_range() and pci_enable_msix_range() Alexander Gordeev
2014-01-28  9:54   ` Alexander Gordeev
2014-01-28 15:28     ` Brian King
2014-01-29 13:26       ` Alexander Gordeev
2014-01-17 16:02 ` [PATCH v2 7/9] vfio: " Alexander Gordeev
2014-01-29 21:36   ` Bjorn Helgaas
2014-01-17 21:00 ` [PATCH v2 0/9] Phase out pci_enable_msi_block() Bjorn Helgaas
2014-01-18  7:15   ` Alexander Gordeev
2014-01-18 14:38     ` Bjorn Helgaas
2014-01-18 14:59       ` Tejun Heo
2014-01-29 21:48         ` Bjorn Helgaas
2014-01-29 13:59   ` Alexander Gordeev

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox