mirror of
https://source.denx.de/u-boot/u-boot.git
synced 2025-09-20 21:31:32 +02:00
nand: spl_loaders: Only read enough pages to load the image
All other implementations of nand_spl_load_image only read as many pages as are necessary to load the image. However, nand_spl_loaders.c loads the full block. Align it with other load functions so that it is easier to determine how large of a load buffer we need. Signed-off-by: Sean Anderson <seanga2@gmail.com> Reviewed-by: Michael Trimarchi <michael@amarulasolutions.com>
This commit is contained in:
parent
601b8901e0
commit
cdc0434ac0
@ -12,8 +12,11 @@ int nand_spl_load_image(uint32_t offs, unsigned int size, void *dst)
|
||||
while (block <= lastblock) {
|
||||
if (!nand_is_bad_block(block)) {
|
||||
/* Skip bad blocks */
|
||||
while (page < SYS_NAND_BLOCK_PAGES) {
|
||||
while (size && page < SYS_NAND_BLOCK_PAGES) {
|
||||
nand_read_page(block, page, dst);
|
||||
|
||||
size -= min(size, CONFIG_SYS_NAND_PAGE_SIZE -
|
||||
page_offset);
|
||||
/*
|
||||
* When offs is not aligned to page address the
|
||||
* extra offset is copied to dst as well. Copy
|
||||
|
Loading…
x
Reference in New Issue
Block a user