spi: spi-loopback-test: Add module param for iteration length
authorRohit Ner <rohitner@google.com>
Wed, 12 Apr 2023 20:20:09 +0000 (13:20 -0700)
committerMark Brown <broonie@kernel.org>
Thu, 13 Apr 2023 10:42:20 +0000 (11:42 +0100)
SPI test framework is designed to run each test case for
a list of lengths.
Introduce a module parameter to limit the iterations
to a single value among the list of lengths.

Signed-off-by: Rohit Ner <rohitner@google.com>
Link: https://lore.kernel.org/r/20230412202009.3750955-2-rohitner@google.com
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/spi/spi-loopback-test.c

index 313106eb8d4062355e0ae8a3f04695778be58df5..675a73cf1579f6545a3d55af9c8ef124429826ab 100644 (file)
@@ -53,6 +53,12 @@ module_param(no_cs, int, 0);
 MODULE_PARM_DESC(no_cs,
                 "if set Chip Select (CS) will not be used");
 
+/* run tests only for a specific length */
+static int run_only_iter_len = -1;
+module_param(run_only_iter_len, int, 0);
+MODULE_PARM_DESC(run_only_iter_len,
+                "only run tests for a length of this number in iterate_len list");
+
 /* run only a specific test */
 static int run_only_test = -1;
 module_param(run_only_test, int, 0);
@@ -1033,6 +1039,8 @@ int spi_test_run_test(struct spi_device *spi, const struct spi_test *test,
 
        for (idx_len = 0; idx_len < SPI_TEST_MAX_ITERATE &&
             (len = test->iterate_len[idx_len]) != -1; idx_len++) {
+               if ((run_only_iter_len > -1) && len != run_only_iter_len)
+                       continue;
                FOR_EACH_ALIGNMENT(tx_align) {
                        FOR_EACH_ALIGNMENT(rx_align) {
                                /* and run the iteration */