/linux-master/drivers/mtd/nand/raw/ |
H A D | sm_common.h | 9 /* 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 D | sm_common.c | 56 /* 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 D | sunxi_nand.c | 715 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 D | nand_base.c | 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, 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 D | fsl_elbc_nand.c | 61 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 D | rockchip-nand-controller.c | 27 * 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 D | fsl_ifc_nand.c | 50 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 D | cadence-nand-controller.c | 515 * 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 D | r852.c | 434 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 D | cafe_nand.c | 368 * 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 D | mxc_nand.c | 126 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 D | fsmc_nand.c | 718 * 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 D | vf610_nfc.c | 161 * 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 D | sharpslpart.c | 35 /* 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 D | nftlcore.c | 121 * 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 D | sm_ftl.c | 127 /* ----------------------- 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 D | inftlcore.c | 134 * 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 D | xe_wa.h | 30 #define XE_WA(gt__, id__) test_bit(XE_WA_OOB_ ## id__, (gt__)->wa_active.oob)
|
H A D | xe_gt_types.h | 355 /** @wa_active.oob: bitmap with active OOB workaroudns */ 356 unsigned long *oob; member in struct:xe_gt::__anon98
|
H A D | xe_wa.c | 607 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 D | test_unix_oob.c | 182 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 D | readtest.c | 63 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 D | brcmnand.c | 251 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 D | docg3.c | 859 * @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 D | gpmi-nand.c | 304 * 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...] |