[PATCH v4 15/27] lmb: init: initialise the lmb data structures during board init

Ilias Apalodimas ilias.apalodimas at linaro.org
Tue Aug 27 08:27:43 CEST 2024


On Mon, 26 Aug 2024 at 15:01, Sughosh Ganu <sughosh.ganu at linaro.org> wrote:
>
> The memory map maintained by the LMB module is now persistent and
> global. This memory map is being maintained through the alloced list
> structure which can be extended at runtime -- there is one list for
> the available memory, and one for the used memory. Allocate and
> initialise these lists during the board init.
>
> Signed-off-by: Sughosh Ganu <sughosh.ganu at linaro.org>
> Reviewed-by: Simon Glass <sjg at chromium.org>
> ---
> Changes since V3: None
>
>  common/board_r.c | 10 ++++++++++
>  common/spl/spl.c |  3 +++
>  2 files changed, 13 insertions(+)
>
> diff --git a/common/board_r.c b/common/board_r.c
> index f445803d7a..a60da39a29 100644
> --- a/common/board_r.c
> +++ b/common/board_r.c
> @@ -22,6 +22,7 @@
>  #include <hang.h>
>  #include <image.h>
>  #include <irq_func.h>
> +#include <lmb.h>
>  #include <log.h>
>  #include <net.h>
>  #include <asm/cache.h>
> @@ -510,6 +511,14 @@ int initr_mem(void)
>  }
>  #endif
>
> +static int initr_lmb(void)
> +{
> +       if (CONFIG_IS_ENABLED(LMB))
> +               return lmb_init();
> +       else
> +               return 0;
> +}
> +
>  static int dm_announce(void)
>  {
>         int device_count;
> @@ -612,6 +621,7 @@ static init_fnc_t init_sequence_r[] = {
>  #ifdef CONFIG_CLOCKS
>         set_cpu_clk_info, /* Setup clock information */
>  #endif
> +       initr_lmb,
>  #ifdef CONFIG_EFI_LOADER
>         efi_memory_init,
>  #endif
> diff --git a/common/spl/spl.c b/common/spl/spl.c
> index 7c6e322ffd..ad2dc6a908 100644
> --- a/common/spl/spl.c
> +++ b/common/spl/spl.c
> @@ -721,6 +721,9 @@ void board_init_r(gd_t *dummy1, ulong dummy2)
>             IS_ENABLED(CONFIG_SPL_ATF))
>                 dram_init_banksize();
>
> +       if (IS_ENABLED(CONFIG_SPL_LMB))
> +               lmb_init();
> +
>         if (CONFIG_IS_ENABLED(PCI) && !(gd->flags & GD_FLG_DM_DEAD)) {
>                 ret = pci_init();
>                 if (ret)
> --
> 2.34.1
>

Reviewed-by: Ilias Apalodimas <ilias.apalodimas at linaro.org>


More information about the U-Boot mailing list