Lines Matching refs:ecc
391 int eccpitch = chip->ecc.bytes + chip->ecc.prepad + chip->ecc.postpad;
399 for (i = 0; i < chip->ecc.steps; i++) {
400 toread = min_t(int, length, chip->ecc.prepad);
406 bufpoi += chip->ecc.bytes;
407 host->col_addr += chip->ecc.bytes;
408 length -= chip->ecc.bytes;
410 toread = min_t(int, length, chip->ecc.postpad);
422 mtd->writesize + chip->ecc.prepad, page);
423 bufpoi = buf + chip->ecc.prepad;
424 length = mtd->oobsize - chip->ecc.prepad;
425 for (i = 0; i < chip->ecc.steps; i++) {
426 toread = min_t(int, length, chip->ecc.bytes);
430 host->col_addr += chip->ecc.postpad + chip->ecc.prepad;
443 int eccsize = chip->ecc.size;
444 int eccbytes = chip->ecc.bytes;
445 int eccpitch = eccbytes + chip->ecc.prepad + chip->ecc.postpad;
453 for (n = 0, steps = chip->ecc.steps; steps > 0; n++, steps--) {
459 if (chip->ecc.prepad) {
460 chip->read_buf(mtd, oob, chip->ecc.prepad);
461 oob += chip->ecc.prepad;
467 if (chip->ecc.postpad) {
468 chip->read_buf(mtd, oob, chip->ecc.postpad);
469 oob += chip->ecc.postpad;
488 int n, eccsize = chip->ecc.size;
489 int eccbytes = chip->ecc.bytes;
490 int eccpitch = eccbytes + chip->ecc.prepad + chip->ecc.postpad;
491 int eccsteps = chip->ecc.steps;
508 if (chip->ecc.prepad) {
509 chip->read_buf(mtd, oob, chip->ecc.prepad);
510 oob += chip->ecc.prepad;
513 stat = chip->ecc.correct(mtd, p, oob, NULL);
521 if (chip->ecc.postpad) {
522 chip->read_buf(mtd, oob, chip->ecc.postpad);
523 oob += chip->ecc.postpad;
535 eccsteps = chip->ecc.steps;
536 oob = chip->oob_poi + chip->ecc.prepad;
540 chip->ecc.prepad;
542 oob += eccbytes + chip->ecc.postpad;
552 int eccpitch = chip->ecc.bytes + chip->ecc.prepad + chip->ecc.postpad;
554 int i, len, status, steps = chip->ecc.steps;
564 host->col_addr += chip->ecc.prepad + chip->ecc.postpad;
580 int eccsize = chip->ecc.size;
581 int eccbytes = chip->ecc.bytes;
582 int eccpitch = eccbytes + chip->ecc.prepad + chip->ecc.postpad;
587 for (n = 0, steps = chip->ecc.steps; steps > 0; n++, steps--) {
594 if (chip->ecc.prepad) {
595 chip->write_buf(mtd, oob, chip->ecc.prepad);
596 oob += chip->ecc.prepad;
602 if (chip->ecc.postpad) {
603 chip->write_buf(mtd, oob, chip->ecc.postpad);
604 oob += chip->ecc.postpad;
620 int i, n, eccsize = chip->ecc.size;
621 int eccbytes = chip->ecc.bytes;
622 int eccpitch = eccbytes + chip->ecc.prepad + chip->ecc.postpad;
623 int eccsteps = chip->ecc.steps;
627 chip->ecc.hwctl(mtd, NAND_ECC_WRITE);
638 if (chip->ecc.prepad) {
639 chip->write_buf(mtd, oob, chip->ecc.prepad);
640 oob += chip->ecc.prepad;
646 if (chip->ecc.postpad) {
647 chip->write_buf(mtd, oob, chip->ecc.postpad);
648 oob += chip->ecc.postpad;
1182 this->ecc.calculate = mxc_nand_calculate_ecc;
1183 this->ecc.hwctl = mxc_nand_enable_hwecc;
1184 this->ecc.correct = mxc_nand_correct_data;
1186 this->ecc.mode = NAND_ECC_HW_SYNDROME;
1187 this->ecc.read_page = mxc_nand_read_page_syndrome;
1188 this->ecc.read_page_raw = mxc_nand_read_page_raw_syndrome;
1189 this->ecc.read_oob = mxc_nand_read_oob_syndrome;
1190 this->ecc.write_page = mxc_nand_write_page_syndrome;
1191 this->ecc.write_page_raw = mxc_nand_write_page_raw_syndrome;
1192 this->ecc.write_oob = mxc_nand_write_oob_syndrome;
1193 this->ecc.bytes = 9;
1194 this->ecc.prepad = 7;
1196 this->ecc.mode = NAND_ECC_HW;
1200 this->ecc.strength = 1;
1202 this->ecc.strength = 4;
1206 this->ecc.size = 512;
1209 this->ecc.layout = &nand_soft_eccoob;
1210 this->ecc.mode = NAND_ECC_SOFT;
1222 this->ecc.layout = &nand_hw_eccoob2k;
1225 this->ecc.layout = &nand_hw_eccoob;