Lines Matching full:oob

251 	u8			*oob;  member
259 u8 *oob, u32 len, u8 dma_cmd);
1351 "error: ECC too large for OOB (ECC bytes %d, spare sector %d)\n", in brcmstb_choose_ecc_layout()
1404 /* Helper functions for reading and writing OOB registers */
1443 * read_oob_from_regs - read data from OOB registers
1446 * @oob: buffer to read to
1447 * @sas: spare area sector size (i.e., OOB size per FLASH_CACHE)
1450 static int read_oob_from_regs(struct brcmnand_controller *ctrl, int i, u8 *oob, in read_oob_from_regs() argument
1456 /* Adjust OOB values for 1K sector size */ in read_oob_from_regs()
1462 oob[j] = oob_reg_read(ctrl, j); in read_oob_from_regs()
1467 * write_oob_to_regs - write data to OOB registers
1469 * @oob: buffer to write from
1470 * @sas: spare area sector size (i.e., OOB size per FLASH_CACHE)
1474 const u8 *oob, int sas, int sector_1k) in write_oob_to_regs() argument
1481 /* Adjust OOB values for 1K sector size */ in write_oob_to_regs()
1492 (oob[j + 0] << 24) | in write_oob_to_regs()
1493 (oob[j + 1] << 16) | in write_oob_to_regs()
1494 (oob[j + 2] << 8) | in write_oob_to_regs()
1495 (oob[j + 3] << 0)); in write_oob_to_regs()
1499 plast[k++] = oob[j++]; in write_oob_to_regs()
1541 if (ctrl->oob) { in brcmnand_edu_irq()
1543 ctrl->oob += read_oob_from_regs(ctrl, in brcmnand_edu_irq()
1545 ctrl->oob, ctrl->sas, in brcmnand_edu_irq()
1551 ctrl->oob += write_oob_to_regs(ctrl, in brcmnand_edu_irq()
1553 ctrl->oob, ctrl->sas, in brcmnand_edu_irq()
1766 u8 *oob, u32 len, u8 cmd) in brcmnand_edu_trans() argument
1778 "read" : "write"), buf, oob); in brcmnand_edu_trans()
1792 ctrl->oob = oob; in brcmnand_edu_trans()
1801 if (ctrl->oob && (ctrl->edu_cmd == EDU_CMD_WRITE)) { in brcmnand_edu_trans()
1805 ctrl->oob += write_oob_to_regs(ctrl, in brcmnand_edu_trans()
1807 ctrl->oob, ctrl->sas, in brcmnand_edu_trans()
1825 /* read last subpage oob */ in brcmnand_edu_trans()
1826 if (ctrl->oob && (ctrl->edu_cmd == EDU_CMD_READ)) { in brcmnand_edu_trans()
1827 ctrl->oob += read_oob_from_regs(ctrl, in brcmnand_edu_trans()
1829 ctrl->oob, ctrl->sas, in brcmnand_edu_trans()
1942 u8 *oob, u32 len, u8 dma_cmd) in brcmnand_dma_trans() argument
1974 u8 *oob, u64 *err_addr) in brcmnand_read_by_pio() argument
1997 if (oob) in brcmnand_read_by_pio()
1998 oob += read_oob_from_regs(ctrl, i, oob, in brcmnand_read_by_pio()
2073 u64 addr, unsigned int trans, u32 *buf, u8 *oob) in brcmnand_read() argument
2087 if (ctrl->dma_trans && (has_edu(ctrl) || !oob) && in brcmnand_read()
2089 err = ctrl->dma_trans(host, addr, buf, oob, in brcmnand_read()
2104 if (oob) in brcmnand_read()
2105 memset(oob, 0x99, mtd->oobsize); in brcmnand_read()
2108 oob, &err_addr); in brcmnand_read()
2153 oob, &err_addr); in brcmnand_read()
2170 u8 *oob = oob_required ? (u8 *)chip->oob_poi : NULL; in brcmnand_read_page() local
2176 mtd->writesize >> FC_SHIFT, (u32 *)buf, oob); in brcmnand_read_page()
2184 u8 *oob = oob_required ? (u8 *)chip->oob_poi : NULL; in brcmnand_read_page_raw() local
2192 mtd->writesize >> FC_SHIFT, (u32 *)buf, oob); in brcmnand_read_page_raw()
2220 u64 addr, const u32 *buf, u8 *oob) in brcmnand_write() argument
2243 if (use_dma(ctrl) && (has_edu(ctrl) || !oob) && flash_dma_buf_ok(buf)) { in brcmnand_write()
2244 if (ctrl->dma_trans(host, addr, (u32 *)buf, oob, mtd->writesize, in brcmnand_write()
2263 } else if (oob) { in brcmnand_write()
2268 if (oob) { in brcmnand_write()
2269 oob += write_oob_to_regs(ctrl, i, oob, in brcmnand_write()
2295 void *oob = oob_required ? chip->oob_poi : NULL; in brcmnand_write_page() local
2300 return brcmnand_write(mtd, chip, host->last_addr, (const u32 *)buf, oob); in brcmnand_write_page()
2308 void *oob = oob_required ? chip->oob_poi : NULL; in brcmnand_write_page_raw() local
2314 ret = brcmnand_write(mtd, chip, host->last_addr, (const u32 *)buf, oob); in brcmnand_write_page_raw()
2573 "%lluMiB total, %uKiB blocks, %u%s pages, %uB OOB, %u-bit", in brcmnand_print_cfg()
2618 "brcm,nand-oob-sector-size", in brcmnand_setup_dev()
2764 /* If OOB is written with ECC enabled it will cause ECC errors */ in brcmnand_attach_chip()