From efcae1bdeefea6dd8badf22ccbeb8b46db5a5d3f Mon Sep 17 00:00:00 2001 From: Konrad Sztyber Date: Wed, 4 Jan 2023 11:49:15 +0100 Subject: [PATCH] accel: method for getting accel memory domain This will allow drivers to check if a task is using buffers from accel domain. This is just a helper, since the same can be achieved by calling `spdk_memory_domain_get_first("SPDK_ACCEL_DMA_DEVICE")`, but there's only a single accel domain and it is a bit special, so it makes sense to have a dedicated helper function for getting it. Signed-off-by: Konrad Sztyber Change-Id: I07db7445ed9b109e66ecdbc0483a6a158a551070 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/16376 Tested-by: SPDK CI Jenkins Reviewed-by: Aleksey Marchuk Reviewed-by: Ben Walker --- include/spdk_internal/accel_module.h | 7 +++++++ lib/accel/accel.c | 6 ++++++ lib/accel/spdk_accel.map | 1 + 3 files changed, 14 insertions(+) diff --git a/include/spdk_internal/accel_module.h b/include/spdk_internal/accel_module.h index 12633d83e..1dd450aa3 100644 --- a/include/spdk_internal/accel_module.h +++ b/include/spdk_internal/accel_module.h @@ -210,4 +210,11 @@ static void __attribute__((constructor)) _spdk_accel_driver_register_##name(void spdk_accel_driver_register(driver); \ } +/** + * Retrieves accel memory domain. + * + * \return Accel memory domain. + */ +struct spdk_memory_domain *spdk_accel_get_memory_domain(void); + #endif diff --git a/lib/accel/accel.c b/lib/accel/accel.c index 5af5a294c..6e662d7c6 100644 --- a/lib/accel/accel.c +++ b/lib/accel/accel.c @@ -1678,6 +1678,12 @@ spdk_accel_sequence_abort(struct spdk_accel_sequence *seq) accel_sequence_put(seq); } +struct spdk_memory_domain * +spdk_accel_get_memory_domain(void) +{ + return g_accel_domain; +} + static struct spdk_accel_module_if * _module_find_by_name(const char *name) { diff --git a/lib/accel/spdk_accel.map b/lib/accel/spdk_accel.map index 30469a285..fd8e2d6d1 100644 --- a/lib/accel/spdk_accel.map +++ b/lib/accel/spdk_accel.map @@ -41,6 +41,7 @@ spdk_accel_task_complete; spdk_accel_sequence_continue; spdk_accel_driver_register; + spdk_accel_get_memory_domain; local: *; };