lkml.org 
[lkml]   [2013]   [Oct]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH RFC 51/77] mthca: Update MSI/MSI-X interrupts enablement code
    Date
    As result of recent re-design of the MSI/MSI-X interrupts enabling
    pattern this driver has to be updated to use the new technique to
    obtain a optimal number of MSI/MSI-X interrupts required.

    Signed-off-by: Alexander Gordeev <agordeev@redhat.com>
    ---
    drivers/infiniband/hw/mthca/mthca_main.c | 16 +++++++++++-----
    1 files changed, 11 insertions(+), 5 deletions(-)

    diff --git a/drivers/infiniband/hw/mthca/mthca_main.c b/drivers/infiniband/hw/mthca/mthca_main.c
    index 87897b9..3d44ca4 100644
    --- a/drivers/infiniband/hw/mthca/mthca_main.c
    +++ b/drivers/infiniband/hw/mthca/mthca_main.c
    @@ -854,17 +854,23 @@ static int mthca_enable_msi_x(struct mthca_dev *mdev)
    struct msix_entry entries[3];
    int err;

    + err = pci_msix_table_size(mdev->pdev);
    + if (err < 0)
    + return err;
    + if (err < ARRAY_SIZE(entries)) {
    + mthca_info(mdev, "Only %d MSI-X vectors available, "
    + "not using MSI-X\n", err);
    +
    + return -ENOSPC;
    + }
    +
    entries[0].entry = 0;
    entries[1].entry = 1;
    entries[2].entry = 2;

    err = pci_enable_msix(mdev->pdev, entries, ARRAY_SIZE(entries));
    - if (err) {
    - if (err > 0)
    - mthca_info(mdev, "Only %d MSI-X vectors available, "
    - "not using MSI-X\n", err);
    + if (err)
    return err;
    - }

    mdev->eq_table.eq[MTHCA_EQ_COMP ].msi_x_vector = entries[0].vector;
    mdev->eq_table.eq[MTHCA_EQ_ASYNC].msi_x_vector = entries[1].vector;
    --
    1.7.7.6


    \
     
     \ /
      Last update: 2013-10-03 07:41    [W:3.759 / U:0.080 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site