On Thu, Jul 15, 2021 at 08:51:47AM -0700, Dave Jiang wrote:
On 7/14/2021 6:18 PM, ramesh.thomas(a)intel.com wrote:
> From: Ramesh Thomas <ramesh.thomas(a)intel.com>
>
> Check for presence of /sys/bus/dsa/drivers/idxd and use legacy driver
> names if not present.
>
> Signed-off-by: Ramesh Thomas <ramesh.thomas(a)intel.com>
> ---
> accfg/lib/libaccfg.c | 16 +++++++++++++++-
> 1 file changed, 15 insertions(+), 1 deletion(-)
>
> diff --git a/accfg/lib/libaccfg.c b/accfg/lib/libaccfg.c
> index f21cab5..592c22c 100644
> --- a/accfg/lib/libaccfg.c
> +++ b/accfg/lib/libaccfg.c
> @@ -36,6 +36,13 @@
> #define IDXD_WQ_DEVICE_PORTAL(d, w) ((d)->ctx->compat ? \
> (d)->bus_type_str : accfg_wq_device_portals[(w)->type])
>
> +char *accfg_wq_device_portals_legacy[] = {
> + [ACCFG_WQT_KERNEL] = "idxd-kernel-portal",
> + [ACCFG_WQT_USER] = "idxd-user-portal",
> + [ACCFG_WQT_MDEV] = "idxd-mdev-portal",
> + NULL
> +};
> +
I don't think this version exists upstream. It was an internal thing
during transition that we can drop. I believe legacy is just
/sys/bus/dsa/drivers/dsa only for everything.
/sys/bus/dsa/drivers/dsa compatibility is already there so we don't need
this patch.
> char *accfg_wq_device_portals[] = {
> [ACCFG_WQT_KERNEL] = "dmaengine",
> [ACCFG_WQT_USER] = "user",
> @@ -398,8 +405,15 @@ ACCFG_EXPORT int accfg_new(struct accfg_ctx **ctx)
> c->refcount = 1;
> log_init(&c->ctx, "libaccfg", "ACCFG_LOG");
> c->timeout = 5000;
> - if (access(IDXD_DRIVER_BIND_PATH, R_OK))
> + if (access(IDXD_DRIVER_BIND_PATH, R_OK)) {
> c->compat = true;
> + accfg_wq_device_portals[ACCFG_WQT_KERNEL] =
> + accfg_wq_device_portals_legacy[ACCFG_WQT_KERNEL];
> + accfg_wq_device_portals[ACCFG_WQT_USER] =
> + accfg_wq_device_portals_legacy[ACCFG_WQT_USER];
> + accfg_wq_device_portals[ACCFG_WQT_MDEV] =
> + accfg_wq_device_portals_legacy[ACCFG_WQT_MDEV];
> + }
>
> list_head_init(&c->devices);
>