[Accel-config] [PATCH] accel-config: Provide compatibility for legacy mode driver names

ramesh.thomas at intel.com
Newsgroups dev.linux.lists.accel-config
Message-ID <[email protected]>
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
+};
+
 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);
 
-- 
2.26.3
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.