From 8e848f6a133431284accc35ecae18aa96d28df86 Mon Sep 17 00:00:00 2001 From: Maciej Dudek Date: Tue, 24 Jan 2023 19:44:32 +0100 Subject: [PATCH] liblitedram: #define MODULO It allows to replace repeating #ifdef SDRAM_PHY_DELAYS > 32 Signed-off-by: Maciej Dudek --- litex/soc/software/liblitedram/sdram.c | 27 +++++++++++--------------- 1 file changed, 11 insertions(+), 16 deletions(-) diff --git a/litex/soc/software/liblitedram/sdram.c b/litex/soc/software/liblitedram/sdram.c index 358df8535..688706996 100644 --- a/litex/soc/software/liblitedram/sdram.c +++ b/litex/soc/software/liblitedram/sdram.c @@ -34,6 +34,12 @@ #ifdef CSR_SDRAM_BASE +#if SDRAM_PHY_DELAYS > 32 +#define MODULO (SDRAM_PHY_DELAYS/32) +#else +#define MODULO (1) +#endif + /*-----------------------------------------------------------------------*/ /* Helpers */ /*-----------------------------------------------------------------------*/ @@ -431,10 +437,7 @@ static void sdram_leveling_center_module( errors = run_test_pattern(module); last_working = working; working = errors == 0; - show = show_long; -#if SDRAM_PHY_DELAYS > 32 - show = show && (delay%16 == 0); -#endif + show = show_long && (delay%MODULO == 0); if (show) print_scan_errors(errors); if(working && last_working && delay_min < 0) { @@ -453,10 +456,7 @@ static void sdram_leveling_center_module( while(1) { errors = run_test_pattern(module); working = errors == 0; - show = show_long; -#if SDRAM_PHY_DELAYS > 32 - show = show && (delay%16 == 0); -#endif + show = show_long && (delay%MODULO == 0); if (show) print_scan_errors(errors); @@ -674,10 +674,8 @@ static int sdram_write_leveling_scan(int *delays, int loops, int show) for(j=0;j 32 - show_iter = (j%16 == 0) && show; -#endif + int show_iter = (j%MODULO == 0) && show; + for (k=0; k 32 - _show = (i%16 == 0) & show; -#endif + int _show = (i%MODULO == 0) & show; errors = run_test_pattern(module); working = errors == 0; /* When any scan is working then the final score will always be higher then if no scan was working */