ARM: mvebu: Warn about memory chunks too small for DDR training
authorUwe Kleine-König <u.kleine-koenig@baylibre.com>
Fri, 12 Jul 2024 08:13:01 +0000 (10:13 +0200)
committerGregory CLEMENT <gregory.clement@bootlin.com>
Mon, 2 Sep 2024 12:34:58 +0000 (14:34 +0200)
For each memory region the first 10K are reserved for DDR training. Emit
a warning if the area happens to be smaller than these 10K. This should
not happen, but if it does this message simplifies diagnosing the
problem.

This fixes a W=1 compiler error:

arch/arm/mach-mvebu/board-v7.c: In function ‘mvebu_scan_mem’:
arch/arm/mach-mvebu/board-v7.c:84:27: error: variable ‘size’ set but not used [-Werror=unused-but-set-variable]
   84 |                 u64 base, size;
      |                           ^~~~

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@baylibre.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
arch/arm/mach-mvebu/board-v7.c

index fd5d0c8..04ad651 100644 (file)
@@ -86,6 +86,9 @@ static int __init mvebu_scan_mem(unsigned long node, const char *uname,
                base = dt_mem_next_cell(dt_root_addr_cells, &reg);
                size = dt_mem_next_cell(dt_root_size_cells, &reg);
 
+               if (size < MVEBU_DDR_TRAINING_AREA_SZ)
+                       pr_warn("Too little memory to reserve for DDR training\n");
+
                memblock_reserve(base, MVEBU_DDR_TRAINING_AREA_SZ);
        }