Hi Helge, I'm very sorry, it seems that the patch repeatedly slipped through the cracks because patchwork didn't pick it up (application/octet-stream for the attachment may have been the reason, but that is fixed now).
On 06.08.2010 15:28, Wagner, Helge (GE Intelligent Platforms) wrote: > I have tested both SST 25VF032B and SST 25VF064C on a QM57 (IbexPeak) > system and found that the reprogramming of these chips is very slow. > > So i have changed the programming engine for the 25VF064C from > "spi_chip_write_1" to "spi_chip_write_256". > I have tested the 25VF064C with the new engine and it works fine. > > For the 25VF032B i have changed the programming engine from > "spi_chip_write_1" to "spi_aai_write". > I have tested this engine, too, and found it working (speedup was from > 228 to 113 seconds). > > While testing i found that some commands needed by some of the > algorithms are not in the OPCODE table. So i have implemented the > on-the-fly reprogramming of the OPCODE table (in the ICH engine). > > Signed-off-by: Helge Wagner <[email protected]> > > Speedup for new 25VF032B programming algorithm: from 3091 [sic!] to 123 > seconds > This patch is a huge step forward for many Intel chipsets. Thank you! > diff -urN flashrom-0.9.2/ichspi.c flashrom/ichspi.c > --- flashrom-0.9.2/ichspi.c 2010-07-28 00:41:39.000000000 +0200 > +++ flashrom/ichspi.c 2010-08-06 14:46:47.000000000 +0200 > @@ -708,11 +777,11 @@ > /* find cmd in opcodes-table */ > opcode_index = find_opcode(curopcodes, cmd); > if (opcode_index == -1) { > - /* FIXME: Reprogram opcodes if possible. Autodetect type of > - * opcode by checking readcnt/writecnt. > - */ > - msg_pdbg("Invalid OPCODE 0x%02x\n", cmd); > - return SPI_INVALID_OPCODE; > + opcode_index = reprogram_opcode_on_the_fly(cmd, writecnt, > readcnt); > This line should be conditional on !ichspi_lock. I have changed that in the commit. > + if (opcode_index == -1) { > + msg_pdbg("Invalid OPCODE 0x%02x\n", cmd); > + return SPI_INVALID_OPCODE; > + } > } > > opcode = &(curopcodes->opcode[opcode_index]); > Acked-by: Carl-Daniel Hailfinger <[email protected]> ICH dynamic opcode reprogramming patch committed in r1193. AAI write for SST25VF032B and page write for SST25VF064C committed in r1194. Regards, Carl-Daniel -- http://www.hailfinger.org/ _______________________________________________ flashrom mailing list [email protected] http://www.flashrom.org/mailman/listinfo/flashrom
