summaryrefslogtreecommitdiffstats
path: root/drivers/mtd/chips/jedec_probe.c
diff options
context:
space:
mode:
authorAlexey Korolev <akorolev@pentafluge.infradead.org>2006-06-28 19:22:07 +0100
committerDavid Woodhouse <dwmw2@infradead.org>2006-07-15 13:43:59 +0100
commit46a1652c28fc4f4e9d46ea12b0c36b5b6b600f58 (patch)
tree1efde18ca7addfe8cd3cbb828ad6c44b578265c4 /drivers/mtd/chips/jedec_probe.c
parentc4e7fb313771ac03dfdca26d30e8b721731c562b (diff)
downloadop-kernel-dev-46a1652c28fc4f4e9d46ea12b0c36b5b6b600f58.zip
op-kernel-dev-46a1652c28fc4f4e9d46ea12b0c36b5b6b600f58.tar.gz
[MTD] Fixes of performance and stability issues in CFI driver.
Fix of performance and stability issues on Intel NOR chips. It fixes: 1. Very low write performance on Sibley (perf tests demonstrated write performance less than 100Kb/sec when it should be over 400Kb/sec). 2. Low erase performance. (perf tests on Sibleuy demonstrated erase performance 246Kb/sec when it should be over 300Kb/sec). 3. Error on JFFS2 tests with CPU loading application when MTD returns "block erase error: (status timeout)" To fix the issue it does the following: 1. Removes the timeout tuning from inval_cache_and_wait_for_operation. 2. Waiting conditions in inval_cache_and_wait_for_operation now is based on timer resolution If timeout is lower than timer resolution then we do in cycle "Checking the status" udelay(1); cond_resched(); If timeout is greater than timer resolution (probably erase operation) We do the following sleep for half of operation timeout and do in cycle the following "Checking the status" sleep for timer resolution Signed-off-by: Nicolas Pitre <nico@cam.org> Signed-off-by: Alexey Korolev <akorolev@infradead.org> Signed-off-by: David Woodhouse <dwmw2@infradead.org>
Diffstat (limited to 'drivers/mtd/chips/jedec_probe.c')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud