From patchwork Wed May 6 08:47:00 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rasmus Villemoes X-Patchwork-Id: 1284207 X-Patchwork-Delegate: trini@ti.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=85.214.62.61; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=prevas.dk Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=prevas.dk header.i=@prevas.dk header.a=rsa-sha256 header.s=selector1 header.b=XQI4/ph2; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 49H9Fv3zVpz9sRY for ; Wed, 6 May 2020 18:47:31 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 37C6D8216E; Wed, 6 May 2020 10:47:18 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=prevas.dk 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=prevas.dk header.i=@prevas.dk header.b="XQI4/ph2"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 3716F8214D; Wed, 6 May 2020 10:47:15 +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=-0.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FORGED_SPF_HELO,MSGID_FROM_MTA_HEADER, SPF_HELO_PASS,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.2 Received: from EUR03-AM5-obe.outbound.protection.outlook.com (mail-am5eur03on0700.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe08::700]) (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 3A07A82102 for ; Wed, 6 May 2020 10:47:12 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=prevas.dk Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=rasmus.villemoes@prevas.dk ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Mw14gygakY/AygjGtnrBMae5/aCOVRX+UJjxDfz+7PT9gkWEKLBdtafmCvRBPgyufwlPGo5fQjAZYs9MgMjpWNqyftBwotY7BLO9lyoV9lQpXnp/coKm8UrLoC+OrBd1N8PQ/NyvPBgQnNWtzyl6RcQHHZc8I8wTOBnGS65a5e+28G2XYYnxBcpwwNSO36yWJLk1ggLDMcDAJjxSLskPLTmn/iPLLND/2SaqapoUX7TCpYjoRaDL+06E3XcUYFueCM+NLfS1c+Ju5DzXUsqmqHZBZTL7GpVYfEG3wgCHlqMA5M3a7teP2+JRzwqjzbPMHZrzmhcU9pfAuuBoJ8KF2A== 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-SenderADCheck; bh=iID4d0DskZboGt5eznvHVeaEvQA2rs7fcwqDM1hMQag=; b=JRQwvVGTba2SdS4+Q9Nt1A5Rt4h/l4g/oiu2Myq/tx/pvX371vG4B2rUpdFhh7lDBn4O/smk7gaK+Z4W/D1mRezWpVchRuKIGrzRem+Yf+T1Hp23QYp2i0zsCEL7T290KtrcnNuKrhn5lvJiqfo1VZVHx2XRG16zl2wTpPdndMhcL34ayQSNcDNuYOS5PqFhxIv0TSXBGclpDFiX5x0DMY/BjwvSNAmcBr6RCsL+XmKFVgN2rDAt7T5a/T1OixPJpnSzkzI7lHGRzeOV/FHcmvimtp4p6WyuOrmeBM2Hn7poefBuZ7Bxp6oqXU+CftcuSxoGLlNogB6+3lNBnaebrQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=prevas.dk; dmarc=pass action=none header.from=prevas.dk; dkim=pass header.d=prevas.dk; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=prevas.dk; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=iID4d0DskZboGt5eznvHVeaEvQA2rs7fcwqDM1hMQag=; b=XQI4/ph2uKilTc3yVWfRLpwttx4tLsGmaKUGwERj9/EsMn9zqFu7Ce3euQafyve4evENQrOCqRE4LL9m3JVQ3jlr1TDwfEOkI5pO02MqNA80k2UVhmee1lIAm4FmmYaH49L3Jm6KvsjaybuU/XZ7hWZLOkYRBYZn8SGQlh92Kyg= Authentication-Results: lists.denx.de; dkim=none (message not signed) header.d=none;lists.denx.de; dmarc=none action=none header.from=prevas.dk; Received: from VI1PR10MB2765.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:803:e1::21) by VI1PR10MB2477.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:803:87::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2958.20; Wed, 6 May 2020 08:47:11 +0000 Received: from VI1PR10MB2765.EURPRD10.PROD.OUTLOOK.COM ([fe80::f0ac:4e97:2536:faa]) by VI1PR10MB2765.EURPRD10.PROD.OUTLOOK.COM ([fe80::f0ac:4e97:2536:faa%7]) with mapi id 15.20.2958.033; Wed, 6 May 2020 08:47:11 +0000 From: Rasmus Villemoes To: u-boot@lists.denx.de Cc: Joe Hershberger , Wolfgang Denk , Rasmus Villemoes Subject: [PATCH 1/2] env/sf.c: use a variable to hold the sector size Date: Wed, 6 May 2020 10:47:00 +0200 Message-Id: <20200506084701.8076-2-rasmus.villemoes@prevas.dk> X-Mailer: git-send-email 2.23.0 In-Reply-To: <20200506084701.8076-1-rasmus.villemoes@prevas.dk> References: <20200506084701.8076-1-rasmus.villemoes@prevas.dk> X-ClientProxiedBy: BE0P281CA0007.DEUP281.PROD.OUTLOOK.COM (2603:10a6:b10:a::17) To VI1PR10MB2765.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:803:e1::21) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from prevas-ravi.prevas.se (5.186.116.45) by BE0P281CA0007.DEUP281.PROD.OUTLOOK.COM (2603:10a6:b10:a::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2979.26 via Frontend Transport; Wed, 6 May 2020 08:47:10 +0000 X-Mailer: git-send-email 2.23.0 X-Originating-IP: [5.186.116.45] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 3f8856ee-4e3f-4fbc-9766-08d7f19a10ef X-MS-TrafficTypeDiagnostic: VI1PR10MB2477: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:2089; X-Forefront-PRVS: 03950F25EC X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Mw4Lfkd/JAZKDFJfrv6ut1n9L2rD/Wm4pvWMy798zh/bequgN9h2Tqgv8PUNEAnHccPXyT4/iPFLOCPxq//6UxPLa5m5KKf714DgnaazVmVWuad5he9BSBCgdJjoseYiXQ/gW8CkChrEEgqVrl29fZr/DIrNC62Y8Xxd+ETkyN8ZYCrueHuscwVawqEvN8AkzPYnqfu0hW93DmJ6B4YDxw+RjwX9Ygd+okrjpA9Vk2i/kvr6B6qmW5yStz0WQwNHGUwW85j9nKM37JNjBfMGlmsSCahpFyfZvqGQxOC7D7weDxo6IlBbjD9HAeM4Ld+2p491IbMpGlFnEJuoh22cyUPF5xhvUEjCkI5oZh8mp0SmEVF+Ohwv8/GVLBYQMD22x9G4QMhie0BA9+eMqDaqNcxSkLDB6l24VRZ5I7/605K8iiCrPKoZxH5XSayUn/R6MN+tn9A3rwFVDRsmPgffN11kEugjjOadA8FLejUm7UWShfWkjPcO5ghD8dOo2NA8LbkIU+pY0JuL3gyt7PaOEg== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VI1PR10MB2765.EURPRD10.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFTY:; SFS:(39840400004)(366004)(136003)(346002)(396003)(376002)(33430700001)(66946007)(107886003)(66476007)(66556008)(36756003)(6486002)(6512007)(6916009)(2906002)(5660300002)(478600001)(4326008)(316002)(6666004)(6506007)(52116002)(2616005)(16526019)(956004)(44832011)(186003)(26005)(1076003)(33440700001)(8936002)(54906003)(86362001)(8976002)(8676002); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData: 7ggbziK596P4STFnQIP4dUl1qFCeKsEzi3BjpWIgsAzpX1cFQ3lkUG82HsOqOmeLfug5V4grIi/i8Bygdod/VrQnwDvzPxYaiZ55FOBOhhL1nhZyjVzOSZr25eavbmmo8e7lX22+5BLbSBofp5FW1spqGZ626mu97F5QRU2p17x7AohSm1LEj1fc5c6Ipg5Igfb74gkqNBF3Mm/Beb+i9xktp4z5OuY3F1zw8Aar7zESfQLd/XZsMZ5G1c9TG2iZOmPiDhKEh2aYfcWG0uOX4XUFi2PphedQDLcynbNCA0EY8rQnO68TLfn9s4gpUOBWwL0kNDnYUlYw8xAijQFV7e+O4aFqgCicpd7Zoi4XCe11T2dMQaiUyEaufinz0nibeB06FrnelX+uPfywA15lOMbnRRmTnJfzq7SuaH4UavsgkhZPn6REHXNvcdwaxPPwkPLiSTiNJ2bRf5FWlNmv+iznWwr1erCVsHn5/eRB6M6zy3LIo69DlvKfPvMMwJWOegmgvUqFN2P5gm3tJJWqjUigs+M0Ak5KN8mFZLGO0W6UWJldr35/6DDbsIgmqzVa+dS8ajM7GHxJjto7nUF/L4nmk2WrDzpdXeg2NebcoGpOURoDfDrVaRb1bUPpegqAhUzyKl7wGSDFdLK4Uu7GFMbk2zYifakuAAPWsWKoL+eT0NqWgCAZysDwrowuQS/I9kIZ4nnXE/tVnVfn+RkOWKnOgsOTs+k5ldxiUMIDznxe7b+ClWxH4oHvsKU92CS997FKq2ylSm93Bkovx5E7qRy6l4MN9hoKfhjWPJxO6XY= X-OriginatorOrg: prevas.dk X-MS-Exchange-CrossTenant-Network-Message-Id: 3f8856ee-4e3f-4fbc-9766-08d7f19a10ef X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 May 2020 08:47:10.9918 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: d350cf71-778d-4780-88f5-071a4cb1ed61 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: Q4AcMFJF2pMII4WPlBj2ZB1ytYjqDceL0D6Zr0mWjb9aTDJRY4iF6XAgnYus5OkUag13Xr4YAtT7AN+h3CSjsLHNVKOot/xUj4qJp+i9Wog= X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR10MB2477 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.30rc1 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.102.2 at phobos.denx.de X-Virus-Status: Clean As preparation for the next patch, use a local variable to represent the sector size. No functional change. Signed-off-by: Rasmus Villemoes --- env/sf.c | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/env/sf.c b/env/sf.c index 22b70ad319..cd5339578b 100644 --- a/env/sf.c +++ b/env/sf.c @@ -70,6 +70,7 @@ static int env_sf_save(void) env_t env_new; char *saved_buffer = NULL, flag = ENV_REDUND_OBSOLETE; u32 saved_size, saved_offset, sector; + u32 sect_size = CONFIG_ENV_SECT_SIZE; int ret; ret = setup_flash_device(); @@ -90,8 +91,8 @@ static int env_sf_save(void) } /* Is the sector larger than the env (i.e. embedded) */ - if (CONFIG_ENV_SECT_SIZE > CONFIG_ENV_SIZE) { - saved_size = CONFIG_ENV_SECT_SIZE - CONFIG_ENV_SIZE; + if (sect_size > CONFIG_ENV_SIZE) { + saved_size = sect_size - CONFIG_ENV_SIZE; saved_offset = env_new_offset + CONFIG_ENV_SIZE; saved_buffer = memalign(ARCH_DMA_MINALIGN, saved_size); if (!saved_buffer) { @@ -104,11 +105,11 @@ static int env_sf_save(void) goto done; } - sector = DIV_ROUND_UP(CONFIG_ENV_SIZE, CONFIG_ENV_SECT_SIZE); + sector = DIV_ROUND_UP(CONFIG_ENV_SIZE, sect_size); puts("Erasing SPI flash..."); ret = spi_flash_erase(env_flash, env_new_offset, - sector * CONFIG_ENV_SECT_SIZE); + sector * sect_size); if (ret) goto done; @@ -119,7 +120,7 @@ static int env_sf_save(void) if (ret) goto done; - if (CONFIG_ENV_SECT_SIZE > CONFIG_ENV_SIZE) { + if (sect_size > CONFIG_ENV_SIZE) { ret = spi_flash_write(env_flash, saved_offset, saved_size, saved_buffer); if (ret) @@ -184,6 +185,7 @@ out: static int env_sf_save(void) { u32 saved_size, saved_offset, sector; + u32 sect_size = CONFIG_ENV_SECT_SIZE; char *saved_buffer = NULL; int ret = 1; env_t env_new; @@ -193,8 +195,8 @@ static int env_sf_save(void) return ret; /* Is the sector larger than the env (i.e. embedded) */ - if (CONFIG_ENV_SECT_SIZE > CONFIG_ENV_SIZE) { - saved_size = CONFIG_ENV_SECT_SIZE - CONFIG_ENV_SIZE; + if (sect_size > CONFIG_ENV_SIZE) { + saved_size = sect_size - CONFIG_ENV_SIZE; saved_offset = CONFIG_ENV_OFFSET + CONFIG_ENV_SIZE; saved_buffer = malloc(saved_size); if (!saved_buffer) @@ -210,11 +212,11 @@ static int env_sf_save(void) if (ret) goto done; - sector = DIV_ROUND_UP(CONFIG_ENV_SIZE, CONFIG_ENV_SECT_SIZE); + sector = DIV_ROUND_UP(CONFIG_ENV_SIZE, sect_size); puts("Erasing SPI flash..."); ret = spi_flash_erase(env_flash, CONFIG_ENV_OFFSET, - sector * CONFIG_ENV_SECT_SIZE); + sector * sect_size); if (ret) goto done; @@ -224,7 +226,7 @@ static int env_sf_save(void) if (ret) goto done; - if (CONFIG_ENV_SECT_SIZE > CONFIG_ENV_SIZE) { + if (sect_size > CONFIG_ENV_SIZE) { ret = spi_flash_write(env_flash, saved_offset, saved_size, saved_buffer); if (ret) From patchwork Wed May 6 08:47:01 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rasmus Villemoes X-Patchwork-Id: 1284208 X-Patchwork-Delegate: trini@ti.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: 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: ozlabs.org; dmarc=none (p=none dis=none) header.from=prevas.dk Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=prevas.dk header.i=@prevas.dk header.a=rsa-sha256 header.s=selector1 header.b=QuOmEdSb; 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 RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 49H9G71lSFz9sRY for ; Wed, 6 May 2020 18:47:43 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id C4B4182180; Wed, 6 May 2020 10:47:20 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=prevas.dk 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=prevas.dk header.i=@prevas.dk header.b="QuOmEdSb"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 3F1A182132; Wed, 6 May 2020 10:47:17 +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=-0.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FORGED_SPF_HELO,MSGID_FROM_MTA_HEADER, SPF_HELO_PASS,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.2 Received: from EUR03-AM5-obe.outbound.protection.outlook.com (mail-am5eur03on0700.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe08::700]) (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 8E6B982132 for ; Wed, 6 May 2020 10:47:12 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=prevas.dk Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=rasmus.villemoes@prevas.dk ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=M1U8UnSXbsWJk83cIGzCtrIBYmgx/bE2mBH//tKKa+tiIEWQALvFBptrL4/ctw4LcCqmnwePWtwzWXNlXIpWypA5aTrsi/vYjHw/AT2ACYwwvybeWvvQGYtg8ZiYFUA8280JUPTlPSXWHBcXutukpoCLAp8ECCUFelCenZlJ1BfftdOUDFVDZ1UW3R120XO06S1zE5AXRBK8UqJukJwQyp1NpA8FA1Y022p02q1EhNH4XQcOJuOlsGhiW+qrALAWNp8sHKRMgIN56HQzVmT3aMtO8svBG7kyDhTgFJYrq01ixNRoqOk9+kSKLzlVVW5SEFYw5icq8u3Wr0joEQSOUg== 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-SenderADCheck; bh=eRmJHdQb3ZrOxU59rRgAUDLOiwAaCUoDlx/8OXn0W2A=; b=D0oBvo2nAhSNFk7w8gXX6Y7PaRk9dzEbC6sWaYnLbbxaw3wgexkoOg/nRzfzc+VvGpVfkRlx7ZagC8qjThrehqHpShp4cKO40i6RQi9A9BjAQHnbfII+fqkNeIitly1Wzg+rqN1Y12zEdoBosLBn96OCvopAUxhBKHYkpHMPBNMIxxlsMXpo3jhOXTwOy4GMNnLnnaidxy0U7CED8jCxzZqihE1y9YSsdQ0EsY4oDslWlIjnFy4Ym/O3piw2qae66rX8tauf7GtcdJWGc8m0+maml/+0EXq51RqEpwlB1jGRTEypAFS5tUY/Vceig5HXNMzMgexrWFtDQaaeV3XpPw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=prevas.dk; dmarc=pass action=none header.from=prevas.dk; dkim=pass header.d=prevas.dk; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=prevas.dk; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=eRmJHdQb3ZrOxU59rRgAUDLOiwAaCUoDlx/8OXn0W2A=; b=QuOmEdSbdQeIZurpmYJe6qQkGEOk80pMd8XGNOJnGR4vNAMpbWy9LAKUkAsxYBOYUk6ltOSw7xHOm4HSTKkd96V0ZU5DoDPr46o+HaFPPeegtFaHm5koBPgvQeW+eyLPTj/XQFofqVTjRrMjkGmHzjuzxGDUPpA2Dxl2QA7xwb0= Authentication-Results: lists.denx.de; dkim=none (message not signed) header.d=none;lists.denx.de; dmarc=none action=none header.from=prevas.dk; Received: from VI1PR10MB2765.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:803:e1::21) by VI1PR10MB2477.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:803:87::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2958.20; Wed, 6 May 2020 08:47:11 +0000 Received: from VI1PR10MB2765.EURPRD10.PROD.OUTLOOK.COM ([fe80::f0ac:4e97:2536:faa]) by VI1PR10MB2765.EURPRD10.PROD.OUTLOOK.COM ([fe80::f0ac:4e97:2536:faa%7]) with mapi id 15.20.2958.033; Wed, 6 May 2020 08:47:11 +0000 From: Rasmus Villemoes To: u-boot@lists.denx.de Cc: Joe Hershberger , Wolfgang Denk , Rasmus Villemoes Subject: [PATCH 2/2] env: add CONFIG_ENV_SECT_SIZE_AUTO Date: Wed, 6 May 2020 10:47:01 +0200 Message-Id: <20200506084701.8076-3-rasmus.villemoes@prevas.dk> X-Mailer: git-send-email 2.23.0 In-Reply-To: <20200506084701.8076-1-rasmus.villemoes@prevas.dk> References: <20200506084701.8076-1-rasmus.villemoes@prevas.dk> X-ClientProxiedBy: BE0P281CA0007.DEUP281.PROD.OUTLOOK.COM (2603:10a6:b10:a::17) To VI1PR10MB2765.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:803:e1::21) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from prevas-ravi.prevas.se (5.186.116.45) by BE0P281CA0007.DEUP281.PROD.OUTLOOK.COM (2603:10a6:b10:a::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2979.26 via Frontend Transport; Wed, 6 May 2020 08:47:11 +0000 X-Mailer: git-send-email 2.23.0 X-Originating-IP: [5.186.116.45] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: fac5bbdb-3160-471a-3d93-08d7f19a1154 X-MS-TrafficTypeDiagnostic: VI1PR10MB2477: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:2399; X-Forefront-PRVS: 03950F25EC X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Ouk6OMhig/YImXK/onPYorgZmVMak1ybiaEG38kvITdlzdVxi3RDN1AkaYPmT0hhrQQrSEumnVGKJpZmvSLN1xyCgqRDxOedKNStFfiN6qFHtPAnQ5bgPeEQc3TM8HmSjkWfFVddn91hHyVDQ3fOLMbE/iUa3DApIX42AemRrNkbJFlLJMNQIOH59OWYCSbBrKU6EZT8tXAe44lqO4AX0gv3aNuscohSGC3bDMPlH6QpczMaK8q7vB53nJFme1nsQPQ7Eu5fmrzvy2AJh/0qwx+uJYGOhcGEGBVtOMtcTB6vP/1qg3RryYtUYJBUkC2qaZlSllNca2pF/39oUaUcG4lfJfInZ63gyhDM9af7TdXqt98TPXpiq2ojmGfaEIMNZ6Z5zCYcAiunB4vtGQsl/gCXzE4Ojo135bbo9g5lf30AB2E51l0fZxCwlP9+BoWFXkbRVDQjCYa5pPMGs6482AAUQp44ggR51gXbQx3cpbtsFGP7BbhVUtKjMpZa6738vuaPm7zuytyKK/P2DVJEaQ== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VI1PR10MB2765.EURPRD10.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFTY:; SFS:(39840400004)(366004)(136003)(346002)(396003)(376002)(33430700001)(66946007)(107886003)(66476007)(66556008)(36756003)(6486002)(6512007)(6916009)(2906002)(5660300002)(478600001)(4326008)(316002)(6666004)(6506007)(52116002)(2616005)(16526019)(956004)(44832011)(186003)(26005)(1076003)(33440700001)(8936002)(54906003)(86362001)(8976002)(8676002); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData: 2xEKVS+1AFkE8pY9CqU7fCH6HRhtUlwVKDvCybtFfZbz+EvU03XdRZlmRDE84Qm89F9fiVPH/5fSB4vgzXMKAupMBVt3Y57yDvmJ/kefsEc1jq5QN2fgz48P+LhcBANjvXl21PaIB6Z0aGqIoZIs5nZk7JCWY8k+MvZzhHI3CePtRvbHkMtXAiVDPJPH3aALUXlPxRLpXlkDGPJ/YL4FDtyYgfCrhUgFvjhwj4MZbuGb7oq6P+2a6GVS2W/vWYHuVmRI88f67/As7O2ZTdZsIYpXyLDwzUFN7dkg4yGvBqUzakkjXfntmq5rdPOhna/4zj5HBMFzS6tYLtFg3isjs3Uu+iUitE0mFgXX7zAjU7pp7PS9BmU9oXUih9CUTQSufQUPDzR1gVlR98KilH8FXP5axoP4Zr+kBMsvid9fUU+fXseuEDK4N1mBZ2mRVwWOuCaGlpgZth8Paq4Ieepnm/qCGBtwhM8sEPX+CGFH8CkwMwi/Uedyrj6z2t63Ksg+gvl4z8vr9kHI1GZXWo/DHblX0XuHRRbfq25L9xOtgCOX3RlsZOaE5pwd0GqXGDYes+HxbP0Bcb6OOFSZQfFe38iZNI/w8SXNmNBdY9s3gsXeji4891OfNjFelnDwuIidUXyjIsILjqBJhrsJGfAlOM4hM6Tc88u1/NpvsN9RvicxYlDUIDfzhGrZZ7VsMl2fk139Qo7X7q/QCGtPFVGAvUptJWOdakJenCMHmALkH8lHCgnw18R7wby5JsANWYkS1GhB0Q5R8phREEwoVwbNI8R8t+nPWMGslACWNGgy48w= X-OriginatorOrg: prevas.dk X-MS-Exchange-CrossTenant-Network-Message-Id: fac5bbdb-3160-471a-3d93-08d7f19a1154 X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 May 2020 08:47:11.6634 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: d350cf71-778d-4780-88f5-071a4cb1ed61 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 9LdVkrZ/l8Lr7CUL2h4Gk2zsd25P93XrgNn0gCWzvwqHDPziPe1oUc8sTa47hm6PquaL58ge5/nEd9j1fCrGp8ns9QM2yHH2aeo21ffNRRE= X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR10MB2477 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.30rc1 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.102.2 at phobos.denx.de X-Virus-Status: Clean This is roughly the U-Boot side equivalent to commit e282c422e0 (tools: fw_env: use erasesize from MEMGETINFO ioctl). The motivation is the case where one has a board with several revisions, where the SPI flashes have different erase sizes. In our case, we have an 8K environment, and the flashes have erase sizes of 4K (newer boards) and 64K (older boards). Currently, we must set CONFIG_ENV_SECT_SIZE to 64K to make the code work on the older boards, but for the newer ones, that ends up wasting quite a bit of time reading/erasing/restoring the last 56K. At first, I wanted to allow setting CONFIG_ENV_SECT_SIZE to 0 to mean "use the erase size the chip reports", but that config option is used in a number of preprocessor conditionals, and shared between ENV_IS_IN_FLASH and ENV_IS_IN_SPI_FLASH. So instead, introduce a new boolean config option, which for now can only be used with ENV_IS_IN_SPI_FLASH. If left off, there's no change in behaviour. The only slightly annoying detail is that, when selected, the compiler is apparently not smart enough to see that the the saved_size and saved_offset variables are only used under the same "if (sect_size > CONFIG_ENV_SIZE)" condition as where they are computed, so we need to initialize them to 0 to avoid "may be used uninitialized" warnings. On our newer boards with the 4K erase size, saving the environment now takes 0.080 seconds instead of 0.53 seconds, which directly translates to that much faster boot time since our logic always causes the environment to be written during boot. Signed-off-by: Rasmus Villemoes --- env/Kconfig | 14 ++++++++++++++ env/sf.c | 10 ++++++++-- 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/env/Kconfig b/env/Kconfig index 969308fe6c..c90cd04604 100644 --- a/env/Kconfig +++ b/env/Kconfig @@ -317,6 +317,20 @@ config ENV_IS_IN_SPI_FLASH during a "saveenv" operation. CONFIG_ENV_OFFSET_REDUND must be aligned to an erase sector boundary. +config ENV_SECT_SIZE_AUTO + bool "Use automatically detected sector size" + depends on ENV_IS_IN_SPI_FLASH + help + Some boards exist in multiple variants, with different + flashes having different sector sizes. In such cases, you + can select this option to make U-Boot use the actual sector + size when figuring out how much to erase, which can thus be + more efficient on the flashes with smaller erase size. Since + the environment must always be aligned on a sector boundary, + CONFIG_ENV_OFFSET must be aligned to the largest of the + different sector sizes, and CONFIG_ENV_SECT_SIZE should be + set to that value. + config USE_ENV_SPI_BUS bool "SPI flash bus for environment" depends on ENV_IS_IN_SPI_FLASH diff --git a/env/sf.c b/env/sf.c index cd5339578b..644e78fe3d 100644 --- a/env/sf.c +++ b/env/sf.c @@ -69,7 +69,7 @@ static int env_sf_save(void) { env_t env_new; char *saved_buffer = NULL, flag = ENV_REDUND_OBSOLETE; - u32 saved_size, saved_offset, sector; + u32 saved_size = 0, saved_offset = 0, sector; u32 sect_size = CONFIG_ENV_SECT_SIZE; int ret; @@ -77,6 +77,9 @@ static int env_sf_save(void) if (ret) return ret; + if (IS_ENABLED(CONFIG_ENV_SECT_SIZE_AUTO)) + sect_size = env_flash->mtd.erasesize; + ret = env_export(&env_new); if (ret) return -EIO; @@ -184,7 +187,7 @@ out: #else static int env_sf_save(void) { - u32 saved_size, saved_offset, sector; + u32 saved_size = 0, saved_offset = 0, sector; u32 sect_size = CONFIG_ENV_SECT_SIZE; char *saved_buffer = NULL; int ret = 1; @@ -194,6 +197,9 @@ static int env_sf_save(void) if (ret) return ret; + if (IS_ENABLED(CONFIG_ENV_SECT_SIZE_AUTO)) + sect_size = env_flash->mtd.erasesize; + /* Is the sector larger than the env (i.e. embedded) */ if (sect_size > CONFIG_ENV_SIZE) { saved_size = sect_size - CONFIG_ENV_SIZE;