
31 Mar
2015
31 Mar
'15
6:34 a.m.
On Tue, 2015-03-31 at 00:24 +0200, Stefan Agner wrote:
Actually, I just realized that the driver is not caching writes.
switch (command) { case NAND_CMD_PAGEPROG: nfc->page = -1;
vf610_nfc_transfer_size(nfc->regs, nfc->page_sz); vf610_nfc_send_commands(nfc->regs, NAND_CMD_SEQIN, command, PROGRAM_PAGE_CMD_CODE); vf610_nfc_addr_cycle(mtd, column, page); break;
The nfc->page = -1 resets the page cache, so the next read triggers a full page read.
I will check the performance consequences when disabling cache entirely, and whether it would be possible to implement a OOB only read.
OK. In the meantime I'll apply this.
-Scott