From patchwork Wed May 10 00:20:33 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Colin Foster X-Patchwork-Id: 1779153 X-Patchwork-Delegate: dario.binacchi@amarulasolutions.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: legolas.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=inadvantage.onmicrosoft.com header.i=@inadvantage.onmicrosoft.com header.a=rsa-sha256 header.s=selector2-inadvantage-onmicrosoft-com header.b=Idk/CPqx; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4QGHXq0s8Rz20fl for ; Wed, 10 May 2023 11:30:51 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 52F2085FEB; Wed, 10 May 2023 03:30:27 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=fail (p=none dis=none) header.from=in-advantage.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=inadvantage.onmicrosoft.com header.i=@inadvantage.onmicrosoft.com header.b="Idk/CPqx"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 33F7D847C6; Wed, 10 May 2023 02:20:54 +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.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,SPF_HELO_PASS,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.2 Received: from NAM12-MW2-obe.outbound.protection.outlook.com (mail-mw2nam12on2072f.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe5a::72f]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id A8F7985D1E for ; Wed, 10 May 2023 02:20:51 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=in-advantage.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=colin.Foster@in-advantage.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=MlN6oW0MQrJ5/vVTUQwKhJZLoGkDIoyUKcU/+iH3Q+xFIx4KTKP3YNwc+ahxSM8e8VlevZDkqcB8tr5+/dudAfpfNobo4d+nIeTZKIZitSSMWI4518y89nmH+LlthPEy04Sf8Az4ntY3GsQCnM1HN+//oqLZM1ad1LXURZPNpP/oJLjiPQOLNRs07YdYG20lS4nYumbZXYwO71w6MjWbOdL5CMl1zD+fnXnzUbasWo7rqBfqppA3JmgsJMXAu7Xph85V1uxEipj6UFKCZemFqh9t/k1J8mRj0q9D7vgbi5fjUtvnxkXID3o5VMWKyGeP2T9VE8kmzRDCDxZjXEqfvw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=RK79UZrScjLFxqY5kAOz4HSjfycQRJCJYZfLi0qWw+E=; b=L9V4L+7vE6zGQCoAu07hrT4PldrWQ2BKey0Fk09Ka3Xd4Ap+8K2r3IVWaY0VBIQ0asp4prR3o8hBzNFkkZrWFOBmQJDr6mwyaOF3eCV34fBEODw5S4K5ofgRm9e+BXakqekQKQ3AMNfwNV9/8h+pj6K+d/3nYofggp9rWrLL3BjO75Xngtly93Rzk6/erQDVmGYGW688QTtOBMl7zh2S9lQ64lszDg3e2M6ISTH5D5UM1UFihtIEoZWwjI3kPO0W9JYdqlXXRQf3kSFX3flS89jOjJPIH10XHcdTgmyVh+fskh2Y7DjUMvYr2JqHWG4Yl4jYeLof+ZlE527vvZRqrw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=in-advantage.com; dmarc=pass action=none header.from=in-advantage.com; dkim=pass header.d=in-advantage.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=inadvantage.onmicrosoft.com; s=selector2-inadvantage-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=RK79UZrScjLFxqY5kAOz4HSjfycQRJCJYZfLi0qWw+E=; b=Idk/CPqxTwJCsCrCycUMUz+k4nVSRORpUU7PJi0p7UucJ6pW4yaS8UVsYzkCh1T2/Zic08bmKN3n9wgfRt4IJIpLtY7TZASlKlR8xUXTQYZKv0qOuH5HfI8J8dYG+xeL23xrJ4Y6MRn8ZCp9C7tdyj0WJZarZUY5QnOCh6ehF8c= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=in-advantage.com; Received: from MWHPR1001MB2351.namprd10.prod.outlook.com (2603:10b6:301:35::37) by SA2PR10MB4778.namprd10.prod.outlook.com (2603:10b6:806:114::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6387.18; Wed, 10 May 2023 00:20:47 +0000 Received: from MWHPR1001MB2351.namprd10.prod.outlook.com ([fe80::8374:2506:121a:5612]) by MWHPR1001MB2351.namprd10.prod.outlook.com ([fe80::8374:2506:121a:5612%5]) with mapi id 15.20.6363.030; Wed, 10 May 2023 00:20:47 +0000 From: Colin Foster To: u-boot@lists.denx.de Cc: Michael Trimarchi , Dario Binacchi Subject: [PATCH 1/2] mtd: rawnand: nand_spl_loaders: move nand page buffer to heap Date: Tue, 9 May 2023 17:20:33 -0700 Message-Id: <20230510002034.1673517-2-colin.foster@in-advantage.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230510002034.1673517-1-colin.foster@in-advantage.com> References: <20230510002034.1673517-1-colin.foster@in-advantage.com> X-ClientProxiedBy: BY5PR20CA0008.namprd20.prod.outlook.com (2603:10b6:a03:1f4::21) To MWHPR1001MB2351.namprd10.prod.outlook.com (2603:10b6:301:35::37) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MWHPR1001MB2351:EE_|SA2PR10MB4778:EE_ X-MS-Office365-Filtering-Correlation-Id: fd7203b4-91db-4f55-314c-08db50ec66da X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: uoLRoM9vkNUvxJMWrOB36av7oOQhZdjmL7NGANC/1Ct33FeveE+AhP2o1SNMDg9VAP4iLI9Pmk4w8vu3Am8AKVlG4Yg4CtfrC62yzzx07tf+npQgzFbTeH/R0fRdShqjkDnuUKdLlyhD9RkDPChl7z7OvK/g/+cwjisXVosF9DQQU6oloRNUHZFOx0oHx2Z7RXUX5z+ZK5PXrpuwrJN0xObNbZBhuKMGgS81bNwmeKuqJQqZyBKzcqo94r7H9mbMdrGNnT/xvM+MVoqY2KOvH5mAIGsVeIXkp/HfqM+1N0f6tppsgRfHtG+EDngTR7qF4l0y379Glq4R7Q4Z6buknKmHgQkAvJjjjj1uXG77EnT8TAlA1zOF2yL39srJQtaZCzUsj4mx7SQp+1j01GxJw1YPmopWqcdzLYlUqmvcLS8K77/DRKuO60wkIEN+8X1wDXAv9SHeCESxYlBLGLYIreln0M/K402HQ0W8MlpqV7rGuVZZoxJsC4LY9MwARKebTYf3nkPxGY5LVXJxVvi69eyjzrw6tkhCrbDo3UvW0kEqDv6mkwLQdAyasFJiCbQvbUK/omspjoWbAV7W3JMHEeADBxYURhfHpB9u7A68kKZ77ibGsjPc4ChlpisFXNxC X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MWHPR1001MB2351.namprd10.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230028)(396003)(346002)(39830400003)(136003)(376002)(366004)(451199021)(2616005)(8676002)(8936002)(38350700002)(6512007)(26005)(6506007)(38100700002)(1076003)(478600001)(44832011)(36756003)(5660300002)(186003)(2906002)(52116002)(66476007)(4326008)(6916009)(66946007)(66556008)(54906003)(83380400001)(6486002)(316002)(86362001)(6666004)(41300700001); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: ICi3h8+KwD+V6+RVHeaKqwhCVNLj5DUA97eycgFrxb9/2HWYGdlmXD9h770Z8+kXuFEKHr9hmhF9GLNGBIHGMd6gAkZb6oyidMAjo2slvvK5lnjCrWzK+UqHzXOjX2ctJIG2mKSBOgOlIOD6Q3+3uIzo/aCSGmEZGPt++pI/lxd2ntzeJh1d9rNipGQk7HN5OZvAMxE6/i+gcfStswHEpVWFx8koeeG8Yn5qqt+WaGEWzGCVq5sVkMRzO1Z9NgftTZNpS/4Xd7z5gwKA1p4QgKL7eUY5AN1TnWBq3ztqZp7lm97t7giSwho+dDx+Xt9vtcoBobS3GDEZwNaZdIY3DY5Q7vyXf+R8909RbNfLnket+9EuZNKP6u55FYn6r8mAHDsqEuWvP3U2gdZkrkRMVQ0CMYYr6dNIz1dN0hNgBCxNpLrB6BmG+ZnRykIAZqqnVJPULpIrifKpfrshAxHPn1kMrSJHWIAS+gLeh2MK4YQqqQUSCTnUhsu+bZ6cqgnejLyyl+gNY4aWKWUCJmSnab6qhCTA9I8kQTA6AKZ4qGV1Yhii8kpsFN/pfw5ac/8/xXyqmld6Yr6+1zlt4JuRovRyqcRit38Q6qq119T5pHeJeRNldUfUAhjWE4CPVw7mIhslnwudNO/ujVYWFXIptRBvUvUUSTO2SWequDKaZDO8WXdbwvZnlQ6NY1f8DaWeEz8MpV+4U3DnNrHoJYuVrNySwtvgzjbYPzIhtBvD1S4Utwk2mBpGREHEUHajccBrslNoPjKJM/adC3Eg2IdKK9y4eKTULzjyM4HLffWwBEL08HffCuhhzWDdyshfzqVQoK5ZOmk1xYTenz0XToawY1QbDHWhE1WhuK5JivbvqvbnVqPiUBWWSvCj+Ucl91GdXGTpvf8WB7x9T4sKcjBGSK1Z+ZHU4/XUH2EmSwR2SkgLAdarK2w9prClxHuF4JmeehHZtEveGwRcnoGx1F2O3EdakZxYJRvGT6ageM2bqKA1llevPwVvFsWZFWvh50aH5FwxymZf9f6Vx0CZCVhj7eiCPkkjBEoAW3/XZ/9UQD64C0b+vN4lw4iPFB25GGCn3vCvjjhsgOV0NrxP/hzfGgUQzco6II5OqbpOMeGn2nSu1aeUDPnVA3sprEln2/RbCws2ewQFTKluGrf0gnvTcCp5CkAYKi4vtamzLwQK8OjpLqEmpQk57zHAORmzNgVRrSjWIikFX55tFTmSSk9NqUprk4LY1QBk5gPw7pkiNZ/VzOfFtMu/3m7aJzJgB6JzoZlSL3FyE6wUnbDICf9hQe9XMIM2LCRwlE/hLm2KWqfz2HEKCXNZOCLmZ5UVt/WrP2IHktO7RAebrIOYo87Od0OXqlQrCLRwB9kpGUTnV1h/eEjVIh7cp9a/sLyQSr5+XsMmy5m20/CjwrPpJJEH6CWws0M8Y7KT5lWmoK/82gmmQobaSVHTCcvJofzt5jJ/d6fHZca813APyjZKhPrFv+8wnNfpRBeQtXml7QKM0DivFn0w1g1ZnrJF7nL3m9+2o7kcAFRPZmCyUZgRskK7SaWCAaNJpwW/NYXDEJtgnzgIhMvoz1KnerHp9ESts/zBUknUg8jOJgkRI7W7vcH2mQ== X-OriginatorOrg: in-advantage.com X-MS-Exchange-CrossTenant-Network-Message-Id: fd7203b4-91db-4f55-314c-08db50ec66da X-MS-Exchange-CrossTenant-AuthSource: MWHPR1001MB2351.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 May 2023 00:20:47.4968 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 48e842ca-fbd8-4633-a79d-0c955a7d3aae X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: qum0afeE/fYDA8VBY0lLxHOzahftg3JP3UAkG+DrVG2CxJGwZ2S5YR9sR+zhx8bbcga8BYwHjC33WgvvIHHbPnr2dy19ZexzTsCCM2IG2qQ= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA2PR10MB4778 X-Mailman-Approved-At: Wed, 10 May 2023 03:30:24 +0200 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 SPL configurations that read from NAND need a page of RAM as a buffer. Initially this memory was statically allocated. Move this to the heap, so it can benefit from initialized DDR. Signed-off-by: Colin Foster --- v2: New patch. Note: This patch gives an SPDX warning due to the comment that was moved. --- drivers/mtd/nand/raw/nand_spl_loaders.c | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/drivers/mtd/nand/raw/nand_spl_loaders.c b/drivers/mtd/nand/raw/nand_spl_loaders.c index 156b44d835..8f243ce1b6 100644 --- a/drivers/mtd/nand/raw/nand_spl_loaders.c +++ b/drivers/mtd/nand/raw/nand_spl_loaders.c @@ -1,3 +1,11 @@ +/* + * Temporary storage for non NAND page aligned and non NAND page sized + * reads. Note: This does not support runtime detected FLASH yet, but + * that should be reasonably easy to fix by making the buffer large + * enough :) + */ +static u8 *scratch_buf; + int nand_spl_load_image(uint32_t offs, unsigned int size, void *dst) { unsigned int block, lastblock; @@ -70,14 +78,6 @@ u32 nand_spl_adjust_offset(u32 sector, u32 offs) } #ifdef CONFIG_SPL_UBI -/* - * Temporary storage for non NAND page aligned and non NAND page sized - * reads. Note: This does not support runtime detected FLASH yet, but - * that should be reasonably easy to fix by making the buffer large - * enough :) - */ -static u8 scratch_buf[CONFIG_SYS_NAND_PAGE_SIZE]; - /** * nand_spl_read_block - Read data from physical eraseblock into a buffer * @block: Number of the physical eraseblock @@ -103,6 +103,12 @@ int nand_spl_read_block(int block, int offset, int len, void *dst) { int page, read; + if (!scratch_buf) + scratch_buf = malloc(CONFIG_SYS_NAND_PAGE_SIZE); + + if (!scratch_buf) + return -ENOMEM; + /* Calculate the page number */ page = offset / CONFIG_SYS_NAND_PAGE_SIZE;