/linux-4.1.27/include/linux/mtd/ |
H A D | nand_ecc.h | 34 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 D | nand_bch.h | 31 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 D | nand.h | 501 uint8_t *calc_ecc);
|
/linux-4.1.27/drivers/mtd/tests/ |
H A D | mtd_nandecctest.c | 121 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 D | nand_ecc.c | 437 * @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 D | bf5xx_nand.c | 226 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 D | nand_bch.c | 75 * @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 D | txx9ndfmc.c | 196 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 D | omap2.c | 877 * @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 D | tmio_nand.c | 291 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 D | fsmc_nand.c | 777 * @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 D | s3c2410.c | 480 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 D | davinci_nand.c | 193 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 D | diskonchip.c | 910 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 D | mxc_nand.c | 155 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 D | jz4740_nand.c | 219 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 D | r852.c | 467 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 D | docg4.c | 419 * The hardware ecc unit produces oob_ecc ^ calc_ecc. The kernel's bch correct_data()
|
/linux-4.1.27/include/linux/ |
H A D | bch.h | 76 const uint8_t *recv_ecc, const uint8_t *calc_ecc,
|
/linux-4.1.27/lib/ |
H A D | bch.c | 947 * @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 D | docg3.c | 617 * 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
|