From 306b81875dc8c16b230f9b01f37138aa4768d116 Mon Sep 17 00:00:00 2001 From: Carl-Daniel Hailfinger Date: Tue, 23 Nov 2010 21:28:16 +0000 Subject: Add chunked write ability to the Dediprog SF100 driver Please note that the write speedup only applies to chips which have SPI page write (i.e. chips using spi_chip_write_256). This is a quick fix for write speed until I get around to implementing full bulk SPI write support. Corresponding to flashrom svn r1235. Signed-off-by: Carl-Daniel Hailfinger Acked-by: Richard A. Smith Acked-by: Mathias Krause --- dediprog.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'dediprog.c') diff --git a/dediprog.c b/dediprog.c index a6db17c..bbe7c86 100644 --- a/dediprog.c +++ b/dediprog.c @@ -238,6 +238,12 @@ int dediprog_spi_read(struct flashchip *flash, uint8_t *buf, int start, int len) return 0; } +int dediprog_spi_write_256(struct flashchip *flash, uint8_t *buf, int start, int len) +{ + /* No idea about the real limit. Maybe 12, maybe more, maybe less. */ + return spi_write_chunked(flash, buf, start, len, 12); +} + int dediprog_spi_send_command(unsigned int writecnt, unsigned int readcnt, const unsigned char *writearr, unsigned char *readarr) { @@ -245,7 +251,7 @@ int dediprog_spi_send_command(unsigned int writecnt, unsigned int readcnt, msg_pspew("%s, writecnt=%i, readcnt=%i\n", __func__, writecnt, readcnt); /* Paranoid, but I don't want to be blamed if anything explodes. */ - if (writecnt > 5) { + if (writecnt > 16) { msg_perr("Untested writecnt=%i, aborting.\n", writecnt); return 1; } -- cgit v1.1