Lines Matching refs:ecc
223 static void nand_compute_ecc(unsigned char *data, unsigned char *ecc) { in nand_compute_ecc() argument
238 ecc[0] = ~(a ^ (a<<1) ^ (parity[par] ? 0xaa : 0)); in nand_compute_ecc()
241 ecc[1] = ~(a ^ (a<<1) ^ (parity[par] ? 0xaa : 0)); in nand_compute_ecc()
243 ecc[2] = ecc2[par]; in nand_compute_ecc()
246 static int nand_compare_ecc(unsigned char *data, unsigned char *ecc) { in nand_compare_ecc() argument
247 return (data[0] == ecc[0] && data[1] == ecc[1] && data[2] == ecc[2]); in nand_compare_ecc()
250 static void nand_store_ecc(unsigned char *data, unsigned char *ecc) { in nand_store_ecc() argument
251 memcpy(data, ecc, 3); in nand_store_ecc()
871 unsigned char ecc[3]; in sddr09_write_lba() local
912 nand_compute_ecc(bptr, ecc); in sddr09_write_lba()
913 if (!nand_compare_ecc(cptr+13, ecc)) { in sddr09_write_lba()
916 nand_store_ecc(cptr+13, ecc); in sddr09_write_lba()
918 nand_compute_ecc(bptr+(info->pagesize / 2), ecc); in sddr09_write_lba()
919 if (!nand_compare_ecc(cptr+8, ecc)) { in sddr09_write_lba()
922 nand_store_ecc(cptr+8, ecc); in sddr09_write_lba()
935 nand_compute_ecc(bptr, ecc); in sddr09_write_lba()
936 nand_store_ecc(cptr+13, ecc); in sddr09_write_lba()
937 nand_compute_ecc(bptr+(info->pagesize / 2), ecc); in sddr09_write_lba()
938 nand_store_ecc(cptr+8, ecc); in sddr09_write_lba()