]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
arm64: zynqmp: Fix tcminit mode value based on argv
authorPadmarao Begari <padmarao.begari@amd.com>
Mon, 30 Sep 2024 04:38:14 +0000 (10:08 +0530)
committerMichal Simek <michal.simek@amd.com>
Fri, 25 Oct 2024 12:10:31 +0000 (14:10 +0200)
The RPU pytest introduced by commit e894c10c040b
("test/py: zynqmp_rpu: Add test for loading RPU apps") expects
3rd parameter as string not a number that's why extend command
to actually handle both. The issue with existing code is that
when any non number string is passed hextoul returns 0. For
backward compatibility zynqmp tcminit 0/1 can be still used but
it is recommended to use strings instead.

Signed-off-by: Padmarao Begari <padmarao.begari@amd.com>
Link: https://lore.kernel.org/r/20240930043814.530181-3-padmarao.begari@amd.com
Signed-off-by: Michal Simek <michal.simek@amd.com>
arch/arm/mach-zynqmp/zynqmp.c

index 3b4d9c60e5c6997956950c742d55a4fbdf8f119a..8ee25e4c3161c0eca6de9cd82f189361e72c07f5 100644 (file)
@@ -151,14 +151,12 @@ static int do_zynqmp_tcm_init(struct cmd_tbl *cmdtp, int flag, int argc,
        if (argc != cmdtp->maxargs)
                return CMD_RET_USAGE;
 
-       if (strcmp(argv[2], "lockstep") && strcmp(argv[2], "split")) {
-               printf("mode param should be lockstep or split\n");
-               return CMD_RET_FAILURE;
-       }
-
-       mode = hextoul(argv[2], NULL);
-       if (mode != TCM_LOCK && mode != TCM_SPLIT) {
-               printf("Mode should be either 0(lock)/1(split)\n");
+       if (!strcmp(argv[2], "lockstep") || !strcmp(argv[2], "0")) {
+               mode = TCM_LOCK;
+       } else if (!strcmp(argv[2], "split") || !strcmp(argv[2], "1")) {
+               mode = TCM_SPLIT;
+       } else {
+               printf("Mode should be either lockstep/split\n");
                return CMD_RET_FAILURE;
        }
 
@@ -429,7 +427,7 @@ U_BOOT_LONGHELP(zynqmp,
        "                      initialized before accessing to avoid ECC\n"
        "                      errors. mode specifies in which mode TCM has\n"
        "                      to be initialized. Supported modes will be\n"
-       "                      lock(0)/split(1)\n"
+       "                      lockstep(0)/split(1)\n"
 #endif
        "zynqmp pmufw address size - load PMU FW configuration object\n"
        "zynqmp pmufw node <id> - load PMU FW configuration object, <id> in dec\n"