idpf: implement core RDMA auxiliary dev create, init, and destroy
authorJoshua Hay <joshua.a.hay@intel.com>
Tue, 8 Jul 2025 21:05:50 +0000 (16:05 -0500)
committerTony Nguyen <anthony.l.nguyen@intel.com>
Mon, 14 Jul 2025 17:57:51 +0000 (10:57 -0700)
commitf4312e6bfa2a98e94dacc75f96f916b76bdf4259
treea678267e273e1b5063ff73e9d6587ee0bb948114
parentbfc5cc8b5aecc9b0249322e39d8d6f65bd7c91ac
idpf: implement core RDMA auxiliary dev create, init, and destroy

Add the initial idpf_idc.c file with the functions to kick off the IDC
initialization, create and initialize a core RDMA auxiliary device, and
destroy said device.

The RDMA core has a dependency on the vports being created by the
control plane before it can be initialized. Therefore, once all the
vports are up after a hard reset (either during driver load a function
level reset), the core RDMA device info will be created. It is populated
with the function type (as distinguished by the IDC initialization
function pointer), the core idc_ops function points (just stubs for
now), the reserved RDMA MSIX table, and various other info the core RDMA
auxiliary driver will need. It is then plugged on to the bus.

During a function level reset or driver unload, the device will be
unplugged from the bus and destroyed.

Reviewed-by: Madhu Chittim <madhu.chittim@intel.com>
Signed-off-by: Joshua Hay <joshua.a.hay@intel.com>
Signed-off-by: Tatyana Nikolova <tatyana.e.nikolova@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
drivers/net/ethernet/intel/idpf/Makefile
drivers/net/ethernet/intel/idpf/idpf.h
drivers/net/ethernet/intel/idpf/idpf_dev.c
drivers/net/ethernet/intel/idpf/idpf_idc.c [new file with mode: 0644]
drivers/net/ethernet/intel/idpf/idpf_lib.c
drivers/net/ethernet/intel/idpf/idpf_vf_dev.c
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
drivers/net/ethernet/intel/idpf/idpf_virtchnl.h
include/linux/net/intel/iidc_rdma_idpf.h [new file with mode: 0644]