[Accel-config] [PATCH v3 2/4] accel-config: Add compatibility mode detection
ramesh.thomas at intel.com
| Newsgroups | dev.linux.lists.accel-config |
|---|---|
| Message-ID | <[email protected]> |
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