1. 25 Jan, 2018 2 commits
    • Miquel Raynal's avatar
      mtd: nand: sunxi: Fix ECC strength choice · f4c6cd1a
      Miquel Raynal authored
      When the requested ECC strength does not exactly match the strengths
      supported by the ECC engine, the driver is selecting the closest
      strength meeting the 'selected_strength > requested_strength'
      constraint. Fix the fact that, in this particular case, ecc->strength
      value was not updated to match the 'selected_strength'.
      
      For instance, one can encounter this issue when no ECC requirement is
      filled in the device tree while the NAND chip minimum requirement is not
      a strength/step_size combo natively supported by the ECC engine.
      
      Fixes: 1fef62c1 ("mtd: nand: add sunxi NAND flash controller support")
      Cc: <stable@vger.kernel.org>
      Suggested-by: default avatarBoris Brezillon <boris.brezillon@free-electrons.com>
      Signed-off-by: default avatarMiquel Raynal <miquel.raynal@free-electrons.com>
      Signed-off-by: default avatarBoris Brezillon <boris.brezillon@free-electrons.com>
      f4c6cd1a
    • Boris Brezillon's avatar
      mtd: nand: gpmi: Fix subpage reads · 4c7e95b1
      Boris Brezillon authored
      Commit 25f815f6 ("mtd: nand: force drivers to explicitly send
      READ/PROG commands") added a call to nand_read_page_op() in
      gpmi_ecc_read_page(), which means this function now sends a READ0
      command and place the data pointer at the beginning of the page. This
      logic is breaking gpmi_ecc_read_subpage() which was calling
      gpmi_ecc_read_page() and expected it to only retrieve the data without
      sending the READ0 command.
      
      Create a gpmi_ecc_read_page_data() helper which only does the data
      retrieval and ECC correction steps and implement gpmi_ecc_read_page()
      as a wrapper that calls nand_read_page_op()+gpmi_ecc_read_page_data().
      
      This way, gpmi_ecc_read_subpage() can call gpmi_ecc_read_page_data()
      which restores the logic we had before commit 25f815f6 ("mtd: nand:
      force drivers to explicitly send READ/PROG commands").
      
      Fixes: 25f815f6 ("mtd: nand: force drivers to explicitly send READ/PROG commands")
      Signed-off-by: default avatarBoris Brezillon <boris.brezillon@free-electrons.com>
      Reviewed-by: default avatarMiquel Raynal <miquel.raynal@free-electrons.com>
      Acked-by: default avatarHan Xu <han.xu@nxp.com>
      4c7e95b1
  2. 20 Jan, 2018 2 commits
  3. 19 Jan, 2018 3 commits
  4. 16 Jan, 2018 1 commit
    • Arnd Bergmann's avatar
      mtd: onenand: omap2: print resource using %pR format string · 82cea533
      Arnd Bergmann authored
      The omap2 onenand driver is now available for compile-testing, which
      uncovers a warning in configurations that have a 64-bit resource_size_t:
      
      drivers/mtd/onenand/omap2.c: In function 'omap2_onenand_probe':
      drivers/mtd/onenand/omap2.c:536:54: error: format '%x' expects argument of type 'unsigned int', but argument 3 has type 'resource_size_t {aka long long unsigned int}' [-Werror=format=]
         dev_err(dev, "Cannot reserve memory region at 0x%08x, size: 0x%x\n",
      drivers/mtd/onenand/omap2.c:536:66: error: format '%x' expects argument of type 'unsigned int', but argument 4 has type 'resource_size_t {aka long long unsigned int}' [-Werror=format=]
      
      Changing the format string to the special %pR simplifies the code
      and lets it do the right thing in that configuration, while avoiding
      the warning.
      
      Fixes: a758f50f ("mtd: onenand: omap2: Configure driver from DT")
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Reviewed-by: default avatarSebastian Reichel <sebastian.reichel@collabora.co.uk>
      Reviewed-by: default avatarPeter Ujfalusi <peter.ujfalusi@ti.com>
      Signed-off-by: default avatarBoris Brezillon <boris.brezillon@free-electrons.com>
      82cea533
  5. 14 Jan, 2018 2 commits
  6. 12 Jan, 2018 22 commits
  7. 10 Jan, 2018 1 commit
  8. 09 Jan, 2018 2 commits
  9. 06 Jan, 2018 3 commits
  10. 18 Dec, 2017 2 commits