summaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/broadcom/bnxt/Makefile
diff options
context:
space:
mode:
authorMichael Chan2016-12-07 06:26:21 +0100
committerDavid S. Miller2016-12-07 16:59:26 +0100
commita588e4580a7ecb715dab8bf09725b97aa0e0e3a0 (patch)
tree60dc4e619936c7c13b9b4f9c059b272c81e6ab06 /drivers/net/ethernet/broadcom/bnxt/Makefile
parentbnxt_en: Refactor the driver registration function with firmware. (diff)
downloadkernel-qcow2-linux-a588e4580a7ecb715dab8bf09725b97aa0e0e3a0.tar.gz
kernel-qcow2-linux-a588e4580a7ecb715dab8bf09725b97aa0e0e3a0.tar.xz
kernel-qcow2-linux-a588e4580a7ecb715dab8bf09725b97aa0e0e3a0.zip
bnxt_en: Add interface to support RDMA driver.
Since the network driver and RDMA driver operate on the same PCI function, we need to create an interface to allow the RDMA driver to share resources with the network driver. 1. Create a new bnxt_en_dev struct which will be returned by bnxt_ulp_probe() upon success. After that, all calls from the RDMA driver to bnxt_en will pass a pointer to this struct. 2. This struct contains additional function pointers to register, request msix, send fw messages, register for async events. 3. If the RDMA driver wants to enable RDMA on the function, it needs to call the function pointer bnxt_register_device(). A ulp_ops structure is passed for RCU protected upcalls from bnxt_en to the RDMA driver. 4. The RDMA driver can call firmware APIs using the bnxt_send_fw_msg() function pointer. 5. 1 stats context is reserved when the RDMA driver registers. MSIX and completion rings are reserved when the RDMA driver calls bnxt_request_msix() function pointer. 6. When the RDMA driver calls bnxt_unregister_device(), all RDMA resources will be cleaned up. v2: Fixed 2 uninitialized variable warnings. Signed-off-by: Somnath Kotur <somnath.kotur@broadcom.com> Signed-off-by: Michael Chan <michael.chan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/broadcom/bnxt/Makefile')
-rw-r--r--drivers/net/ethernet/broadcom/bnxt/Makefile2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/ethernet/broadcom/bnxt/Makefile b/drivers/net/ethernet/broadcom/bnxt/Makefile
index b233a8646125..6082ed1b5ea0 100644
--- a/drivers/net/ethernet/broadcom/bnxt/Makefile
+++ b/drivers/net/ethernet/broadcom/bnxt/Makefile
@@ -1,3 +1,3 @@
obj-$(CONFIG_BNXT) += bnxt_en.o
-bnxt_en-y := bnxt.o bnxt_sriov.o bnxt_ethtool.o bnxt_dcb.o
+bnxt_en-y := bnxt.o bnxt_sriov.o bnxt_ethtool.o bnxt_dcb.o bnxt_ulp.o