Searched refs:calc_ecc (Results 1 - 21 of 21) sorted by relevance

/linux-4.1.27/include/linux/mtd/
H A Dnand_ecc.h34 int __nand_correct_data(u_char *dat, u_char *read_ecc, u_char *calc_ecc,
40 int nand_correct_data(struct mtd_info *mtd, u_char *dat, u_char *read_ecc, u_char *calc_ecc);
H A Dnand_bch.h31 u_char *calc_ecc); mtd_nand_has_bch()
56 unsigned char *read_ecc, unsigned char *calc_ecc) nand_bch_correct_data()
55 nand_bch_correct_data(struct mtd_info *mtd, unsigned char *buf, unsigned char *read_ecc, unsigned char *calc_ecc) nand_bch_correct_data() argument
H A Dnand.h501 uint8_t *calc_ecc);
/linux-4.1.27/drivers/mtd/tests/
H A Dmtd_nandecctest.c121 unsigned char calc_ecc[3]; no_bit_error_verify() local
124 __nand_calculate_ecc(error_data, size, calc_ecc); no_bit_error_verify()
125 ret = __nand_correct_data(error_data, error_ecc, calc_ecc, size); no_bit_error_verify()
149 unsigned char calc_ecc[3]; single_bit_error_correct() local
152 __nand_calculate_ecc(error_data, size, calc_ecc); single_bit_error_correct()
153 ret = __nand_correct_data(error_data, error_ecc, calc_ecc, size); single_bit_error_correct()
184 unsigned char calc_ecc[3]; double_bit_error_detect() local
187 __nand_calculate_ecc(error_data, size, calc_ecc); double_bit_error_detect()
188 ret = __nand_correct_data(error_data, error_ecc, calc_ecc, size); double_bit_error_detect()
/linux-4.1.27/drivers/mtd/nand/
H A Dnand_ecc.c437 * @calc_ecc: the ECC calculated from raw data
443 unsigned char *read_ecc, unsigned char *calc_ecc, __nand_correct_data()
457 b0 = read_ecc[0] ^ calc_ecc[0]; __nand_correct_data()
458 b1 = read_ecc[1] ^ calc_ecc[1]; __nand_correct_data()
460 b0 = read_ecc[1] ^ calc_ecc[1]; __nand_correct_data()
461 b1 = read_ecc[0] ^ calc_ecc[0]; __nand_correct_data()
463 b2 = read_ecc[2] ^ calc_ecc[2]; __nand_correct_data()
519 * @calc_ecc: the ECC calculated from raw data
524 unsigned char *read_ecc, unsigned char *calc_ecc) nand_correct_data()
526 return __nand_correct_data(buf, read_ecc, calc_ecc, nand_correct_data()
442 __nand_correct_data(unsigned char *buf, unsigned char *read_ecc, unsigned char *calc_ecc, unsigned int eccsize) __nand_correct_data() argument
523 nand_correct_data(struct mtd_info *mtd, unsigned char *buf, unsigned char *read_ecc, unsigned char *calc_ecc) nand_correct_data() argument
H A Dbf5xx_nand.c226 u_char *read_ecc, u_char *calc_ecc) bf5xx_nand_correct_data_256()
235 calced = calc_ecc[0] | (calc_ecc[1] << 8) | (calc_ecc[2] << 16); bf5xx_nand_correct_data_256()
305 u_char *read_ecc, u_char *calc_ecc) bf5xx_nand_correct_data()
310 ret = bf5xx_nand_correct_data_256(mtd, dat, read_ecc, calc_ecc); bf5xx_nand_correct_data()
316 calc_ecc += 3; bf5xx_nand_correct_data()
317 ret |= bf5xx_nand_correct_data_256(mtd, dat, read_ecc, calc_ecc); bf5xx_nand_correct_data()
225 bf5xx_nand_correct_data_256(struct mtd_info *mtd, u_char *dat, u_char *read_ecc, u_char *calc_ecc) bf5xx_nand_correct_data_256() argument
304 bf5xx_nand_correct_data(struct mtd_info *mtd, u_char *dat, u_char *read_ecc, u_char *calc_ecc) bf5xx_nand_correct_data() argument
H A Dnand_bch.c75 * @calc_ecc: the ECC calculated from raw data
80 unsigned char *read_ecc, unsigned char *calc_ecc) nand_bch_correct_data()
87 count = decode_bch(nbc->bch, NULL, chip->ecc.size, read_ecc, calc_ecc, nand_bch_correct_data()
79 nand_bch_correct_data(struct mtd_info *mtd, unsigned char *buf, unsigned char *read_ecc, unsigned char *calc_ecc) nand_bch_correct_data() argument
H A Dtxx9ndfmc.c196 unsigned char *read_ecc, unsigned char *calc_ecc) txx9ndfmc_correct_data()
204 stat = __nand_correct_data(buf, read_ecc, calc_ecc, 256); txx9ndfmc_correct_data()
210 calc_ecc += 3; txx9ndfmc_correct_data()
195 txx9ndfmc_correct_data(struct mtd_info *mtd, unsigned char *buf, unsigned char *read_ecc, unsigned char *calc_ecc) txx9ndfmc_correct_data() argument
H A Domap2.c877 * @calc_ecc: ecc read from HW ECC registers
887 u_char *read_ecc, u_char *calc_ecc) omap_correct_data()
902 if (memcmp(read_ecc, calc_ecc, 3) != 0) { omap_correct_data()
903 ret = omap_compare_ecc(read_ecc, calc_ecc, dat); omap_correct_data()
910 calc_ecc += 3; omap_correct_data()
1328 * @calc_ecc: ecc read from HW ECC registers
1335 u_char *read_ecc, u_char *calc_ecc) omap_elm_correct_data()
1344 u_char *ecc_vec = calc_ecc; omap_elm_correct_data()
1384 if (calc_ecc[j] != 0) { omap_elm_correct_data()
1391 if (memcmp(calc_ecc, erased_ecc_vec, omap_elm_correct_data()
1394 * calc_ecc[] matches pattern for ECC(all 0xff) omap_elm_correct_data()
1426 calc_ecc += ecc->bytes; omap_elm_correct_data()
886 omap_correct_data(struct mtd_info *mtd, u_char *dat, u_char *read_ecc, u_char *calc_ecc) omap_correct_data() argument
1334 omap_elm_correct_data(struct mtd_info *mtd, u_char *data, u_char *read_ecc, u_char *calc_ecc) omap_elm_correct_data() argument
H A Dtmio_nand.c291 unsigned char *read_ecc, unsigned char *calc_ecc) tmio_nand_correct_data()
296 r0 = __nand_correct_data(buf, read_ecc, calc_ecc, 256); tmio_nand_correct_data()
299 r1 = __nand_correct_data(buf + 256, read_ecc + 3, calc_ecc + 3, 256); tmio_nand_correct_data()
290 tmio_nand_correct_data(struct mtd_info *mtd, unsigned char *buf, unsigned char *read_ecc, unsigned char *calc_ecc) tmio_nand_correct_data() argument
H A Dfsmc_nand.c777 * @calc_ecc: ecc calculated from read data
779 * calc_ecc is a 104 bit information containing maximum of 8 error
783 uint8_t *read_ecc, uint8_t *calc_ecc) fsmc_bch8_correct_data()
829 * ------------------- calc_ecc[] bit wise -----------|--13 bits--| fsmc_bch8_correct_data()
832 * calc_ecc is a 104 bit information containing maximum of 8 error fsmc_bch8_correct_data()
833 * offset informations of 13 bits each. calc_ecc is copied into a fsmc_bch8_correct_data()
782 fsmc_bch8_correct_data(struct mtd_info *mtd, uint8_t *dat, uint8_t *read_ecc, uint8_t *calc_ecc) fsmc_bch8_correct_data() argument
H A Ds3c2410.c480 u_char *read_ecc, u_char *calc_ecc) s3c2410_nand_correct_data()
486 pr_debug("%s(%p,%p,%p,%p)\n", __func__, mtd, dat, read_ecc, calc_ecc); s3c2410_nand_correct_data()
488 diff0 = read_ecc[0] ^ calc_ecc[0]; s3c2410_nand_correct_data()
489 diff1 = read_ecc[1] ^ calc_ecc[1]; s3c2410_nand_correct_data()
490 diff2 = read_ecc[2] ^ calc_ecc[2]; s3c2410_nand_correct_data()
493 __func__, 3, read_ecc, 3, calc_ecc, s3c2410_nand_correct_data()
479 s3c2410_nand_correct_data(struct mtd_info *mtd, u_char *dat, u_char *read_ecc, u_char *calc_ecc) s3c2410_nand_correct_data() argument
H A Ddavinci_nand.c193 u_char *read_ecc, u_char *calc_ecc) nand_davinci_correct_1bit()
198 uint32_t eccCalc = calc_ecc[0] | (calc_ecc[1] << 8) | nand_davinci_correct_1bit()
199 (calc_ecc[2] << 16); nand_davinci_correct_1bit()
192 nand_davinci_correct_1bit(struct mtd_info *mtd, u_char *dat, u_char *read_ecc, u_char *calc_ecc) nand_davinci_correct_1bit() argument
H A Ddiskonchip.c910 uint8_t calc_ecc[6]; doc200x_correct_data() local
933 calc_ecc[i] = ReadDOC_(docptr, DoC_Mplus_ECCSyndrome0 + i); doc200x_correct_data()
935 calc_ecc[i] = ReadDOC_(docptr, DoC_ECCSyndrome0 + i); doc200x_correct_data()
936 if (calc_ecc[i] != empty_read_syndrome[i]) doc200x_correct_data()
966 ret = doc_ecc_decode(rs_decoder, dat, calc_ecc); doc200x_correct_data()
H A Dmxc_nand.c155 u_char *read_ecc, u_char *calc_ecc);
631 u_char *read_ecc, u_char *calc_ecc) mxc_nand_correct_data_v1()
652 u_char *read_ecc, u_char *calc_ecc) mxc_nand_correct_data_v2_v3()
630 mxc_nand_correct_data_v1(struct mtd_info *mtd, u_char *dat, u_char *read_ecc, u_char *calc_ecc) mxc_nand_correct_data_v1() argument
651 mxc_nand_correct_data_v2_v3(struct mtd_info *mtd, u_char *dat, u_char *read_ecc, u_char *calc_ecc) mxc_nand_correct_data_v2_v3() argument
H A Djz4740_nand.c219 uint8_t *read_ecc, uint8_t *calc_ecc) jz_nand_correct_ecc_rs()
218 jz_nand_correct_ecc_rs(struct mtd_info *mtd, uint8_t *dat, uint8_t *read_ecc, uint8_t *calc_ecc) jz_nand_correct_ecc_rs() argument
H A Dr852.c467 uint8_t *read_ecc, uint8_t *calc_ecc) r852_ecc_correct()
466 r852_ecc_correct(struct mtd_info *mtd, uint8_t *dat, uint8_t *read_ecc, uint8_t *calc_ecc) r852_ecc_correct() argument
H A Ddocg4.c419 * The hardware ecc unit produces oob_ecc ^ calc_ecc. The kernel's bch correct_data()
/linux-4.1.27/include/linux/
H A Dbch.h76 const uint8_t *recv_ecc, const uint8_t *calc_ecc,
/linux-4.1.27/lib/
H A Dbch.c947 * @data: received data, ignored if @calc_ecc is provided
949 * @recv_ecc: received ecc, if NULL then assume it was XORed in @calc_ecc
950 * @calc_ecc: calculated ecc, if NULL then calc_ecc is computed from @data
958 * Depending on the available hw BCH support and the need to compute @calc_ecc
965 * by providing @recv_ecc and @calc_ecc:
966 * decode_bch(@bch, NULL, @len, @recv_ecc, @calc_ecc, NULL, @errloc)
968 * by providing ecc = recv_ecc XOR calc_ecc:
987 const uint8_t *recv_ecc, const uint8_t *calc_ecc, decode_bch()
1001 if (!calc_ecc) { decode_bch()
1008 load_ecc8(bch, bch->ecc_buf, calc_ecc); decode_bch()
1010 /* load received ecc or assume it was XORed in calc_ecc */ decode_bch()
986 decode_bch(struct bch_control *bch, const uint8_t *data, unsigned int len, const uint8_t *recv_ecc, const uint8_t *calc_ecc, const unsigned int *syn, unsigned int *errloc) decode_bch() argument
/linux-4.1.27/drivers/mtd/devices/
H A Ddocg3.c617 * It's in fact recv_ecc ^ calc_ecc, where recv_ecc was read from OOB
618 * area data, and calc_ecc the ECC calculated by the hardware generator.
626 * The hardware ecc unit produces oob_ecc ^ calc_ecc. The kernel's bch

Completed in 1055 milliseconds