Use pci_enable_msix_range() instead of pci_enable_msix()
Subsystems (5)
PATCH 1/2 i40evf: Use pci_enable_msix_range() instead of pci_enable_msix()
In reply to Alexander GordeevAs result of 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() or pci_enable_msi_exact() and pci_enable_msix_range() or pci_enable_msix_exact() interfaces.
--- drivers/net/ethernet/intel/i40evf/i40evf_main.c | 31 ++++++++-------------- 1 files changed, 11 insertions(+), 20 deletions(-)
drivers/net/ethernet/intel/i40evf/i40evf_main.c +11 -20
@@ -1027,30 +1027,21 @@ i40evf_acquire_msix_vectors(struct i40evf_adapter *adapter, int vectors)* Right now, we simply care about how many we'll get; we'll * set them up later while requesting irq's. */ -while (vectors >= vector_threshold) { - err =pci_enable_msix (adapter->pdev, adapter->msix_entries, - vectors); -if (!err)/* Success in acquiring all requested vectors. */ -break ; -else if (err <0 ) - vectors =0 ;/* Nasty failure, quit now */ -else /* err == number of vectors we should try again with */ - vectors = err; - } - -if (vectors < vector_threshold) { + err =pci_enable_msix_range (adapter->pdev, adapter->msix_entries, + vector_threshold, vectors); +if (err <0 ) {dev_err (&adapter->pdev->dev,"Unable to allocate MSI-X interrupts.\n" );kfree (adapter->msix_entries); adapter->msix_entries =NULL ; - err = -EIO ; - }else { -/* Adjust for only the vectors we'll use, which is minimum -* of max_msix_q_vectors + NONQ_VECS, or the number of -* vectors we were allocated. -*/ - adapter->num_msix_vectors = vectors; +return err; } -return err; + +/* Adjust for only the vectors we'll use, which is minimum +* of max_msix_q_vectors + NONQ_VECS, or the number of +* vectors we were allocated. +*/ + adapter->num_msix_vectors = err; +return 0 ; }/**
Signature · 1 line
1.7.7.6
PATCH 2/2 qlcnic: Use pci_enable_msix_exact() instead of pci_enable_msix()
In reply to Alexander GordeevAs result of 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() or pci_enable_msi_exact() and pci_enable_msix_range() or pci_enable_msix_exact() interfaces.
--- drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c +2 -2
@@ -690,8 +690,8 @@ int qlcnic_setup_tss_rss_intr(struct qlcnic_adapter *adapter) adapter->msix_entries[vector].entry = vector; restore: - err =pci_enable_msix (pdev, adapter->msix_entries, num_msix); -if (err >0 ) { + err =pci_enable_msix_exact (pdev, adapter->msix_entries, num_msix); +if (err == -ENOSPC ) {if (!adapter->drv_tss_rings && !adapter->drv_rss_rings)return -ENOSPC ;
Signature · 1 line
1.7.7.6
cover Use pci_enable_msix_range() instead of pci_enable_msix()
Hello,
The series completes converison of network drivers to the new MSI initialization API.
As result of 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() or pci_enable_msi_exact() and pci_enable_msix_range() or pci_enable_msix_exact() interfaces.
Thanks!
Alexander Gordeev (2):
i40evf: Use pci_enable_msix_range() instead of pci_enable_msix()
qlcnic: Use pci_enable_msix_exact() instead of pci_enable_msix()
drivers/net/ethernet/intel/i40evf/i40evf_main.c | 31 ++++++++-------------- drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c | 4 +- 2 files changed, 13 insertions(+), 22 deletions(-)
Signature · 1 line
1.7.7.6
RE: [PATCH net-next 2/2] qlcnic: Use pci_enable_msix_exact() instead of pci_enable_msix()
In reply to Alexander GordeevQuoted 41 lines
-----Original Message-----
From: Alexander Gordeev [mailto:[email protected]]
Sent: Friday, April 25, 2014 1:36 PM
To: linux-kernel
Cc: Alexander Gordeev; Shahed Shaikh; Dept-HSG Linux NIC Dev; netdev; linux-pci
Subject: [PATCH net-next 2/2] qlcnic: Usepci_enable_msix_exact()instead ofpci_enable_msix()As result of deprecation of MSI-X/MSI enablement functions
pci_enable_msix()andpci_enable_msi_block()all drivers using these two interfaces need to be updated to use the newpci_enable_msi_range()orpci_enable_msi_exact()andpci_enable_msix_range()orpci_enable_msix_exact()interfaces.Signed-off-by Alexander Gordeev <[email protected]>--- drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-)drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c +2
-2@@ -690,8 +690,8 @@ int qlcnic_setup_tss_rss_intr(struct qlcnic_adapter *adapter) adapter->msix_entries[vector].entry = vector; restore: - err =pci_enable_msix (pdev, adapter->msix_entries, num_msix); -if (err >0 ) { + err =pci_enable_msix_exact (pdev, adapter->msix_entries, num_msix); +if (err == -ENOSPC ) {if (!adapter->drv_tss_rings && !adapter->drv_rss_rings)
Quoted 1 line
return
-ENOSPC;
I think, it would be good if we return "err" instead of "-ENOSPC" .
if (!adapter->drv_tss_rings && !adapter->drv_rss_rings)
- return -ENOSPC;
+ return err;
Thanks,
Shahed
Re: [PATCH net-next 2/2] qlcnic: Use pci_enable_msix_exact() instead of pci_enable_msix()
Quoted 21 lines · Shahed Shaikh
Quoted 16 lines
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c +2
-2@@ -690,8 +690,8 @@ int qlcnic_setup_tss_rss_intr(struct qlcnic_adapter *adapter) adapter->msix_entries[vector].entry = vector; restore: - err =pci_enable_msix (pdev, adapter->msix_entries, num_msix); -if (err >0 ) { + err =pci_enable_msix_exact (pdev, adapter->msix_entries, num_msix); +if (err == -ENOSPC ) {if (!adapter->drv_tss_rings && !adapter->drv_rss_rings)Quoted 1 line
return
-ENOSPC;I think, it would be good if we return "err" instead of "
-ENOSPC" .if (!adapter->drv_tss_rings && !adapter->drv_rss_rings)
Review
Quoted 2 lines
(quoted diff) +1
-1- return -ENOSPC; + return err;
At this point "err" could only be -ENOSPC. I am not sure why returning "err" is better, but I'll repost if you insist.
Quoted 4 lines
Thanks,
Shahed
Signature · 3 lines
Regards, Alexander Gordeev [email protected]
RE: [PATCH net-next 2/2] qlcnic: Use pci_enable_msix_exact() instead of pci_enable_msix()
Quoted 30 lines
-----Original Message-----
From: Alexander Gordeev [mailto:[email protected]]
Sent: Friday, April 25, 2014 2:31 PM
To: Shahed Shaikh
Cc: linux-kernel; Dept-HSG Linux NIC Dev; netdev; linux-pci
Subject: Re: [PATCH net-next 2/2] qlcnic: Usepci_enable_msix_exact()instead ofpci_enable_msix()Quoted 21 lines · Shahed Shaikh
Quoted 15 lines
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c +0
-0@@ -690,8 +690,8 @@ int qlcnic_setup_tss_rss_intr(struct
qlcnic_adapter
*adapter)drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c +1
-2adapter->msix_entries[vector].entry = vector; restore: - err =pci_enable_msix (pdev, adapter->msix_entries, num_msix); -if (err >0 ) { + err = pci_enable_msix_exact(pdev, adapter->msix_entries,
num_msix);drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c int qlcnic_setup_tss_rss_intr(struct qlcnic_adapter *adapter) · line 696
Quoted 3 lines
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c +1
-0+if (err == -ENOSPC ) {if (!adapter->drv_tss_rings && !adapter->drv_rss_rings)return -ENOSPC ;I think, it would be good if we return "err" instead of "
-ENOSPC" .
Quoted 6 lines
Review
Quoted 3 lines
if (!adapter->drv_tss_rings && !adapter->drv_rss_rings)(quoted diff) +1
-1- return -ENOSPC; + return err;At this point "err" could only be
-ENOSPC. I am not sure why returning "err" is better, but I'll repost if you insist.
Agree. But it will make code look cleaner.
Thanks,
Shahed
PATCH v2 2/2 qlcnic: Use pci_enable_msix_exact() instead of pci_enable_msix()
As result of 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() or pci_enable_msi_exact() and pci_enable_msix_range() or pci_enable_msix_exact() interfaces.
--- drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c +3 -3
@@ -690,10 +690,10 @@ int qlcnic_setup_tss_rss_intr(struct qlcnic_adapter *adapter) adapter->msix_entries[vector].entry = vector; restore: - err =pci_enable_msix (pdev, adapter->msix_entries, num_msix); -if (err >0 ) { + err =pci_enable_msix_exact (pdev, adapter->msix_entries, num_msix); +if (err == -ENOSPC ) {if (!adapter->drv_tss_rings && !adapter->drv_rss_rings) -return -ENOSPC ; +return err; netdev_info(adapter->netdev, "Unable to allocate %d MSI-X vectors, Available vectors %d\n",
Signature · 6 lines
1.7.7.6 -- Regards, Alexander Gordeev [email protected]
RE: [PATCH v2 net-next 2/2] qlcnic: Use pci_enable_msix_exact() instead of pci_enable_msix()
Quoted 14 lines
-----Original Message-----
From: Alexander Gordeev [mailto:[email protected]]
Sent: Friday, April 25, 2014 3:14 PM
To: Shahed Shaikh
Cc: linux-kernel; Dept-HSG Linux NIC Dev; netdev; linux-pci
Subject: [PATCH v2 net-next 2/2] qlcnic: Usepci_enable_msix_exact()instead ofpci_enable_msix()As result of deprecation of MSI-X/MSI enablement functions
pci_enable_msix()andpci_enable_msi_block()all drivers using these two interfaces need to be updated to use the newpci_enable_msi_range()orpci_enable_msi_exact()andpci_enable_msix_range()orpci_enable_msix_exact()interfaces.
Quoted 6 lines
Signed-off-by Alexander Gordeev <[email protected]>
Thanks,
Shahed
David Miller
maintainerRe: [PATCH net-next 1/2] i40evf: Use pci_enable_msix_range() instead of pci_enable_msix()
In reply to Alexander GordeevFrom: Alexander Gordeev <[email protected]>
Date: Fri, 25 Apr 2014 10:06:24 +0200
Quoted 8 lines
As result of deprecation of MSI-X/MSI enablement functions
pci_enable_msix()andpci_enable_msi_block()all drivers using these two interfaces need to be updated to use the newpci_enable_msi_range()orpci_enable_msi_exact()andpci_enable_msix_range()orpci_enable_msix_exact()interfaces.Signed-off-by Alexander Gordeev <[email protected]>
Jeff, I assume you will take this in via your tree.
Thanks.
Re: [E1000-devel] [PATCH net-next 1/2] i40evf: Use pci_enable_msix_range() instead of pci_enable_msix()
Quoted 10 lines · David Miller
From: Alexander Gordeev <[email protected]>
Date: Fri, 25 Apr 2014 10:06:24 +0200Quoted 7 lines
As result of deprecation of MSI-X/MSI enablement functions
pci_enable_msix()andpci_enable_msi_block()all drivers using these two interfaces need to be updated to use the newpci_enable_msi_range()orpci_enable_msi_exact()andpci_enable_msix_range()orpci_enable_msix_exact()interfaces.
Quoted 4 lines
Quoted 1 line
Signed-off-by Alexander Gordeev <[email protected]>Jeff, I assume you will take this in via your tree.
Yes, I have picked this up.
Signature · 2 lines
Cheers, Jeff