All of lore.kernel.org
 help / color / mirror / Atom feed
* [Accel-config] [PATCH v2 2/4] accel-config: Add compatibility mode detection
@ 2021-03-11 23:16 ramesh.thomas
  0 siblings, 0 replies; only message in thread
From: ramesh.thomas @ 2021-03-11 23:16 UTC (permalink / raw)
  To: accel-config

[-- Attachment #1: Type: text/plain, Size: 1352 bytes --]

From: Ramesh Thomas <ramesh.thomas(a)intel.com>

Add a flag in accfg context to store commpatibility mode. Absence of
/sys/bus/dsa/drivers/idxd indicates compatibility mode.

Signed-off-by: Ramesh Thomas <ramesh.thomas(a)intel.com>
---
 accfg/lib/libaccfg.c | 4 ++++
 accfg/lib/private.h  | 1 +
 2 files changed, 5 insertions(+)

diff --git a/accfg/lib/libaccfg.c b/accfg/lib/libaccfg.c
index 450be4f..58ad97f 100644
--- a/accfg/lib/libaccfg.c
+++ b/accfg/lib/libaccfg.c
@@ -28,6 +28,7 @@
 #include "private.h"
 
 #define MDEV_POSTFIX "mdev_supported_types"
+#define IDXD_DRIVER_BIND_PATH "/sys/bus/dsa/drivers/idxd"
 
 const char *accfg_wq_mode_str[] = {
 	[ACCFG_WQ_SHARED]	= "shared",
@@ -310,6 +311,9 @@ 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))
+		c->compat = true;
+
 	list_head_init(&c->devices);
 
 	info(c, "ctx %p created\n", c);
diff --git a/accfg/lib/private.h b/accfg/lib/private.h
index 0fdc5d5..f407643 100644
--- a/accfg/lib/private.h
+++ b/accfg/lib/private.h
@@ -146,6 +146,7 @@ struct accfg_ctx {
 	struct list_head devices;
 	uint64_t timeout;
 	void *private_data;
+	bool compat;
 };
 
 static inline int check_udev(struct udev *udev)
-- 
2.26.2

^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2021-03-11 23:16 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-03-11 23:16 [Accel-config] [PATCH v2 2/4] accel-config: Add compatibility mode detection ramesh.thomas

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.