• Alexey Korolev's avatar
    [MTD] Fixes of performance and stability issues in CFI driver. · 46a1652c
    Alexey Korolev authored
    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: default avatarNicolas Pitre <nico@cam.org>
    Signed-off-by: default avatarAlexey Korolev <akorolev@infradead.org>
    Signed-off-by: default avatarDavid Woodhouse <dwmw2@infradead.org>
    46a1652c
cfi_cmdset_0001.c 64.5 KB