Lines Matching refs:ecc
808 if (info->nand.ecc.engine_type == NAND_ECC_ENGINE_TYPE_ON_HOST && in omap_correct_data()
809 info->nand.ecc.size == 2048) in omap_correct_data()
877 val = ((((info->nand.ecc.size >> 1) - 1) << ECCSIZE1_SHIFT) | in omap_enable_hwecc()
932 nsectors = chip->ecc.steps; in omap_enable_hwecc_bch()
952 nsectors = chip->ecc.steps; in omap_enable_hwecc_bch()
965 nsectors = chip->ecc.steps; in omap_enable_hwecc_bch()
1021 int eccbytes = info->nand.ecc.bytes; in _omap_calculate_ecc_bch()
1163 int eccbytes = info->nand.ecc.bytes; in omap_calculate_ecc_bch_multi()
1194 for (i = 0; i < info->nand.ecc.size; i++) { in erased_sector_bitflips()
1196 if (flip_bits > info->nand.ecc.strength) in erased_sector_bitflips()
1200 for (i = 0; i < info->nand.ecc.bytes - 1; i++) { in erased_sector_bitflips()
1202 if (flip_bits > info->nand.ecc.strength) in erased_sector_bitflips()
1211 memset(data, 0xFF, info->nand.ecc.size); in erased_sector_bitflips()
1212 memset(oob, 0xFF, info->nand.ecc.bytes); in erased_sector_bitflips()
1233 struct nand_ecc_ctrl *ecc = &info->nand.ecc; in omap_elm_correct_data() local
1250 actual_eccbytes = ecc->bytes - 1; in omap_elm_correct_data()
1255 actual_eccbytes = ecc->bytes - 1; in omap_elm_correct_data()
1259 actual_eccbytes = ecc->bytes; in omap_elm_correct_data()
1292 buf = &data[info->nand.ecc.size * i]; in omap_elm_correct_data()
1320 calc_ecc += ecc->bytes; in omap_elm_correct_data()
1321 read_ecc += ecc->bytes; in omap_elm_correct_data()
1352 error_max = (ecc->size + actual_eccbytes) * 8; in omap_elm_correct_data()
1384 data += ecc->size; in omap_elm_correct_data()
1385 spare_ecc += ecc->bytes; in omap_elm_correct_data()
1405 uint8_t *ecc_calc = chip->ecc.calc_buf; in omap_write_page_bch()
1415 chip->ecc.hwctl(chip, NAND_ECC_WRITE); in omap_write_page_bch()
1459 u8 *ecc_calc = chip->ecc.calc_buf; in omap_write_subpage_bch()
1460 int ecc_size = chip->ecc.size; in omap_write_subpage_bch()
1461 int ecc_bytes = chip->ecc.bytes; in omap_write_subpage_bch()
1479 chip->ecc.hwctl(chip, NAND_ECC_WRITE); in omap_write_subpage_bch()
1540 uint8_t *ecc_calc = chip->ecc.calc_buf; in omap_read_page_bch()
1541 uint8_t *ecc_code = chip->ecc.code_buf; in omap_read_page_bch()
1551 chip->ecc.hwctl(chip, NAND_ECC_READ); in omap_read_page_bch()
1584 stat = chip->ecc.correct(chip, in omap_read_page_bch()
1755 oobregion->length = chip->ecc.total; in omap_ooblayout_ecc()
1774 off += chip->ecc.total; in omap_ooblayout_free()
1785 .ecc = omap_ooblayout_ecc,
1836 .ecc = omap_sw_ooblayout_ecc,
1942 chip->ecc.engine_type = NAND_ECC_ENGINE_TYPE_SOFT; in omap_nand_attach_chip()
1943 chip->ecc.algo = NAND_ECC_ALGO_HAMMING; in omap_nand_attach_chip()
1951 chip->ecc.engine_type = NAND_ECC_ENGINE_TYPE_ON_HOST; in omap_nand_attach_chip()
1952 chip->ecc.bytes = 3; in omap_nand_attach_chip()
1953 chip->ecc.size = 512; in omap_nand_attach_chip()
1954 chip->ecc.strength = 1; in omap_nand_attach_chip()
1955 chip->ecc.calculate = omap_calculate_ecc; in omap_nand_attach_chip()
1956 chip->ecc.hwctl = omap_enable_hwecc; in omap_nand_attach_chip()
1957 chip->ecc.correct = omap_correct_data; in omap_nand_attach_chip()
1959 oobbytes_per_step = chip->ecc.bytes; in omap_nand_attach_chip()
1968 chip->ecc.engine_type = NAND_ECC_ENGINE_TYPE_ON_HOST; in omap_nand_attach_chip()
1969 chip->ecc.size = 512; in omap_nand_attach_chip()
1970 chip->ecc.bytes = 7; in omap_nand_attach_chip()
1971 chip->ecc.strength = 4; in omap_nand_attach_chip()
1972 chip->ecc.hwctl = omap_enable_hwecc_bch; in omap_nand_attach_chip()
1973 chip->ecc.correct = rawnand_sw_bch_correct; in omap_nand_attach_chip()
1974 chip->ecc.calculate = omap_calculate_ecc_bch_sw; in omap_nand_attach_chip()
1977 oobbytes_per_step = chip->ecc.bytes + 1; in omap_nand_attach_chip()
1988 chip->ecc.engine_type = NAND_ECC_ENGINE_TYPE_ON_HOST; in omap_nand_attach_chip()
1989 chip->ecc.size = 512; in omap_nand_attach_chip()
1991 chip->ecc.bytes = 7 + 1; in omap_nand_attach_chip()
1992 chip->ecc.strength = 4; in omap_nand_attach_chip()
1993 chip->ecc.hwctl = omap_enable_hwecc_bch; in omap_nand_attach_chip()
1994 chip->ecc.correct = omap_elm_correct_data; in omap_nand_attach_chip()
1995 chip->ecc.read_page = omap_read_page_bch; in omap_nand_attach_chip()
1996 chip->ecc.write_page = omap_write_page_bch; in omap_nand_attach_chip()
1997 chip->ecc.write_subpage = omap_write_subpage_bch; in omap_nand_attach_chip()
1999 oobbytes_per_step = chip->ecc.bytes; in omap_nand_attach_chip()
2005 chip->ecc.engine_type = NAND_ECC_ENGINE_TYPE_ON_HOST; in omap_nand_attach_chip()
2006 chip->ecc.size = 512; in omap_nand_attach_chip()
2007 chip->ecc.bytes = 13; in omap_nand_attach_chip()
2008 chip->ecc.strength = 8; in omap_nand_attach_chip()
2009 chip->ecc.hwctl = omap_enable_hwecc_bch; in omap_nand_attach_chip()
2010 chip->ecc.correct = rawnand_sw_bch_correct; in omap_nand_attach_chip()
2011 chip->ecc.calculate = omap_calculate_ecc_bch_sw; in omap_nand_attach_chip()
2014 oobbytes_per_step = chip->ecc.bytes + 1; in omap_nand_attach_chip()
2025 chip->ecc.engine_type = NAND_ECC_ENGINE_TYPE_ON_HOST; in omap_nand_attach_chip()
2026 chip->ecc.size = 512; in omap_nand_attach_chip()
2028 chip->ecc.bytes = 13 + 1; in omap_nand_attach_chip()
2029 chip->ecc.strength = 8; in omap_nand_attach_chip()
2030 chip->ecc.hwctl = omap_enable_hwecc_bch; in omap_nand_attach_chip()
2031 chip->ecc.correct = omap_elm_correct_data; in omap_nand_attach_chip()
2032 chip->ecc.read_page = omap_read_page_bch; in omap_nand_attach_chip()
2033 chip->ecc.write_page = omap_write_page_bch; in omap_nand_attach_chip()
2034 chip->ecc.write_subpage = omap_write_subpage_bch; in omap_nand_attach_chip()
2036 oobbytes_per_step = chip->ecc.bytes; in omap_nand_attach_chip()
2042 chip->ecc.engine_type = NAND_ECC_ENGINE_TYPE_ON_HOST; in omap_nand_attach_chip()
2043 chip->ecc.size = 512; in omap_nand_attach_chip()
2044 chip->ecc.bytes = 26; in omap_nand_attach_chip()
2045 chip->ecc.strength = 16; in omap_nand_attach_chip()
2046 chip->ecc.hwctl = omap_enable_hwecc_bch; in omap_nand_attach_chip()
2047 chip->ecc.correct = omap_elm_correct_data; in omap_nand_attach_chip()
2048 chip->ecc.read_page = omap_read_page_bch; in omap_nand_attach_chip()
2049 chip->ecc.write_page = omap_write_page_bch; in omap_nand_attach_chip()
2050 chip->ecc.write_subpage = omap_write_subpage_bch; in omap_nand_attach_chip()
2052 oobbytes_per_step = chip->ecc.bytes; in omap_nand_attach_chip()
2061 chip->ecc.steps = mtd->writesize / chip->ecc.size; in omap_nand_attach_chip()
2062 info->neccpg = chip->ecc.steps / ERROR_VECTOR_MAX; in omap_nand_attach_chip()
2067 info->nsteps_per_eccpg = chip->ecc.steps; in omap_nand_attach_chip()
2069 info->eccpg_size = info->nsteps_per_eccpg * chip->ecc.size; in omap_nand_attach_chip()
2070 info->eccpg_bytes = info->nsteps_per_eccpg * chip->ecc.bytes; in omap_nand_attach_chip()
2073 info->nsteps_per_eccpg, chip->ecc.size, in omap_nand_attach_chip()
2074 chip->ecc.bytes); in omap_nand_attach_chip()
2081 (mtd->writesize / chip->ecc.size)); in omap_nand_attach_chip()