Lines Matching refs:ecc
252 static void nand_compute_ecc(unsigned char *data, unsigned char *ecc) in nand_compute_ecc() argument
268 ecc[0] = ~(a ^ (a<<1) ^ (parity[par] ? 0xaa : 0)); in nand_compute_ecc()
271 ecc[1] = ~(a ^ (a<<1) ^ (parity[par] ? 0xaa : 0)); in nand_compute_ecc()
273 ecc[2] = ecc2[par]; in nand_compute_ecc()
276 static int nand_compare_ecc(unsigned char *data, unsigned char *ecc) in nand_compare_ecc() argument
278 return (data[0] == ecc[0] && data[1] == ecc[1] && data[2] == ecc[2]); in nand_compare_ecc()
281 static void nand_store_ecc(unsigned char *data, unsigned char *ecc) in nand_store_ecc() argument
283 memcpy(data, ecc, 3); in nand_store_ecc()
815 unsigned char ecc[3]; in alauda_write_lba() local
861 nand_compute_ecc(bptr, ecc); in alauda_write_lba()
862 if (!nand_compare_ecc(cptr+13, ecc)) { in alauda_write_lba()
865 nand_store_ecc(cptr+13, ecc); in alauda_write_lba()
867 nand_compute_ecc(bptr + (pagesize / 2), ecc); in alauda_write_lba()
868 if (!nand_compare_ecc(cptr+8, ecc)) { in alauda_write_lba()
871 nand_store_ecc(cptr+8, ecc); in alauda_write_lba()
884 nand_compute_ecc(bptr, ecc); in alauda_write_lba()
885 nand_store_ecc(cptr+13, ecc); in alauda_write_lba()
886 nand_compute_ecc(bptr + (pagesize / 2), ecc); in alauda_write_lba()
887 nand_store_ecc(cptr+8, ecc); in alauda_write_lba()