From: Heiko Schocher <hs@denx.de>
To: u-boot@lists.denx.de
Subject: [U-Boot] dfu: make data buffer size configurable
Date: Wed, 05 Jun 2013 06:53:53 +0200 [thread overview]
Message-ID: <51AEC461.1070306@denx.de> (raw)
In-Reply-To: <20130604200421.GC9632@bill-the-cat>
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
next prev parent reply other threads:[~2013-06-05 4:53 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-06-04 9:22 [U-Boot] dfu: make data buffer size configurable Heiko Schocher
2013-06-04 10:08 ` Pantelis Antoniou
2013-06-04 10:31 ` Heiko Schocher
2013-06-04 10:31 ` Pantelis Antoniou
2013-06-09 20:01 ` Marek Vasut
2013-06-10 4:28 ` Heiko Schocher
2013-06-10 5:48 ` Lukasz Majewski
2013-06-10 7:05 ` Wolfgang Denk
2013-06-10 15:51 ` Tom Rini
2013-06-12 8:36 ` Marek Vasut
2013-06-12 8:49 ` Heiko Schocher
2013-06-04 10:18 ` Lukasz Majewski
2013-06-04 20:04 ` Tom Rini
2013-06-05 4:53 ` Heiko Schocher [this message]
2013-06-05 12:43 ` Tom Rini
2013-06-05 14:04 ` Heiko Schocher
2013-06-06 15:55 ` Tom Rini
2013-06-07 6:05 ` Heiko Schocher
2013-06-07 7:28 ` Wolfgang Denk
2013-06-12 4:05 ` [U-Boot] [PATCH v2] " Heiko Schocher
2013-06-12 16:16 ` Tom Rini
2013-06-19 12:25 ` Marek Vasut
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=51AEC461.1070306@denx.de \
--to=hs@denx.de \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox