Lines Matching defs:engine_conf
26 struct nand_ecc_sw_bch_conf *engine_conf = nand->ecc.ctx.priv;
29 memset(code, 0, engine_conf->code_size);
30 bch_encode(engine_conf->bch, buf, nand->ecc.ctx.conf.step_size, code);
33 for (i = 0; i < engine_conf->code_size; i++)
34 code[i] ^= engine_conf->eccmask[i];
52 struct nand_ecc_sw_bch_conf *engine_conf = nand->ecc.ctx.priv;
54 unsigned int *errloc = engine_conf->errloc;
57 count = bch_decode(engine_conf->bch, NULL, step_size, read_ecc,
84 struct nand_ecc_sw_bch_conf *engine_conf = nand->ecc.ctx.priv;
86 bch_free(engine_conf->bch);
87 kfree(engine_conf->errloc);
88 kfree(engine_conf->eccmask);
110 struct nand_ecc_sw_bch_conf *engine_conf = nand->ecc.ctx.priv;
112 unsigned int eccbytes = engine_conf->code_size;
120 engine_conf->bch = bch_init(m, t, 0, false);
121 if (!engine_conf->bch)
124 engine_conf->eccmask = kzalloc(eccbytes, GFP_KERNEL);
125 engine_conf->errloc = kmalloc_array(t, sizeof(*engine_conf->errloc),
127 if (!engine_conf->eccmask || !engine_conf->errloc) {
140 bch_encode(engine_conf->bch, erased_page, eccsize,
141 engine_conf->eccmask);
145 engine_conf->eccmask[i] ^= 0xff;
148 if (engine_conf->bch->ecc_bytes != eccbytes) {
150 eccbytes, engine_conf->bch->ecc_bytes);
174 struct nand_ecc_sw_bch_conf *engine_conf;
230 engine_conf = kzalloc(sizeof(*engine_conf), GFP_KERNEL);
231 if (!engine_conf)
234 ret = nand_ecc_init_req_tweaking(&engine_conf->req_ctx, nand);
238 engine_conf->code_size = code_size;
239 engine_conf->calc_buf = kzalloc(mtd->oobsize, GFP_KERNEL);
240 engine_conf->code_buf = kzalloc(mtd->oobsize, GFP_KERNEL);
241 if (!engine_conf->calc_buf || !engine_conf->code_buf) {
246 nand->ecc.ctx.priv = engine_conf;
256 nand->ecc.ctx.nsteps * engine_conf->code_size) {
267 nand_ecc_cleanup_req_tweaking(&engine_conf->req_ctx);
268 kfree(engine_conf->calc_buf);
269 kfree(engine_conf->code_buf);
271 kfree(engine_conf);
279 struct nand_ecc_sw_bch_conf *engine_conf = nand->ecc.ctx.priv;
281 if (engine_conf) {
283 nand_ecc_cleanup_req_tweaking(&engine_conf->req_ctx);
284 kfree(engine_conf->calc_buf);
285 kfree(engine_conf->code_buf);
286 kfree(engine_conf);
294 struct nand_ecc_sw_bch_conf *engine_conf = nand->ecc.ctx.priv;
297 int eccbytes = engine_conf->code_size;
300 u8 *ecccalc = engine_conf->calc_buf;
312 nand_ecc_tweak_req(&engine_conf->req_ctx, req);
331 struct nand_ecc_sw_bch_conf *engine_conf = nand->ecc.ctx.priv;
335 int eccbytes = engine_conf->code_size;
337 u8 *ecccalc = engine_conf->calc_buf;
338 u8 *ecccode = engine_conf->code_buf;
353 nand_ecc_restore_req(&engine_conf->req_ctx, req);
382 nand_ecc_restore_req(&engine_conf->req_ctx, req);