]> git.baikalelectronics.ru Git - uboot.git/commit
env: mmc : align erase address and size on erase_grp_size
authorPatrick Delaunay <patrick.delaunay@foss.st.com>
Tue, 15 Feb 2022 15:23:23 +0000 (16:23 +0100)
committerJaehoon Chung <jh80.chung@samsung.com>
Wed, 15 Jun 2022 06:34:18 +0000 (15:34 +0900)
commit463374521222dadd370f8f7e3d12e6d133f0f586
treef647be6529e9e1692d8377e8b1fef31adc5cf4e1
parent75b1210c452fe83db44328d3e12e115af86a3636
env: mmc : align erase address and size on erase_grp_size

On eMMC device, the erase_grp_size > 1 so the address and size for the
erase block command in env/mmc.c can be unaligned on erase group size and
some strange trace occurs and the result is not guarantee by MMC devices.

The SD-Card behavior doesn't change as erase_grp_size = 1 for SD-Card.

For example, on eMMC present on STM32MP15C-EV1 and before the patch:

  STM32MP> env erase

  Erasing Environment on MMC...

  Caution! Your devices Erase group is 0x400
  The erase range would be change to 0x2000~0x27ff

  16 blocks erased: OK

  Caution! Your devices Erase group is 0x400
  The erase range would be change to 0x2000~0x23ff

  16 blocks erased: OK
  OK

After this patch:
  STM32MP> env erase
  Erasing Environment on MMC...
  1024 blocks erased at 0x2000: OK
  1024 blocks erased at 0x2000: OK
  OK

Here the 2 copies of U-Boot environment are in the same devices Erase
group: it is erased twice.

Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com>
env/mmc.c