bnxt_en: Add the ulp_sriov_cfg hooks for bnxt_re RDMA driver.
authorMichael Chan <michael.chan@broadcom.com>
Fri, 13 Jan 2017 06:32:04 +0000 (01:32 -0500)
committerDavid S. Miller <davem@davemloft.net>
Sat, 14 Jan 2017 04:21:31 +0000 (23:21 -0500)
Add the ulp_sriov_cfg callbacks when the number of VFs is changing.  This
allows the RDMA driver to provision RDMA resources for the VFs.

Signed-off-by: Michael Chan <michael.chan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/broadcom/bnxt/bnxt_sriov.c

index 64ef0e5dad8c3cf88aa9f9fbb742caee90f17be3..0b8cd7443843241efcff2e632869c6ccc7a40fbe 100644 (file)
@@ -15,6 +15,7 @@
 #include <linux/etherdevice.h>
 #include "bnxt_hsi.h"
 #include "bnxt.h"
+#include "bnxt_ulp.h"
 #include "bnxt_sriov.h"
 #include "bnxt_ethtool.h"
 
@@ -555,6 +556,8 @@ static int bnxt_sriov_enable(struct bnxt *bp, int *num_vfs)
        if (rc)
                goto err_out2;
 
+       bnxt_ulp_sriov_cfg(bp, *num_vfs);
+
        rc = pci_enable_sriov(bp->pdev, *num_vfs);
        if (rc)
                goto err_out2;
@@ -596,6 +599,8 @@ void bnxt_sriov_disable(struct bnxt *bp)
        rtnl_lock();
        bnxt_restore_pf_fw_resources(bp);
        rtnl_unlock();
+
+       bnxt_ulp_sriov_cfg(bp, 0);
 }
 
 int bnxt_sriov_configure(struct pci_dev *pdev, int num_vfs)