Message ID | 20170620094322.r4sqr724dtvlcxyg@lenoch |
---|---|
State | Accepted |
Commit | 0da008ef8d0441d582619c279212e65f9f0bd2fa |
Delegated to: | Tom Rini |
Headers | show |
On Tue, Jun 20, 2017 at 11:43:22AM +0200, Ladislav Michl wrote: > Do not call onenand_spl_get_geometry() for each block read. > > Signed-off-by: Ladislav Michl <ladis@linux-mips.org> Applied to u-boot/master, thanks!
diff --git a/drivers/mtd/onenand/onenand_spl.c b/drivers/mtd/onenand/onenand_spl.c index 1925f41d8a..6fad34aa1d 100644 --- a/drivers/mtd/onenand/onenand_spl.c +++ b/drivers/mtd/onenand/onenand_spl.c @@ -110,9 +110,12 @@ static u8 scratch_buf[PAGE_4K]; */ int onenand_spl_read_block(int block, int offset, int len, void *dst) { - int page, read, psize; + int page, read; + static int psize; + + if (!psize) + psize = onenand_spl_get_geometry(); - psize = onenand_spl_get_geometry(); /* Calculate the page number */ page = offset / psize; /* Offset to the start of a flash page */
Do not call onenand_spl_get_geometry() for each block read. Signed-off-by: Ladislav Michl <ladis@linux-mips.org> --- drivers/mtd/onenand/onenand_spl.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-)