1. 30 Aug, 2013 37 commits
  2. 05 Aug, 2013 3 commits
    • Josh Wu's avatar
      mtd: ofpart: add compatible check for child nodes · e79265ba
      Josh Wu authored
      In case that the nand device will support some features like Nand Flash
      Controller, we want to make the sub feature as a sub node of nand device.
      
      Use such organization it is easy to enable/disable feature, also it is back
      compatible and more readable.
      
      If the sub-node has a compatible property then it is a driver not partition.
      Signed-off-by: default avatarJosh Wu <josh.wu@atmel.com>
      Acked-by: default avatarBrian Norris <computersforpeace@gmail.com>
      Acked-by: default avatarJean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
      Signed-off-by: default avatarArtem Bityutskiy <artem.bityutskiy@linux.intel.com>
      [ added a missing newline -Brian ]
      Signed-off-by: default avatarBrian Norris <computersforpeace@gmail.com>
      Signed-off-by: default avatarDavid Woodhouse <David.Woodhouse@intel.com>
      e79265ba
    • Josh Wu's avatar
      mtd: atmel_nand: enable Nand Flash Controller (NFC) write via sram · 6054d4d5
      Josh Wu authored
      This patch enable writing nand flash via NFC SRAM. It will minimize the CPU
      overhead. The SRAM write only support ECC_NONE and ECC_HW with PMECC.
      
      To enable this NFC write by SRAM feature, you can add a string in dts under
      NFC driver node.
      
      This driver has been tested on SAMA5D3X-EK with JFFS2, YAFFS2, UBIFS and
      mtd-utils.
      
      Here is part of mtd_speedtest (writing test) result, compare with non-NFC
      writing, it reduces %65 cpu load with loss %12 speed.
      
      - commands use to test:
        # insmod /mnt/mtd_speedtest.ko dev=2 &
        # top -n 30 -d 1 | grep speedtest
      
      - test result:
      =================================================
      mtd_speedtest: MTD device: 2
      mtd_speedtest: MTD device size 41943040, eraseblock size 131072, page size 2048, count of eraseblocks 320, pages per eraseblock 64, OOB size 64
      mtd_speedtest: testing eraseblock write speed
        509   495 root     D     1164   0%   7% insmod /mnt/mtd_speedtest.ko dev=2
        509   495 root     D     1164   0%   8% insmod /mnt/mtd_speedtest.ko dev=2
        509   495 root     R     1164   0%   5% insmod /mnt/mtd_speedtest.ko dev=2
      mtd_speedtest: eraseblock write speed is 5194 KiB/s
      mtd_speedtest: testing page write speed
        509   495 root     D     1164   0%  32% insmod /mnt/mtd_speedtest.ko dev=2
        509   495 root     D     1164   0%  27% insmod /mnt/mtd_speedtest.ko dev=2
        509   495 root     D     1164   0%  25% insmod /mnt/mtd_speedtest.ko dev=2
        509   495 root     D     1164   0%  30% insmod /mnt/mtd_speedtest.ko dev=2
      mtd_speedtest: page write speed is 5024 KiB/s
      Signed-off-by: default avatarJosh Wu <josh.wu@atmel.com>
      Acked-by: default avatarJean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
      Signed-off-by: default avatarArtem Bityutskiy <artem.bityutskiy@linux.intel.com>
      Signed-off-by: default avatarDavid Woodhouse <David.Woodhouse@intel.com>
      6054d4d5
    • Josh Wu's avatar
      mtd: atmel_nand: enable Nand Flash Controller (NFC) read data via sram · 1ae9c092
      Josh Wu authored
      NFC has embedded sram which can use to transfer data. This patch enable reading
      nand flash via NFC SRAM. It will minimize the CPU overhead.
      
      This driver has been tested on SAMA5D3X-EK with JFFS2, YAFFS2, UBIFS and
      mtd-utils.
      
      Here puts the part of mtd_speedtest (read test) result as following:
      Compare with non-NFC mtd_speedtest result, reading will reduce %45 cpu load
      with increase %80 speed.
      
      - commands use to test:
        # insmod /mnt/mtd_speedtest.ko dev=2 &
        # top -n 30 -d 1 | grep speedtest
      
      - test result:
      =================================================
      mtd_speedtest: MTD device: 2
      mtd_speedtest: MTD device size 41943040, eraseblock size 131072, page size 2048, count of eraseblocks 320, pages per eraseblock 64, OOB size 64
      mtd_speedtest: testing eraseblock read speed
        509   495 root     D     1164   0%  28% insmod /mnt/mtd_speedtest.ko dev=2
        509   495 root     D     1164   0%  25% insmod /mnt/mtd_speedtest.ko dev=2
        509   495 root     D     1164   0%  26% insmod /mnt/mtd_speedtest.ko dev=2
      mtd_speedtest: eraseblock read speed is 9403 KiB/s
      mtd_speedtest: testing page read speed
        509   495 root     R     1164   0%  31% insmod /mnt/mtd_speedtest.ko dev=2
        509   495 root     D     1164   0%  57% insmod /mnt/mtd_speedtest.ko dev=2
        509   495 root     D     1164   0%  53% insmod /mnt/mtd_speedtest.ko dev=2
        509   495 root     D     1164   0%  71% insmod /mnt/mtd_speedtest.ko dev=2
      mtd_speedtest: page read speed is 9258 KiB/s
      Signed-off-by: default avatarJosh Wu <josh.wu@atmel.com>
      Acked-by: default avatarJean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
      Signed-off-by: default avatarArtem Bityutskiy <artem.bityutskiy@linux.intel.com>
      Signed-off-by: default avatarDavid Woodhouse <David.Woodhouse@intel.com>
      1ae9c092