Lines Matching refs:ecc
216 if (chip->ecc.strength == FMC2_ECC_BCH8) { in stm32_fmc2_nfc_setup()
219 } else if (chip->ecc.strength == FMC2_ECC_BCH4) { in stm32_fmc2_nfc_setup()
305 if (chip->ecc.strength != FMC2_ECC_HAM) { in stm32_fmc2_nfc_hwctl()
321 u8 *ecc) in stm32_fmc2_nfc_ham_calculate() argument
337 ecc[0] = heccr; in stm32_fmc2_nfc_ham_calculate()
338 ecc[1] = heccr >> 8; in stm32_fmc2_nfc_ham_calculate()
339 ecc[2] = heccr >> 16; in stm32_fmc2_nfc_ham_calculate()
405 u8 *ecc) in stm32_fmc2_nfc_bch_calculate() argument
422 ecc[0] = bchpbr; in stm32_fmc2_nfc_bch_calculate()
423 ecc[1] = bchpbr >> 8; in stm32_fmc2_nfc_bch_calculate()
424 ecc[2] = bchpbr >> 16; in stm32_fmc2_nfc_bch_calculate()
425 ecc[3] = bchpbr >> 24; in stm32_fmc2_nfc_bch_calculate()
428 ecc[4] = bchpbr; in stm32_fmc2_nfc_bch_calculate()
429 ecc[5] = bchpbr >> 8; in stm32_fmc2_nfc_bch_calculate()
430 ecc[6] = bchpbr >> 16; in stm32_fmc2_nfc_bch_calculate()
432 if (chip->ecc.strength == FMC2_ECC_BCH8) { in stm32_fmc2_nfc_bch_calculate()
433 ecc[7] = bchpbr >> 24; in stm32_fmc2_nfc_bch_calculate()
436 ecc[8] = bchpbr; in stm32_fmc2_nfc_bch_calculate()
437 ecc[9] = bchpbr >> 8; in stm32_fmc2_nfc_bch_calculate()
438 ecc[10] = bchpbr >> 16; in stm32_fmc2_nfc_bch_calculate()
439 ecc[11] = bchpbr >> 24; in stm32_fmc2_nfc_bch_calculate()
442 ecc[12] = bchpbr; in stm32_fmc2_nfc_bch_calculate()
457 int i, ret, den, eccsize = chip->ecc.size; in stm32_fmc2_nfc_bch_correct()
508 int i, s, stat, eccsize = chip->ecc.size; in stm32_fmc2_nfc_read_page()
509 int eccbytes = chip->ecc.bytes; in stm32_fmc2_nfc_read_page()
510 int eccsteps = chip->ecc.steps; in stm32_fmc2_nfc_read_page()
511 int eccstrength = chip->ecc.strength; in stm32_fmc2_nfc_read_page()
519 chip->ecc.hwctl(mtd, NAND_ECC_READ); in stm32_fmc2_nfc_read_page()
530 stat = chip->ecc.correct(mtd, p, ecc_code, ecc_calc); in stm32_fmc2_nfc_read_page()
747 chip->ecc.hwctl = stm32_fmc2_nfc_hwctl; in stm32_fmc2_nfc_nand_callbacks_setup()
753 if (chip->ecc.strength == FMC2_ECC_HAM) { in stm32_fmc2_nfc_nand_callbacks_setup()
755 chip->ecc.calculate = stm32_fmc2_nfc_ham_calculate; in stm32_fmc2_nfc_nand_callbacks_setup()
756 chip->ecc.correct = stm32_fmc2_nfc_ham_correct; in stm32_fmc2_nfc_nand_callbacks_setup()
757 chip->ecc.bytes = chip->options & NAND_BUSWIDTH_16 ? 4 : 3; in stm32_fmc2_nfc_nand_callbacks_setup()
758 chip->ecc.options |= NAND_ECC_GENERIC_ERASED_CHECK; in stm32_fmc2_nfc_nand_callbacks_setup()
763 chip->ecc.read_page = stm32_fmc2_nfc_read_page; in stm32_fmc2_nfc_nand_callbacks_setup()
764 chip->ecc.calculate = stm32_fmc2_nfc_bch_calculate; in stm32_fmc2_nfc_nand_callbacks_setup()
765 chip->ecc.correct = stm32_fmc2_nfc_bch_correct; in stm32_fmc2_nfc_nand_callbacks_setup()
767 if (chip->ecc.strength == FMC2_ECC_BCH8) in stm32_fmc2_nfc_nand_callbacks_setup()
768 chip->ecc.bytes = chip->options & NAND_BUSWIDTH_16 ? 14 : 13; in stm32_fmc2_nfc_nand_callbacks_setup()
770 chip->ecc.bytes = chip->options & NAND_BUSWIDTH_16 ? 8 : 7; in stm32_fmc2_nfc_nand_callbacks_setup()
971 chip->ecc.mode = NAND_ECC_HW; in stm32_fmc2_nfc_probe()
972 chip->ecc.size = FMC2_ECC_STEP_SIZE; in stm32_fmc2_nfc_probe()
973 chip->ecc.strength = FMC2_ECC_BCH8; in stm32_fmc2_nfc_probe()
986 if (chip->ecc.mode != NAND_ECC_HW) { in stm32_fmc2_nfc_probe()
1005 ecclayout->eccbytes = chip->ecc.bytes * in stm32_fmc2_nfc_probe()
1006 (mtd->writesize / chip->ecc.size); in stm32_fmc2_nfc_probe()
1012 chip->ecc.layout = ecclayout; in stm32_fmc2_nfc_probe()