
Hi Marek,
On 9/14/21 11:31 AM, Lukasz Majewski wrote:
On Tue, 14 Sep 2021 05:26:51 +0200 Marek Vasut marex@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 marex@denx.de Cc: Lukasz Majewski lukma@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 lukma@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: lukma@denx.de