fastboot_okay(response_str, "");
}
-void fb_mmc_flash_write(const char *cmd, unsigned int session_id,
- void *download_buffer, unsigned int download_bytes,
- char *response)
+void fb_mmc_flash_write(const char *cmd, void *download_buffer,
+ unsigned int download_bytes, char *response)
{
struct blk_desc *dev_desc;
disk_partition_t info;
printf("Flashing sparse image at offset " LBAFU "\n",
info.start);
- store_sparse_image(&sparse, &sparse_priv, session_id,
- download_buffer);
+ store_sparse_image(&sparse, &sparse_priv, download_buffer);
} else {
write_raw_image(dev_desc, &info, cmd, download_buffer,
download_bytes);
return written / storage->block_sz;
}
-void fb_nand_flash_write(const char *partname, unsigned int session_id,
+void fb_nand_flash_write(const char *partname,
void *download_buffer, unsigned int download_bytes,
char *response)
{
sparse.name = part->name;
sparse.write = fb_nand_sparse_write;
- ret = store_sparse_image(&sparse, &sparse_priv, session_id,
+ ret = store_sparse_image(&sparse, &sparse_priv,
download_buffer);
} else {
printf("Flashing raw image at offset 0x%llx\n",
u16 type;
} sparse_buffer_t;
-static uint32_t last_offset;
-
static unsigned int sparse_get_chunk_data_size(sparse_header_t *sparse,
chunk_header_t *chunk)
{
free(buffer);
}
-int store_sparse_image(sparse_storage_t *storage, void *storage_priv,
- unsigned int session_id, void *data)
+int store_sparse_image(sparse_storage_t *storage,
+ void *storage_priv, void *data)
{
unsigned int chunk, offset;
sparse_header_t *sparse_header;
return -EINVAL;
}
- /*
- * If it's a new flashing session, start at the beginning of
- * the partition. If not, then simply resume where we were.
- */
- if (session_id > 0)
- start = last_offset;
- else
- start = storage->start;
-
- printf("Flashing sparse image on partition %s at offset 0x%x (ID: %d)\n",
- storage->name, start * storage->block_sz, session_id);
+ puts("Flashing Sparse Image\n");
/* Start processing chunks */
+ start = storage->start;
for (chunk = 0; chunk < sparse_header->total_chunks; chunk++) {
uint32_t blkcnt;
return -EIO;
}
- last_offset = start + total_blocks;
-
return 0;
}
}
static struct f_fastboot *fastboot_func;
-static unsigned int fastboot_flash_session_id;
static unsigned int download_size;
static unsigned int download_bytes;
sprintf(str_num, "0x%08x", CONFIG_FASTBOOT_BUF_SIZE);
strncat(response, str_num, chars_left);
-
- /*
- * This also indicates the start of a new flashing
- * "session", in which we could have 1-N buffers to
- * write to a partition.
- *
- * Reset our session counter.
- */
- fastboot_flash_session_id = 0;
} else if (!strcmp_l1("serialno", cmd)) {
s = getenv("serial#");
if (s)
strcpy(response, "FAILno flash device defined");
#ifdef CONFIG_FASTBOOT_FLASH_MMC_DEV
- fb_mmc_flash_write(cmd, fastboot_flash_session_id,
- (void *)CONFIG_FASTBOOT_BUF_ADDR,
+ fb_mmc_flash_write(cmd, (void *)CONFIG_FASTBOOT_BUF_ADDR,
download_bytes, response);
#endif
#ifdef CONFIG_FASTBOOT_FLASH_NAND_DEV
- fb_nand_flash_write(cmd, fastboot_flash_session_id,
+ fb_nand_flash_write(cmd,
(void *)CONFIG_FASTBOOT_BUF_ADDR,
download_bytes, response);
#endif
- fastboot_flash_session_id++;
fastboot_tx_write_str(response);
}
#endif
* SPDX-License-Identifier: GPL-2.0+
*/
-void fb_mmc_flash_write(const char *cmd, unsigned int session_id,
- void *download_buffer, unsigned int download_bytes,
- char *response);
+void fb_mmc_flash_write(const char *cmd, void *download_buffer,
+ unsigned int download_bytes, char *response);
void fb_mmc_erase(const char *cmd, char *response);
* SPDX-License-Identifier: GPL-2.0+
*/
-void fb_nand_flash_write(const char *cmd, unsigned int session_id,
- void *download_buffer, unsigned int download_bytes,
- char *response);
+void fb_nand_flash_write(const char *cmd, void *download_buffer,
+ unsigned int download_bytes, char *response);
void fb_nand_erase(const char *cmd, char *response);
}
int store_sparse_image(sparse_storage_t *storage, void *storage_priv,
- unsigned int session_id, void *data);
+ void *data);