Lines Matching refs:ecc
220 static void nand_compute_ecc(unsigned char *data, unsigned char *ecc) { in nand_compute_ecc() argument
235 ecc[0] = ~(a ^ (a<<1) ^ (parity[par] ? 0xaa : 0)); in nand_compute_ecc()
238 ecc[1] = ~(a ^ (a<<1) ^ (parity[par] ? 0xaa : 0)); in nand_compute_ecc()
240 ecc[2] = ecc2[par]; in nand_compute_ecc()
243 static int nand_compare_ecc(unsigned char *data, unsigned char *ecc) { in nand_compare_ecc() argument
244 return (data[0] == ecc[0] && data[1] == ecc[1] && data[2] == ecc[2]); in nand_compare_ecc()
247 static void nand_store_ecc(unsigned char *data, unsigned char *ecc) { in nand_store_ecc() argument
248 memcpy(data, ecc, 3); in nand_store_ecc()
868 unsigned char ecc[3]; in sddr09_write_lba() local
909 nand_compute_ecc(bptr, ecc); in sddr09_write_lba()
910 if (!nand_compare_ecc(cptr+13, ecc)) { in sddr09_write_lba()
913 nand_store_ecc(cptr+13, ecc); in sddr09_write_lba()
915 nand_compute_ecc(bptr+(info->pagesize / 2), ecc); in sddr09_write_lba()
916 if (!nand_compare_ecc(cptr+8, ecc)) { in sddr09_write_lba()
919 nand_store_ecc(cptr+8, ecc); in sddr09_write_lba()
932 nand_compute_ecc(bptr, ecc); in sddr09_write_lba()
933 nand_store_ecc(cptr+13, ecc); in sddr09_write_lba()
934 nand_compute_ecc(bptr+(info->pagesize / 2), ecc); in sddr09_write_lba()
935 nand_store_ecc(cptr+8, ecc); in sddr09_write_lba()