11 Jul, 2008
1 commit
05 Jun, 2008
2 commits
-
Now it returns the 0 if cmdlineparse not supplied.
Signed-off-by: Kyungmin Park
Signed-off-by: David Woodhouse -
To get the correct information in case of power off recovery,
it should read ECC status first
Also remove previous workaround method.Signed-off-by: Kyungmin Park
Signed-off-by: David Woodhouse
23 Apr, 2008
2 commits
-
A power loss while writing can result in a page becoming unreadable.
When the device is mounted again, reading that page gives controller
errors. Upper level software like JFFS2 treat -EIO as fatal, refusing to
mount at all. That means it is necessary to treat the error as an ECC
error to allow recovery. Note that typically in this case, the
eraseblock can still be erased and rewritten i.e. it has not become a
bad block.Signed-off-by: Adrian Hunter
Signed-off-by: David Woodhouse -
Acked-By: Kyungmin Park
Signed-off-by: David Woodhouse
22 Apr, 2008
1 commit
-
This patch adds a proper prototype for onenand_bbt_read_oob() in
include/linux/mtd/onenand.hSigned-off-by: Adrian Bunk
Signed-off-by: David Woodhouse
16 Feb, 2008
1 commit
-
Signed-off-by: Kyungmin Park
Signed-off-by: David Woodhouse
07 Feb, 2008
1 commit
-
Implement the panic_write function for the onenand driver. This waits
for any active command to complete/timeout, performs the write, waits
for it to complete and then returns.Signed-off-by: Richard Purdie
Signed-off-by: David Woodhouse
29 Jan, 2008
7 commits
-
Signed-off-by: Kyungmin Park
-
In function onenand_verify_oob, local variable oobbuf shall be unsigned char.
In the case of a value is >= 0x80, it's unequal in comparing the value in an unsigned char and signed char.
Signed-off-by: Sheng Yongjie (Sam)
Signed-off-by: Kyungmin Park -
Some chips don't set the ONENAND_CTRL_LOAD bit.
Signed-off-by: Kyungmin Park
-
Use the higher bits for other purpose.
Signed-off-by: Kyungmin Park
-
Consolidate OneNAND operation order as OneNAND Spec.
It also doesn't break previous operation order.Signed-off-by: Kyungmin Park
-
Signed-off-by: Adrian Hunter
Signed-off-by: Kyungmin Park -
Signed-off-by: Adrian Hunter
Signed-off-by: Kyungmin Park
26 Nov, 2007
1 commit
-
When an ECC error occurs, the read should be completed
anyway before returning -EBADMSG. Returning -EBADMSG
straight away is incorrect.Signed-off-by: Adrian Hunter
Acked-by: Kyungmin Park
Signed-off-by: David Woodhouse
24 Oct, 2007
1 commit
-
Signed-off-by: Jeff Garzik
22 Oct, 2007
1 commit
-
Reported-by: Randy Dunlap
Signed-off-by: Kyungmin Park
Signed-off-by: David Woodhouse
20 Oct, 2007
1 commit
-
Correct kernel-doc notation and descriptions.
Correct other typos.Signed-off-by: Randy Dunlap
Signed-off-by: David Woodhouse
14 Oct, 2007
3 commits
-
When the erase callback performs some other action on the flash, it's
highly likely to deadlock unless we actually release the chip lock
before calling it.This patch mirrors that same change already done for NAND.
Signed-off-by: Adrian Hunter
Signed-off-by: David Woodhouse -
The OneNAND driver was confusing JFFS2 by returning positive error
codes.Signed-off-by: Adrian Hunter
Acked-by: Kyungmin Park
Signed-off-by: David Woodhouse -
Ensure OneNAND's block locking operations are synchronized
like all other operations.Signed-off-by: Adrian Hunter
Acked-by: Kyungmin Park
Signed-off-by: David Woodhouse
13 Oct, 2007
1 commit
-
Signed-off-by: Kyungmin Park
Signed-off-by: David Woodhouse
24 Sep, 2007
1 commit
-
This patch make the OneNAND driver much less racy. It fixes
our "onenand_wait: read timeout!" heisenbugs. The reason of
these bugs was that the driver did not lock the chip when
accessing OTP, and it screwed up OneNAND state when the OTP
was read while JFFS2 was doing FS checking.This patch also fixes other races I spotted:
1. BBT was not protected
2. Access to ecc_stats was not protectedNow the chip is locked when BBT is accessed.
To fix all of these I basically split all interface functions
on 'function()' and 'function_nolock()' parts.I tested this patch on N800 hardware - it fixes our problems.
But I tested a little different version because our OneNAND
codebase is slightly out-of-date. But it should be OK.This patch also includes the prin fixes I posted before.
Signed-off-by: Artem Bityutskiy
Signed-off-by: David Woodhouse
06 Sep, 2007
1 commit
-
Now we can use yaffs2 on OneNAND
Signed-off-by: Kyungmin Park
Signed-off-by: David Woodhouse
30 Aug, 2007
1 commit
-
To enable the main read/write at oob ops
Next time we will commit the main read/write support for yaffs2
Signed-off-by: Kyungmin Park
Signed-off-by: David Woodhouse
01 Aug, 2007
1 commit
-
This patch makes the needlessly global struct info static.
Signed-off-by: Adrian Bunk
Signed-off-by: David Woodhouse
10 Jul, 2007
1 commit
-
The whole point of a sim is that it should run almost anywhere.
Gratuitously depending on '#define SZ_128K 131072' from an ARM-specific
header isn't really a good idea.Signed-off-by: David Woodhouse
30 Jun, 2007
2 commits
-
This simulate various OneNAND flash chips for the MTD onenand layer.
It's simple implementation, only basic operations.
It don't support the recent changes in NANDSIM such as lazy block allocation,
bitflip, and so on.Note: This passed nand-tests.
Signed-off-by: Kyungmin Park
Signed-off-by: David Woodhouse -
The 2X Program is an extension of Program Operation.
Since the device is equipped with two DataRAMs, and two-plane NAND Flash
memory array, these two component enables simultaneous program of 4KiB.
Plane1 has only even blocks such as block0, block2, block4 while Plane2
has only odd blocks such as block1, block3, block5.
So MTD regards it as 4KiB page size and 256KiB block sizeNow the following chips support it. (KFXXX16Q2M)
Demux: KFG2G16Q2M, KFH4G16Q2M, KFW8G16Q2M,
Mux: KFM2G16Q2M, KFN4G16Q2M,And more recent chips
Signed-off-by: Kyungmin Park
Signed-off-by: David Woodhouse
09 May, 2007
1 commit
-
Signed-off-by: Michael Opdenacker
Signed-off-by: Adrian Bunk
25 Apr, 2007
3 commits
-
The JFFS2 requests OOB function from column 0.
But the oobtest in nand-tests doesn't.
So we only exit loop only when column start with 0.Signed-off-by: Adrian Hunter
Signed-off-by: Kyungmin Park
Signed-off-by: David Woodhouse -
Here it's not the case: all the entries are occupied by
OOB chunks. Therefore, once we get into a loop likefor (free = this->ecclayout->oobfree; free->length; ++free) {
}we might end up scanning past the real oobfree array.
Probably the best way out, as the same thing might happen for common NAND
as well, is to check index against MTD_MAX_OOBFREE_ENTRIES.Signed-off-by: Kyungmin Park
Signed-off-by: David Woodhouse -
Update Samsung OneNAND official URL.
Signed-off-by: Kyungmin Park
Signed-off-by: David Woodhouse
20 Apr, 2007
1 commit
-
Use menuconfigs instead of menus, so the whole menu can be disabled at once
instead of going through all options.Signed-off-by: Jan Engelhardt
Signed-off-by: Andrew Morton
Signed-off-by: David Woodhouse
09 Mar, 2007
5 commits
-
Classify the page data and oob buffer
and it prevents the memory fragementation (writesize + oobsize)Signed-off-by: Kyungmin Park
Signed-off-by: David Woodhouse -
When transferring/filling of the oob is finished in OOB_AUTO, we exit the loop
Signed-off-by: Kyungmin Park
Signed-off-by: David Woodhouse -
add Nokia Copyright and a credit
Signed-off-by: Adrian Hunter
Signed-off-by: Kyungmin Park
Signed-off-by: David Woodhouse -
Fix typo & wrong comments
Signed-off-by: Kyungmin Park
Signed-off-by: David Woodhouse -
In oob functions, it is used main buffer instead of oob one. So fix it.
Signed-off-by: Kyungmin Park
Signed-off-by: David Woodhouse