From patchwork Wed Aug 21 10:58:27 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sughosh Ganu X-Patchwork-Id: 820965 Delivered-To: patch@linaro.org Received: by 2002:adf:e98a:0:b0:367:895a:4699 with SMTP id h10csp640201wrm; Wed, 21 Aug 2024 04:01:35 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCWRXZnPzvPm+5ledj52VIZDV1j2JXSb69pDN0NrNbmGBq69cgkEo1PxJcqYm6ylWQ6wTUj4kQ==@linaro.org X-Google-Smtp-Source: AGHT+IG+Cn8djycSvdIitFMJDlC65YtZoIiqgQmBlOdqkTeLuJ7SZxrqoOYfO3VCEGfJnCG/Nx7W X-Received: by 2002:a17:907:3d89:b0:a77:eb34:3b49 with SMTP id a640c23a62f3a-a866f342d87mr134448466b.37.1724238094626; Wed, 21 Aug 2024 04:01:34 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1724238094; cv=none; d=google.com; s=arc-20160816; b=v1ItviMQyfFvI1rzdX8KGYQcFe6zIvtmhyreTkgH973Kaw1FE4p3NeOUunI2369Mmw XzZxHCPcwd+uqGtU7w6PqtKroBVlLRQngh6SsI838xa8PDd97E+5Xhtk9BKEc0apfEhF fvSIOdRMmS66uxKXZSNLHN3DGzzumHHGFlgkJBpxdhnhi7E7WSKQkeRENuLhQVyXGFan 33fwxxVQfEmmRTi5JixY5Cd6XkH0Zy8fMVKMpw+9R/R9iBZ0Fx5CXOx9IcGwPej/9Dr6 zNFodFsYcgdtUNzPtViqiHrgae6o1qI6mjthjMTz62XGxtFtEpbPEy+0qo0tJJ/9d21/ d30w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from; bh=CDxb901y2eAkaDCovYFAFu4k3pIwRJ2jiuSLBbc/r3M=; fh=pnMZGD6unUPoMrkOwzXlkuYg+kVwGnSNRCTlQoWqjVc=; b=lh1aMlKo98A3Z2XJe6QBUnj+E31c63tB+F48KwilR3DqrIeN+jALc0OXwMYdvczlJI oS0/2X39ZZDam77JYCpJeodZ9uh2CP1n/KhkYZXv9Jd2KJnFb8VS6yycQvZV8GZRO8e/ 3KgxOAsMUGOii96OTJvVAivDq1b8o39KbEMqwmgBe02z82feilJpmtnwuwdsysz6++7Z +FSv1o5F8PjXRuShS7Tts2btfXCRZaAXKXvAJQKG5H8UBcUsP3RZtCkW35D4qNaCz29k fvvVqh3DiVgO/IYII1SeLKfpRpyfE33OPV6xfZmIEHvSy1QZYfgSODNqhR1lFP/SKXyy DX6Q==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of u-boot-bounces@lists.denx.de designates 2a01:238:438b:c500:173d:9f52:ddab:ee01 as permitted sender) smtp.mailfrom=u-boot-bounces@lists.denx.de; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from phobos.denx.de (phobos.denx.de. [2a01:238:438b:c500:173d:9f52:ddab:ee01]) by mx.google.com with ESMTPS id a640c23a62f3a-a867d594730si48042766b.450.2024.08.21.04.01.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 21 Aug 2024 04:01:34 -0700 (PDT) Received-SPF: pass (google.com: domain of u-boot-bounces@lists.denx.de designates 2a01:238:438b:c500:173d:9f52:ddab:ee01 as permitted sender) client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; Authentication-Results: mx.google.com; spf=pass (google.com: domain of u-boot-bounces@lists.denx.de designates 2a01:238:438b:c500:173d:9f52:ddab:ee01 as permitted sender) smtp.mailfrom=u-boot-bounces@lists.denx.de; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id C0CA588BB5; Wed, 21 Aug 2024 12:59:59 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=fail (p=none dis=none) header.from=linaro.org Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Received: by phobos.denx.de (Postfix, from userid 109) id 7A96188DB5; Wed, 21 Aug 2024 12:59:58 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-1.2 required=5.0 tests=BAYES_00, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED, SPF_HELO_NONE,SPF_SOFTFAIL,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.2 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by phobos.denx.de (Postfix) with ESMTP id 8686E88DB8 for ; Wed, 21 Aug 2024 12:59:56 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=fail (p=none dis=none) header.from=linaro.org Authentication-Results: phobos.denx.de; spf=fail smtp.mailfrom=sughosh.ganu@linaro.org Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 19005DA7; Wed, 21 Aug 2024 04:00:22 -0700 (PDT) Received: from a079122.blr.arm.com (a079122.arm.com [10.162.17.48]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id AC0323F73B; Wed, 21 Aug 2024 03:59:52 -0700 (PDT) From: Sughosh Ganu To: u-boot@lists.denx.de Cc: Simon Glass , Tom Rini , Ilias Apalodimas , Heinrich Schuchardt , Marek Vasut , Mark Kettenis , Michal Simek , Patrick DELAUNAY , Patrice CHOTARD , Sughosh Ganu Subject: [PATCH v3 15/27] lmb: init: initialise the lmb data structures during board init Date: Wed, 21 Aug 2024 16:28:27 +0530 Message-Id: <20240821105839.2870293-16-sughosh.ganu@linaro.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240821105839.2870293-1-sughosh.ganu@linaro.org> References: <20240821105839.2870293-1-sughosh.ganu@linaro.org> MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.8 at phobos.denx.de X-Virus-Status: Clean 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 Reviewed-by: Simon Glass --- Changes since V2: * Use if(CONFIG_IS_ENABLED(...)) in initr_lmb() instead of an #ifdef. 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 #include #include +#include #include #include #include @@ -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 d6a364de6e..4102e25115 100644 --- a/common/spl/spl.c +++ b/common/spl/spl.c @@ -723,6 +723,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)