summaryrefslogtreecommitdiff
path: root/util/burn_my_ec.c
diff options
context:
space:
mode:
authorRandall Spangler <rspangler@chromium.org>2012-06-18 15:17:48 -0700
committerGerrit <chrome-bot@google.com>2012-06-18 16:23:33 -0700
commitbbdc155caf341a4c1cda5784f283f4a299413db6 (patch)
treeec360a72ed36b067f5cbae708b326556f7ccef6d /util/burn_my_ec.c
parentc5b923d38defc535828e3b5399f03f1350e0dc54 (diff)
downloadchrome-ec-bbdc155caf341a4c1cda5784f283f4a299413db6.tar.gz
Optimize performance of flash reads/writes
1) Smaller start delay for commands 2) Reads can use the entire 128 byte parameter space This improves read speed from 350ms/64kb to 210ms/64kb. BUG=none TEST=ectool flashread 81920 81920 then compare with ec.A.bin Change-Id: I53d460bace5f21db845a3f8ec681507fca0f7b0e Signed-off-by: Randall Spangler <rspangler@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/25562 Reviewed-by: Bill Richardson <wfrichar@chromium.org>
Diffstat (limited to 'util/burn_my_ec.c')
-rw-r--r--util/burn_my_ec.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/util/burn_my_ec.c b/util/burn_my_ec.c
index 27a921123a..cb8ead87ac 100644
--- a/util/burn_my_ec.c
+++ b/util/burn_my_ec.c
@@ -87,9 +87,9 @@ int flash_partition(enum ec_current_image part, const uint8_t *payload,
printf("Writing partition %s : 0x%x bytes at 0x%08x\n",
part_name[part], size, offset);
/* Write data in chunks */
- for (i = 0; i < size; i += EC_FLASH_SIZE_MAX) {
+ for (i = 0; i < size; i += sizeof(wr_req.data)) {
wr_req.offset = offset + i;
- wr_req.size = MIN(size - i, EC_FLASH_SIZE_MAX);
+ wr_req.size = MIN(size - i, sizeof(wr_req.data));
memcpy(wr_req.data, payload + i, wr_req.size);
res = ec_command(EC_CMD_FLASH_WRITE, &wr_req, sizeof(wr_req),
NULL, 0);
@@ -102,9 +102,9 @@ int flash_partition(enum ec_current_image part, const uint8_t *payload,
printf("Verifying partition %s : 0x%x bytes at 0x%08x\n",
part_name[part], size, offset);
/* Read data in chunks */
- for (i = 0; i < size; i += EC_FLASH_SIZE_MAX) {
+ for (i = 0; i < size; i += sizeof(rd_resp.data)) {
rd_req.offset = offset + i;
- rd_req.size = MIN(size - i, EC_FLASH_SIZE_MAX);
+ rd_req.size = MIN(size - i, sizeof(rd_resp.data));
res = ec_command(EC_CMD_FLASH_READ, &rd_req, sizeof(rd_req),
&rd_resp, sizeof(rd_resp));
if (res) {