lkml.org 
[lkml]   [2014]   [Jan]   [31]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 20/34] myri10ge: Use pci_enable_msix_range()
Hello.

On 01/31/2014 06:08 PM, Alexander Gordeev wrote:

> 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() and pci_enable_msix_range()
> interfaces.

> Signed-off-by: Alexander Gordeev <agordeev@redhat.com>
> ---
> drivers/net/ethernet/myricom/myri10ge/myri10ge.c | 32 ++++++++++-----------
> 1 files changed, 15 insertions(+), 17 deletions(-)

> diff --git a/drivers/net/ethernet/myricom/myri10ge/myri10ge.c b/drivers/net/ethernet/myricom/myri10ge/myri10ge.c
> index 68026f7..9f717d6 100644
> --- a/drivers/net/ethernet/myricom/myri10ge/myri10ge.c
> +++ b/drivers/net/ethernet/myricom/myri10ge/myri10ge.c
> @@ -2329,16 +2329,14 @@ static int myri10ge_request_irq(struct myri10ge_priv *mgp)
> status = 0;
> if (myri10ge_msi) {
> if (mgp->num_slices > 1) {
> - status =
> - pci_enable_msix(pdev, mgp->msix_vectors,
> - mgp->num_slices);
> - if (status == 0) {
> - mgp->msix_enabled = 1;
> - } else {
> + status = pci_enable_msix_range(pdev, mgp->msix_vectors,
> + mgp->num_slices, mgp->num_slices);
> + if (status < 0) {
> dev_err(&pdev->dev,
> "Error %d setting up MSI-X\n", status);
> return status;
> }
> + mgp->msix_enabled = 1;
> }
> if (mgp->msix_enabled == 0) {
> status = pci_enable_msi(pdev);
> @@ -3901,23 +3899,23 @@ static void myri10ge_probe_slices(struct myri10ge_priv *mgp)
> }
>
> while (mgp->num_slices > 1) {
> - /* make sure it is a power of two */
> - while (!is_power_of_2(mgp->num_slices))
> - mgp->num_slices--;
> + mgp->num_slices = rounddown_pow_of_two(mgp->num_slices);
> if (mgp->num_slices == 1)
> goto disable_msix;
> - status = pci_enable_msix(pdev, mgp->msix_vectors,
> - mgp->num_slices);
> - if (status == 0) {
> - pci_disable_msix(pdev);
> + status = pci_enable_msix_range(pdev, mgp->msix_vectors,
> + mgp->num_slices, mgp->num_slices);

The continuation line(s) should be aligned to start right under 'pdev',
according to the networking coding rules.

> + if (status < 0)
> + goto disable_msix;

Hm, if enabling MSI failed, we don't need to disable it, right? So,
perhaps the label should be renamed?

> +
> + pci_disable_msix(pdev);
> +
> + if (status == mgp->num_slices) {
> if (old_allocated)
> kfree(old_fw);
> return;
> - }
> - if (status > 0)
> + } else {
> mgp->num_slices = status;
> - else
> - goto disable_msix;
> + }
> }
>
> disable_msix:

WBR, Sergei



\
 
 \ /
  Last update: 2014-01-31 21:21    [W:0.043 / U:0.384 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site