i40evf: add client interface
In preparation for upcoming RDMA-capable hardware, add a client interface to the VF driver. This is a slightly-simplified version of the PF client interface, with the names changed to protect the innocent. Due to the nature of the VF<->PF interactions, the client interface sometimes needs to call back into itself to pass messages. Because of this, we can't use the coarse-grained locking like the PF's client interface uses. Instead, we handle all client interactions in a separate thread so the watchdog can still run and process virtual channel messages. Signed-off-by:Mitch Williams <mitch.a.williams@intel.com> Signed-off-by:
Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by:
Anjali Singhai Jain <anjali.singhai@intel.com> Signed-off-by:
Avinash Dayanand <avinash.dayanand@intel.com> Tested-by:
Andrew Bowers <andrewx.bowers@intel.com> Signed-off-by:
Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Showing
- drivers/net/ethernet/intel/i40evf/Makefile 1 addition, 1 deletiondrivers/net/ethernet/intel/i40evf/Makefile
- drivers/net/ethernet/intel/i40evf/i40e_virtchnl.h 33 additions, 0 deletionsdrivers/net/ethernet/intel/i40evf/i40e_virtchnl.h
- drivers/net/ethernet/intel/i40evf/i40evf.h 26 additions, 3 deletionsdrivers/net/ethernet/intel/i40evf/i40evf.h
- drivers/net/ethernet/intel/i40evf/i40evf_client.c 563 additions, 0 deletionsdrivers/net/ethernet/intel/i40evf/i40evf_client.c
- drivers/net/ethernet/intel/i40evf/i40evf_client.h 166 additions, 0 deletionsdrivers/net/ethernet/intel/i40evf/i40evf_client.h
- drivers/net/ethernet/intel/i40evf/i40evf_main.c 78 additions, 5 deletionsdrivers/net/ethernet/intel/i40evf/i40evf_main.c
- drivers/net/ethernet/intel/i40evf/i40evf_virtchnl.c 12 additions, 1 deletiondrivers/net/ethernet/intel/i40evf/i40evf_virtchnl.c
Please register or sign in to comment