[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: JFFS is not broken (Was: JFFS broken?)

joakim.tjernlund@xxxxxxx.se said:
>  I am guessing here, but are you by any chance using burst read
> towards you flash?

> If you are, I would like to know how you have done that. I understand
> that it involves mapping the flash to 2 virtual address spaces, one
> cached and one uncached. The "copy_from" function should use the
> cached address space, the other functions the uncached address space.

> Then there is some "cache management magic" that has to be done to avoid
> corruption, and here I am lost. What has to be done and why?

Doing burst reads depends a _lot_ on your hardware, but I have _assumed_ 
that in order to get burst reads, you have to use a cached mapping of the 
address range in question - where else would it put the remainder of the 
burst otherwise?

Using a cached mapping for flash is a pain, because the contents of the 
flash appear to change - so for sending commands you need to use an 
uncached mapping - only for doing large reads do you want the cached 
mapping, and you need to invalidate the cache whenever you write to or 
erase the flash.

If you can somehow do burst reads without using the cache, then do so. I 
can't imagine how that would work, though.


To unsubscribe from this list: send the line "unsubscribe jffs-dev" in
the body of a message to majordomo@xxxxxxx.com