3b27dac03972c10980ec5480ad8425fc95aae9ad |
|
09-Feb-2012 |
Shmulik Ladkani <shmulik.ladkani@gmail.com> |
mtd: unify initialization of erase_info->fail_addr Initialization of 'erase_info->fail_addr' to MTD_FAIL_ADDR_UNKNOWN prior erase operation is duplicated accross several MTD drivers, and also taken care of by some MTD users as well. Harmonize it: initialize 'fail_addr' within 'mtd_erase()' interface. Signed-off-by: Shmulik Ladkani <shmulik.ladkani@gmail.com> Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
/drivers/mtd/onenand/onenand_base.c
|
6a918bade9dab40aaef80559bd1169c69e8d69cb |
|
11-Mar-2012 |
Mike Dunn <mikedunn@newsguy.com> |
mtd: flash drivers set ecc strength Flash device drivers initialize 'ecc_strength' in struct mtd_info, which is the maximum number of bit errors that can be corrected in one writesize region. Drivers using the nand interface intitialize 'strength' in struct nand_ecc_ctrl, which is the maximum number of bit errors that can be corrected in one ecc step. Nand infrastructure code translates this to 'ecc_strength'. Also for nand drivers, the nand infrastructure code sets ecc.strength for ecc modes NAND_ECC_SOFT, NAND_ECC_SOFT_BCH, and NAND_ECC_NONE. It is set in the driver for all other modes. Signed-off-by: Mike Dunn <mikedunn@newsguy.com> Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
/drivers/mtd/onenand/onenand_base.c
|
834247ec7e281dee839fe4a04bc1bbf0c7395172 |
|
05-Feb-2012 |
Artem Bityutskiy <artem.bityutskiy@linux.intel.com> |
mtd: remove retlen zeroing duplication The MTD API function now zero the 'retlen' parameter before calling the driver's method — do not do this again in drivers. This removes duplicated '*retlen = 0' assignent from the following methods: 'mtd_point()' 'mtd_read()' 'mtd_write()' 'mtd_writev()' 'mtd_panic_write()' Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
/drivers/mtd/onenand/onenand_base.c
|
5def48982b778aaebe201f85af7170b7d0a6619f |
|
03-Feb-2012 |
Artem Bityutskiy <artem.bityutskiy@linux.intel.com> |
mtd: do not duplicate length and offset checks in drivers We already verify that offset and length are within the MTD device size in the MTD API functions. Let's remove the duplicated checks in drivers. This patch only affects the following API's: 'mtd_erase()' 'mtd_point()' 'mtd_unpoint()' 'mtd_get_unmapped_area()' 'mtd_read()' 'mtd_write()' 'mtd_panic_write()' 'mtd_lock()' 'mtd_unlock()' 'mtd_is_locked()' 'mtd_block_isbad()' 'mtd_block_markbad()' This patch adds a bit of noise by removing too sparse empty lines, but this is not too bad. Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
/drivers/mtd/onenand/onenand_base.c
|
3c3c10bba1e4ccb75b41442e45c1a072f6cded19 |
|
30-Jan-2012 |
Artem Bityutskiy <artem.bityutskiy@linux.intel.com> |
mtd: add leading underscore to all mtd functions This patch renames all MTD functions by adding a "_" prefix: mtd->erase -> mtd->_erase mtd->read_oob -> mtd->_read_oob ... The reason is that we are re-working the MTD API and from now on it is an error to use MTD function pointers directly - we have a corresponding API call for every pointer. By adding a leading "_" we achieve the following: 1. Make sure we convert every direct pointer users 2. A leading "_" suggests that this interface is internal and it becomes less likely that people will use them directly 3. Make sure all the out-of-tree modules stop compiling and the owners spot the big API change and amend them. Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
/drivers/mtd/onenand/onenand_base.c
|
ee16f2af2d464ee4c040e571c225dcbb1ce4a7d3 |
|
29-Dec-2011 |
Artem Bityutskiy <artem.bityutskiy@linux.intel.com> |
mtd: onenand: kill unused variable Fix this gcc warning: drivers/mtd/onenand/onenand_base.c: In function ‘onenand_block_markbad’: drivers/mtd/onenand/onenand_base.c:2636:23: warning: unused variable ‘this’ [-Wunused-variable] Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
/drivers/mtd/onenand/onenand_base.c
|
5942ddbc500d1c9b75e571b656be97f65b26adfe |
|
23-Dec-2011 |
Artem Bityutskiy <artem.bityutskiy@linux.intel.com> |
mtd: introduce mtd_block_markbad interface Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
/drivers/mtd/onenand/onenand_base.c
|
d57f40544a41fdfe90fd863b6865138c5a82f1cc |
|
21-Sep-2011 |
Brian Norris <computersforpeace@gmail.com> |
mtd: utilize `mtd_is_*()' functions Signed-off-by: Brian Norris <computersforpeace@gmail.com> Signed-off-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
/drivers/mtd/onenand/onenand_base.c
|
0612b9ddc2eeda014dd805c87c752b342d8f80f0 |
|
31-Aug-2011 |
Brian Norris <computersforpeace@gmail.com> |
mtd: rename MTD_OOB_* to MTD_OPS_* These modes are not necessarily for OOB only. Particularly, MTD_OOB_RAW affected operations on in-band page data as well. To clarify these options and to emphasize that their effect is applied per-operation, we change the primary prefix to MTD_OPS_. Signed-off-by: Brian Norris <computersforpeace@gmail.com> Signed-off-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
/drivers/mtd/onenand/onenand_base.c
|
905c6bcdb42616da717a9bd6c0c5870dbd90b09e |
|
31-Aug-2011 |
Brian Norris <computersforpeace@gmail.com> |
mtd: move mtd_oob_mode_t to shared kernel/user space We will want to use the MTD_OOB_{PLACE,AUTO,RAW} modes in user-space applications through the introduction of new ioctls, so we should make this enum a shared type. This enum is now anonymous. Artem: tweaked the patch. Signed-off-by: Brian Norris <computersforpeace@gmail.com> Signed-off-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
/drivers/mtd/onenand/onenand_base.c
|
0a32a10264d151bc2d1616d69edaf915aa728698 |
|
19-Jul-2011 |
Brian Norris <computersforpeace@gmail.com> |
mtd: cleanup style on pr_debug messages Signed-off-by: Brian Norris <computersforpeace@gmail.com> Signed-off-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
/drivers/mtd/onenand/onenand_base.c
|
289c05222172b51401dbbb017115655f241d94ab |
|
19-Jul-2011 |
Brian Norris <computersforpeace@gmail.com> |
mtd: replace DEBUG() with pr_debug() Start moving away from the MTD_DEBUG_LEVEL messages. The dynamic debugging feature is a generic kernel feature that provides more flexibility. (See Documentation/dynamic-debug-howto.txt) Also fix some punctuation, indentation, and capitalization that went along with the affected lines. Signed-off-by: Brian Norris <computersforpeace@gmail.com> Signed-off-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
/drivers/mtd/onenand/onenand_base.c
|
7854d3f7495b11be1570cd3e2318674d8f9ed797 |
|
23-Jun-2011 |
Brian Norris <computersforpeace@gmail.com> |
mtd: spelling, capitalization, uniformity Therefor -> Therefore [Intern], [Internal] -> [INTERN] [REPLACABLE] -> [REPLACEABLE] syndrom, syndom -> syndrome ecc -> ECC buswith -> buswidth endianess -> endianness dont -> don't occures -> occurs independend -> independent wihin -> within erease -> erase blockes -> blocks ... Signed-off-by: Brian Norris <computersforpeace@gmail.com> Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
/drivers/mtd/onenand/onenand_base.c
|
e1c10243df92822954b9b5e04d12dd2f23a39652 |
|
22-Jun-2011 |
Kyungmin Park <kyungmin.park@samsung.com> |
mtd: OneNAND: Detect the correct NOP when 4KiB pagesize There are two different 4KiB pagesize chips KFM4G16Q4M series have NOP 4 with version ID 0x0131 But KFM4G16Q5M has NOP 1 with versoin ID 0x013e Note that Q5M means that it has NOP 1. Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
/drivers/mtd/onenand/onenand_base.c
|
711a632d1f0d3ffc576f7a298f66888f66014d61 |
|
23-May-2011 |
Jamie Iles <jamie@jamieiles.com> |
mtd: onenand: convert to mtd_device_register() Convert to mtd_device_register() and remove the CONFIG_MTD_PARTITIONS preprocessor conditionals as partitioning is always available. Cc: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Jamie Iles <jamie@jamieiles.com> Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
/drivers/mtd/onenand/onenand_base.c
|
eff3bba61fc19a64a1ca56343e38b6506bef9dea |
|
06-May-2011 |
john.maxin@nokia.com <john.maxin@nokia.com> |
mtd: onenand: add missing check Coverity has reported that inside the function "onenand_block_by_block_erase()" in onenand_base.c, we should add a check to prevent the incrementing of possible NULL value for "region" Signed-off-by: Maxin B. John <john.maxin@nokia.com> Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
/drivers/mtd/onenand/onenand_base.c
|
99b17c08bca2810f5910b3027f1b9d82edf7a576 |
|
10-Apr-2011 |
Roman Tereshonkov <roman.tereshonkov@nokia.com> |
mtd: onenand: add ecclayout and subpage_sft for non-flex 4KiB page onenand So as the ecclayout and suppage size for 4KiB page Flex- and none-Flex OneNAND are different the new values for none-Flex 4KiB page OneNAND memory are added. The introduced ecclayout and suppage size are based on specification 4Gib M-die OneNAND Flash (KFM4G16Q4M, KFN8G16Q4M). Rev. 1.3, Apr. 2010 For eccpos we expose only 64 bytes out of 72, for oobfree the spare area fields marked as "Managed by internal ECC logic for Logical Sector Number area" are used. Signed-off-by: Roman Tereshonkov <roman.tereshonkov@nokia.com> Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
/drivers/mtd/onenand/onenand_base.c
|
b3dcfd35244e1cb8dc8dfa5c05013b133dbb437a |
|
17-Feb-2011 |
Roman Tereshonkov <roman.tereshonkov@nokia.com> |
mtd: onenand: add new option to control initial onenand unlocking A new option ONENAND_SKIP_INITIAL_UNLOCKING is added. This allows to disable initial onenand unlocking when the driver is initialized. Signed-off-by: Roman Tereshonkov <roman.tereshonkov@nokia.com> Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
/drivers/mtd/onenand/onenand_base.c
|
e6da85685b2dec1e69e58366c22d1f883d6da575 |
|
07-Feb-2011 |
Roman Tereshonkov <roman.tereshonkov@nokia.com> |
mtd: onenand_base: onenand_verify bugfix for writepage non-aligned address In onenand_verify function the address can be writepage non-aligned. When a page is read for comparing the right offset should be used for "this->verify_buf" to get the right matching with compared "buf" buffer. Signed-off-by: Roman Tereshonkov <roman.tereshonkov@nokia.com> Signed-off-by: Adrian Hunter <adrian.hunter@nokia.com> Acked-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
/drivers/mtd/onenand/onenand_base.c
|
b085058fe556328443f982d892c9657b3aff9d4a |
|
07-Feb-2011 |
Adrian Hunter <adrian.hunter@nokia.com> |
mtd: OneNAND: return read error for 4KiB page read When reading using the 4KiB page read function, I/O errors could be ignored if more than 1 page was read at a time. Signed-off-by: Adrian Hunter <adrian.hunter@nokia.com> Acked-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
/drivers/mtd/onenand/onenand_base.c
|
25dcd29786d3fbd5751dc3c5b8109d930ea2d312 |
|
16-Dec-2010 |
Anatolij Gustschin <agust@denx.de> |
mtd: onenand: add mtd->writebufsize initialization Initialize mtd->writebufsize to be equal to mtd->writesize. Signed-off-by: Anatolij Gustschin <agust@denx.de> Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
/drivers/mtd/onenand/onenand_base.c
|
cf24dc85ff29a41abd8e73730e5feb22b2666bd3 |
|
19-Feb-2010 |
Adrian Hunter <adrian.hunter@nokia.com> |
mtd: OneNAND: add enable / disable methods to onenand_chip Add enable / disable methods called from get_device() / release_device(). These can be used, for example, to allow the driver to prevent the voltage regulator from being put to sleep while OneNAND is in use. Signed-off-by: Adrian Hunter <adrian.hunter@nokia.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
/drivers/mtd/onenand/onenand_base.c
|
e0c1a921f62d22d1aa62c72ddb793f898945ff5a |
|
09-Dec-2010 |
Adrian Hunter <adrian.hunter@nokia.com> |
mtd: OneNAND: lighten scary initial bad block messages Initial bad blocks are normal but the messages look like errors. Make the messages less scary, make the main message an informational message not a warning, make the message displaying registers a debug message and include the address there instead of in the informational message. Signed-off-by: Adrian Hunter <adrian.hunter@nokia.com> Acked-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
/drivers/mtd/onenand/onenand_base.c
|
d983c54ebd875f5f6fd37c154195c1c456a7af70 |
|
06-Dec-2010 |
Kyungmin Park <kyungmin.park@samsung.com> |
mtd: OneNAND: Fix multi block erase support at 4KiB pagesize Original 4KiB pagesize chip (SLC) doesn't support Multi block erase at Spec. Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
/drivers/mtd/onenand/onenand_base.c
|
8a8f632d8534d0c403831341450bd8db9e842f05 |
|
02-Dec-2010 |
Kyungmin Park <kyungmin.park@samsung.com> |
mtd: OneNAND: Fix 4KiB pagesize OOB handling Original 4KiB pagesize chip (SLC) doesn't support OOB operations at Spec. And it's also same at Flex-OneNAND. Remove the MLC macro if possible and use 4KiB pagesize macro since MLC has 4KiB pagesize. Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
/drivers/mtd/onenand/onenand_base.c
|
ac80dac00f8630803dc0c7f8fbe6983a8e2a8b5f |
|
02-Nov-2010 |
Roman Tereshonkov <roman.tereshonkov@nokia.com> |
mtd: onenand: implement cache program feature for 4KiB page onenand Implement cache program feature for 4KiB page onenand. This feature improves the write data performance. The observed 128KiB data program speed change is from 8827KiB/s to 14156 KiB/s when the feature is enabled. Signed-off-by: Roman Tereshonkov <roman.tereshonkov@nokia.com> Acked-by: Mike Frysinger <vapier@gentoo.org> Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
/drivers/mtd/onenand/onenand_base.c
|
edb44b9b9cbff71f6aa9bebc384ee1896c8bfc2c |
|
11-Oct-2010 |
Roman Tereshonkov <roman.tereshonkov@nokia.com> |
mtd: onenand: fix 4KiB page onenand chip recognition For 4Gib non-DDP chip it does not follow that it is always 4KiB page chip. The number of data buffers is checked and if it is equal to 1 we suppose that it is 4KiB page onenand chip. Signed-off-by: Roman Tereshonkov <roman.tereshonkov@nokia.com> Acked-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
/drivers/mtd/onenand/onenand_base.c
|
c76268021e04e4313cd3a32242826f6a93388e2d |
|
27-Sep-2010 |
Rohit Hassan Sathyanarayan <rohit.hs@samsung.com> |
mtd: MLC device check in OneNAND driver The MLC NAND Flash differs from the SLC NAND flash in functioning and the cell structure. Therefore we are considering it as a different Flash type. Signed-off-by: Rohit H.S <rohit.hs@samsung.com> Signed-off-by: Raghav Gupta <gupta.raghav@samsung.com> Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
/drivers/mtd/onenand/onenand_base.c
|
ad0d363b8fb7559a410483635349e22de6727988 |
|
28-May-2010 |
Kyungmin Park <kmpark@infradead.org> |
mtd: OneNAND: Introduce chip_probe function Samsung SoCs use the own OneNAND controler and detect OneNAND chip at power on. To use this feature, introduce the chip_probe function. Also remove workaround for Samsung SoCs. Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
/drivers/mtd/onenand/onenand_base.c
|
42b0aab1cc30b2fa7e0a99b832bd1b5c9b59757d |
|
22-Jul-2010 |
Rohit Hassan Sathyanarayan <rohit.hs@samsung.com> |
mtd: onenand:fix for page addr calculation based on device type Sending the patch for page address calculation based on device type. This resolves the OneNAND DDP device read problem as pointed by Enric. http://lists.infradead.org/pipermail/linux-mtd/2010-July/030920.html Signed-off-by: Rohit HS <rohit.hs@samsung.com> Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
/drivers/mtd/onenand/onenand_base.c
|
c37cb56fb15d0f8e4180b19eed20f52fe8641b54 |
|
28-Apr-2010 |
Kyungmin Park <kyungmin.park@samsung.com> |
mtd: onenand: add workaround for SYNC_WRITE mode Some chips fails to identify properly when SYNC_WRITE mode is enabled (the example is OneNAND on S5PC110 SoC). This patch adds a workaround for such chips. Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
/drivers/mtd/onenand/onenand_base.c
|
3328dc315914aa6db486da2ceb021b6f0b36b877 |
|
28-Apr-2010 |
Kyungmin Park <kyungmin.park@samsung.com> |
mtd: onenand: add new callback for bufferram read This patch adds a new callback for the underlying drivers, which is called instead of accessing the buffer ram directly. This callback will be used by Samsung OneNAND driver to implement DMA transfers on S5PC110 SoC. Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
/drivers/mtd/onenand/onenand_base.c
|
4a8ce0b030716b95004a4ace969953bc3ad7d2fe |
|
28-Apr-2010 |
Kyungmin Park <kyungmin.park@samsung.com> |
mtd: onenand: allocate verify buffer in the core This patch extends OneNAND core code with support for OneNAND verify write check. This is done by allocating the buffer for verify read directly from the core code. Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
/drivers/mtd/onenand/onenand_base.c
|
6a88c47bd528cb0f82692986a3ca57b3695d9c60 |
|
28-Apr-2010 |
Kyungmin Park <kyungmin.park@samsung.com> |
mtd: onenand: add support for chips with 4KiB page size This patch adds support for OneNAND chips that have 4KiB page size. Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
/drivers/mtd/onenand/onenand_base.c
|
5a0e3ad6af8660be21ca98a971cd00f331318c05 |
|
24-Mar-2010 |
Tejun Heo <tj@kernel.org> |
include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h percpu.h is included by sched.h and module.h and thus ends up being included when building most .c files. percpu.h includes slab.h which in turn includes gfp.h making everything defined by the two files universally available and complicating inclusion dependencies. percpu.h -> slab.h dependency is about to be removed. Prepare for this change by updating users of gfp and slab facilities include those headers directly instead of assuming availability. As this conversion needs to touch large number of source files, the following script is used as the basis of conversion. http://userweb.kernel.org/~tj/misc/slabh-sweep.py The script does the followings. * Scan files for gfp and slab usages and update includes such that only the necessary includes are there. ie. if only gfp is used, gfp.h, if slab is used, slab.h. * When the script inserts a new include, it looks at the include blocks and try to put the new include such that its order conforms to its surrounding. It's put in the include block which contains core kernel includes, in the same order that the rest are ordered - alphabetical, Christmas tree, rev-Xmas-tree or at the end if there doesn't seem to be any matching order. * If the script can't find a place to put a new include (mostly because the file doesn't have fitting include block), it prints out an error message indicating which .h file needs to be added to the file. The conversion was done in the following steps. 1. The initial automatic conversion of all .c files updated slightly over 4000 files, deleting around 700 includes and adding ~480 gfp.h and ~3000 slab.h inclusions. The script emitted errors for ~400 files. 2. Each error was manually checked. Some didn't need the inclusion, some needed manual addition while adding it to implementation .h or embedding .c file was more appropriate for others. This step added inclusions to around 150 files. 3. The script was run again and the output was compared to the edits from #2 to make sure no file was left behind. 4. Several build tests were done and a couple of problems were fixed. e.g. lib/decompress_*.c used malloc/free() wrappers around slab APIs requiring slab.h to be added manually. 5. The script was run on all .h files but without automatically editing them as sprinkling gfp.h and slab.h inclusions around .h files could easily lead to inclusion dependency hell. Most gfp.h inclusion directives were ignored as stuff from gfp.h was usually wildly available and often used in preprocessor macros. Each slab.h inclusion directive was examined and added manually as necessary. 6. percpu.h was updated not to include slab.h. 7. Build test were done on the following configurations and failures were fixed. CONFIG_GCOV_KERNEL was turned off for all tests (as my distributed build env didn't work with gcov compiles) and a few more options had to be turned off depending on archs to make things build (like ipr on powerpc/64 which failed due to missing writeq). * x86 and x86_64 UP and SMP allmodconfig and a custom test config. * powerpc and powerpc64 SMP allmodconfig * sparc and sparc64 SMP allmodconfig * ia64 SMP allmodconfig * s390 SMP allmodconfig * alpha SMP allmodconfig * um on x86_64 SMP allmodconfig 8. percpu.h modifications were reverted so that it could be applied as a separate patch and serve as bisection point. Given the fact that I had only a couple of failures from tests on step 6, I'm fairly confident about the coverage of this conversion patch. If there is a breakage, it's likely to be something in one of the arch headers which should be easily discoverable easily on most builds of the specific arch. Signed-off-by: Tejun Heo <tj@kernel.org> Guess-its-ok-by: Christoph Lameter <cl@linux-foundation.org> Cc: Ingo Molnar <mingo@redhat.com> Cc: Lee Schermerhorn <Lee.Schermerhorn@hp.com>
/drivers/mtd/onenand/onenand_base.c
|
0a032a4df6dc4a82bcd1c401e57ee71825d30c14 |
|
16-Dec-2009 |
Roel Kluin <roel.kluin@gmail.com> |
mtd: OneNAND: Fix test of unsigned in onenand_otp_walk() mtd->writesize and len are unsigned so the test does not work. Signed-off-by: Roel Kluin <roel.kluin@gmail.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
/drivers/mtd/onenand/onenand_base.c
|
f369c7ec94da63fc68cf7fa43516414888865c14 |
|
23-Oct-2009 |
Mika Korhonen <ext-mika.2.korhonen@nokia.com> |
mtd: OneNAND: fix double printing of function name Signed-off-by: Mika Korhonen <ext-mika.2.korhonen@nokia.com> Reviewed-by: Adrian Hunter <adrian.hunter@nokia.com> Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
/drivers/mtd/onenand/onenand_base.c
|
72073027ee95d059eb5a064da4a978efab36d4ab |
|
23-Oct-2009 |
Mika Korhonen <ext-mika.2.korhonen@nokia.com> |
mtd: OneNAND: multiblock erase support Add support for multiblock erase command. OneNANDs (excluding Flex-OneNAND) are capable of simultaneous erase of up to 64 eraseblocks which is much faster. This changes the erase requests for regions covering multiple eraseblocks to be performed using multiblock erase. Signed-off-by: Mika Korhonen <ext-mika.2.korhonen@nokia.com> Reviewed-by: Adrian Hunter <adrian.hunter@nokia.com> Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
/drivers/mtd/onenand/onenand_base.c
|
73885aeaca046a21183db598c2da46529e46fdab |
|
23-Oct-2009 |
Mika Korhonen <ext-mika.2.korhonen@nokia.com> |
mtd: OneNAND: move erase method to a separate function Separate the actual execution of erase to a new function: onenand_block_by_block_erase(). This is done in preparation for the multiblock erase support. Signed-off-by: Mika Korhonen <ext-mika.2.korhonen@nokia.com> Reviewed-by: Adrian Hunter <adrian.hunter@nokia.com> Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
/drivers/mtd/onenand/onenand_base.c
|
3cf602532c535ec655725e9833378e04c9fd7783 |
|
21-Oct-2009 |
Amul Kumar Saha <amul.saha@samsung.com> |
mtd: OneNAND OTP support rework What is OTP in OneNAND? The device includes, 1. one block-sized OTP (One Time Programmable) area and 2. user-controlled 1st block OTP(Block 0) that can be used to increase system security or to provide identification capabilities. What is done? In OneNAND, one block of the NAND Array is set aside as an OTP memory area, and 1st Block (Block 0) can be used as OTP area. This area, available to the user, can be configured and locked with secured user information. The OTP block can be read, programmed and locked using the same operations as any other NAND Flash Array memory block. After issuing an OTP-Lock, OTP block cannot be erased. OTP block is fully-guaranteed to be a good block. Why it is done? Locking the 1st Block OTP has the effect of a 'Write-protect' to guard against accidental re-programming of data stored in the 1st block and OTP Block. Which problem it solves? OTP support is provided in the existing implementation of OneNAND/Flex-OneNAND driver, but it is not working with OneNAND devices. Have observed the following in current OTP OneNAND Implmentation, 1. DataSheet specific sequence to lock the OTP Area is not followed. 2. Certain functions are quiet generic to cope with OTP specific activity. This patch re-implements OTP support for OneNAND device. How it is done? For all blocks, 8th word is available to the user. However, in case of OTP Block, 8th word of sector 0, page 0 is reserved as OTP Locking Bit area. Therefore, in case of OTP Block, user usage on this area is prohibited. Condition specific values are entered in the 8th word, sector0, page 0 of the OTP block during the process of issuing an OTP-Lock. The possible conditions are: 1. Only 1st Block Lock 2. Only OTP Block Lock 3. Lock both the 1st Block and the OTP Block What Other feature additions have been done in this patch? This patch adds feature for: 1. Only 1st Block Lock 2. Lock both the 1st Block and the OTP Blocks Re-implemented OTP support for OneNAND Added following features to OneNAND 1. Lock only 1st Block in OneNAND 2. Lock BOTH 1st Block and OTP Block in OneNAND [comments were slightly tweaked by Artem] Signed-off-by: Amul Kumar Saha <amul.saha@samsung.com> Reviewed-by: Adrian Hunter <adrian.hunter@nokia.com> Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
/drivers/mtd/onenand/onenand_base.c
|
8032747e7680a31cdde293421af62d2e1904c528 |
|
05-Oct-2009 |
David Woodhouse <David.Woodhouse@intel.com> |
mtd: make onenand_base.c compile again Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
/drivers/mtd/onenand/onenand_base.c
|
297758f8fc4e92b1915d2f5f2f84cedfe8941e5a |
|
02-Oct-2009 |
Amul Kumar Saha <amul.saha@samsung.com> |
mtd: Standardising prints in onenand_base.c This patch resolves all the prints present in onenand_base.c Primarily, it replaces the hard-coded function names in the prints, and makes use of __func__. Signed-off-by: Amul Kumar Saha <amul.saha@samsung.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
/drivers/mtd/onenand/onenand_base.c
|
492e1501431e0d24c5b46933fdcb60639eacded7 |
|
09-Jun-2009 |
Mika Korhonen <mika.j.korhonen@gmail.com> |
mtd: OneNAND: spelling fixes Signed-off-by: Mika Korhonen <mika.j.korhonen@gmail.com> Acked-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
/drivers/mtd/onenand/onenand_base.c
|
c90173f0907486fe4010c2a8cef534e2473db43f |
|
16-Jun-2009 |
Amul Saha <amul.saha@samsung.com> |
mtd: OneNAND: Allow setting of boundary information when built as module This patch unifies the flex_bdry setting for module vs. built-in configuration of OneNAND. Signed-off-by: Amul Kumar Saha <amul.saha@samsung.com> Signed-off-by: Vishak G <vishak.g@samsung.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
/drivers/mtd/onenand/onenand_base.c
|
31bb999ee73748068ddc271dd99b22dcc418efe3 |
|
12-May-2009 |
Kyungmin Park <kmpark@infradead.org> |
mtd: onenand: add bbt_wait & unlock_all as replaceable for some platform Add bbt_wait & unlock_all as replaceable for some platform such as s3c64xx s3c64xx has its own OneNAND controller and another interface Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
/drivers/mtd/onenand/onenand_base.c
|
5988af2319781bc8e0ce418affec4e09cfa77907 |
|
12-May-2009 |
Rohit Hagargundgi <h.rohit@samsung.com> |
mtd: Flex-OneNAND support Add support for Samsung Flex-OneNAND devices. Flex-OneNAND combines SLC and MLC technologies into a single device. SLC area provides increased reliability and speed, suitable for storing code such as bootloader, kernel and root file system. MLC area provides high density and is suitable for storing user data. SLC and MLC regions can be configured through kernel parameter. [akpm@linux-foundation.org: export flexoand_region and onenand_addr] Signed-off-by: Rohit Hagargundgi <h.rohit@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Cc: Vishak G <vishak.g@samsung.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
/drivers/mtd/onenand/onenand_base.c
|
ee8f37688966ab1438d0cf42e0cb7c6595d9592c |
|
05-May-2009 |
Adrian Hunter <adrian.hunter@nokia.com> |
mtd: OneNAND: add support for OneNAND manufactured by Numonyx In addition to adding the Numonyx manufacturer code, this patch also ensures 'sync. write' is disabled when reading identification data - something that the Numonyx chip objects to, but the Samsung chip seems to ignore. Signed-off-by: Adrian Hunter <adrian.hunter@nokia.com> Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
/drivers/mtd/onenand/onenand_base.c
|
9ce969082e490d0a5a81862b364337c93dc3482a |
|
17-Nov-2008 |
Kyungmin Park <kmpark@infradead.org> |
[MTD] [OneNAND] Add write-while-program support OneNAND write-while-program method of writing improves performance, compared with ordinary writes, by transferring data to OneNAND's RAM buffers atthe same time as programming the NAND core. When writing several NAND pages at a time, an improvement of 12% to 25% is seen. Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Adrian Hunter <adrian.hunter@nokia.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
/drivers/mtd/onenand/onenand_base.c
|
69423d99fc182a81f3c5db3eb5c140acc6fc64be |
|
10-Dec-2008 |
Adrian Hunter <ext-adrian.hunter@nokia.com> |
[MTD] update internal API to support 64-bit device size MTD internal API presently uses 32-bit values to represent device size. This patch updates them to 64-bits but leaves the external API unchanged. Extending the external API is a separate issue for several reasons. First, no one needs it at the moment. Secondly, whether the implementation is done with IOCTLs, sysfs or both is still debated. Thirdly external API changes require the internal API to be accepted first. Note that although the MTD API will be able to support 64-bit device sizes, existing drivers do not and are not required to do so, although NAND base has been updated. In general, changing from 32-bit to 64-bit values cause little or no changes to the majority of the code with the following exceptions: - printk message formats - division and modulus of 64-bit values - NAND base support - 32-bit local variables used by mtdpart and mtdconcat - naughtily assuming one structure maps to another in MEMERASE ioctl Signed-off-by: Adrian Hunter <ext-adrian.hunter@nokia.com> Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
/drivers/mtd/onenand/onenand_base.c
|
bb0eb217c980d50c45f3e793b4dcc70ab9ee820d |
|
11-Aug-2008 |
Adrian Hunter <ext-adrian.hunter@nokia.com> |
[MTD] Define and use MTD_FAIL_ADDR_UNKNOWN instead of 0xffffffff Signed-off-by: Adrian Hunter <ext-adrian.hunter@nokia.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
/drivers/mtd/onenand/onenand_base.c
|
83973b87938a06a2af7e2a7fd1b630c35f8baff4 |
|
29-May-2008 |
Kyungmin Park <kyungmin.park@samsung.com> |
[MTD] [OneNAND] Check the ECC status first instead of controller 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 <kyungmin.park@samsung.com> Signed-off-by: David Woodhouse <dwmw2@infradead.org>
/drivers/mtd/onenand/onenand_base.c
|
67e5a28b35254bbbcd5bfce61ef646709e059bbf |
|
14-Apr-2008 |
Adrian Hunter <ext-adrian.hunter@nokia.com> |
[MTD] [OneNAND] Allow for controller errors when reading 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 <ext-adrian.hunter@nokia.com> Signed-off-by: David Woodhouse <dwmw2@infradead.org>
/drivers/mtd/onenand/onenand_base.c
|
b73d7e4381311bea024bf7cedcba3dcf20f63aab |
|
16-Feb-2008 |
Roel Kluin <12o3l@tiscali.nl> |
[MTD] [OneNAND] unlikely(x) || unlikely(y) => unlikely(x || y) Acked-By: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: David Woodhouse <dwmw2@infradead.org>
/drivers/mtd/onenand/onenand_base.c
|
66a10506d632051e1153e2555f4b2c820d427f64 |
|
13-Feb-2008 |
Kyungmin Park <kyungmin.park@samsung.com> |
[MTD] [OneNAND] Fix unlock all in Double Density Package (DDP) Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: David Woodhouse <dwmw2@infradead.org>
/drivers/mtd/onenand/onenand_base.c
|
6c77fd649fab4bea1b44cb534381a22e37650bc3 |
|
06-Feb-2008 |
Richard Purdie <rpurdie@rpsys.net> |
[MTD] onenand: Add panic_write function to the onenand driver 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 <rpurdie@rpsys.net> Signed-off-by: David Woodhouse <dwmw2@infradead.org>
/drivers/mtd/onenand/onenand_base.c
|
69d79186dc48ca22a0ce69511bef8ef6c2465ada |
|
14-Dec-2007 |
Kyungmin Park <kyungmin.park@samsung.com> |
[MTD] [OneNAND] Use pre-alloced oob buffer instead of local buffer Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
/drivers/mtd/onenand/onenand_base.c
|
978cb38a296fceac82a8a757f6387d7ef2a21ac6 |
|
13-Dec-2007 |
Sheng Yongjie (Sam <samsheng@trident.com.cn> |
[MTD] [OneNAND] Use the u_char instead of char in oobbuf 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) <samsheng@trident.com.cn> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
/drivers/mtd/onenand/onenand_base.c
|
b2581be291aa8595eadf3d6933d04d0f1d01b46d |
|
13-Dec-2007 |
Kyungmin Park <kyungmin.park@samsung.com> |
[MTD] [OneNAND] Check the initial bad block using ONENAND_CTRL_ERROR Some chips don't set the ONENAND_CTRL_LOAD bit. Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
/drivers/mtd/onenand/onenand_base.c
|
e71f04fc9234b14636887ceb5862755f1690642c |
|
11-Dec-2007 |
Kyungmin Park <kyungmin.park@samsung.com> |
[MTD] [OneNAND] Get correct density from device ID Use the higher bits for other purpose. Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
/drivers/mtd/onenand/onenand_base.c
|
b21b72cf33bb212414c1d967850e261b795befa4 |
|
11-Dec-2007 |
Kyungmin Park <kyungmin.park@samsung.com> |
[MTD] [OneNAND] Consolidate OneNAND operation order Consolidate OneNAND operation order as OneNAND Spec. It also doesn't break previous operation order. Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
/drivers/mtd/onenand/onenand_base.c
|
9d2f0b7a3de28d06ba4011b835b9a7e772553f0d |
|
21-Jan-2008 |
Adrian Hunter <ext-adrian.hunter@nokia.com> |
[MTD] [OneNAND] fix call to onenand_verify when writing subpages Signed-off-by: Adrian Hunter <ext-adrian.hunter@nokia.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
/drivers/mtd/onenand/onenand_base.c
|
d0b36d8cc8f345ec5faadd15daaecfb409b94523 |
|
23-Jan-2008 |
Adrian Hunter <ext-adrian.hunter@nokia.com> |
[MTD] [OneNAND] Do not release chip twice Signed-off-by: Adrian Hunter <ext-adrian.hunter@nokia.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
/drivers/mtd/onenand/onenand_base.c
|
5f4d47d5d1060a93be83e33a167a53a7f8c08b20 |
|
06-Nov-2007 |
Adrian Hunter <ext-adrian.hunter@nokia.com> |
[MTD] [OneNAND] Do not stop reading for ECC errors 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 <ext-adrian.hunter@nokia.com> Acked-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: David Woodhouse <dwmw2@infradead.org>
/drivers/mtd/onenand/onenand_base.c
|
06efcad0d43a5491602f7d7bfc1ce997cdb0d062 |
|
19-Oct-2007 |
Jeff Garzik <jeff@garzik.org> |
Eliminate pointless casts from void* in a few driver irq handlers. Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
/drivers/mtd/onenand/onenand_base.c
|
3cd3a86b6fdcb80ad097850a0990bcf6251422fe |
|
12-Oct-2007 |
Adrian Hunter <ext-adrian.hunter@nokia.com> |
[MTD] [OneNAND] Avoid deadlock in erase callback; release chip lock first. 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 <ext-adrian.hunter@nokia.com> Signed-off-by: David Woodhouse <dwmw2@infradead.org>
/drivers/mtd/onenand/onenand_base.c
|
30a7eb298af849bae3050e0a3f4c130995da22b0 |
|
12-Oct-2007 |
Adrian Hunter <ext-adrian.hunter@nokia.com> |
[MTD] [OneNAND] Return only negative error codes The OneNAND driver was confusing JFFS2 by returning positive error codes. Signed-off-by: Adrian Hunter <ext-adrian.hunter@nokia.com> Acked-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: David Woodhouse <dwmw2@infradead.org>
/drivers/mtd/onenand/onenand_base.c
|
34627f0e768de6af95e3523c29a16cbb95ce3197 |
|
12-Oct-2007 |
Adrian Hunter <ext-adrian.hunter@nokia.com> |
[MTD] [OneNAND] Synchronize block locking operations Ensure OneNAND's block locking operations are synchronized like all other operations. Signed-off-by: Adrian Hunter <ext-adrian.hunter@nokia.com> Acked-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: David Woodhouse <dwmw2@infradead.org>
/drivers/mtd/onenand/onenand_base.c
|
1437085c3780f064a06df662195a2695e7d75c09 |
|
10-Oct-2007 |
Kyungmin Park <kyungmin.park@samsung.com> |
[MTD] [OneNAND] Fix typo related with recent commit Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: David Woodhouse <dwmw2@infradead.org>
/drivers/mtd/onenand/onenand_base.c
|
49dc08eeda707f59019814fe07a2b17979348002 |
|
21-Sep-2007 |
Artem Bityutskiy <Artem.Bityutskiy@nokia.com> |
[MTD] [OneNAND] fix numerous races 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 protected Now 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 <Artem.Bityutskiy@nokia.com> Signed-off-by: David Woodhouse <dwmw2@infradead.org>
/drivers/mtd/onenand/onenand_base.c
|
d15057b7034d9fdc4259b66a0367c9d8ffcf0620 |
|
06-Sep-2007 |
Kyungmin Park <kyungmin.park@samsung.com> |
[MTD] [OneNAND] main read/write ops support for yaffs2 Now we can use yaffs2 on OneNAND Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: David Woodhouse <dwmw2@infradead.org>
/drivers/mtd/onenand/onenand_base.c
|
12f77c9eed0d2a9f598500d9c1e3dd48883f1d0c |
|
30-Aug-2007 |
Kyungmin Park <kyungmin.park@samsung.com> |
[MTD] [OneNAND] Use mtd_oob_ops at oob functions 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 <kyungmin.park@samsung.com> Signed-off-by: David Woodhouse <dwmw2@infradead.org>
/drivers/mtd/onenand/onenand_base.c
|
ee9745fcf214272b7cdd9d320d044cf433ee958e |
|
30-Jun-2007 |
Kyungmin Park <kyungmin.park@samsung.com> |
[MTD] [OneNAND] 2X program support 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 size Now the following chips support it. (KFXXX16Q2M) Demux: KFG2G16Q2M, KFH4G16Q2M, KFW8G16Q2M, Mux: KFM2G16Q2M, KFN4G16Q2M, And more recent chips Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: David Woodhouse <dwmw2@infradead.org>
/drivers/mtd/onenand/onenand_base.c
|
59c51591a0ac7568824f541f57de967e88adaa07 |
|
09-May-2007 |
Michael Opdenacker <michael@free-electrons.com> |
Fix occurrences of "the the " Signed-off-by: Michael Opdenacker <michael@free-electrons.com> Signed-off-by: Adrian Bunk <bunk@stusta.de>
/drivers/mtd/onenand/onenand_base.c
|
c36c46d53b2f95bfcbe992cfb541a78ab92310a4 |
|
23-Mar-2007 |
Adrian Hunter <ext-adrian.hunter@nokia.com> |
[MTD] [OneNAND] Exit loop only when column start with 0 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 <ext-adrian.hunter@nokia.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: David Woodhouse <dwmw2@infradead.org>
/drivers/mtd/onenand/onenand_base.c
|
ad286343665cad2135792bcf53117d8344f64b03 |
|
23-Mar-2007 |
Kyungmin Park <kyungmin.park@samsung.com> |
[MTD] [OneNAND] Fix access the past of the real oobfree array Here it's not the case: all the entries are occupied by OOB chunks. Therefore, once we get into a loop like for (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 <kyungmin.park@samsung.com> Signed-off-by: David Woodhouse <dwmw2@infradead.org>
/drivers/mtd/onenand/onenand_base.c
|
470bc844361b238bcbe6a07ba47d51fca25f2742 |
|
09-Mar-2007 |
Kyungmin Park <kyungmin.park@samsung.com> |
[MTD] [OneNAND] Classify the page data and oob buffer Classify the page data and oob buffer and it prevents the memory fragementation (writesize + oobsize) Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: David Woodhouse <dwmw2@infradead.org>
/drivers/mtd/onenand/onenand_base.c
|
5bc399e9ef430efd5725b66aa2ad7ad2d81e372b |
|
09-Mar-2007 |
Kyungmin Park <kyungmin.park@samsung.com> |
[MTD] [OneNAND] Exit the loop when transferring/filling of the oob is finished When transferring/filling of the oob is finished in OOB_AUTO, we exit the loop Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: David Woodhouse <dwmw2@infradead.org>
/drivers/mtd/onenand/onenand_base.c
|
81280d5879761f90b3a341d52371d03998730d8e |
|
15-Feb-2007 |
Adrian Hunter <ext-adrian.hunter@nokia.com> |
[MTD] [OneNAND] add Nokia Copyright and a credit add Nokia Copyright and a credit Signed-off-by: Adrian Hunter <ext-adrian.hunter@nokia.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: David Woodhouse <dwmw2@infradead.org>
/drivers/mtd/onenand/onenand_base.c
|
e3da8067b3ef16943c02b64baa84dacca1e423be |
|
15-Feb-2007 |
Kyungmin Park <kyungmin.park@samsung.com> |
[MTD] [OneNAND] Fix typo & wrong comments Fix typo & wrong comments Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: David Woodhouse <dwmw2@infradead.org>
/drivers/mtd/onenand/onenand_base.c
|
91014e9bfaaac32ab46ab46251d774468891bafe |
|
12-Feb-2007 |
Kyungmin Park <kyungmin.park@samsung.com> |
[MTD] [OneNAND] Use oob buffer instead of main one in oob functions In oob functions, it is used main buffer instead of oob one. So fix it. Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: David Woodhouse <dwmw2@infradead.org>
/drivers/mtd/onenand/onenand_base.c
|
1f92267c51a514f35ad5b0fd46cb099c0980b679 |
|
06-Mar-2007 |
Vitaly Wool <vwool@ru.mvista.com> |
[MTD] [NAND] make oobavail public During the MTD rework the oobavail parameter of mtd_info structure has become private. This is not quite correct in terms of integrity and logic. If we have means to write to OOB area, then we'd like to know upfront how many bytes out of OOB are spare per page to be able to adapt to specific cases. The patch inlined adds the public oobavail parameter. Signed-off-by: Vitaly Wool <vwool@ru.mvista.com> Signed-off-by: David Woodhouse <dwmw2@infradead.org>
/drivers/mtd/onenand/onenand_base.c
|
5785bdd6fca4e117c9891c377347ff1a987abb1b |
|
18-Feb-2007 |
Andrew Morton <akpm@linux-foundation.org> |
[MTD] [ONENAND] onenand_base warning fix drivers/mtd/onenand/onenand_base.c: In function 'onenand_bbt_read_oob': drivers/mtd/onenand/onenand_base.c:1033: warning: format '%i' expects type 'int', but argument 3 has type 'size_t' Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: David Woodhouse <dwmw2@infradead.org>
/drivers/mtd/onenand/onenand_base.c
|
64f60710568db5cec1a76c1d1e261b239f9ef809 |
|
30-Jan-2007 |
Artem Bityutskiy <Artem.Bityutskiy@nokia.com> |
[MTD] remove unused ecctype,eccsize fields from struct mtd_info Remove unused and broken mtd->ecctype and mtd->eccsize fields from struct mtd_info. Do not remove them from userspace API data structures (don't want to breake userspace) but mark them as obsolete by a comment. Any userspace program which uses them should be half-broken anyway, so this is more about saving data structure size. Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com> Signed-off-by: David Woodhouse <dwmw2@infradead.org>
/drivers/mtd/onenand/onenand_base.c
|
480b9dfb1fbeb783d4c0061df7868c39af91afec |
|
07-Feb-2007 |
Adrian Hunter <ext-adrian.hunter@nokia.com> |
[MTD] OneNAND: Invalidate bufferRAM after erase OneNAND has internal bufferRAMs. The driver keeps track of what is in the bufferRAM to save having to load from the NAND core. After an erase operation, the driver must mark bufferRAM invalid if it refers to the erased block. Signed-off-by: Adrian Hunter <ext-adrian.hunter@nokia.com> Signed-off-by: David Woodhouse <dwmw2@infradead.org>
/drivers/mtd/onenand/onenand_base.c
|
cde36b37d6fa5ebc8c95461a972c379185626b2c |
|
08-Feb-2007 |
Adrian Hunter <ext-adrian.hunter@nokia.com> |
[MTD] OneNAND: Select correct chip's bufferRAM for DDP OneNAND double-density package (DDP) has two chips, each with their own bufferRAM. The driver will skip loading data from the NAND core if the data can be found in a bufferRAM, however in that case, the correct chip's bufferRAM must be selected before reading from bufferRAM. Signed-off-by: Adrian Hunter <ext-adrian.hunter@nokia.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
/drivers/mtd/onenand/onenand_base.c
|
211ac75f5e867ab7a54811a514814149caca42c3 |
|
06-Feb-2007 |
Kyungmin Park <kyungmin.park@samsung.com> |
[MTD] OneNAND: Error message printing and bad block scan erros Provide the bad block scan with its own read function so that important error messages that are not from the the bad block scan, can always be printed. Signed-off-by: Adrian Hunter <ext-adrian.hunter@nokia.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
/drivers/mtd/onenand/onenand_base.c
|
81f38e11233dae671c0673bbdcea01194b75d68f |
|
07-Feb-2007 |
Adrian Hunter <ext-adrian.hunter@nokia.com> |
[MTD] OneNAND: Subpage write returned incorrect length written When a write is done, the length written is returned. When a single subpage is written the length returned should be the subpage size, however the page size was being returned. Signed-off-by: Adrian Hunter <ext-adrian.hunter@nokia.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
/drivers/mtd/onenand/onenand_base.c
|
52e4200a6da2d98c537b95f7c502ddadf96a6934 |
|
06-Feb-2007 |
Adrian Hunter <ext-adrian.hunter@nokia.com> |
[MTD] OneNAND: Do not allow oob write past end of page OneNAND can write oob to successive pages, but NAND does not do that. For compatibility, disallow OneNAND from writing past the end of the page. Signed-off-by: Adrian Hunter <ext-adrian.hunter@nokia.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
/drivers/mtd/onenand/onenand_base.c
|
5b4246f1b089746703287fdf422cf15c6d6eff05 |
|
02-Feb-2007 |
Kyungmin Park <kyungmin.park@samsung.com> |
[MTD] OneNAND: Fix typo and remove unnecessary goto statement In previos patch, there's typo so fix it Remove unnecessary goto statement Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
/drivers/mtd/onenand/onenand_base.c
|
abf3c0f23df6686a984efc8fae7277fcdaffaa32 |
|
02-Feb-2007 |
Kyungmin Park <kyungmin.park@samsung.com> |
[MTD] OneNAND: Reduce internal BufferRAM operations It use blockpage instead of a pair (block, page). It can also cover a small chunk access. 0x00, 0x20, 0x40 and so on. And in JFFS2 behavior, sometimes it reads two pages alternatively. e.g., It first reads A page, B page and A page. So we check another bufferram to find requested page. Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
/drivers/mtd/onenand/onenand_base.c
|
4f4fad27aceb87621d40f3068b94b5b11fc0127b |
|
02-Feb-2007 |
Kyungmin Park <kyungmin.park@samsung.com> |
[MTD] OneNAND: Remove line of code that was meant to be deleted in OOB_AUTO - Iterations of the patch to add oob auto-placement support to OneNAND left a line of code that was meant to have been deleted. - read mtd->oobsize in onenand_transfer_auto_oob to optimized memcpy Signed-off-by: Adrian Hunter <ext-adrian.hunter@nokia.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
/drivers/mtd/onenand/onenand_base.c
|
a5e7c7b447270d42c3eb4d2259f74019aca9d007 |
|
31-Jan-2007 |
Adrian Hunter <ext-adrian.hunter@nokia.com> |
[MTD] OneNAND: Add support for auto-placement of out-of-band data Enable the use of oob operation mode MTD_OOB_AUTO with OneNAND. Note that MTD_OOB_RAW is still not supported. Signed-off-by: Adrian Hunter <ext-adrian.hunter@nokia.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
/drivers/mtd/onenand/onenand_base.c
|
9bfbc9b24f663b15149874a94a69ba89b3b7e44c |
|
31-Jan-2007 |
Kyungmin Park <kyungmin.park@samsung.com> |
[MTD] OneNAND: Remove unused fields - Remove unused fields - Fix typo Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
/drivers/mtd/onenand/onenand_base.c
|
8b29c0b6eb3a4952e7eae03038bbf6c1695dfe80 |
|
25-Jan-2007 |
Adrian Hunter <ext-adrian.hunter@nokia.com> |
[MTD] OneNAND: Amend write-verify to compare to original buffer When write-verify is enabled (CONFIG_MTD_ONENAND_VERIFY_WRITE), the data written is read back and compared. The comparison was being made between dataRAM buffers, but this does not verify that the data made it to the dataRAM correctly in the first place. This patch amends write-verify to compare back to the original buffer. It also now verifies sub-page writes. Signed-off-by: Adrian Hunter <ext-adrian.hunter@nokia.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
/drivers/mtd/onenand/onenand_base.c
|
f00b0046d2eafac3e78e8def9374c7492820a9d2 |
|
22-Jan-2007 |
Adrian Hunter <[ext-adrian.hunter@nokia.com]> |
[MTD] OneNAND: Free the bad block table when the device is released OneNAND does 2 memory allocations for bad block information. Only one of them was being freed. Signed-off-by: Adrian Hunter <ext-adrian.hunter@nokia.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
/drivers/mtd/onenand/onenand_base.c
|
75384b0d9c04dc2d48f45825f84a982eaf5c2f53 |
|
18-Jan-2007 |
Kyungmin Park <kyungmin.park@samsung.com> |
[MTD] OneNAND: Update copyrights and code cleanup Update copyrights and code cleanup Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
/drivers/mtd/onenand/onenand_base.c
|
738d61f53781a9b677cb472cbd740aa74e7dcd6d |
|
15-Jan-2007 |
Kyungmin Park <kyungmin.park@samsung.com> |
[MTD] OneNAND: Reduce Double Density Package (DDP) operations - DDP code clean-up - Reduce block & bufferram operations in DDP Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
/drivers/mtd/onenand/onenand_base.c
|
9d03280129e84f8cdfd83f84803a4548e3bf697d |
|
10-Jan-2007 |
Adrian Hunter <hunter.programmer@gmail.com> |
[MTD] OneNAND: Return an error if a read timeout occurs If OneNAND is operating within specification, all operations should easily be completed within the 20 millisecond timeout. This patch faithlessly adds a check for the timeout and returns an error in that case. Signed-off-by: Adrian Hunter <ext-adrian.hunter@nokia.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
/drivers/mtd/onenand/onenand_base.c
|
10b7a2bd6bf3510cbb5977a44d8822f085738729 |
|
11-Jan-2007 |
Kyungmin Park <kyungmin.park@samsung.com> |
[MTD] OneNAND: Fix unlock all status error We have to set ONENAND_REG_START_BLOCK_ADDRESS to avoid status error Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
/drivers/mtd/onenand/onenand_base.c
|
0fc2ccea4c8fa779053cb6f8984f6da399a81182 |
|
09-Jan-2007 |
Adrian Hunter <ext-adrian.hunter@nokia.com> |
[MTD] OneNAND: Handle DDP chip boundary during read-while-load The read-while-load method of reading from OneNAND needs to allow for the change of bufferRAM address at the boundary between the two chips in a double density (DDP) device. Signed-off-by: Adrian Hunter <ext-adrian.hunter@nokia.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
/drivers/mtd/onenand/onenand_base.c
|
b3c9f8bfe7ab366a5d2495ebe5d2dc6fd7368122 |
|
05-Jan-2007 |
Kyungmin Park <kyungmin.park@samsung.com> |
[MTD] OneNAND: return ecc error code only when 2-bit ecc occurs we don't need to return ecc error when 1-bit ecc. We only return error code when 2-bit ecc error Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
/drivers/mtd/onenand/onenand_base.c
|
a8de85d557004d6d4e4cf79ecd6b97339b986fe9 |
|
04-Jan-2007 |
Adrian Hunter <ext-adrian.hunter@nokia.com> |
[MTD] OneNAND: Implement read-while-load Read-while-load enables higher performance read operations. Signed-off-by: Adrian Hunter <ext-adrian.hunter@nokia.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
/drivers/mtd/onenand/onenand_base.c
|
2fd32d4af83f4535d12d3f6dd23189352a9596fa |
|
29-Dec-2006 |
Kyungmin Park <kyungmin.park@samsung.com> |
[MTD] OneNAND: fix onenand_wait bug in read ecc error Even though there is ECC error. OneNAND driver updates the buffram as valid Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
/drivers/mtd/onenand/onenand_base.c
|
61a7e1983e773b93aac172dadc97f1eb484536b4 |
|
26-Dec-2006 |
Artem Bityutskiy <Artem.Bityutskiy@nokia.com> |
[MTD] OneNAND: release CPU in cycles This patch teaches OneNAND to release processor in read/write/erase cycles and let other processes proceed. Also, remove buggi touch watchdog call which only hides the problem instead of solving it. Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
/drivers/mtd/onenand/onenand_base.c
|
60d84f9739a47d0ed8e19805d9056e39fba31c79 |
|
22-Dec-2006 |
Kyungmin Park <kyungmin.park@samsung.com> |
[MTD] OneNAND: add subpage write support OneNAND supports up to 4 writes at one NAND page. Add support of this feature. Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
/drivers/mtd/onenand/onenand_base.c
|
f62724873652ddb19edf7f92843e9456fe3be3ea |
|
22-Dec-2006 |
Kyungmin Park <kyungmin.park@samsung.com> |
[MTD] OneNAND: fix onenand_wait bug Fix onenand_wait error reporting Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
/drivers/mtd/onenand/onenand_base.c
|
66a1e421b98edaa62c7d95cc53cb381efa3fb9bf |
|
11-Dec-2006 |
Kyungmin Park <kyungmin.park@samsung.com> |
[MTD] OneNAND: fix oob handling in recent oob patch There are missing place in recent MTD oob patch http://git.infradead.org/?p=mtd-2.6.git;a=commitdiff;h=7014568bad55c20b7ee4f439d78c9e875912d51f Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: David Woodhouse <dwmw2@infradead.org>
/drivers/mtd/onenand/onenand_base.c
|
c9ac5977299dd106ddb759e7e10035770dff185b |
|
30-Nov-2006 |
David Woodhouse <dwmw2@infradead.org> |
[MTD] Remove trailing whitespace The newly-added cafe_ecc.c had a lot of it because of the way the lookup table was auto-generated; clean up the other files too while we're at it. Signed-off-by: David Woodhouse <dwmw2@infradead.org>
/drivers/mtd/onenand/onenand_base.c
|
f4f91ac3c833abbd7181ff2122c6b48a653b4e55 |
|
15-Nov-2006 |
Kyungmin Park <kyungmin.park@samsung.com> |
[MTD] OneNAND: Single bit error detection Idea from Jarkko Lavinen Signed-off-by: Jarkko Lavinen <jarkko.lavinen@nokia.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
/drivers/mtd/onenand/onenand_base.c
|
08f782b60a633cbd926ef5e49de303a752390719 |
|
16-Nov-2006 |
Kyungmin Park <kyungmin.park@samsung.com> |
[MTD] OneNAND: lock support Now you can use mtd lock inferface on OneNAND The idea is from Nemakal, Vijaya, thanks Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
/drivers/mtd/onenand/onenand_base.c
|
2c22120fbd017d78ad2b6825ba573db3ef539bca |
|
16-Nov-2006 |
Kyungmin Park <kyungmin.park@samsung.com> |
MTD: OneNAND: interrupt based wait support We can use the two methods to wait. 1. polling: read interrupt status register 2. interrupt: use kernel ineterrupt mechanism To use interrupt method, you first connect onenand interrupt pin to your platform and configure interrupt properly Signed-off-by: Kyungmin Park <kyungmin.park at samsung.com>
/drivers/mtd/onenand/onenand_base.c
|
28b79ff9661b22e4c41c0d00d4ab8503e810f13d |
|
26-Sep-2006 |
Kyungmin Park <kyungmin.park@samsung.com> |
[MTD ONENAND] Check OneNAND lock scheme & all block unlock command support OneNAND lock scheme depends on density and process of chip. Some OneNAND chips support all block unlock Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: David Woodhouse <dwmw2@infradead.org>
/drivers/mtd/onenand/onenand_base.c
|
47e777e02e7b21eaa4686a70069c9583c126aea8 |
|
26-Sep-2006 |
Kyungmin Park <kyungmin.park@samsung.com> |
[MTD ONENAND] Fix OneNAND probe - fix OneNAND probe whether OneNAND Sync. Burst read mode or not - fix OneNAND reset wait problem Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: David Woodhouse <dwmw2@infradead.org>
/drivers/mtd/onenand/onenand_base.c
|
8593fbc68b0df1168995de76d1af38eb62fd6b62 |
|
29-May-2006 |
Thomas Gleixner <tglx@cruncher.tec.linutronix.de> |
[MTD] Rework the out of band handling completely Hopefully the last iteration on this! The handling of out of band data on NAND was accompanied by tons of fruitless discussions and halfarsed patches to make it work for a particular problem. Sufficiently annoyed by I all those "I know it better" mails and the resonable amount of discarded "it solves my problem" patches, I finally decided to go for the big rework. After removing the _ecc variants of mtd read/write functions the solution to satisfy the various requirements was to refactor the read/write _oob functions in mtd. The major change is that read/write_oob now takes a pointer to an operation descriptor structure "struct mtd_oob_ops".instead of having a function with at least seven arguments. read/write_oob which should probably renamed to a more descriptive name, can do the following tasks: - read/write out of band data - read/write data content and out of band data - read/write raw data content and out of band data (ecc disabled) struct mtd_oob_ops has a mode field, which determines the oob handling mode. Aside of the MTD_OOB_RAW mode, which is intended to be especially for diagnostic purposes and some internal functions e.g. bad block table creation, the other two modes are for mtd clients: MTD_OOB_PLACE puts/gets the given oob data exactly to/from the place which is described by the ooboffs and ooblen fields of the mtd_oob_ops strcuture. It's up to the caller to make sure that the byte positions are not used by the ECC placement algorithms. MTD_OOB_AUTO puts/gets the given oob data automaticaly to/from the places in the out of band area which are described by the oobfree tuples in the ecclayout data structre which is associated to the devicee. The decision whether data plus oob or oob only handling is done depends on the setting of the datbuf member of the data structure. When datbuf == NULL then the internal read/write_oob functions are selected, otherwise the read/write data routines are invoked. Tested on a few platforms with all variants. Please be aware of possible regressions for your particular device / application scenario Disclaimer: Any whining will be ignored from those who just contributed "hot air blurb" and never sat down to tackle the underlying problem of the mess in the NAND driver grown over time and the big chunk of work to fix up the existing users. The problem was not the holiness of the existing MTD interfaces. The problems was the lack of time to go for the big overhaul. It's easy to add more mess to the existing one, but it takes alot of effort to go for a real solution. Improvements and bugfixes are welcome! Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
/drivers/mtd/onenand/onenand_base.c
|
5bd34c091a044d130601370c370f84b1c59f1627 |
|
27-May-2006 |
Thomas Gleixner <tglx@cruncher.tec.linutronix.de> |
[MTD] NAND Replace oobinfo by ecclayout The nand_oobinfo structure is not fitting the newer error correction demands anymore. Replace it by struct nand_ecclayout and fixup the users all over the place. Keep the nand_oobinfo based ioctl for user space compability reasons. Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
/drivers/mtd/onenand/onenand_base.c
|
ff268fb8791cf18df536113355d7184007c269d9 |
|
27-May-2006 |
Thomas Gleixner <tglx@cruncher.tec.linutronix.de> |
[MTD] NAND Consolidate oobinfo handling The info structure for out of band data was copied into the mtd structure. Make it a pointer and remove the ability to set it from userspace. The position of ecc bytes is defined by the hardware and should not be changed by software. Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
/drivers/mtd/onenand/onenand_base.c
|
9223a456da8ed357bf7e0b128c853e2c8bd54614 |
|
23-May-2006 |
Thomas Gleixner <tglx@cruncher.tec.linutronix.de> |
[MTD] Remove read/write _ecc variants MTD clients are agnostic of FLASH which needs ECC suppport. Remove the functions and fixup the callers. Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
/drivers/mtd/onenand/onenand_base.c
|
2528e8cdf376d7da24647c442ec1e88c360d76ca |
|
23-May-2006 |
Thomas Gleixner <tglx@cruncher.tec.linutronix.de> |
[MTD] Remove readv/readv_ecc These functions were never implemented and added only bloat to partition and concat code. Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
/drivers/mtd/onenand/onenand_base.c
|
9d8522df37f91621a70c5c0dbbf5bf2220b16798 |
|
23-May-2006 |
Thomas Gleixner <tglx@cruncher.tec.linutronix.de> |
[MTD] Remove nand writev support NAND writev(_ecc) support is not longer necessary. Remove it. Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
/drivers/mtd/onenand/onenand_base.c
|
5fa433942ba4e399f7e28764c9db4ade89e91d40 |
|
22-May-2006 |
Joern Engel <joern@wh.fh-wedel.de> |
[MTD] Introduce MTD_BIT_WRITEABLE o Add a flag MTD_BIT_WRITEABLE for devices that allow single bits to be cleared. o Replace MTD_PROGRAM_REGIONS with a cleared MTD_BIT_WRITEABLE flag for STMicro and Intel Sibley flashes with internal ECC. Those flashes disallow clearing of single bits, unlike regular NOR flashes, so the new flag models their behaviour better. o Remove MTD_ECC. After the STMicro/Sibley merge, this flag is only set and never checked. Signed-off-by: Joern Engel <joern@wh.fh-wedel.de>
/drivers/mtd/onenand/onenand_base.c
|
28318776a80bc3261f9af91ef79e6e38bb9f5bec |
|
22-May-2006 |
Joern Engel <joern@wh.fh-wedel.de> |
[MTD] Introduce writesize At least two flashes exists that have the concept of a minimum write unit, similar to NAND pages, but no other NAND characteristics. Therefore, rename the minimum write unit to "writesize" for all flashes, including NAND. Signed-off-by: Joern Engel <joern@wh.fh-wedel.de>
/drivers/mtd/onenand/onenand_base.c
|
752870707f2818b5f0d94ca05e46cb0ffee6cbf9 |
|
12-May-2006 |
Kyungmin Park <kyungmin.park@samsung.com> |
OneNAND: fix block command typo We need to check block cmd only instead with comparing with cmd Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
/drivers/mtd/onenand/onenand_base.c
|
493c646077ef0b8668ed71b8057f81cb7454af87 |
|
12-May-2006 |
Kyungmin Park <kyungmin.park@samsung.com> |
OneNAND: One-Time Programmable (OTP) support One Block of the NAND Flash Array memory is reserved as a One-Time Programmable Block memory area. Also, 1st Block of NAND Flash Array can be used as OTP. The OTP block can be read, programmed and locked using the same operations as any other NAND Flash Array memory block. OTP block cannot be erased. OTP block is fully-guaranteed to be a valid block. Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
/drivers/mtd/onenand/onenand_base.c
|
3cecf69ecde22199699c4f0e609dfed2a487b674 |
|
12-May-2006 |
Kyungmin Park <kyungmin.park@samsung.com> |
OneNAND: Handle erase correctly in Double Density Package (DDP) There's erase bug in DDP. We need to add DDP select in erase Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
/drivers/mtd/onenand/onenand_base.c
|
34c1060959b61a5bb2e97a88411446028cebfa7c |
|
12-May-2006 |
Kyungmin Park <kyungmin.park@samsung.com> |
OneNAND: Write oob area with aligned size, mtd->oobsize There's some problem with write oob in serveral platform. So we write oob with oobsize aligned (16bytes) instead of 3 bytes (from {2, 3}) Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
/drivers/mtd/onenand/onenand_base.c
|
8e6ec69059ba0eecbb2226d3d9e45c6efe6fb82b |
|
12-May-2006 |
Kyungmin Park <kyungmin.park@samsung.com> |
OneNAND: Add write_oob verify function Signed-off-by: Jarkko Lavinen <jarkko.lavinen@nokia.com>
/drivers/mtd/onenand/onenand_base.c
|
d9777f1c42bffff0d21cd029a2415776aa874e96 |
|
12-May-2006 |
Jarkko Lavinen <jarkko.lavinen@nokia.com> |
OneNand: Fix free byte positions. Some free byte positions at onenand_oob_64 were wrong. This was also reported by Christian Lehne. 3 byte slots are at 2+16*i and 2 byte slots at 14+16*i. Signed-off-by: Jarkko Lavinen <jarkko.lavinen@nokia.com>
/drivers/mtd/onenand/onenand_base.c
|
9c01f87db183403a4f603fe5180c57b82b54b4a1 |
|
12-May-2006 |
Kyungmin Park <kyungmin.park@samsung.com> |
OneNAND: handle byte access on BufferRAM Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
/drivers/mtd/onenand/onenand_base.c
|
628bee6593107c466e28462f58c5fd5cd4163c7c |
|
12-May-2006 |
Kyungmin Park <kyungmin.park@samsung.com> |
OneNAND: Add touch_softlock_watchdog() Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
/drivers/mtd/onenand/onenand_base.c
|
532a37cf8d05dd1aa5631be836036204b0d2b4a1 |
|
16-Dec-2005 |
Kyungmin Park <kyungmin.park@samsung.com> |
[PATCH] mtd onenand driver: reduce stack usage Signed-off-by: Linus Torvalds <torvalds@osdl.org>
/drivers/mtd/onenand/onenand_base.c
|
20ba89a3614bbc5d111fd74375e14c577859b2a3 |
|
16-Dec-2005 |
Kyungmin Park <kyungmin.park@samsung.com> |
[PATCH] mtd onenand driver: fix unlock problem in DDP
/drivers/mtd/onenand/onenand_base.c
|
37b1cc3910f7976369fc0ed55068a686e92555e6 |
|
16-Dec-2005 |
Kyungmin Park <kyungmin.park@samsung.com> |
[PATCH] mtd onenand driver: check correct manufacturer This (and the three subsequent patches) is working well on OMAP H4 with 2.6.15-rc4 kernel and passes the LTP fs test. Signed-off-by: Linus Torvalds <torvalds@osdl.org>
/drivers/mtd/onenand/onenand_base.c
|
015953d706b1b7ad61c37fe329042828a0f3b0f6 |
|
09-Nov-2005 |
Andrew Morton <akpm@osdl.org> |
[PATCH] mtd: onenand_base needs sched.h drivers/mtd/onenand/onenand_base.c: In function `onenand_wait': drivers/mtd/onenand/onenand_base.c:293: error: `jiffies' undeclared (first use in this function) drivers/mtd/onenand/onenand_base.c:293: error: (Each undeclared identifier is reported only once drivers/mtd/onenand/onenand_base.c:293: error: for each function it appears in.) drivers/mtd/onenand/onenand_base.c:293: error: implicit declaration of function `msecs_to_jiffies' drivers/mtd/onenand/onenand_base.c:294: error: implicit declaration of function `time_before' drivers/mtd/onenand/onenand_base.c:301: error: implicit declaration of function `cond_resched' drivers/mtd/onenand/onenand_base.c: In function `onenand_get_device': drivers/mtd/onenand/onenand_base.c:522: error: implicit declaration of function `set_current_state' drivers/mtd/onenand/onenand_base.c:522: error: `TASK_UNINTERRUPTIBLE' undeclared (first use in this function) drivers/mtd/onenand/onenand_base.c:525: error: implicit declaration of function `schedule' drivers/mtd/onenand/onenand_base.c: In function `onenand_release_device': drivers/mtd/onenand/onenand_base.c:545: error: `TASK_UNINTERRUPTIBLE' undeclared (first use in this function) drivers/mtd/onenand/onenand_base.c:545: error: `TASK_INTERRUPTIBLE' undeclared (first use in this function) Cc: Thomas Gleixner <tglx@linutronix.de> Cc: David Woodhouse <dwmw2@infradead.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
/drivers/mtd/onenand/onenand_base.c
|
d5c5e78af5cbcaeb7cad5a3c0117de593e5f4824 |
|
07-Nov-2005 |
Thomas Gleixner <tglx@linutronix.de> |
[MTD] OneNAND: Clean up trailing white spaces Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
/drivers/mtd/onenand/onenand_base.c
|
83a368380e172c1b2e9fd6ec2a62e457684adf0c |
|
29-Sep-2005 |
Kyungmin Park <kyungmin.park@samsung.com> |
[MTD] OneNAND: Enhanced support for DDP (Dual Densitiy Packages) Add density mask for better support of DDP chips. Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
/drivers/mtd/onenand/onenand_base.c
|
a41371eb6d9b368e53867cd85156f07371e9f72f |
|
29-Sep-2005 |
Kyungmin Park <kyungmin.park@samsung.com> |
[MTD] OneNAND: Power Management (PM) support Add suspend/resume Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
/drivers/mtd/onenand/onenand_base.c
|
d36d63d404b75ddf231da0dbd3640e6d1722b4ab |
|
03-Sep-2005 |
Kyungmin Park <kyungmin.park@samsung.com> |
[PATCH] OneNAND: Fix bug in write verify - Remove unused block, page parameters - Add constant instead of runtime value Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
/drivers/mtd/onenand/onenand_base.c
|
cdc001305da4f057353911018e28f26f8f879061 |
|
03-Sep-2005 |
Kyungmin Park <kyungmin.park@samsung.com> |
[PATCH] OneNAND: Simple Bad Block handling support Based on NAND memory bad block table code Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
/drivers/mtd/onenand/onenand_base.c
|
52b0eea73de05df33c51ca652e288a3ba1bba03b |
|
03-Sep-2005 |
Kyungmin Park <kyungmin.park@samsung.com> |
[PATCH] OneNAND: Sync. Burst Read support Add OneNAND Sync. Burst Read support Tested with OMAP platform Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
/drivers/mtd/onenand/onenand_base.c
|
cd5f6346bc28a41375412b49b290d22ee4e4bbe8 |
|
11-Jul-2005 |
Kyungmin Park <kyungmin.park@samsung.com> |
[MTD] Add initial support for OneNAND flash chips OneNAND is a new flash technology from Samsung with integrated SRAM buffers and logic interface. Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
/drivers/mtd/onenand/onenand_base.c
|