Lines Matching full:oob

48 /* OOB placement block for use with hardware ecc generation */
394 pr_debug("%s: Reading OOB area of page %u to oob %p\n",
445 uint8_t *oob = chip->oob_poi; local
459 chip->read_buf(mtd, oob, chip->ecc.prepad);
460 oob += chip->ecc.prepad;
463 chip->read_buf(mtd, oob, eccbytes);
464 oob += eccbytes;
467 chip->read_buf(mtd, oob, chip->ecc.postpad);
468 oob += chip->ecc.postpad;
472 size = mtd->oobsize - (oob - chip->oob_poi);
474 chip->read_buf(mtd, oob, size);
492 uint8_t *oob = chip->oob_poi; local
494 pr_debug("Reading page %u to buf %p oob %p\n",
495 page, buf, oob);
497 /* first read the data area and the available portion of OOB */
508 chip->read_buf(mtd, oob, chip->ecc.prepad);
509 oob += chip->ecc.prepad;
512 stat = chip->ecc.correct(mtd, p, oob, NULL);
518 oob += eccbytes;
521 chip->read_buf(mtd, oob, chip->ecc.postpad);
522 oob += chip->ecc.postpad;
526 /* Calculate remaining oob bytes */
527 n = mtd->oobsize - (oob - chip->oob_poi);
529 chip->read_buf(mtd, oob, n);
531 /* Then switch ECC off and read the OOB area to get the ECC code */
535 oob = chip->oob_poi + chip->ecc.prepad;
540 chip->read_buf(mtd, oob, eccbytes);
541 oob += eccbytes + chip->ecc.postpad;
582 uint8_t *oob = chip->oob_poi; local
594 chip->write_buf(mtd, oob, chip->ecc.prepad);
595 oob += chip->ecc.prepad;
599 oob += eccbytes;
602 chip->write_buf(mtd, oob, chip->ecc.postpad);
603 oob += chip->ecc.postpad;
607 size = mtd->oobsize - (oob - chip->oob_poi);
609 chip->write_buf(mtd, oob, size);
624 uint8_t *oob = chip->oob_poi; local
638 chip->write_buf(mtd, oob, chip->ecc.prepad);
639 oob += chip->ecc.prepad;
642 chip->write_buf(mtd, oob, eccbytes);
643 oob += eccbytes;
646 chip->write_buf(mtd, oob, chip->ecc.postpad);
647 oob += chip->ecc.postpad;
651 /* Calculate remaining oob bytes */
652 i = mtd->oobsize - (oob - chip->oob_poi);
654 chip->write_buf(mtd, oob, i);