09 Aug, 2010
1 commit
-
Signed-off-by: David Woodhouse
08 Aug, 2010
2 commits
-
Signed-off-by: David Woodhouse
-
There are three reasons to add this support:
1. users probably know the interface type of their flashs, then probe
can be faster if they give the right type in platform data since wrong
types will not be detected.
2. sometimes, detecting can cause destory to system. For example, for
kernel XIP, detecting can cause NOR enter a mode instructions can not
be fetched right, which will make kernel crash.
3. For a new probe which is not listed in the rom_probe_types, if users
assign it in board files, physmap can still probe it.Signed-off-by: Barry Song
Signed-off-by: Mike Frysinger
Signed-off-by: David Woodhouse
07 Aug, 2010
1 commit
-
Removing the redwood mtd mapping driver, because all REDWOOD_[456]
configuration options were removed from the kernel, because they weren't
referenced anywhere.Signed-off-by: Christian Dietrich
Signed-off-by: David Woodhouse
06 Aug, 2010
24 commits
-
Signed-off-by: Sascha Hauer
Signed-off-by: David Woodhouse -
Nand devices with at least 26 bytes of oob data per 512 byte block
can have 8bit ecc on v2 type controllers. This is currently not tested,
but at least this patch puts the ECC_MODE bit into a well defined state.Signed-off-by: Sascha Hauer
Signed-off-by: David Woodhouse -
The v2 controller has a totally different mechanism to check
whether the data we read had ecc errors or not. Implement this.
The mechanism in the v2 controller happens to be identical to
the v3 controller.Signed-off-by: Sascha Hauer
Signed-off-by: David Woodhouse -
This prepares the driver for v3 support. The v3 controller
has a completely different register layout, so add a V1_V2_
namespace to the register defines to avoid confusion with
the v3 regs.Signed-off-by: Sascha Hauer
Signed-off-by: David Woodhouse -
Signed-off-by: Sascha Hauer
Signed-off-by: David Woodhouse -
This patch prepares the driver to add v3 controller support
later. The v3 controller is basically the same controller as v1
and v2, but with a completely different register layout.Signed-off-by: Sascha Hauer
Signed-off-by: David Woodhouse -
We save/restore the value in the buffer anyway, so it makes
no difference whether we use main_area0 or main_area1. So,
we can use main_area0 and remove main_area1 from the driver
which is otherwise unused. Also, clean up the comments in
get_dev_status.Signed-off-by: Sascha Hauer
Signed-off-by: David Woodhouse -
Add the offset to the register base instead. This is done
in preparation for v3 controller support.Signed-off-by: Sascha Hauer
Signed-off-by: David Woodhouse -
Signed-off-by: Chuanxiao Dong
Signed-off-by: David Woodhouse -
set_ecc_config function only set ECC_CORRECTION register, so
move register setting to probe function.
Since controller only support 15bit and 8bit ecc correction,
updated nand ecc layout information.Signed-off-by: Chuanxiao Dong
Signed-off-by: David Woodhouse -
Signed-off-by: Chuanxiao Dong
Signed-off-by: David Woodhouse -
Hi David,
I sent 4 patches using my intel email account. If there is any
problem about the format of these patches, I will resend them after
I arrived at home by using my gmail account, and I will keep on
using gmail account to send patches.
Thanks.>From 242e3bf5e17f54b1df8cf285154a7c7a61ff62e9 Mon Sep 17 00:00:00 2001
From: Chuanxiao Dong
Date: Fri, 6 Aug 2010 15:29:41 +0800
Subject: [PATCH 1/4] mtd: denali: Remove device_info_tag structure.Most of the variables in this structure are useless, so just
remove this structure and relevant codes.Signed-off-by: Chuanxiao Dong
Signed-off-by: David Woodhouse -
Signed-off-by: Gabor Juhos
Signed-off-by: Artem Bityutskiy -
Signed-off-by: Gabor Juhos
Signed-off-by: Artem Bityutskiy
Signed-off-by: David Woodhouse -
Signed-off-by: Gabor Juhos
Signed-off-by: Artem Bityutskiy
Signed-off-by: David Woodhouse -
The Spansion S29WS-P device family uses CFI version 1.4 [1].
Consider it as a valid version.[1] http://www.spansion.com/Support/Datasheets/s29ws-p_00_a12_e.pdf
Signed-off-by: Guillaume LECERF
Signed-off-by: David Woodhouse -
This patch fixes
drivers/mtd/nand/atmel_nand.c:372: warning: 'part_probes' defined but not used
which is issued when CONFIG_MTD_PARTITIONS is defined but
CONFIG_MTD_CMDLINE_PARTS not.Signed-off-by: Andreas Bießmann
Signed-off-by: Artem Bityutskiy
Signed-off-by: David Woodhouse -
This patch prevent to schedule while atomic by changing the
flchip_shared spinlock into a mutex. This should be save since no atomic
path will use this lock.It was suggested by Arnd Bergmann and Vasiliy Kulikov.
Signed-off-by: Stefani Seibold
Signed-off-by: Artem Bityutskiy
Signed-off-by: David Woodhouse -
Signed-off-by: David S. Miller
Signed-off-by: Artem Bityutskiy
Signed-off-by: David Woodhouse -
This patch corrects a problem where gen_nand driver assumed there can be only
one chip and ignored the pdata->chip.nr_chips value.Signed-off-by: Marek Vasut
Signed-off-by: Artem Bityutskiy
Signed-off-by: David Woodhouse -
I think that scary description can go now...
Signed-off-by: Maxim Levitsky
Signed-off-by: Artem Bityutskiy
Signed-off-by: David Woodhouse -
Remove the attributes group before disk to avoid use after free
Signed-off-by: Maxim Levitsky
Signed-off-by: Artem Bityutskiy
Signed-off-by: David Woodhouse -
In denali driver, wTotalBlocks variable is useless, so just
remove them in get_toshiba_nand_para and get_hynix_nand_para
first. Other wTotalBlocks in denali.c and other variables in
dev_info struct are also useless, will remove them later.Also add a parameter in get_hynix_nand_para to prepare to
remove dev_info struct. This parameter comes by reading NAND
ID directly. Reading register will report wrong value for
some NAND chips, e.g. some Micron MT29F32G08QAA chips.
So update NAND_CMD_READID method as well.Signed-off-by: Chuanxiao Dong
Signed-off-by: David Woodhouse -
rename these functions' name and remove additional declarations
in header fileSigned-off-by: Chuanxiao Dong
Signed-off-by: David Woodhouse
05 Aug, 2010
12 commits
-
Signed-off-by: Chuanxiao Dong
Signed-off-by: David Woodhouse -
Signed-off-by: Chuanxiao Dong
Signed-off-by: David Woodhouse -
Signed-off-by: Chuanxiao Dong
Signed-off-by: David Woodhouse -
Signed-off-by: Chuanxiao Dong
Signed-off-by: David Woodhouse -
Hi,
I have changed the outlook mail cliet to be linux mutt client and use my
personal gmail to submit patches.
Here are 5 new patches to fix nand/denali check patch errors. The other
4 patches will be sent out after this mail.
Thanks for your review.>From d125ad3f57bbf517131dccad6b5933edf8c2632a Mon Sep 17 00:00:00 2001
From: Chuanxiao Dong
Date: Tue, 3 Aug 2010 15:54:48 +0800
Subject: [PATCH 1/5] mtd: denali.c: clean up all whitespaces in code indentSigned-off-by: Chuanxiao Dong
Signed-off-by: David Woodhouse -
The IRQSTAT register is a W1C register used by the interrupt handler and
may have its BUSY bit changed. This makes it somewhat unreliable for the
polling devready function. So switch it over to use the BUSY bit in the
STAT register that always reflects the current state of the hardware.This fixes driver hangs seen when the NAND flash is under heavy system
load (like I/O benchmarks).Signed-off-by: Barry Song
Signed-off-by: Mike Frysinger
Signed-off-by: David Woodhouse -
Rather than forcing the platform resources to declare the desired page
size, simply use the existing information passed down to us by the higher
layers. This way we work out of the box with all flash chips that the
kernel knows about.Signed-off-by: Barry Song
Signed-off-by: Mike Frysinger
Signed-off-by: David Woodhouse -
When resetting the ECC registers/counters, the bit will automatically
clear itself once the reset has actually finished. So make sure we
wait for that to occur before doing anything else rather than assuming
everything is peachy and proceeding with stale ECC values.Signed-off-by: Barry Song
Signed-off-by: Mike Frysinger
Signed-off-by: David Woodhouse -
We used the platform rd_dly field when we meant to use the wr_dly field.
Signed-off-by: Barry Song
Signed-off-by: Mike Frysinger
Signed-off-by: David Woodhouse -
The NAND base may send some controls which are neither CLE nor ALE, so
we need to explicitly check both instead of assuming things are always
one or the other. Otherwise, we sometimes send out illegal addresses
to the NAND device.Signed-off-by: Barry Song
Signed-off-by: Mike Frysinger
Signed-off-by: David Woodhouse -
Our write_buf/read_buf funcs always do ECC in HW ECC mode. That is not
needed for raw funcs. In fact, write_buf/read_buf should be a pure func
for data input/output while chip->ecc.hwctl controls ECC. Unfortunately,
we can't separate ECC from normal data input/output in our NFC, so our DMA
write_buf/read_buf entries are coupled with ECC operations closely.Thus we need to provide dedicated read_page_raw/write_page_raw funcs where
we do non-DMA transactions so as to avoid automatic ECC.Signed-off-by: Barry Song
Signed-off-by: Mike Frysinger
Signed-off-by: David Woodhouse -
The low level NAND driver doesn't care about filesystems, so punt the
local comment indicating otherwise.Signed-off-by: Barry Song
Signed-off-by: Mike Frysinger
Signed-off-by: David Woodhouse