[PATCH v2] tools: fw_env: use erasesize from MEMGETINFO ioctl

Tom Rini trini at konsulko.com
Tue Apr 28 15:53:28 CEST 2020


On Tue, Mar 24, 2020 at 01:57:40PM +0100, Rasmus Villemoes wrote:

> We have a board with several revisions. The older ones use a nor flash
> with 64k erase size, while the newer have a flash with 4k sectors. The
> environment size is 8k.
> 
> Currently, we have to put a column containing 0x10000 (64k) in
> fw_env.config in order for it to work on the older boards. But that
> ends up wasting quite a lot of time on the newer boards that could
> just erase the 8k occupied by the environment - strace says the 64k
> erase takes 0.405 seconds. With this patch, as expected, that's about
> an 8-fold better, at 0.043 seconds.
> 
> Having different fw_env.config files for the different revisions is
> highly impractical, and the correct information is already available
> right at our fingertips. So use the erasesize returned by the
> MEMGETINFO ioctl when the fourth and fifth columns (sector size and
> #sectors, respectively) are absent or contain 0, a case where the
> logic previously used to use the environment size as erase size (and
> consequently computed ENVSECTORS(dev) as 1).
> 
> As I'm only testing this on a NOR flash, I'm only changing the logic
> for that case, though I think it should be possible for the other
> types as well.
> 
> Signed-off-by: Rasmus Villemoes <rasmus.villemoes at prevas.dk>

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20200428/02d437c5/attachment.sig>


More information about the U-Boot mailing list