Hi Marek, > On 9/14/21 11:31 AM, Lukasz Majewski wrote: > > On Tue, 14 Sep 2021 05:26:51 +0200 > > Marek Vasut <ma...@denx.de> wrote: > > > >> Not all SPI flashes and controllers can do continuous transfer > >> longer than 16 MiB, so perform the DFU read in 16 MiB chunks. > >> > >> Signed-off-by: Marek Vasut <ma...@denx.de> > >> Cc: Lukasz Majewski <lu...@denx.de> > >> --- > >> drivers/dfu/dfu_sf.c | 14 ++++++++++++-- > >> 1 file changed, 12 insertions(+), 2 deletions(-) > >> > >> diff --git a/drivers/dfu/dfu_sf.c b/drivers/dfu/dfu_sf.c > >> index 7e64ab772f0..b72493ced86 100644 > >> --- a/drivers/dfu/dfu_sf.c > >> +++ b/drivers/dfu/dfu_sf.c > >> @@ -24,8 +24,18 @@ static int dfu_get_medium_size_sf(struct > >> dfu_entity *dfu, u64 *size) static int dfu_read_medium_sf(struct > >> dfu_entity *dfu, u64 offset, void *buf, long *len) > >> { > >> - return spi_flash_read(dfu->data.sf.dev, > >> dfu->data.sf.start + offset, > >> - *len, buf); > >> + long seglen = *len; > >> + int ret; > >> + > >> + if (seglen > (16 << 20)) > >> + seglen = (16 << 20); > >> + > >> + ret = spi_flash_read(dfu->data.sf.dev, dfu->data.sf.start > >> + offset, > >> + seglen, buf); > >> + if (!ret) > >> + *len = seglen; > >> + > >> + return ret; > >> } > >> > >> static u64 find_sector(struct dfu_entity *dfu, u64 start, u64 > >> offset) > > > > Reviewed-by: Lukasz Majewski <lu...@denx.de> > > Is there going to be a PR with this or shall Tom pick it directly, > since it is just one patch ?
Please, Tom pick it up... Best regards, Lukasz Majewski -- DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-59 Fax: (+49)-8142-66989-80 Email: lu...@denx.de
pgpe2rvMAAT5J.pgp
Description: OpenPGP digital signature