Searched refs:oob (Results 1 - 25 of 33) sorted by relevance

12

/linux-master/drivers/mtd/nand/raw/
H A Dsm_common.h9 /* Full oob structure as written on the flash */
24 /* oob area is also 16 bytes, but might be from two pages */
39 static inline int sm_sector_valid(struct sm_oob *oob) argument
41 return hweight16(oob->data_status) >= 5;
44 static inline int sm_block_valid(struct sm_oob *oob) argument
46 return hweight16(oob->block_status) >= 7;
49 static inline int sm_block_erased(struct sm_oob *oob) argument
55 if (!memcmp(oob, erased_pattern, sizeof(*oob)))
H A Dsm_common.c56 /* because the 256 byte devices have page depenent oob layout */
103 struct sm_oob oob; local
106 memset(&oob, -1, SM_OOB_SIZE);
107 oob.block_status = 0x0F;
114 ops.oobbuf = (void *)&oob;
H A Dsunxi_nand.c715 static void sunxi_nfc_hw_ecc_get_prot_oob_bytes(struct nand_chip *nand, u8 *oob, argument
721 oob);
725 sunxi_nfc_randomize_bbm(nand, page, oob);
729 const u8 *oob, int step,
737 memcpy(user_data, oob, sizeof(user_data));
739 oob = user_data;
742 writel(sunxi_nfc_buf_to_user_data(oob),
759 static int sunxi_nfc_hw_ecc_correct(struct nand_chip *nand, u8 *data, u8 *oob, argument
784 if (oob)
785 memset(oob, patter
728 sunxi_nfc_hw_ecc_set_prot_oob_bytes(struct nand_chip *nand, const u8 *oob, int step, bool bbm, int page) argument
795 sunxi_nfc_hw_ecc_read_chunk(struct nand_chip *nand, u8 *data, int data_off, u8 *oob, int oob_off, int *cur_off, unsigned int *max_bitflips, bool bbm, bool oob_required, int page) argument
876 sunxi_nfc_hw_ecc_read_extra_oob(struct nand_chip *nand, u8 *oob, int *cur_off, bool randomize, int page) argument
959 u8 *oob = nand->oob_poi + oob_off; local
991 u8 *oob = nand->oob_poi + oob_off; local
1030 sunxi_nfc_hw_ecc_write_chunk(struct nand_chip *nand, const u8 *data, int data_off, const u8 *oob, int oob_off, int *cur_off, bool bbm, int page) argument
1069 sunxi_nfc_hw_ecc_write_extra_oob(struct nand_chip *nand, u8 *oob, int *cur_off, int page) argument
1110 u8 *oob = nand->oob_poi + oob_off; local
1169 u8 *oob = nand->oob_poi + oob_off; local
1223 const u8 *oob = nand->oob_poi + oob_off; local
1261 const u8 *oob = nand->oob_poi + oob_off; local
1298 const u8 *oob = nand->oob_poi + (i * (ecc->bytes + 4)); local
[all...]
H A Dnand_base.c382 * 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, argument
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
3011 uint8_t *oob = chip->oob_poi; local
3374 uint8_t *oob = chip->oob_poi; local
3454 nand_transfer_oob(struct nand_chip *chip, uint8_t *oob, struct mtd_oob_ops *ops, size_t len) argument
3575 uint8_t *bufpoi, *oob, *buf; local
4122 uint8_t *oob = chip->oob_poi; local
4331 uint8_t *oob = chip->oob_poi; local
4441 uint8_t *oob = ops->oobbuf; local
[all...]
H A Dfsl_elbc_nand.c61 unsigned int oob; /* Non zero if operating on OOB data */ member in struct:fsl_elbc_fcm_ctrl
151 static void set_addr(struct mtd_info *mtd, int column, int page_addr, int oob) argument
170 (oob ? FPAR_LP_MS : 0) | column);
180 (oob ? FPAR_SP_MS : 0) | column);
188 if (oob)
275 static void fsl_elbc_do_read(struct nand_chip *chip, int oob) argument
298 if (oob)
432 elbc_fcm_ctrl->oob = 1;
435 elbc_fcm_ctrl->oob = 0;
462 if (elbc_fcm_ctrl->oob)
[all...]
H A Drockchip-nand-controller.c27 * 1024 * n data + m Bytes oob
29 * First byte of oob(spare).
82 #define NFC_SYS_DATA_SIZE (4) /* 4 bytes sys data in oob pre 1024 data.*/
601 u8 *oob; local
645 oob = chip->oob_poi + (ecc->steps - 1) * NFC_SYS_DATA_SIZE;
647 oob = chip->oob_poi + (i - 1) * NFC_SYS_DATA_SIZE;
649 tmp = oob[0] | oob[1] << 8 | oob[2] << 16 | oob[
767 u8 *oob; local
[all...]
H A Dfsl_ifc_nand.c50 unsigned int oob; /* Non zero if operating on OOB data */ member in struct:fsl_ifc_nand_ctrl
139 static void set_addr(struct mtd_info *mtd, int column, int page_addr, int oob) argument
150 ifc_out32((oob ? IFC_NAND_COL_MS : 0) | column, &ifc->ifc_nand.col0);
158 if (oob)
251 int oob,
279 if (oob)
385 ifc_nand_ctrl->oob = 0;
438 ifc_nand_ctrl->oob = 1;
441 set_addr(mtd, column, page_addr, ifc_nand_ctrl->oob);
447 if (ifc_nand_ctrl->oob) {
250 fsl_ifc_do_read(struct nand_chip *chip, int oob, struct mtd_info *mtd) argument
[all...]
H A Dcadence-nand-controller.c515 * part of oob area of NAND flash memory page.
1452 /* Set oob data to 0xFF. */
1463 u8 *oob; local
1466 oob = chip->oob_poi;
1468 oob = cdns_ctrl->buf + mtd->writesize;
1472 page, (void *)buf, oob,
1485 /* Transfer the data to the oob area. */
1566 const u8 *oob = chip->oob_poi; local
1572 memcpy(tmp_buf + writesize, oob, oob_skip);
1575 memcpy(tmp_buf + oob_data_offset, oob,
1642 u8 *oob; local
1767 u8 *oob = chip->oob_poi; local
[all...]
H A Dr852.c434 struct sm_oob *oob = (struct sm_oob *)ecc_code; local
446 oob->ecc1[0] = (ecc1) & 0xFF;
447 oob->ecc1[1] = (ecc1 >> 8) & 0xFF;
448 oob->ecc1[2] = (ecc1 >> 16) & 0xFF;
450 oob->ecc2[0] = (ecc2) & 0xFF;
451 oob->ecc2[1] = (ecc2 >> 8) & 0xFF;
452 oob->ecc2[2] = (ecc2 >> 16) & 0xFF;
H A Dcafe_nand.c368 * we need a special oob layout and handling.
387 u8 *oob = chip->oob_poi; local
416 oob[0] ^= pat[i] << 4;
419 oob[3*p/2 - 2048] ^= pat[i] >> 4;
420 oob[3*p/2 - 2047] ^= pat[i] << 4;
422 oob[3*p/2 - 2049] ^= pat[i] >> 8;
423 oob[3*p/2 - 2048] ^= pat[i];
H A Dmxc_nand.c126 int (*read_page)(struct nand_chip *chip, void *buf, void *oob, bool ecc,
239 * The controller splits a page into data chunks of 512 bytes + partial oob.
240 * There are writesize / 512 such chunks, the size of the partial oob parts is
241 * oobsize / #chunks rounded down to a multiple of 2. The last oob chunk then
258 /* size of oob chunk for all but possibly the last one */
710 static int mxc_nand_read_page_v1(struct nand_chip *chip, void *buf, void *oob, argument
762 if (oob)
763 copy_spare(mtd, true, oob);
769 void *oob, bool ecc, int page)
791 if (oob)
768 mxc_nand_read_page_v2_v3(struct nand_chip *chip, void *buf, void *oob, bool ecc, int page) argument
[all...]
H A Dfsmc_nand.c718 * end up reading 14 bytes (7 words) from oob. The local array is
722 u8 *oob = (u8 *)&ecc_oob[0]; local
750 nand_read_oob_op(chip, page, off, oob + j, len);
754 memcpy(&ecc_code[i], oob, chip->ecc.bytes);
797 * would result in an ecc error because the oob data is also
938 "No oob scheme defined for oobsize %d\n",
989 "No oob scheme defined for oobsize %d\n",
H A Dvf610_nfc.c161 * Indicate that user data is accessed (full page/oob). This is
509 uint8_t *oob, int page)
525 nand_read_oob_op(&nfc->chip, page, 0, oob, mtd->oobsize);
532 return nand_check_erased_ecc_chunk(dat, nfc->chip.ecc.size, oob,
508 vf610_nfc_correct_data(struct nand_chip *chip, uint8_t *dat, uint8_t *oob, int page) argument
/linux-master/drivers/mtd/parsers/
H A Dsharpslpart.c35 /* oob structure */
128 * ECC BB xyxy oob[8]==oob[10] && oob[9]==oob[11] -> byte0=8 byte1=9
129 * ECC BB xyxy oob[10]==oob[12] && oob[11]==oob[13] -> byte0=10 byte1=11
130 * ECC BB xy xy oob[1
132 sharpsl_nand_get_logical_num(u8 *oob) argument
171 u8 *oob; local
[all...]
/linux-master/drivers/mtd/
H A Dnftlcore.c121 * Read oob data from flash
142 * Write oob data to flash
165 * Write data and oob to flash
168 size_t *retlen, uint8_t *buf, uint8_t *oob)
177 ops.oobbuf = oob;
241 struct nftl_oob oob; local
268 (char *)&oob);
270 foldmark = oob.u.c.FoldMark | oob.u.c.FoldMark1;
281 status = oob
167 nftl_write(struct mtd_info *mtd, loff_t offs, size_t len, size_t *retlen, uint8_t *buf, uint8_t *oob) argument
531 struct nftl_oob oob; local
680 struct nftl_oob oob; local
[all...]
H A Dsm_ftl.c127 /* ----------------------- oob helpers -------------------------------------- */
148 static int sm_read_lba(struct sm_oob *oob) argument
157 if (!memcmp(oob, erased_pattern, SM_OOB_SIZE))
161 lba_test = *(uint16_t *)oob->lba_copy1 ^ *(uint16_t*)oob->lba_copy2;
166 lba = sm_get_lba(oob->lba_copy1);
169 lba = sm_get_lba(oob->lba_copy2);
174 static void sm_write_lba(struct sm_oob *oob, uint16_t lba) argument
186 oob->lba_copy1[0] = oob
217 sm_correct_sector(uint8_t *buffer, struct sm_oob *oob) argument
237 sm_read_sector(struct sm_ftl *ftl, int zone, int block, int boffset, uint8_t *buffer, struct sm_oob *oob) argument
322 sm_write_sector(struct sm_ftl *ftl, int zone, int block, int boffset, uint8_t *buffer, struct sm_oob *oob) argument
374 struct sm_oob oob; local
438 struct sm_oob oob; local
504 struct sm_oob oob; local
662 struct sm_oob oob; local
682 struct sm_oob oob; local
755 struct sm_oob oob; local
[all...]
H A Dinftlcore.c134 * Read oob data from flash
154 * Write oob data to flash
174 * Write data and oob to flash
177 size_t *retlen, uint8_t *buf, uint8_t *oob)
185 ops.oobbuf = oob;
244 struct inftl_oob oob; local
274 (char *)&oob) < 0)
277 status = oob.b.Status | oob.b.Status1;
347 memset(&oob,
176 inftl_write(struct mtd_info *mtd, loff_t offs, size_t len, size_t *retlen, uint8_t *buf, uint8_t *oob) argument
466 struct inftl_oob oob; local
811 struct inftl_oob oob; local
[all...]
/linux-master/drivers/gpu/drm/xe/
H A Dxe_wa.h30 #define XE_WA(gt__, id__) test_bit(XE_WA_OOB_ ## id__, (gt__)->wa_active.oob)
H A Dxe_gt_types.h355 /** @wa_active.oob: bitmap with active OOB workaroudns */
356 unsigned long *oob; member in struct:xe_gt::__anon98
H A Dxe_wa.c607 xe_rtp_process_ctx_enable_active_tracking(&ctx, gt->wa_active.oob,
691 gt->wa_active.oob = p;
713 for_each_set_bit(idx, gt->wa_active.oob, ARRAY_SIZE(oob_was))
/linux-master/tools/testing/selftests/net/af_unix/
H A Dtest_unix_oob.c182 char oob; local
220 * read, oob is '@', and POLLPRI works.
223 read_oob(pfd, &oob);
225 if (!signal_recvd || len != 63 || oob != '@') {
227 signal_recvd, len, oob);
244 read_oob(pfd, &oob);
245 if (!signal_recvd || len != 127 || oob != '#') {
247 signal_recvd, len, oob);
255 * verify that 2nd oob over writes
257 * oob boundar
[all...]
/linux-master/drivers/mtd/tests/
H A Dreadtest.c63 pr_err("error: read oob failed at "
83 int pg, oob; local
98 pr_info("dumping oob from eraseblock %d\n", ebnum);
101 for (oob = 0; oob < n;) {
105 for (j = 0; j < 32 && oob < n; j++, oob++, i++)
/linux-master/drivers/mtd/nand/raw/brcmnand/
H A Dbrcmnand.c251 u8 *oob; member in struct:brcmnand_controller
259 u8 *oob, u32 len, u8 dma_cmd);
1513 * @oob: buffer to read to
1517 static int read_oob_from_regs(struct brcmnand_controller *ctrl, int i, u8 *oob, argument
1529 oob[j] = oob_reg_read(ctrl, j);
1536 * @oob: buffer to write from
1541 const u8 *oob, int sas, int sector_1k)
1559 (oob[j + 0] << 24) |
1560 (oob[j + 1] << 16) |
1561 (oob[
1540 write_oob_to_regs(struct brcmnand_controller *ctrl, int i, const u8 *oob, int sas, int sector_1k) argument
1832 brcmnand_edu_trans(struct brcmnand_host *host, u64 addr, u32 *buf, u8 *oob, u32 len, u8 cmd) argument
2008 brcmnand_dma_trans(struct brcmnand_host *host, u64 addr, u32 *buf, u8 *oob, u32 len, u8 dma_cmd) argument
2039 brcmnand_read_by_pio(struct mtd_info *mtd, struct nand_chip *chip, u64 addr, unsigned int trans, u32 *buf, u8 *oob, u64 *err_addr) argument
2139 brcmnand_read(struct mtd_info *mtd, struct nand_chip *chip, u64 addr, unsigned int trans, u32 *buf, u8 *oob) argument
2237 u8 *oob = oob_required ? (u8 *)chip->oob_poi : NULL; local
2251 u8 *oob = oob_required ? (u8 *)chip->oob_poi : NULL; local
2286 brcmnand_write(struct mtd_info *mtd, struct nand_chip *chip, u64 addr, const u32 *buf, u8 *oob) argument
2362 void *oob = oob_required ? chip->oob_poi : NULL; local
2375 void *oob = oob_required ? chip->oob_poi : NULL; local
[all...]
/linux-master/drivers/mtd/devices/
H A Ddocg3.c859 * @ops: the mtd oob structure
889 doc_dbg("doc_read_oob(from=%lld, mode=%d, data=(%p:%zu), oob=(%p:%zu))\n",
1218 * @oob: buffer to get out of band bytes from (can be NULL if no OOB should be
1223 * computations. Its value is not meaningfull is oob == NULL.
1232 const u_char *oob, int autoecc)
1254 if (oob && autoecc) {
1255 doc_write_page_putbytes(docg3, DOC_LAYOUT_OOB_PAGEINFO_SZ, oob);
1257 oob += DOC_LAYOUT_OOB_UNUSED_OFS;
1269 doc_write_page_putbytes(docg3, DOC_LAYOUT_OOB_UNUSED_SZ, oob);
1271 if (oob
1231 doc_write_page(struct docg3 *docg3, loff_t to, const u_char *buf, const u_char *oob, int autoecc) argument
1390 u8 oob[DOC_LAYOUT_OOB_SIZE]; local
[all...]
/linux-master/drivers/mtd/nand/raw/gpmi-nand/
H A Dgpmi-nand.c304 * We may have available oob space in this case.
338 "unsupported nand chip. ecc size: %d, oob size : %d\n",
374 * O : the nand chip's oob size.
375 * O': the free oob.
502 /* check if oob can afford this extra ecc chunk */
712 /* for large oob nand */
714 dev_dbg(this->dev, "use large oob bch geometry\n");
1115 /* The available oob size we have. */
1786 /* Do we have available oob area? */
1822 uint8_t *oob local
1904 uint8_t *oob = chip->oob_poi; local
[all...]

Completed in 457 milliseconds

12