This series adds an interface to support a brand new RDMA driver bnxt_re. The first step is to re-arrange some code so that pci_enable_msix() can be called during pci probe. The purpose is to allow the RDMA driver to initialize and stay initialized whether the netdev is up or down.
Then we make some changes to VF resource allocation so that there is enough resources to support RDMA. Finally the last patch adds a simple interface to allow the RDMA driver to probe and register itself with any bnxt_en devices that support RDMA. Once registered, the RDMA driver can request MSIX, send fw messages, and receive some notifications. v2: Fixed kbuild test robot warnings. David, please consider this series for net-next. Thanks. Michael Chan (7): bnxt_en: Add bnxt_set_max_func_irqs(). bnxt_en: Enable MSIX early in bnxt_init_one(). bnxt_en: Move function reset to bnxt_init_one(). bnxt_en: Improve completion ring allocation for VFs. bnxt_en: Reserve RDMA resources by default. bnxt_en: Refactor the driver registration function with firmware. bnxt_en: Add interface to support RDMA driver. drivers/net/ethernet/broadcom/bnxt/Makefile | 2 +- drivers/net/ethernet/broadcom/bnxt/bnxt.c | 360 +++++++++++++++++------- drivers/net/ethernet/broadcom/bnxt/bnxt.h | 22 +- drivers/net/ethernet/broadcom/bnxt/bnxt_sriov.c | 14 +- drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c | 346 +++++++++++++++++++++++ drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.h | 93 ++++++ 6 files changed, 722 insertions(+), 115 deletions(-) create mode 100644 drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c create mode 100644 drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.h -- 1.8.3.1