Finalized TODO list for NAND and JFFS...
A message that is not in the archive (sent off-list or not yet received): [email protected]
A message that is not in the archive (sent off-list or not yet received): [email protected]
Quoted 7 lines · David Woodhouse
Also add a checkpointing system or some way of removing the necessity of scanning the whole of the flash on mount.
For a 21MB filesystem, that takes over a minute.
--
dwmw2
By the way, can't we shorten mount time for Intel chips by rewriting read routines in such a way that they don't send Read Status Register command when chip->status is FL_READY?
I think we can. Acually, I have tried already and it shortens mount time dramatically.
So the question, as I can see it, is can we be sure that Status Register has 7th bit set when chip->status == FL_READY?
Any comments?
Nick
To unsubscribe, send "unsubscribe mtd" to [email protected]
Quoted 3 lines · [email protected] said:
By the way, can't we shorten mount time for Intel chips by rewriting
read routines in such a way that they don't send Read Status Register command whenchip->statusisFL_READY?
Yes - well spotted.
Quoted 2 lines · [email protected] said:
So the question, as I can see it, is can we be sure that Status
Register has 7th bit set whenchip->status==FL_READY?
Yes. If that's ever _not_ the case, then consider it a bug in whatever code is setting the state to FL_READY.
Please supply either a SSH public key, so I can give you write access to CVS, or a patch that I can apply. The former is probably better.
--
dwmw2
To unsubscribe, send "unsubscribe mtd" to [email protected]
Please, find the patch attached.
Quoted 14 lines · David Woodhouse
Quoted 3 lines · [email protected] said:
By the way, can't we shorten mount time for Intel chips by rewriting
read routines in such a way that they don't send Read Status Register command whenchip->statusisFL_READY?Yes - well spotted.
Quoted 2 lines · [email protected] said:
So the question, as I can see it, is can we be sure that Status
Register has 7th bit set whenchip->status==FL_READY?Yes. If that's ever _not_ the case, then consider it a bug in whatever code is setting the state to
FL_READY.
Quoted 7 lines
Please supply either a SSH public key, so I can give you write access to CVS, or a patch that I can apply. The former is probably better.
--
dwmw2To unsubscribe, send "unsubscribe mtd" to [email protected]
cfi_cmdset_0001.c +12 -8
@@ -271,15 +271,18 @@/* Remember the status so we know whether to restart the erase later */ suspendedstate = status; + map->write16 (map,cpu_to_le16 (0x00ff ), cmd_addr); + chip->state =FL_READY ;break ;#if 0 case FL_WRITING :/* Not quite yet */ #endif +case FL_READY : +break ;case FL_CFI_QUERY :case FL_JEDEC_QUERY : -case FL_READY : map->write16 (map,cpu_to_le16 (0x0070 ), cmd_addr); chip->state =FL_STATUS ;
@@ -306,6 +309,8 @@ goto retry; } + map->write16 (map,cpu_to_le16 (0x00ff ), cmd_addr); + chip->state =FL_READY ;break ;default :
@@ -330,9 +335,6 @@ goto retry; } - map->write16 (map,cpu_to_le16 (0x00ff ), cmd_addr); - chip->state =FL_READY ; - map->copy_from (map, buf, adr, len);if (suspendedstate) {
@@ -1247,15 +1249,18 @@/* Remember the status so we know whether to restart the erase later */ suspendedstate = status; + map->write8 (map,0xff , adr); + chip->state =FL_READY ;break ;#if 0 case FL_WRITING :/* Not quite yet */ #endif +case FL_READY : +break ;case FL_CFI_QUERY :case FL_JEDEC_QUERY : -case FL_READY : map->write8 (map,0x70 , adr); chip->state =FL_STATUS ;
@@ -1282,6 +1287,8 @@ goto retry; } + map->write8 (map,0xff , adr); + chip->state =FL_READY ;break ;default :
@@ -1305,9 +1312,6 @@ goto retry; } - - map->write8 (map,0xff , adr); - chip->state =FL_READY ; map->copy_from (map, buf, adr, len);