[U-Boot] [PATCH] Change CFG_ENV_SIZE to CFG_ENV_SECT_SIZE for SPI sector erase
Liew Tsi Chung
Tsi-chung.Liew at freescale.com
Tue Aug 12 22:53:46 CEST 2008
Wolfgang,
You're right. Can't ignore the chance that CFG_ENV_SIZE might be
larger than CFG_ENV_SECT_SIZE, although both are defined in platform
configuration file.
I will send out the patch again with condition check.
[/snip]
u32 sector = 1;
...
if (CFG_ENV_SIZE > CFG_ENV_SECT_SIZE) {
sector = CFG_ENV_SIZE / CFG_ENV_SECT_SIZE;
if (CFG_ENV_SIZE % CFG_ENV_SECT_SIZE)
sector++;
}
if (spi_flash_erase(env_flash, CFG_ENV_OFFSET, sector *
CFG_ENV_SECT_SIZE))
...
if (spi_flash_write(env_flash, CFG_ENV_OFFSET, CFG_ENV_SIZE,
env_ptr))
...
Regards,
TsiChung
-----Original Message-----
From: wd at denx.de [mailto:wd at denx.de]
Sent: Tuesday, August 12, 2008 3:05 PM
To: Liew Tsi Chung
Cc: U-Boot; Rigby John
Subject: Re: [PATCH] Change CFG_ENV_SIZE to CFG_ENV_SECT_SIZE for SPI
sector erase
Dear Tsi-Chung Liew,
In message
<1218547123-18663-1-git-send-email-Tsi-Chung.Liew at freescale.com> you
wrote:
> From: TsiChung Liew <Tsi-Chung.Liew at freescale.com>
>
> The CFG_ENV_SIZE is not suitable used for SPI flash erase sector size.
>
> Signed-off-by: TsiChung Liew <Tsi-Chung.Liew at freescale.com>
> ---
> common/env_sf.c | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/common/env_sf.c b/common/env_sf.c index d641a9a..0a0626e
> 100644
> --- a/common/env_sf.c
> +++ b/common/env_sf.c
> @@ -69,7 +69,7 @@ int saveenv(void)
> }
>
> puts("Erasing SPI flash...");
> - if (spi_flash_erase(env_flash, CFG_ENV_OFFSET, CFG_ENV_SIZE))
> + if (spi_flash_erase(env_flash, CFG_ENV_OFFSET,
CFG_ENV_SECT_SIZE))
Is it always guaranteed that CFG_ENV_SIZE <= CFG_ENV_SECT_SIZE ?
Otherwise several sectors might need to be erased...
Best regards,
Wolfgang Denk
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
Due to lack of disk space, this fortune database has been discontinued.
More information about the U-Boot
mailing list