summaryrefslogtreecommitdiff
path: root/include/dfu.h
diff options
context:
space:
mode:
authorStephen Warren <swarren@nvidia.com>2014-06-11 16:03:34 -0600
committerTom Rini <trini@ti.com>2014-08-09 11:16:58 -0400
commit7ac1b410ac9b66150170718a6f807ce52ffd8400 (patch)
tree1823b2c0b7926e258b371f43630d00769be657ca /include/dfu.h
parentdd64827eb60de9f71b1a1d6aecf488104cdd7b96 (diff)
downloadu-boot-imx-7ac1b410ac9b66150170718a6f807ce52ffd8400.zip
u-boot-imx-7ac1b410ac9b66150170718a6f807ce52ffd8400.tar.gz
u-boot-imx-7ac1b410ac9b66150170718a6f807ce52ffd8400.tar.bz2
dfu: allow backend to specify a maximum buffer size
CONFIG_SYS_DFU_DATA_BUF_SIZE may be large to allow for FAT/ext layouts to transfer large files. However, this means that individual write operations will take a long time. Allow backends to specify a maximum buffer size, so that each write operation is limited to a smaller data block. This prevents the DFU protocol from timing out when e.g. writing to SPI flash. I would guess that NAND might benefit from setting this value too, but I can't test that. Signed-off-by: Stephen Warren <swarren@nvidia.com>
Diffstat (limited to 'include/dfu.h')
-rw-r--r--include/dfu.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/include/dfu.h b/include/dfu.h
index 21390aa..d5562dc 100644
--- a/include/dfu.h
+++ b/include/dfu.h
@@ -91,6 +91,7 @@ struct dfu_entity {
void *dev_private;
enum dfu_device_type dev_type;
enum dfu_layout layout;
+ unsigned long max_buf_size;
union {
struct mmc_internal_data mmc;
@@ -138,7 +139,7 @@ void dfu_trigger_reset(void);
int dfu_get_alt(char *name);
bool dfu_reset(void);
int dfu_init_env_entities(char *interface, char *devstr);
-unsigned char *dfu_get_buf(void);
+unsigned char *dfu_get_buf(struct dfu_entity *dfu);
unsigned char *dfu_free_buf(void);
unsigned long dfu_get_buf_size(void);