[PATCH v6 0/4] mtd: nand: omap: optimize chip->ecc.calculate() for H/W ECC schemes

Pekon Gupta pekon at ti.com
Wed Feb 26 05:23:10 EST 2014


Changes v6->v7
rebased on http://lists.infradead.org/pipermail/linux-mtd/2014-February/052092.html

This patch series is split version of earlier patch:
http://lists.infradead.org/pipermail/linux-mtd/2013-November/050240.html

chip->ecc.calculate() is used for calculating and fetching of ECC syndrome by
processing the data passed during Read/Write accesses.
Though all H/W ECC schemes in OMAP NAND use GPMC controller for ECC calculation
But each of them implements its own callback to process and fetch ECC syndrome.

This patch tries to merge common code for different BCHx_ECC schemes into single
omap_calculate_ecc_bch(). This imporves scalability for future ecc-schemes.
Following is the summary of this patch series.
 +----------------------+---------------------------+--------------------------+
 | ecc-scheme           | nand_chip->ecc.calculate  | nand_chip->ecc.calculate |
 |                      | (before this patch series)| (after this patch series)|
 +----------------------+---------------------------+--------------------------+
 | HAM1_ECC             | omap_calculate_ecc()      | omap_calculate_ecc()     |
 | BCH4_HW_DETECTION_SW | omap3_calculate_ecc_bch4()| omap_calculate_ecc_bch() |
 | BCH4_HW              | omap3_calculate_ecc_bch() | omap_calculate_ecc_bch() |
 | BCH8_HW_DETECTION_SW | omap3_calculate_ecc_bch8()| omap_calculate_ecc_bch() |
 | BCH8_HW              | omap3_calculate_ecc_bch() | omap_calculate_ecc_bch() |
 +----------------------+---------------------------+--------------------------+


Pekon Gupta (4):
  mtd: nand: omap: ecc.calculate: rename omap3_calculate_ecc_bch to
    omap_calculate_ecc_bch
  mtd: nand: omap: ecc.calculate: refactor omap_calculate_ecc_bch for
    BCHx_HW ecc-scheme
  mtd: nand: omap: ecc.calculate: merge omap3_calculate_ecc_bch4 in
    omap_calculate_ecc_bch
  mtd: nand: omap: ecc.calculate: merge omap3_calculate_ecc_bch8 in
    omap_calculate_ecc_bch

 drivers/mtd/nand/omap2.c | 186 +++++++++++++++--------------------------------
 1 file changed, 59 insertions(+), 127 deletions(-)

-- 
1.8.5.1.163.gd7aced9




More information about the linux-mtd mailing list