09 Aug, 2010

1 commit


06 Aug, 2010

1 commit


10 May, 2010

1 commit

  • 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: Stefani Seibold
    Signed-off-by: Artem Bityutskiy
    Signed-off-by: David Woodhouse

    Stefani Seibold
     

30 Nov, 2009

1 commit

  • 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
    Reviewed-by: Adrian Hunter
    Signed-off-by: Artem Bityutskiy
    Signed-off-by: David Woodhouse

    Mika Korhonen
     

25 Sep, 2009

1 commit

  • nand.h, onenand.h and flashchip.h defined enumeration types
    for chip status using the same symbolic names. This prevented
    a board file to include more than one of them. In particular,
    no nand and onenand platform devices could live in the same file.
    This patch augments flashchip.h with a few status values in order
    to cover all cases, so nand.h and onenand.h can use flstate_t
    without declaring their own status enum.

    Signed-off-by: Alessandro Rubini
    Signed-off-by: David Woodhouse

    Alessandro Rubini
     

06 Aug, 2008

1 commit

  • 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: Anders Grafström
    Signed-off-by: David Woodhouse

    Anders Grafström
     

05 Jun, 2008

1 commit

  • 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: Adrian Bunk
    Signed-off-by: David Woodhouse

    Adrian Bunk
     

13 Oct, 2007

1 commit

  • 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: Andrew Morton
    Signed-off-by: David Woodhouse

    Kevin Hao
     

07 Nov, 2005

1 commit


23 May, 2005

2 commits


17 Apr, 2005

1 commit

  • Initial git repository build. I'm not bothering with the full history,
    even though we have it. We can create a separate "historical" git
    archive of that later if we want to, and in the meantime it's about
    3.2GB when imported into git - space that would just make the early
    git days unnecessarily complicated, when we don't have a lot of good
    infrastructure for it.

    Let it rip!

    Linus Torvalds