Lines Matching refs:ecc

219 	if (chip->ecc.strength == FMC2_ECC_BCH8) {  in stm32_fmc2_setup()
222 } else if (chip->ecc.strength == FMC2_ECC_BCH4) { in stm32_fmc2_setup()
319 if (chip->ecc.strength != FMC2_ECC_HAM) { in stm32_fmc2_hwctl()
340 u8 *ecc) in stm32_fmc2_ham_calculate() argument
356 ecc[0] = heccr; in stm32_fmc2_ham_calculate()
357 ecc[1] = heccr >> 8; in stm32_fmc2_ham_calculate()
358 ecc[2] = heccr >> 16; in stm32_fmc2_ham_calculate()
425 u8 *ecc) in stm32_fmc2_bch_calculate() argument
442 ecc[0] = bchpbr; in stm32_fmc2_bch_calculate()
443 ecc[1] = bchpbr >> 8; in stm32_fmc2_bch_calculate()
444 ecc[2] = bchpbr >> 16; in stm32_fmc2_bch_calculate()
445 ecc[3] = bchpbr >> 24; in stm32_fmc2_bch_calculate()
448 ecc[4] = bchpbr; in stm32_fmc2_bch_calculate()
449 ecc[5] = bchpbr >> 8; in stm32_fmc2_bch_calculate()
450 ecc[6] = bchpbr >> 16; in stm32_fmc2_bch_calculate()
452 if (chip->ecc.strength == FMC2_ECC_BCH8) { in stm32_fmc2_bch_calculate()
453 ecc[7] = bchpbr >> 24; in stm32_fmc2_bch_calculate()
456 ecc[8] = bchpbr; in stm32_fmc2_bch_calculate()
457 ecc[9] = bchpbr >> 8; in stm32_fmc2_bch_calculate()
458 ecc[10] = bchpbr >> 16; in stm32_fmc2_bch_calculate()
459 ecc[11] = bchpbr >> 24; in stm32_fmc2_bch_calculate()
462 ecc[12] = bchpbr; in stm32_fmc2_bch_calculate()
479 int i, ret, den, eccsize = chip->ecc.size; in stm32_fmc2_bch_correct()
531 int i, s, stat, eccsize = chip->ecc.size; in stm32_fmc2_read_page()
532 int eccbytes = chip->ecc.bytes; in stm32_fmc2_read_page()
533 int eccsteps = chip->ecc.steps; in stm32_fmc2_read_page()
534 int eccstrength = chip->ecc.strength; in stm32_fmc2_read_page()
542 chip->ecc.hwctl(mtd, NAND_ECC_READ); in stm32_fmc2_read_page()
553 stat = chip->ecc.correct(mtd, p, ecc_code, ecc_calc); in stm32_fmc2_read_page()
808 chip->ecc.hwctl = stm32_fmc2_hwctl; in stm32_fmc2_nand_callbacks_setup()
814 if (chip->ecc.strength == FMC2_ECC_HAM) { in stm32_fmc2_nand_callbacks_setup()
816 chip->ecc.calculate = stm32_fmc2_ham_calculate; in stm32_fmc2_nand_callbacks_setup()
817 chip->ecc.correct = stm32_fmc2_ham_correct; in stm32_fmc2_nand_callbacks_setup()
818 chip->ecc.bytes = chip->options & NAND_BUSWIDTH_16 ? 4 : 3; in stm32_fmc2_nand_callbacks_setup()
819 chip->ecc.options |= NAND_ECC_GENERIC_ERASED_CHECK; in stm32_fmc2_nand_callbacks_setup()
824 chip->ecc.read_page = stm32_fmc2_read_page; in stm32_fmc2_nand_callbacks_setup()
825 chip->ecc.calculate = stm32_fmc2_bch_calculate; in stm32_fmc2_nand_callbacks_setup()
826 chip->ecc.correct = stm32_fmc2_bch_correct; in stm32_fmc2_nand_callbacks_setup()
828 if (chip->ecc.strength == FMC2_ECC_BCH8) in stm32_fmc2_nand_callbacks_setup()
829 chip->ecc.bytes = chip->options & NAND_BUSWIDTH_16 ? 14 : 13; in stm32_fmc2_nand_callbacks_setup()
831 chip->ecc.bytes = chip->options & NAND_BUSWIDTH_16 ? 8 : 7; in stm32_fmc2_nand_callbacks_setup()
1011 chip->ecc.mode = NAND_ECC_HW; in stm32_fmc2_probe()
1012 chip->ecc.size = FMC2_ECC_STEP_SIZE; in stm32_fmc2_probe()
1013 chip->ecc.strength = FMC2_ECC_BCH8; in stm32_fmc2_probe()
1027 if (chip->ecc.mode != NAND_ECC_HW) { in stm32_fmc2_probe()
1047 ecclayout->eccbytes = chip->ecc.bytes * in stm32_fmc2_probe()
1048 (mtd->writesize / chip->ecc.size); in stm32_fmc2_probe()
1054 chip->ecc.layout = ecclayout; in stm32_fmc2_probe()