Commit Graph

139 Commits

Author SHA1 Message Date
Thomas Gleixner
c9e0536523 [MTD] NAND: Fix broken bad block table scan
Make the bad block table search functional again

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-06-29 14:24:41 +02:00
Thomas Gleixner
0dfc62465e [MTD] NAND: Reorganize chip locking
The code was wrong in several aspects. The locking order was
inconsistent, the device aquire code did not reset a variable
after a wakeup and the wakeup handling was not working for
applications where multiple chips are sharing a single
hardware controller.
When a hardware controller is available the locking is now
reduced to the hardware controller lock and the waitqueue is
moved to the hardware controller structure in order to avoid
a wake_up_all().

The problem was pointed out by Ben Dooks, who also found the
missing variable reset as main cause for his deadlock problem.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-06-29 14:15:17 +02:00
Nicolas S. Dade
f1f67a9874 [MTD] NAND: Add Hynix to manufacturer list
Signed-off-by: Nicolas S. Dade <daden@symbol.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-27 10:40:27 +02:00
Thomas Gleixner
90e260c84f [MTD] NAND: Honour autoplacement schemes supplied by the caller
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23 13:20:45 +02:00
Jarkko Lavinen
0a18cde60f [MTD] NAND: Fix the broken dynamic array allocations
Reverting the change from 1.136 to 1.137 (back to static allocation of ecc
arrays) due to stack corruption and ecc errors.

Signed-off-by: Jarkko Lavinen <jarkko.lavinen@nokia.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23 13:17:30 +02:00
Dan Brown
abc37e6771 [MTD] DiskOnChip: Add some comments
Add helpful comment about oobfree so I can't claim two years from 
now that I don't remember what I was thinking.

Signed-off-by: Dan Brown <dan_brown@ieee.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23 13:11:44 +02:00
Dan Brown
7e4a1d3e6a [MTD] DiskOnChip: Fix compile w/o CONFIG_MTD_PARTITIONS.
Signed-off-by: Dan Brown <dan_brown@ieee.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23 13:11:16 +02:00
Dan Brown
dff5942198 [MTD] DiskOnChip: Prevent problems with existing filesystems
Try not to break existing jffs2 installs, instead break oobfree into 
two out-of-order pieces.

Signed-off-by: Dan Brown <dan_brown@ieee.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23 13:10:57 +02:00
Dan Brown
82e1d19fc3 [MTD] NAND: Fix reading of autoplaced OOB when there are multiple free sections.
Signed-off-by: Dan Brown <dan_brown@ieee.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23 13:10:30 +02:00
Dan Brown
e5a3e8ca94 [MTD] DiskOnChip: Fix (?) free OOB array info.
I really hope this doesn't break something.

Signed-off-by: Dan Brown <dan_brown@ieee.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23 13:10:04 +02:00
Thomas Gleixner
22c60f5fb7 [MTD] NAND: Move the NULL check into the calling function
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23 13:09:10 +02:00
Dan Brown
bb75ba4c44 [MTD] NAND: Fix missing NULL pointer check
Version 1.137 broke nand_read_ecc clients who pass NULL oobsel.  Fixed.

Signed-off-by: Dan Brown <dan_brown@ieee.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23 13:08:47 +02:00
Thomas Gleixner
998cf6403c [MTD] NAND: Fix oob available calculation
Use oobfree to calculate the number of oob bytes available for fs usage

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23 13:07:14 +02:00
Dan Brown
1a78ff6b41 [MTD] DiskOnChip: Scan the entire device for Media Headers.
Add a new module param, show_firmware_partition.

Signed-off-by: Dan Brown <dan_brown@ieee.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23 13:04:36 +02:00
Artem B. Bityuckiy
15fc108606 [MTD] NAND: Use arrays of needed size instead of constant-sized.
Signed-off-by: Artem B. Bityuckiy <dedekind@infradead.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23 13:04:06 +02:00
Artem B. Bityuckiy
515022870f [MTD] NAND nandsim: Use NAND_SKIP_BBT option
Use the new NAND_SKIP_BBT option instead of defining a fake scan_bbt
handler.

Signed-off-by: Artem B. Bityuckiy <dedekind@infradead.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23 12:59:33 +02:00
Ben Dooks
3e4ef3bb77 [MTD] NAND s3c2410: Simplify command handling
Updated with tglx's suggestion to simply the command invocation by
simply changing the address of the IO write area

Signed-off-by: Ben Dooks <ben@simtec.co.uk>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23 12:55:50 +02:00
Ben Dooks
3b946e3f3d [MTD] NAND: Fixed unused loop variable
Signed-off-by: Ben Dooks <ben@simtec.co.uk>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23 12:51:48 +02:00
Thomas Gleixner
20a6c21190 [MTD] NAND: Use cond_resched instead of msleep
Replace msleep by cond_resched. On machines with HZ=100 (e.g. ARM)
msleep slows down the operation by factor 10

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23 12:47:55 +02:00
Thomas Gleixner
3b88775c75 [MTD] NAND: Check command timeout
Check timeout while we wait for the command to finish. No worry about a
false result. This prevents deadlocking when detecting an unknown number
of chips and is useful for removable media too.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23 12:42:49 +02:00
Thomas Gleixner
dfd6129440 [MTD] DiskOnChip: Wait for the command to finish.
Do not use the ready function here, as it might hang for ever. 
The result will show, whether the chip is there or not

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23 12:42:18 +02:00
Ben Dooks
fdf2fd5274 [MTD] Sparse fixes
Fix sparse errors due to lack of address-space markers
Updated header comments
Small re-format of initialiser

Signed-off-by: Ben Dooks <ben@simtec.co.uk>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23 12:41:32 +02:00
Artem B. Bityuckiy
171650af9c [MTD] NAND: Fix bad block table scan for small page devices
Scan 1st and 2nd pages of SP devices for BB marker by default.
Fix more then one page scanning in create_bbt.c.

Signed-off-by: Artem B. Bityuckiy <dedekind@infradead.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23 12:38:33 +02:00
Kyungmin Park
0ea4a7558f [MTD] NAND: Early Manufacturer ID lookup
Move manufacturer ID search to display correct ID in case of buswidth
mismatch.

Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23 12:36:30 +02:00
Artem B. Bityuckiy
eeada24da8 [MTD] NAND: Read only OOB bytes during bad block scan
When scanning NAND for bad blocks, don't read the whole page, read
only needed OOB bytes instead. Also check the return code of the
nand_read_raw() function. Correctly free the this->bbt array in
case of failure. Tested with Large page NAND.

Fix debugging message.

Signed-off-by: Artem B. Bityuckiy <dedekind@infradead.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23 12:32:18 +02:00
Artem B. Bityuckiy
41ce921440 [MTD] NAND: Allow operation without bad block table
Small bugfix. Sometimes it may be handy not to have bbt.
So, this->bbt might be NULL.

Signed-off-by: Artem B. Bityuckiy <dedekind@infradead.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23 12:31:01 +02:00
Thomas Gleixner
0040bf382c [MTD] NAND: Skip bad block table scan on request
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23 12:30:07 +02:00
Thomas Gleixner
f29a4b86f5 [MTD] DiskOnChip: big endian fix for NFTL devices
Make NFTL devices work on big endian machines.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23 12:18:59 +02:00
Thomas Gleixner
39605398cd [MTD] DiskOnChip code cleanup
Remove commented ugliness

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23 12:17:42 +02:00
Thomas Gleixner
651078ba3a [MTD] DiskOnChip use CONFIG_ options instead of random symbols
Using the CONFIG_ options from KConfig seems to work better :8

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23 12:17:03 +02:00
David A. Marlin
ed3786a599 [MTD] rtc_from4 error status check, disable virtual erase blocks
Added routine to perform extra error status checks on erase and write
failures to determine if errors are correctable.
Added option to prevent JFFS2 from using virtual erase blocks.
Performed minor cleanup on whitespace and comments.

Signed-off-by: David A. Marlin <dmarlin@redhat.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23 12:10:36 +02:00
David A. Marlin
068e3c0a00 [MTD] NAND Add optional ECC status check callback
Add optional hardware specific callback routine to perform extra error
status checks on erase and write failures for devices with hardware ECC.

Signed-off-by: David A. Marlin <dmarlin@redhat.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23 12:08:59 +02:00
David A. Marlin
a4ab4c5d32 [MTD] NAND use symbols instead of literals
Replace some literals with defined symbols.

Signed-off-by: David A. Marlin <dmarlin@redhat.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23 11:32:36 +02:00
Richard Purdie
7ba48c4583 [MTD] NAND SharpSL fix default partition size
Correct Poodle default partition size

Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23 11:31:47 +02:00
Thomas Gleixner
15266bb74d [MTD] NAND replace yield
Replace yield by msleep. M.Wilcox stared at it and frowned

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23 11:29:39 +02:00
David A. Marlin
97f1a087dc [MTD] Renesas AG-AND device recovery
Add routine to perform device recovery (deplete) procedure.
Clean up some compiler warnings.

Signed-off-by: David A. Marlin <dmarlin@redhat.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23 11:27:56 +02:00
David A. Marlin
30f464b74b [MTD] NAND workaround for AG-AND disturb issue. AG-AND recovery
Added workaround for Renesas AG-AND chips "disturb" issue 
for Bad Block Table. 
Added support for the device recovery command sequence 
for Renesas AG-AND chips.

Signed-off-by: David A. Marlin <dmarlin@redhat.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23 11:26:45 +02:00
David A. Marlin
28a48de72b [MTD] NAND extended commands, badb block table autorefresh
Added extended commands for AG-AND device and added 
option for BBT_AUTO_REFRESH.

Signed-off-by: David A. Marlin <dmarlin@redhat.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-05-23 11:22:05 +02:00
Linus Torvalds
1da177e4c3 Linux-2.6.12-rc2
Initial git repository build. I'm not bothering with the full history,
even though we have it. We can create a separate "historical" git
archive of that later if we want to, and in the meantime it's about
3.2GB when imported into git - space that would just make the early
git days unnecessarily complicated, when we don't have a lot of good
infrastructure for it.

Let it rip!
2005-04-16 15:20:36 -07:00