Skip to content
Snippets Groups Projects
Select Git revision
  • master default protected
  • early-display
  • variant-emmc-nvme-boot
  • 2023-01-25
  • v3
  • variant-emmc-nvme-boot
  • 2020-06-01
7 results

omap_gpmc.c

Forked from Reform / reform-boundary-uboot
Source project has a limited visibility.
  • pekon gupta's avatar
    6e562b11
    mtd: nand: omap: optimized chip->ecc.correct() for H/W ECC schemes · 6e562b11
    pekon gupta authored
    
    chip->ecc.correct() is used for detecting and correcting bit-flips during read
    operations. In omap-nand driver it implemented as:
    (a) omap_correct_data(): for h/w based ECC_HAM1 scheme
    (b) omap_correct_data_bch() + CONFIG_NAND_OMAP_ECC_BCH8_CODE_HW_DETECTION_SW
    	for ECC_BCH8 scheme using GPMC and software lib/bch.c
    (c) omap_correct_data_bch() + CONFIG_NAND_OMAP_ECC_BCH8_CODE_HW
    	for ECC_BCH8 scheme using GPMC and ELM
    
    This patch updates (c)
    - checks for calc_ecc[]==0x00 so that error_correction is not required for
      known good pages.
    - adds scalability for other ECC_BCHx scheme by merging following
      omap_rotate_ecc_bch() + omap_fix_errors_bch() => omap_correct_data_bch()
    - fixing logic for bit-flip correction based on error_loc[count]
    
    Signed-off-by: default avatarPekon Gupta <pekon@ti.com>
    6e562b11
    History
    mtd: nand: omap: optimized chip->ecc.correct() for H/W ECC schemes
    pekon gupta authored
    
    chip->ecc.correct() is used for detecting and correcting bit-flips during read
    operations. In omap-nand driver it implemented as:
    (a) omap_correct_data(): for h/w based ECC_HAM1 scheme
    (b) omap_correct_data_bch() + CONFIG_NAND_OMAP_ECC_BCH8_CODE_HW_DETECTION_SW
    	for ECC_BCH8 scheme using GPMC and software lib/bch.c
    (c) omap_correct_data_bch() + CONFIG_NAND_OMAP_ECC_BCH8_CODE_HW
    	for ECC_BCH8 scheme using GPMC and ELM
    
    This patch updates (c)
    - checks for calc_ecc[]==0x00 so that error_correction is not required for
      known good pages.
    - adds scalability for other ECC_BCHx scheme by merging following
      omap_rotate_ecc_bch() + omap_fix_errors_bch() => omap_correct_data_bch()
    - fixing logic for bit-flip correction based on error_loc[count]
    
    Signed-off-by: default avatarPekon Gupta <pekon@ti.com>