- 11 3月, 2011 1 次提交
-
-
由 Joakim Tjernlund 提交于
As inval_cache_and_wait_for_operation() drop and reclaim the lock to invalidate the cache, some other thread may suspend the operation before reaching the for(;;) loop. Therefore the loop must start with checking the chip->state before reading status from the chip. Signed-off-by: NJoakim Tjernlund <Joakim.Tjernlund@transmode.se> Acked-by: NMichael Cashwell <mboards@prograde.net> Acked-by: NStefan Bigler <stefan.bigler@keymile.com> Signed-off-by: NArtem Bityutskiy <Artem.Bityutskiy@nokia.com> Signed-off-by: NDavid Woodhouse <David.Woodhouse@intel.com> Cc: stable@kernel.org
-
- 06 1月, 2011 1 次提交
-
-
由 Anatolij Gustschin 提交于
Initialize mtd->writebufsize to the value obtained by CFI query command at probe time. Signed-off-by: NAnatolij Gustschin <agust@denx.de> Signed-off-by: NArtem Bityutskiy <Artem.Bityutskiy@nokia.com> Signed-off-by: NDavid Woodhouse <David.Woodhouse@intel.com>
-
- 04 12月, 2010 1 次提交
-
-
由 Guillaume LECERF 提交于
The 'param' parameter has never been used since its introduction, so simply remove it. Signed-off-by: NGuillaume LECERF <glecerf@gmail.com> Signed-off-by: NArtem Bityutskiy <Artem.Bityutskiy@nokia.com> Signed-off-by: NDavid Woodhouse <David.Woodhouse@intel.com>
-
- 26 10月, 2010 1 次提交
-
-
由 Guillaume LECERF 提交于
Signed-off-by: NGuillaume LECERF <glecerf@gmail.com> Signed-off-by: NDavid Woodhouse <David.Woodhouse@intel.com>
-
- 09 8月, 2010 1 次提交
-
-
由 David Woodhouse 提交于
Signed-off-by: NDavid Woodhouse <David.Woodhouse@intel.com>
-
- 06 8月, 2010 1 次提交
-
-
由 Stefani Seibold 提交于
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: NStefani Seibold <stefani@seibold.net> Signed-off-by: NArtem Bityutskiy <Artem.Bityutskiy@nokia.com> Signed-off-by: NDavid Woodhouse <David.Woodhouse@intel.com>
-
- 02 8月, 2010 1 次提交
-
-
由 Richard Cochran 提交于
This patchs adds a way for user space programs to find out whether a flash sector is locked. An optional driver method in the mtd_info struct provides the information. Signed-off-by: NRichard Cochran <richard.cochran@omicron.at> Signed-off-by: NArtem Bityutskiy <Artem.Bityutskiy@nokia.com> Signed-off-by: NDavid Woodhouse <David.Woodhouse@intel.com>
-
- 10 5月, 2010 1 次提交
-
-
由 Stefani Seibold 提交于
The use of a memcpy() during a spinlock operation will cause very long thread context switch delays if the flash chip bandwidth is low and the data to be copied large, because a spinlock will disable preemption. For example: A flash with 6,5 MB/s bandwidth will cause under ubifs, which request sometimes 128 KiB (the flash erase size), a preemption delay of 20 milliseconds. High priority threads will not be served during this time, regardless whether this threads access the flash or not. This behavior breaks real time. The patch changes all the use of spin_lock operations for xxxx->mutex into mutex operations, which is exact what the name says and means. I have checked the code of the drivers and there is no use of atomic pathes like interrupt or timers. The mtdoops facility will also not be used by this drivers. So it is dave to replace the spin_lock against mutex. There is no performance regression since the mutex is normally not acquired. Changelog: 06.03.2010 First release 26.03.2010 Fix mutex[1] issue and tested it for compile failure Signed-off-by: NStefani Seibold <stefani@seibold.net> Signed-off-by: NArtem Bityutskiy <Artem.Bityutskiy@nokia.com> Signed-off-by: NDavid Woodhouse <David.Woodhouse@intel.com>
-
- 25 2月, 2010 1 次提交
-
-
由 Jiri Slaby 提交于
In cfi_intelext_setup and cfi_amdstd_setup, mtd is never NULL. Remove unnecessary checks. Signed-off-by: NJiri Slaby <jslaby@suse.cz> Signed-off-by: NArtem Bityutskiy <Artem.Bityutskiy@nokia.com> Signed-off-by: NDavid Woodhouse <David.Woodhouse@intel.com>
-
- 30 11月, 2009 3 次提交
-
-
由 Hans-Christian Egtvedt 提交于
This patch moves the MANUFACTURER_ST and MANUFACTURER_INTEL to the include/linux/mtd/cfi.h header file and renames them to CFI_MFR_ST and CFI_MFR_INTEL. CFI_MFR_ST was already present there. All references in drivers/mtd/chips/cfi_cmdset_0001.c are updated to reflect this. Signed-off-by: NHans-Christian Egtvedt <hans-christian.egtvedt@atmel.com> Acked-by: NNicolas Pitre <nico@fluxnic.net> Signed-off-by: NArtem Bityutskiy <Artem.Bityutskiy@nokia.com> Signed-off-by: NDavid Woodhouse <David.Woodhouse@intel.com>
-
由 Hans-Christian Egtvedt 提交于
This patch sets the MTD_POWERUP_LOCK flag for AT49BV640D and AT49BV640DT devices, since the devices are locked when powered up and needs to be unlocked before interfaced. Quote datasheet; "At power-up and reset, all sectors have their Softlock protection mode enabled.". Tested on AVR32 hardware platform with an AT49BV640D flash device. Signed-off-by: NHans-Christian Egtvedt <hans-christian.egtvedt@atmel.com> Acked-by: NNicolas Pitre <nico@fluxnic.net> Signed-off-by: NArtem Bityutskiy <Artem.Bityutskiy@nokia.com> Signed-off-by: NDavid Woodhouse <David.Woodhouse@intel.com>
-
由 Nicolas Pitre 提交于
Signed-off-by: NNicolas Pitre <nico@fluxnic.net> Signed-off-by: NArtem Bityutskiy <Artem.Bityutskiy@nokia.com> Signed-off-by: NDavid Woodhouse <David.Woodhouse@intel.com>
-
- 16 9月, 2009 1 次提交
-
-
由 Nicolas Pitre 提交于
Due to problems at cam.org, my nico@cam.org email address is no longer valid. FRom now on, nico@fluxnic.net should be used instead. Signed-off-by: NNicolas Pitre <nico@fluxnic.net> Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
-
- 06 6月, 2009 2 次提交
-
-
由 Daniel Ribeiro 提交于
This patch allows otpinfo for CFI >= 1.0 and burst read for CFI >= 1.1. references: 1.0: http://www.datasheetcatalog.org/datasheets2/81/816884_1.pdf 1.1: http://milkymist.org/doc/MT28F640J3.pdf http://www.delorie.com/agenda/specs/29066709.pdfSigned-off-by: NDaniel Ribeiro <drwyrm@gmail.com> Acked-by: NNicolas Pitre <nico@cam.org> Signed-off-by: NArtem Bityutskiy <Artem.Bityutskiy@nokia.com> Signed-off-by: NDavid Woodhouse <David.Woodhouse@intel.com>
-
由 Daniel Ribeiro 提交于
This chip reports CFI 1.3, but the CFI PRI is like CFI 1.1. Add a quirk to pass probe on this chip. This patch depends on "MTD: CFI 1.0 and CFI 1.1" Signed-off-by: NDaniel Ribeiro <drwyrm@gmail.com> Acked-by: NNicolas Pitre <nico@cam.org> Signed-off-by: NArtem Bityutskiy <Artem.Bityutskiy@nokia.com> Signed-off-by: NDavid Woodhouse <David.Woodhouse@intel.com>
-
- 21 3月, 2009 1 次提交
-
-
由 Graff Yang 提交于
If the inval_cache_and_wait_for_operation() is re-entered by write operation when erase operation is in progress, the chip->erase_suspended will be cleared, this cause the erase timeo is not reset and will result time out error for erase. Signed-off-by: NGraff Yang <graff.yang@gmail.com> Signed-off-by: NDavid Woodhouse <David.Woodhouse@intel.com>
-
- 10 12月, 2008 1 次提交
-
-
由 Adrian Hunter 提交于
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: NAdrian Hunter <ext-adrian.hunter@nokia.com> Signed-off-by: NArtem Bityutskiy <Artem.Bityutskiy@nokia.com> Signed-off-by: NDavid Woodhouse <David.Woodhouse@intel.com>
-
- 27 9月, 2008 1 次提交
-
-
由 Alexander Belyakov 提交于
The patch fixes CFI issue with multipartitional devices leading to the set of errors or even deadlock. The problem is CFI FL_SYNCING state race with flash operations (e.g. erase suspend). It is reproduced by running intensive writes on one JFFS2 partition and simultaneously performing mount/unmount cycle on another partition of the same chip. Signed-off-by: NAlexander Belyakov <abelyako@googlemail.com> Acked-by: NNicolas Pitre <nico@cam.org> Signed-off-by: NDavid Woodhouse <David.Woodhouse@intel.com>
-
- 06 8月, 2008 1 次提交
-
-
由 Anders Grafström 提交于
Timeouts are currently given by the typical operation time times 8. It works in the general well-behaved case but not when an erase block is failing. For erase operations, it seems that a failing erase block will keep the device state machine in erasing state until the vendor specified maximum timeout period has passed. By this time the driver would have long since timed out, left erasing state and attempted further operations which all fail. This patch implements timeouts using values from the CFI Query structure when available. The patch also sets a longer timeout for locking operations. The current value used for locking/unlocking given by 1000000/HZ microseconds is too short for devices like J3 and J5 Strataflash which have a typical clear lock-bits time of 0.5 seconds. Signed-off-by: NAnders Grafström <grfstrm@users.sourceforge.net> Signed-off-by: NDavid Woodhouse <David.Woodhouse@intel.com>
-
- 03 8月, 2008 1 次提交
-
-
由 Julia Lawall 提交于
The kernel.h macro DIV_ROUND_UP performs the computation (((n) + (d) - 1) / (d)) but is perhaps more readable. Signed-off-by: NJulia Lawall <julia@diku.dk> Signed-off-by: NDavid Woodhouse <David.Woodhouse@intel.com>
-
- 25 7月, 2008 1 次提交
-
-
由 Alexey Korolev 提交于
Existing CFI driver has problems with excessive writes during erase. If CFI driver does many writes during one erase cycle we may face the messages with -ETIMEO error on erase operation. It may cause the following data corruption and kernel panics. The reason of the issue is related to specifics of suspend operation: if we write to flash during erase, suspend operation will cost some time to erase procedure (for P30 it could be significant). In current version of cfi driver the problem of many suspends is partially workarounded by adding some time reserv to any operation (8xerase_time) but if we have many writes during one erase the problem appears. This patch detects the suspend and resets timer if suspend occured. It has been well verified on different chips. No problems were found. Could you please include the patch as it is simple and fixes bad issue. Signed-off-by: NAlexey Korolev <akorolev@infradead.org> Signed-off-by: NDavid Woodhouse <David.Woodhouse@intel.com>
-
- 05 6月, 2008 1 次提交
-
-
由 Adrian Bunk 提交于
Once upon a time, the MTD repository was using CVS. This patch therefore removes all usages of the no longer updated CVS keywords from the MTD code. This also includes code that printed them to the user. Signed-off-by: NAdrian Bunk <bunk@kernel.org> Signed-off-by: NDavid Woodhouse <dwmw2@infradead.org>
-
- 14 5月, 2008 1 次提交
-
-
由 Nate Case 提交于
Add support for M50FLW080A and M50FLW080B revisions of LPC flash devices. Signed-off-by: NAaron Lindner <alindner@xes-inc.com> Signed-off-by: NNate Case <ncase@xes-inc.com> Signed-off-by: NDavid Woodhouse <dwmw2@infradead.org>
-
- 06 5月, 2008 1 次提交
-
-
由 Alexander Belyakov 提交于
Fix typo in erase suspend while write fixup code leading to compile time error if CMDSET0001_DISABLE_ERASE_SUSPEND_ON_WRITE was defined. drivers/mtd/chips/cfi_cmdset_0001.c: In function 'fixup_intel_strataflash': drivers/mtd/chips/cfi_cmdset_0001.c:212: error: 'struct cfi_pri_amdstd' has no member named 'SuspendCmdSupport' Signed-off-by: NAlexander Belyakov <abelyako@googlemail.com> Signed-off-by: NDavid Woodhouse <dwmw2@infradead.org>
-
- 02 5月, 2008 1 次提交
-
-
由 Jared Hulbert 提交于
Adding the ability to get a physical address from point() in addition to virtual address. This physical address is required for XIP of userspace code from flash. Signed-off-by: NJared Hulbert <jaredeh@gmail.com> Reviewed-by: NJörn Engel <joern@logfs.org> Acked-by: NNicolas Pitre <nico@cam.org> Acked-by: NGreg Ungerer <gerg@uclinux.org> Signed-off-by: NDavid Woodhouse <dwmw2@infradead.org>
-
- 23 4月, 2008 2 次提交
-
-
由 Thomas Kunze 提交于
collie seems to contain LH28F640BF flash chips. According to http://sharp-world.com/products/device/flash/pdf/*FUM00701*@E.pdf (page 83) if they have 0x51 of Extended Query Table (number of hardware partitions) set to zero, they have a single fixed partition. This patch makes those chips work. Signed-off-by: NThomas Kunze <thommycheck@gmx.de> Signed-off-by: NDavid Woodhouse <dwmw2@infradead.org>
-
由 Paulius Zaleckas 提交于
Untested, but shouldn't break anything... Makes MTD_XIP arch independent. I guess this is why xip_iprefetch() was made for. Signed-off-by: NPaulius Zaleckas <paulius.zaleckas@teltonika.lt> Acked-by: NNicolas Pitre <nico@cam.org> Signed-off-by: NDavid Woodhouse <dwmw2@infradead.org>
-
- 22 4月, 2008 1 次提交
-
-
由 Harvey Harrison 提交于
__FUNCTION__ is gcc-specific, use __func__ Signed-off-by: NHarvey Harrison <harvey.harrison@gmail.com> Signed-off-by: NAndrew Morton <akpm@linux-foundation.org> Signed-off-by: NDavid Woodhouse <dwmw2@infradead.org>
-
- 05 4月, 2008 1 次提交
-
-
由 Alexey Korolev 提交于
THe CFI driver in 2.6.24 kernel is broken. Not so intensive read/write operations cause incomplete writes which lead to kernel panics in JFFS2. We investigated the issue - it is caused by bug in FL_SHUTDOWN parsing code. Sometimes chip returns -EIO as if it is in FL_SHUTDOWN state when it should wait in FL_PONT (error in order of conditions). The following patch fixes the bug in state parsing code of CFI. Also I've added comments to notify developers if they want to add new case in future. Signed-off-by: NAlexey Korolev <akorolev@infradead.org> Reviewed-by: NJoern Engel <joern@logfs.org> Cc: David Woodhouse <dwmw2@infradead.org> Cc: <stable@kernel.org> Signed-off-by: NAndrew Morton <akpm@linux-foundation.org> Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
-
- 03 2月, 2008 1 次提交
-
-
由 Justin Treon 提交于
Patch for unlocking all Intel flash that has instant locking on power up. The patch has been tested on Intel M18, P30 and J3D Strata Flash. 1. The automatic unlocking can be disabled for a particular partition in the map or the command line. a. For the bit mask in the map it should look like: .mask_flags = MTD_POWERUP_LOCK, b. For the command line parsing it should look like: mtdparts=0x80000(bootloader)lk 2. This will only unlock parts with instant individual block locking. Intel parts with legacy unlocking will not be unlocked. Signed-off-by: NJustin Treon <justin_treon@yahoo.com> Signed-off-by: NJared Hulbert <jaredeh@gmail.com> Acked-by: NNicolas Pitre <nico@cam.org> Signed-off-by: NDavid Woodhouse <dwmw2@infradead.org>
-
- 12 1月, 2008 1 次提交
-
-
由 Massimo Cirillo 提交于
The bug causes corruptions of data read from flash. The original code performs cache invalidation from "adr" to "adr + len" in do_write_buffer(). Since len and adr could be updated in the code before invalidation - it causes improper setting of cache invalidation regions. Signed-off-by: NMassimo Cirillo <maxcir@gmail.com> Signed-off-by: NGiuseppe D'Eliseo <giuseppedeliseo@gmail.com> Acked-by: NNicolas Pitre <nico@cam.org> Acked-by: NJörn Engel <joern@logfs.org> Signed-off-by: NDavid Woohouse <dwmw2@infradead.org> Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
-
- 26 11月, 2007 1 次提交
-
-
由 Alexander Belyakov 提交于
while running stress tests we have met cfi_cmdset_0001.c driver issue. Working on multipartitional devices with erase suspend on write feature enabled it is possible to get erase operation invoked on chip with suspended erase. get_chip() looses information about earlier suspended erase and new erase operation gets issued. New erase operations report successful completion, but blocks remain dirty causing, for example, JFFS2 error messages like: ... Newly-erased block contained word 0x20031985 at offset 0x00200000 Newly-erased block contained word 0x20031985 at offset 0x00280000 Newly-erased block contained word 0x20031985 at offset 0x00240000 ... The patch below fixes that issue. Signed-off-by: NAlexander Belyakov <alexander.belyakov@intel.com> Acked-by: NNicolas Pitre <nico@cam.org> Signed-off-by: NDavid Woodhouse <dwmw2@infradead.org>
-
- 23 11月, 2007 1 次提交
-
-
由 Alexey Korolev 提交于
Signed-off-by: NAlexey Korolev <akorolev@infradead.org> Signed-off-by: NDavid Woodhouse <dwmw2@infradead.org>
-
- 31 10月, 2007 1 次提交
-
-
由 Hans-Christian Egtvedt 提交于
Convert CFI tables from Atmel cmdset_0001 chips to Intel format and set BufWrite timeouts to 0 for Atmel cmdset_0001 and cmdset_0002 chips. Some chips may indicate support for buffered writes even though they only support dual-word writes. The CFI fixup must run before fixup_use_write_buffers for this to work. Signed-off-by: NHåvard Skinnemoen <hskinnemoen@atmel.com> Signed-off-by: NDavid Woodhouse <dwmw2@infradead.org>
-
- 23 10月, 2007 1 次提交
-
-
由 Alexey Korolev 提交于
This patch solves kernel deadlock issue seen on JFFF2 simultaneous operations. Detailed investigation of the issue showed that the kernel deadlock is caused by tons of recursive get_chip calls. Signed-off-by: NAlexey Korolev <akorolev@infradead.org> Acked-by: NNicolas Pitre <nico@cam.org> Signed-off-by: NDavid Woodhouse <dwmw2@infradead.org>
-
- 13 10月, 2007 1 次提交
-
-
由 Kevin Hao 提交于
When we press ctrl-alt-del,kernel_restart_prepare will invoke cfi_intelext_reboot which will set flash to read array mode, but later when device_shutdown is invoked which may put current work queue to sleep and other process may be scheduled to running and programming flash in not FL_READY mode again. So we can't boot up if this flash is used for bootloader. Signed-off-by: NAndrew Morton <akpm@linux-foundation.org> Signed-off-by: NDavid Woodhouse <dwmw2@infradead.org>
-
- 24 9月, 2007 1 次提交
-
-
由 Andy Lowe 提交于
The CFI probe routine is capable of detecting flash banks consisting of identical chips mapped to physically discontiguous addresses. (One common way this can occur is if a flash bank is populated with chips of less capacity than the hardware was designed to support.) The CFI point() routine currently ignores any such gaps. This patch fixes the CFI point() routine so that it truncates any request that would span a gap. Signed-off-by: NAndy Lowe <alowe@mvista.com> Signed-off-by: NNicolas Pitre <nico@cam.org> Signed-off-by: NDavid Woodhouse <dwmw2@infradead.org>
-
- 05 7月, 2007 1 次提交
-
-
由 Jesper Juhl 提交于
Trivial fix of a spelling error in a comment in cfi_cmdset_0001.c s/ships/chips/ Signed-off-by: NJesper Juhl <jesper.juhl@gmail.com> Signed-off-by: NDavid Woodhouse <dwmw2@infradead.org>
-
- 29 6月, 2007 2 次提交
-
-
由 Randy Dunlap 提交于
Use NULL instead of 0 for pointer: drivers/mtd/chips/cfi_cmdset_0001.c:2258:43: warning: Using plain integer as NULL pointer Other changes by inspection. Signed-off-by: NRandy Dunlap <randy.dunlap@oracle.com> Signed-off-by: NAndrew Morton <akpm@linux-foundation.org> Signed-off-by: NDavid Woodhouse <dwmw2@infradead.org>
-
由 Ben Dooks 提交于
Fix sparse warnings generated from cfi_cmdset_0001.c. drivers/mtd/chips/cfi_cmdset_0001.c:1783:5: warning: symbol 'cfi_intelext_erase_varsize' was not declared. Should it be static? drivers/mtd/chips/cfi_cmdset_0001.c:2258:43: warning: Using plain integer as NULL pointer Signed-off-by: NBen Dooks <ben-linux@fluff.org> Signed-off-by: NDavid Woodhouse <dwmw2@infradead.org>
-