All of lore.kernel.org
 help / color / mirror / Atom feed
* [Accel-config] [PATCH 2/3] accel-config/test: Split config func to handle sh and ded wqs
@ 2021-08-12  2:34 ramesh.thomas
  0 siblings, 0 replies; only message in thread
From: ramesh.thomas @ 2021-08-12  2:34 UTC (permalink / raw)
  To: accel-config

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

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

Split config functions and related tests into 2 functions handling
shared and dedicated wqs separately.

Signed-off-by: Ramesh Thomas <ramesh.thomas(a)intel.com>
---
 test/libaccfg.c | 69 +++++++++++++++++++++++++++++++++++++------------
 1 file changed, 53 insertions(+), 16 deletions(-)

diff --git a/test/libaccfg.c b/test/libaccfg.c
index 44e10df..9ac4bcd 100644
--- a/test/libaccfg.c
+++ b/test/libaccfg.c
@@ -394,7 +394,8 @@ static void test_cleanup(struct accfg_ctx *ctx)
 		device_test_reset(ctx, device, true);
 }
 
-static int set_config(struct accfg_ctx *ctx, struct config_test_ctx *ct_ctx)
+static int set_config(struct accfg_ctx *ctx, struct config_test_ctx *ct_ctx,
+		char *wq_mode)
 {
 	int rc = 0;
 	struct accfg_device *device;
@@ -422,6 +423,9 @@ static int set_config(struct accfg_ctx *ctx, struct config_test_ctx *ct_ctx)
 	}
 
 	for (i = 0; i < 4; i++) {
+		if (wq_mode && strcmp(ct_ctx->wq_param[i]->mode, wq_mode))
+			continue;
+
 		wq = ct_ctx->wq[i];
 		printf("configuring wq %s\n", accfg_wq_get_devname(wq));
 		rc = config_wq(ctx, device, wq, ct_ctx->wq_param[i]);
@@ -444,7 +448,8 @@ static int set_config(struct accfg_ctx *ctx, struct config_test_ctx *ct_ctx)
 	return 0;
 }
 
-static int check_config(struct accfg_ctx *ctx, struct config_test_ctx *ct_ctx)
+static int check_config(struct accfg_ctx *ctx, struct config_test_ctx *ct_ctx,
+		char *wq_mode)
 {
 	int rc = 0;
 	struct accfg_device *device;
@@ -472,6 +477,9 @@ static int check_config(struct accfg_ctx *ctx, struct config_test_ctx *ct_ctx)
 	}
 
 	for (i = 0; i < 4; i++) {
+		if (wq_mode && strcmp(ct_ctx->wq_param[i]->mode, wq_mode))
+			continue;
+
 		wq = ct_ctx->wq[i];
 		printf("check wq %s\n", accfg_wq_get_devname(wq));
 		rc = check_wq(ctx, device, wq, ct_ctx->wq_param[i]);
@@ -519,17 +527,17 @@ static int set_exceed_config(struct accfg_ctx *ctx,
 	}
 
 	/* configure 2 wqs with some wq sizes */
-	wq = ct_ctx->wq[0];
+	wq = ct_ctx->wq[1];
 	printf("configuring wq %s\n", accfg_wq_get_devname(wq));
-	rc = config_wq(ctx, device, wq, ct_ctx->wq_param[0]);
+	rc = config_wq(ctx, device, wq, ct_ctx->wq_param[1]);
 	if (rc) {
 		fprintf(stderr, "config wq failed\n");
 		return rc;
 	}
 
-	wq = ct_ctx->wq[2];
+	wq = ct_ctx->wq[3];
 	printf("configuring wq %s\n", accfg_wq_get_devname(wq));
-	rc = config_wq(ctx, device, wq, ct_ctx->wq_param[2]);
+	rc = config_wq(ctx, device, wq, ct_ctx->wq_param[3]);
 	if (rc) {
 		fprintf(stderr, "config wq failed\n");
 		return rc;
@@ -561,7 +569,7 @@ static int wq_bounds_test(struct accfg_ctx *ctx, struct config_test_ctx *ct_ctx)
 
 	device = ct_ctx->device;
 	group = ct_ctx->group[0];
-	wq = ct_ctx->wq[0];
+	wq = ct_ctx->wq[1];
 
 	printf("configure device %s, group %s, wq %s for bounds test\n",
 			accfg_device_get_devname(device),
@@ -580,7 +588,7 @@ static int wq_bounds_test(struct accfg_ctx *ctx, struct config_test_ctx *ct_ctx)
 		return rc;
 	}
 
-	rc = config_wq(ctx, device, wq, ct_ctx->wq_param[0]);
+	rc = config_wq(ctx, device, wq, ct_ctx->wq_param[1]);
 	if (rc) {
 		fprintf(stderr, "config wq failed\n");
 		return rc;
@@ -659,8 +667,8 @@ static int fill_test_ctx(struct accfg_ctx *ctx)
 	return 0;
 }
 
-/* test the set and get libaccfg functions */
-static int test_config(struct accfg_ctx *ctx)
+/* test set and get libaccfg functions for shared wqs */
+static int test_config_shared(struct accfg_ctx *ctx)
 {
 	int rc = 0;
 
@@ -668,11 +676,35 @@ static int test_config(struct accfg_ctx *ctx)
 	if (rc)
 		return rc;
 
-	rc = set_config(ctx, &test_ctx);
+	rc = set_config(ctx, &test_ctx, "shared");
 	if (rc)
 		return rc;
 
-	rc = check_config(ctx, &test_ctx);
+	rc = check_config(ctx, &test_ctx, "shared");
+	if (rc)
+		return rc;
+
+	rc = device_test_reset(ctx, test_ctx.device, false);
+	if (rc)
+		return rc;
+
+	return 0;
+}
+
+/* test set and get libaccfg functions for dedicated wqs */
+static int test_config_dedicated(struct accfg_ctx *ctx)
+{
+	int rc = 0;
+
+	rc = device_test_reset(ctx, test_ctx.device, false);
+	if (rc)
+		return rc;
+
+	rc = set_config(ctx, &test_ctx, "dedicated");
+	if (rc)
+		return rc;
+
+	rc = check_config(ctx, &test_ctx, "dedicated");
 	if (rc)
 		return rc;
 
@@ -814,7 +846,7 @@ static int test_mdev_1swq(struct accfg_ctx *ctx)
 	if (rc)
 		return rc;
 
-	rc = set_config(ctx, &test_ctx);
+	rc = set_config(ctx, &test_ctx, NULL);
 	if (rc)
 		return rc;
 
@@ -850,7 +882,7 @@ static int test_mdev_1dwq(struct accfg_ctx *ctx)
 	if (rc)
 		return rc;
 
-	rc = set_config(ctx, &test_ctx);
+	rc = set_config(ctx, &test_ctx, NULL);
 	if (rc)
 		return rc;
 
@@ -883,8 +915,13 @@ struct _test_case {
 
 static struct _test_case test_cases[] = {
 	{
-		.test_fn = test_config,
-		.desc = "set and get configurations",
+		.test_fn = test_config_shared,
+		.desc = "set and get configurations for shared wqs",
+		.enabled = true,
+	},
+	{
+		.test_fn = test_config_dedicated,
+		.desc = "set and get configurations for dedicated wqs",
 		.enabled = true,
 	},
 	{
-- 
2.26.3

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

only message in thread, other threads:[~2021-08-12  2:34 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-08-12  2:34 [Accel-config] [PATCH 2/3] accel-config/test: Split config func to handle sh and ded wqs 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.