idxd: Set the impl in idxd for kernel mode

Without this, it does not think there is a driver available.

Change-Id: I0b8b42374e0ed82abb22bf27e0b8907bb03c61f6
Signed-off-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/12641
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: GangCao <gang.cao@intel.com>
Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
This commit is contained in:
Ben Walker 2022-05-11 16:09:08 -07:00 committed by Tomasz Zawadzki
parent 3ed4c29a11
commit 26f503b00f

View File

@ -79,6 +79,8 @@ kernel_idxd_device_destruct(struct spdk_idxd_device *idxd)
free(kernel_idxd); free(kernel_idxd);
} }
static struct spdk_idxd_impl g_kernel_idxd_impl;
static int static int
kernel_idxd_probe(void *cb_ctx, spdk_idxd_attach_cb attach_cb) kernel_idxd_probe(void *cb_ctx, spdk_idxd_attach_cb attach_cb)
{ {
@ -114,6 +116,7 @@ kernel_idxd_probe(void *cb_ctx, spdk_idxd_attach_cb attach_cb)
kernel_idxd->max_batch_size = accfg_device_get_max_batch_size(device); kernel_idxd->max_batch_size = accfg_device_get_max_batch_size(device);
kernel_idxd->max_xfer_size = accfg_device_get_max_transfer_size(device); kernel_idxd->max_xfer_size = accfg_device_get_max_transfer_size(device);
kernel_idxd->idxd.socket_id = accfg_device_get_numa_node(device); kernel_idxd->idxd.socket_id = accfg_device_get_numa_node(device);
kernel_idxd->idxd.impl = &g_kernel_idxd_impl;
kernel_idxd->fd = -1; kernel_idxd->fd = -1;
accfg_wq_foreach(device, wq) { accfg_wq_foreach(device, wq) {