Hello Tom, Am 04.06.2013 22:04, schrieb Tom Rini: > On Tue, Jun 04, 2013 at 11:22:54AM +0200, Heiko Schocher wrote: > >> Dfu transfer uses a buffer before writing data to the >> raw storage device. Make the size (in bytes) of this buffer >> configurable. > > NAK.
:-( >> + CONFIG_SYS_DFU_DATA_BUF_SIZE >> + Dfu transfer uses a buffer before writing data to the >> + raw storage device. Make the size (in bytes) of this buffer >> + configurable. >> + >> CONFIG_SYS_DFU_MAX_FILE_SIZE >> When updating files rather than the raw storage device, >> we use a static buffer to copy the file into and then write > > The point of the buffer being configurable is to allow for larger files, > right? We need to fix CONFIG_SYS_DFU_MAX_FILE_SIZE so that.. In current code CONFIG_SYS_DFU_MAX_FILE_SIZE is not used in dfu_nand.c, as if buffer is full, it is immediately flushed to nand. Also default value from CONFIG_SYS_DFU_MAX_FILE_SIZE is smaller (4MiB) as default value of CONFIG_SYS_DFU_DATA_BUF_SIZE (8MiB) ... I used on my upcoming board port a CONFIG_SYS_DFU_DATA_BUF_SIZE from 1MiB and that worked perfectly, when transferring a file > 200MB. The default value from 8MiB sometimes caused an error on the host: []# date;dfu-util -a rootfs -D dxr2-org/dxr2.xx-release-image-UNKNOWN-dxr2.ubi;date Di 28. Mai 14:20:44 CEST 2013 dfu-util 0.5 [...] Copying data from PC to DFU device Starting download: [#############################################dfu_download: libusb_control_transfer returned -7 Error during download Why we have a buffersize from 8MiB for raw writes, but a max file size from 4MiB only? >> -#define DFU_DATA_BUF_SIZE (1024*1024*8) /* 8 MiB */ >> +#ifndef CONFIG_SYS_DFU_DATA_BUF_SIZE >> +#define CONFIG_SYS_DFU_DATA_BUF_SIZE (1024*1024*8) /* 8 >> MiB */ >> +#endif >> #ifndef CONFIG_SYS_DFU_MAX_FILE_SIZE >> #define CONFIG_SYS_DFU_MAX_FILE_SIZE (4 << 20) /* 4 MiB */ >> #endif > > We use one variable for both spots. Or is there some case I'm missing > where we need to buffer 8MiB at a time for raw writes? In which case we > still need to make CONFIG_SYS_DFU_MAX_FILE_SIZE be used :) I do not really know, why we have 2 defines here! bye, Heiko -- DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot