An error occurred fetching the project authors.
  1. 11 Mar, 2015 1 commit
  2. 03 Mar, 2015 1 commit
  3. 20 Jan, 2015 2 commits
  4. 26 Nov, 2014 1 commit
  5. 05 Nov, 2014 1 commit
  6. 20 Oct, 2014 1 commit
  7. 18 Sep, 2014 2 commits
  8. 17 Sep, 2014 1 commit
  9. 19 Aug, 2014 4 commits
  10. 22 Jul, 2014 4 commits
  11. 11 Mar, 2014 3 commits
  12. 07 Jan, 2014 1 commit
  13. 03 Jan, 2014 1 commit
  14. 14 Nov, 2013 1 commit
  15. 07 Nov, 2013 1 commit
    • Josh Wu's avatar
      mtd: atmel_nand: fix bug driver will in a dead lock if no nand detected · a749d13a
      Josh Wu authored
      In the atmel driver probe function, the code shows like following:
        atmel_nand_probe(...) {
              ...
      
        err_nand_ioremap:
              platform_driver_unregister(&atmel_nand_nfc_driver);
              return res;
        }
      
      If no nand flash detected, the driver probe function will goto
      err_nand_ioremap label.
      Then platform_driver_unregister() will be called. It will get the
      lock of atmel_nand device since it is parent of nfc_device. The
      problem is the lock is already hold by atmel_nand_probe itself.
      So system will be in a dead lock.
      
      This patch just simply removed to platform_driver_unregister() call.
      When atmel_nand driver is quit the platform_driver_unregister() will
      be called in atmel_nand_remove().
      
      [Brian: the NAND platform probe really has no business
       registering/unregistering another driver; this fixes the deadlock, but
       we should follow up the likely racy behavior here with a better
       architecture]
      Signed-off-by: default avatarJosh Wu <josh.wu@atmel.com>
      Cc: <stable@vger.kernel.org> # 3.12
      Signed-off-by: default avatarBrian Norris <computersforpeace@gmail.com>
      a749d13a
  16. 27 Oct, 2013 3 commits
  17. 26 Sep, 2013 1 commit
  18. 30 Aug, 2013 5 commits
  19. 05 Aug, 2013 6 commits
    • 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
    • Josh Wu's avatar
      mtd: atmel_nand: add Nand Flash Controller (NFC) support · 7dc37de7
      Josh Wu authored
      Nand Flash Controller (NFC) can handle automatic transfers, sending the
      commands and address cycles to the NAND Flash.
      
      To use NFC in this driver, user needs to add NFC child node in nand flash
      driver. The NFC child node includes NFC's compatible string and regiters
      of the address and size of NFC command registers, NFC registers (embedded
      in HSMC) and NFC SRAM.
      Also user need to set up the HSMC irq, which use to check whether nfc
      command is finish or not.
      
      This driver has been tested on SAMA5D3X-EK board with JFFS2, YAFFS,
      UBIFS and mtd-utils.
      
      I put the part of the mtd_speedtest result here for your information.
      >From the mtd_speedtest, we can see the NFC will reduce the %50 of cpu load
      when writing nand flash. No change when reading.
      In the meantime, the speed will be slow about %8.
      
      - commands use to test:
          #insmod /mnt/mtd_speedtest.ko dev=2 &
          #top -n 30 -d 1 | grep speedtest
      
      - test result:
      
      Before the patch:
      =================================================
      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
        515   495 root     R     1164   0%  93% insmod /mnt/mtd_speedtest.ko dev=2
        515   495 root     R     1164   0%  98% insmod /mnt/mtd_speedtest.ko dev=2
        515   495 root     R     1164   0%  99% insmod /mnt/mtd_speedtest.ko dev=2
      mtd_speedtest: eraseblock write speed is 5768 KiB/s
      mtd_speedtest: testing eraseblock read speed
        515   495 root     R     1164   0%  92% insmod /mnt/mtd_speedtest.ko dev=2
        515   495 root     R     1164   0%  91% insmod /mnt/mtd_speedtest.ko dev=2
        515   495 root     R     1164   0%  94% insmod /mnt/mtd_speedtest.ko dev=2
      mtd_speedtest: eraseblock read speed is 5932 KiB/s
      mtd_speedtest: testing page write speed
        515   495 root     R     1164   0%  94% insmod /mnt/mtd_speedtest.ko dev=2
        515   495 root     R     1164   0%  98% insmod /mnt/mtd_speedtest.ko dev=2
        515   495 root     R     1164   0%  98% insmod /mnt/mtd_speedtest.ko dev=2
      mtd_speedtest: page write speed is 5770 KiB/s
      mtd_speedtest: testing page read speed
        515   495 root     R     1164   0%  91% insmod /mnt/mtd_speedtest.ko dev=2
        515   495 root     R     1164   0%  89% insmod /mnt/mtd_speedtest.ko dev=2
        515   495 root     R     1164   0%  91% insmod /mnt/mtd_speedtest.ko dev=2
      mtd_speedtest: page read speed is 5910 KiB/s
      
      After the patch:
      =================================================
      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%  49% insmod /mnt/mtd_speedtest.ko dev=2
        509   495 root     D     1164   0%  50% insmod /mnt/mtd_speedtest.ko dev=2
        509   495 root     D     1164   0%  47% insmod /mnt/mtd_speedtest.ko dev=2
      mtd_speedtest: eraseblock write speed is 5370 KiB/s
      mtd_speedtest: testing eraseblock read speed
        509   495 root     R     1164   0%  92% insmod /mnt/mtd_speedtest.ko dev=2
        509   495 root     R     1164   0%  91% insmod /mnt/mtd_speedtest.ko dev=2
        509   495 root     R     1164   0%  95% insmod /mnt/mtd_speedtest.ko dev=2
      mtd_speedtest: eraseblock read speed is 5715 KiB/s
      mtd_speedtest: testing page write speed
        509   495 root     D     1164   0%  48% insmod /mnt/mtd_speedtest.ko dev=2
        509   495 root     D     1164   0%  47% insmod /mnt/mtd_speedtest.ko dev=2
        509   495 root     D     1164   0%  50% insmod /mnt/mtd_speedtest.ko dev=2
      mtd_speedtest: page write speed is 5224 KiB/s
      mtd_speedtest: testing page read speed
        509   495 root     R     1164   0%  89% insmod /mnt/mtd_speedtest.ko dev=2
        509   495 root     R     1164   0%  94% insmod /mnt/mtd_speedtest.ko dev=2
        509   495 root     R     1164   0%  93% insmod /mnt/mtd_speedtest.ko dev=2
      mtd_speedtest: page read speed is 5641 KiB/s
      Signed-off-by: default avatarJosh Wu <josh.wu@atmel.com>
      Signed-off-by: default avatarArtem Bityutskiy <artem.bityutskiy@linux.intel.com>
      Signed-off-by: default avatarDavid Woodhouse <David.Woodhouse@intel.com>
      7dc37de7
    • Josh Wu's avatar
    • Jean-Christophe PLAGNIOL-VILLARD's avatar
      mtd: atmel_nand: use devm_xxx gpio kzalloc, gpio and ioremap · 0d63748d
      Jean-Christophe PLAGNIOL-VILLARD authored
      this will allow to simply the error and remove path
      
      Cc: linux-mtd@lists.infradead.org
      Cc: Nicolas Ferre <nicolas.ferre@atmel.com>
      Signed-off-by: default avatarJean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
      [josh.wu@atmel.com: fix checkpatch warnings and rebase to latest mtd git tree]
      [josh.wu@atmel.com: replace devm_request_and_ioremap with devm_ioremap_resource]
      Signed-off-by: default avatarJosh Wu <josh.wu@atmel.com>
      Signed-off-by: default avatarArtem Bityutskiy <artem.bityutskiy@linux.intel.com>
      Signed-off-by: default avatarDavid Woodhouse <David.Woodhouse@intel.com>
      0d63748d
    • Josh Wu's avatar
      mtd: atmel_nand: fix pmecc selction for ecc requirement typo · edc9cba4
      Josh Wu authored
      Atmel PMECC support 2, 4, 8, 12, 24 bit error correction.
      So if the ecc requirement in ONFI is <= 2, 4, 8, 12, 24.
      We will use 2, 4, 8, 12, 24.
      
      This patch fix the typo. Use '<=' replace '<'.
      Reported-by: default avatarScott Wood <scottwood@freescale.com>
      Signed-off-by: default avatarJosh Wu <josh.wu@atmel.com>
      Signed-off-by: default avatarArtem Bityutskiy <artem.bityutskiy@linux.intel.com>
      Signed-off-by: default avatarDavid Woodhouse <David.Woodhouse@intel.com>
      edc9cba4