Lines Matching defs:oob

382  * nand_fill_oob - [INTERN] Transfer client buffer to oob
384 * @oob: oob data buffer
385 * @len: oob data write length
386 * @ops: oob ops structure
388 static uint8_t *nand_fill_oob(struct nand_chip *chip, uint8_t *oob, size_t len,
404 memcpy(chip->oob_poi + ops->ooboffs, oob, len);
405 return oob + len;
408 ret = mtd_ooblayout_set_databytes(mtd, oob, chip->oob_poi,
411 return oob + len;
423 * @ops: oob operation description structure
2932 * Not for syndrome calculating ECC controllers, which use a special oob layout.
3003 * We need a special oob layout and handling even when OOB isn't used.
3011 uint8_t *oob = chip->oob_poi;
3026 ret = nand_read_data_op(chip, oob, chip->ecc.prepad,
3031 oob += chip->ecc.prepad;
3034 ret = nand_read_data_op(chip, oob, eccbytes, false, false);
3038 oob += eccbytes;
3041 ret = nand_read_data_op(chip, oob, chip->ecc.postpad,
3046 oob += chip->ecc.postpad;
3050 size = mtd->oobsize - (oob - chip->oob_poi);
3052 ret = nand_read_data_op(chip, oob, size, false, false);
3224 * Not for syndrome calculating ECC controllers which need a special oob layout.
3363 * need a special oob layout and handling.
3374 uint8_t *oob = chip->oob_poi;
3391 ret = nand_read_data_op(chip, oob, chip->ecc.prepad,
3396 oob += chip->ecc.prepad;
3401 ret = nand_read_data_op(chip, oob, eccbytes, false, false);
3405 stat = chip->ecc.correct(chip, p, oob, NULL);
3407 oob += eccbytes;
3410 ret = nand_read_data_op(chip, oob, chip->ecc.postpad,
3415 oob += chip->ecc.postpad;
3422 oob - eccpadbytes,
3436 /* Calculate remaining oob bytes */
3437 i = mtd->oobsize - (oob - chip->oob_poi);
3439 ret = nand_read_data_op(chip, oob, i, false, false);
3448 * nand_transfer_oob - [INTERN] Transfer oob to client buffer
3450 * @oob: oob destination address
3451 * @ops: oob ops structure
3452 * @len: size of oob to transfer
3454 static uint8_t *nand_transfer_oob(struct nand_chip *chip, uint8_t *oob,
3464 memcpy(oob, chip->oob_poi + ops->ooboffs, len);
3465 return oob + len;
3468 ret = mtd_ooblayout_get_databytes(mtd, oob, chip->oob_poi,
3471 return oob + len;
3561 * @ops: oob ops structure
3575 uint8_t *bufpoi, *oob, *buf;
3594 oob = ops->oobbuf;
3595 oob_required = oob ? 1 : 0;
3616 if (realpage != chip->pagecache.page || oob) {
3633 !oob)
3651 if (!NAND_HAS_SUBPAGE_READ(chip) && !oob &&
3663 if (unlikely(oob)) {
3667 oob = nand_transfer_oob(chip, oob, ops,
3735 if (oob)
3843 * data-ecc-data-ecc ... ecc-oob
3845 * data-pad-ecc-pad-data-pad .... ecc-pad-oob
3905 * @ops: oob operations description structure
3987 * @ops: oob operation description structure
4047 * Not for syndrome calculating ECC controllers, which use a special oob layout.
4113 * We need a special oob layout and handling even when ECC isn't checked.
4122 uint8_t *oob = chip->oob_poi;
4137 ret = nand_write_data_op(chip, oob, chip->ecc.prepad,
4142 oob += chip->ecc.prepad;
4145 ret = nand_write_data_op(chip, oob, eccbytes, false);
4149 oob += eccbytes;
4152 ret = nand_write_data_op(chip, oob, chip->ecc.postpad,
4157 oob += chip->ecc.postpad;
4161 size = mtd->oobsize - (oob - chip->oob_poi);
4163 ret = nand_write_data_op(chip, oob, size, false);
4296 /* copy calculated ECC for whole page to chip->buffer->oob */
4321 * need a special oob layout and handling.
4331 uint8_t *oob = chip->oob_poi;
4346 ret = nand_write_data_op(chip, oob, chip->ecc.prepad,
4351 oob += chip->ecc.prepad;
4354 chip->ecc.calculate(chip, p, oob);
4356 ret = nand_write_data_op(chip, oob, eccbytes, false);
4360 oob += eccbytes;
4363 ret = nand_write_data_op(chip, oob, chip->ecc.postpad,
4368 oob += chip->ecc.postpad;
4372 /* Calculate remaining oob bytes */
4373 i = mtd->oobsize - (oob - chip->oob_poi);
4375 ret = nand_write_data_op(chip, oob, i, false);
4427 * @ops: oob operations description structure
4441 uint8_t *oob = ops->oobbuf;
4444 int oob_required = oob ? 1 : 0;
4480 /* Don't allow multipage oob writes with offset */
4481 if (oob && ops->ooboffs && (ops->ooboffs + ops->ooblen > oobmaxlen)) {
4515 if (unlikely(oob)) {
4517 oob = nand_fill_oob(chip, oob, len, ops);
4548 if (unlikely(oob))
4595 * @ops: oob operation description structure
6329 /* Set the internal oob buffer location, just after the page data */
6364 WARN(1, "No oob scheme defined for oobsize %d\n",