1. 09 Oct, 2016 1 commit
  2. 03 Oct, 2016 2 commits
  3. 28 Sep, 2016 1 commit
  4. 23 Sep, 2016 32 commits
  5. 15 Sep, 2016 1 commit
    • Boris Brezillon's avatar
      mtd: introduce the mtd_pairing_scheme concept · 477b0229
      Boris Brezillon authored
      MLC and TLC NAND devices are using NAND cells exposing more than one bit,
      but instead of attaching all the bits in a given cell to a single NAND
      page, each bit is usually attached to a different page. This concept is
      called 'page pairing', and has significant impacts on the flash storage
      usage.
      The main problem showed by these devices is that interrupting a page
      program operation may not only corrupt the page we are programming
      but also the page it is paired with, hence the need to expose to MTD
      users the pairing scheme information.
      
      The pairing APIs allows one to query pairing information attached to a
      given page (here called wunit), or the other way around (the wunit
      pointed by pairing information).
      It also provides several helpers to help the conversion between absolute
      offsets and wunits, and query the number of pairing groups.
      Signed-off-by: default avatarBoris Brezillon <boris.brezillon@free-electrons.com>
      Reviewed-by: default avatarBrian Norris <computersforpeace@gmail.com>
      477b0229
  6. 10 Sep, 2016 1 commit
    • Karl Beldan's avatar
      mtd: nand: davinci: Reinitialize the HW ECC engine in 4bit hwctl · f6d7c1b5
      Karl Beldan authored
      This fixes subpage writes when using 4-bit HW ECC.
      
      There has been numerous reports about ECC errors with devices using this
      driver for a while.  Also the 4-bit ECC has been reported as broken with
      subpages in [1] and with 16 bits NANDs in the driver and in mach* board
      files both in mainline and in the vendor BSPs.
      
      What I saw with 4-bit ECC on a 16bits NAND (on an LCDK) which got me to
      try reinitializing the ECC engine:
      - R/W on whole pages properly generates/checks RS code
      - try writing the 1st subpage only of a blank page, the subpage is well
        written and the RS code properly generated, re-reading the same page
        the HW detects some ECC error, reading the same page again no ECC
        error is detected
      
      Note that the ECC engine is already reinitialized in the 1-bit case.
      
      Tested on my LCDK with UBI+UBIFS using subpages.
      This could potentially get rid of the issue workarounded in [1].
      
      [1] 28c015a9 ("mtd: davinci-nand: disable subpage write for keystone-nand")
      
      Fixes: 6a4123e5 ("mtd: nand: davinci_nand, 4-bit ECC for smallpage")
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarKarl Beldan <kbeldan@baylibre.com>
      Acked-by: default avatarBoris Brezillon <boris.brezillon@free-electrons.com>
      Signed-off-by: default avatarBrian Norris <computersforpeace@gmail.com>
      f6d7c1b5
  7. 29 Aug, 2016 1 commit
  8. 08 Aug, 2016 1 commit