Lines Matching full:cap

84 static int pmecc_get_ecc_bytes(int cap, int sector_size)  in pmecc_get_ecc_bytes()  argument
87 return (m * cap + 7) / 8; in pmecc_get_ecc_bytes()
131 const int cap = host->pmecc_corr_cap; in pmecc_data_alloc() local
134 size = (2 * cap + 1) * sizeof(int16_t); in pmecc_data_alloc()
137 host->pmecc_lmu = malloc((cap + 1) * sizeof(int16_t)); in pmecc_data_alloc()
138 host->pmecc_smu = malloc((cap + 2) * size); in pmecc_data_alloc()
140 size = (cap + 1) * sizeof(int); in pmecc_data_alloc()
184 const int cap = host->pmecc_corr_cap; in pmecc_substitute() local
193 memset(&si[1], 0, sizeof(int16_t) * (2 * cap - 1)); in pmecc_substitute()
197 for (i = 1; i < 2 * cap; i += 2) { in pmecc_substitute()
204 for (i = 2, j = 1; j <= cap; i = ++j << 1) { in pmecc_substitute()
238 const int16_t cap = host->pmecc_corr_cap; in pmecc_get_sigma() local
239 const int num = 2 * cap + 1; in pmecc_get_sigma()
252 memset(smu, 0, sizeof(int16_t) * num * (cap + 2)); in pmecc_get_sigma()
286 for (i = 1; i <= cap; i++) { in pmecc_get_sigma()
293 tmp = ((cap - (lmu[i] >> 1) - 1) / 2); in pmecc_get_sigma()
294 if ((cap - (lmu[i] >> 1) - 1) & 0x1) in pmecc_get_sigma()
301 smu[(cap + 1) * num + j] = in pmecc_get_sigma()
304 lmu[cap + 1] = lmu[i]; in pmecc_get_sigma()
361 if (i >= cap) in pmecc_get_sigma()
387 const int cap = host->pmecc_corr_cap; in pmecc_err_location() local
388 const int num = 2 * cap + 1; in pmecc_err_location()
399 for (i = 0; i <= host->pmecc_lmu[cap + 1] >> 1; i++) { in pmecc_err_location()
401 smu[(cap + 1) * num + i]); in pmecc_err_location()
411 sector_size * 8 + host->pmecc_degree * cap); in pmecc_err_location()
427 /* Number of roots == degree of smu hence <= cap */ in pmecc_err_location()
428 if (roots_nbr == host->pmecc_lmu[cap + 1] >> 1) in pmecc_err_location()
690 * @cap: store the ONFI ECC correct bits capbility
697 int *cap, int *sector_size) in pmecc_choose_ecc() argument
700 *cap = *sector_size = 0; in pmecc_choose_ecc()
702 *cap = chip->ecc_strength_ds; in pmecc_choose_ecc()
705 *cap, *sector_size); in pmecc_choose_ecc()
708 if (*cap == 0 && *sector_size == 0) { in pmecc_choose_ecc()
711 *cap = 2; in pmecc_choose_ecc()
718 if (*cap <= 2) in pmecc_choose_ecc()
720 else if (*cap <= 4) in pmecc_choose_ecc()
722 else if (*cap <= 8) in pmecc_choose_ecc()
724 else if (*cap <= 12) in pmecc_choose_ecc()
726 else if (*cap <= 24) in pmecc_choose_ecc()
808 int cap, sector_size; in atmel_pmecc_nand_init_params() local
831 if (pmecc_choose_ecc(host, nand, &cap, &sector_size)) { in atmel_pmecc_nand_init_params()
833 cap, sector_size); in atmel_pmecc_nand_init_params()
837 if (cap > host->pmecc_corr_cap) in atmel_pmecc_nand_init_params()
839 host->pmecc_corr_cap, cap); in atmel_pmecc_nand_init_params()
848 cap = host->pmecc_corr_cap; in atmel_pmecc_nand_init_params()
851 /* TODO: need check whether cap & sector_size is validate */ in atmel_pmecc_nand_init_params()
865 pr_debug("Initialize PMECC params, cap: %d, sector: %d\n", in atmel_pmecc_nand_init_params()
866 cap, sector_size); in atmel_pmecc_nand_init_params()
896 cap, sector_size); in atmel_pmecc_nand_init_params()
944 nand->ecc.strength = cap; in atmel_pmecc_nand_init_params()