Home
last modified time | relevance | path

Searched refs:oob (Results 1 – 32 of 32) sorted by relevance

/linux-4.4.14/drivers/mtd/nand/
Dsm_common.h42 static inline int sm_sector_valid(struct sm_oob *oob) in sm_sector_valid() argument
44 return hweight16(oob->data_status) >= 5; in sm_sector_valid()
47 static inline int sm_block_valid(struct sm_oob *oob) in sm_block_valid() argument
49 return hweight16(oob->block_status) >= 7; in sm_block_valid()
52 static inline int sm_block_erased(struct sm_oob *oob) in sm_block_erased() argument
58 if (!memcmp(oob, erased_pattern, sizeof(*oob))) in sm_block_erased()
Dnand_base.c1273 uint8_t *oob = chip->oob_poi; in nand_read_page_raw_syndrome() local
1281 chip->read_buf(mtd, oob, chip->ecc.prepad); in nand_read_page_raw_syndrome()
1282 oob += chip->ecc.prepad; in nand_read_page_raw_syndrome()
1285 chip->read_buf(mtd, oob, eccbytes); in nand_read_page_raw_syndrome()
1286 oob += eccbytes; in nand_read_page_raw_syndrome()
1289 chip->read_buf(mtd, oob, chip->ecc.postpad); in nand_read_page_raw_syndrome()
1290 oob += chip->ecc.postpad; in nand_read_page_raw_syndrome()
1294 size = mtd->oobsize - (oob - chip->oob_poi); in nand_read_page_raw_syndrome()
1296 chip->read_buf(mtd, oob, size); in nand_read_page_raw_syndrome()
1558 uint8_t *oob = chip->oob_poi; in nand_read_page_syndrome() local
[all …]
Dsm_common.c44 struct sm_oob oob; in sm_block_markbad() local
47 memset(&oob, -1, SM_OOB_SIZE); in sm_block_markbad()
48 oob.block_status = 0x0F; in sm_block_markbad()
55 ops.oobbuf = (void *)&oob; in sm_block_markbad()
Dfsl_elbc_nand.c76 unsigned int oob; /* Non zero if operating on OOB data */ member
145 static void set_addr(struct mtd_info *mtd, int column, int page_addr, int oob) in set_addr() argument
164 (oob ? FPAR_LP_MS : 0) | column); in set_addr()
174 (oob ? FPAR_SP_MS : 0) | column); in set_addr()
182 if (oob) in set_addr()
269 static void fsl_elbc_do_read(struct nand_chip *chip, int oob) in fsl_elbc_do_read() argument
292 if (oob) in fsl_elbc_do_read()
418 elbc_fcm_ctrl->oob = 1; in fsl_elbc_cmdfunc()
421 elbc_fcm_ctrl->oob = 0; in fsl_elbc_cmdfunc()
448 if (elbc_fcm_ctrl->oob) in fsl_elbc_cmdfunc()
[all …]
Dsunxi_nand.c576 u8 *oob, int oob_off, in sunxi_nfc_hw_ecc_read_chunk() argument
611 sunxi_nfc_read_buf(mtd, oob, ecc->bytes + 4); in sunxi_nfc_hw_ecc_read_chunk()
615 oob, ecc->bytes + 4, in sunxi_nfc_hw_ecc_read_chunk()
623 oob); in sunxi_nfc_hw_ecc_read_chunk()
639 u8 *oob, int *cur_off) in sunxi_nfc_hw_ecc_read_extra_oob() argument
653 sunxi_nfc_read_buf(mtd, oob + offset, len); in sunxi_nfc_hw_ecc_read_extra_oob()
665 const u8 *oob, int oob_off, in sunxi_nfc_hw_ecc_write_chunk() argument
679 writel(sunxi_nfc_buf_to_user_data(oob), in sunxi_nfc_hw_ecc_write_chunk()
703 u8 *oob, int *cur_off) in sunxi_nfc_hw_ecc_write_extra_oob() argument
717 sunxi_nfc_write_buf(mtd, oob + offset, len); in sunxi_nfc_hw_ecc_write_extra_oob()
[all …]
Dfsl_ifc_nand.c63 unsigned int oob; /* Non zero if operating on OOB data */ member
231 static void set_addr(struct mtd_info *mtd, int column, int page_addr, int oob) in set_addr() argument
242 ifc_out32((oob ? IFC_NAND_COL_MS : 0) | column, &ifc->ifc_nand.col0); in set_addr()
250 if (oob) in set_addr()
260 u8 __iomem *oob = addr + mtd->writesize; in is_blank() local
271 if (__raw_readb(&oob[pos]) != 0xff) in is_blank()
370 int oob, in fsl_ifc_do_read() argument
398 if (oob) in fsl_ifc_do_read()
501 ifc_nand_ctrl->oob = 0; in fsl_ifc_cmdfunc()
554 ifc_nand_ctrl->oob = 1; in fsl_ifc_cmdfunc()
[all …]
Dr852.c438 struct sm_oob *oob = (struct sm_oob *)ecc_code; in r852_ecc_calculate() local
450 oob->ecc1[0] = (ecc1) & 0xFF; in r852_ecc_calculate()
451 oob->ecc1[1] = (ecc1 >> 8) & 0xFF; in r852_ecc_calculate()
452 oob->ecc1[2] = (ecc1 >> 16) & 0xFF; in r852_ecc_calculate()
454 oob->ecc2[0] = (ecc2) & 0xFF; in r852_ecc_calculate()
455 oob->ecc2[1] = (ecc2 >> 8) & 0xFF; in r852_ecc_calculate()
456 oob->ecc2[2] = (ecc2 >> 16) & 0xFF; in r852_ecc_calculate()
Dcafe_nand.c393 u8 *oob = chip->oob_poi; in cafe_nand_read_page() local
421 oob[0] ^= pat[i] << 4; in cafe_nand_read_page()
424 oob[3*p/2 - 2048] ^= pat[i] >> 4; in cafe_nand_read_page()
425 oob[3*p/2 - 2047] ^= pat[i] << 4; in cafe_nand_read_page()
427 oob[3*p/2 - 2049] ^= pat[i] >> 8; in cafe_nand_read_page()
428 oob[3*p/2 - 2048] ^= pat[i]; in cafe_nand_read_page()
Dvf610_nfc.c558 uint8_t *oob, int page) in vf610_nfc_correct_data() argument
574 vf610_nfc_read_buf(mtd, oob, mtd->oobsize); in vf610_nfc_correct_data()
580 return nand_check_erased_ecc_chunk(dat, nfc->chip.ecc.size, oob, in vf610_nfc_correct_data()
Datmel_nand.c924 uint8_t *oob = chip->oob_poi; in atmel_nand_pmecc_read_page() local
934 chip->read_buf(mtd, oob, mtd->oobsize); in atmel_nand_pmecc_read_page()
947 bitflips = pmecc_correction(mtd, stat, buf, &oob[eccpos[0]]); in atmel_nand_pmecc_read_page()
1345 uint8_t *oob = chip->oob_poi; in atmel_nand_read_page() local
1378 ecc_pos = oob + eccpos[0]; in atmel_nand_read_page()
1382 stat = chip->ecc.correct(mtd, p, oob, NULL); in atmel_nand_read_page()
1395 chip->read_buf(mtd, oob, mtd->oobsize); in atmel_nand_read_page()
Domap2.c1294 static int erased_sector_bitflips(u_char *data, u_char *oob, in erased_sector_bitflips() argument
1306 flip_bits += hweight8(~oob[i]); in erased_sector_bitflips()
1317 memset(oob, 0xFF, info->nand.ecc.bytes); in erased_sector_bitflips()
1552 uint8_t *oob = &chip->oob_poi[eccpos[0]]; in omap_read_page_bch() local
1565 chip->read_buf(mtd, oob, chip->ecc.total); in omap_read_page_bch()
Dfsmc_nand.c731 uint8_t *oob = (uint8_t *)&ecc_oob[0]; in fsmc_read_page_hwecc() local
753 chip->read_buf(mtd, oob + j, len); in fsmc_read_page_hwecc()
757 memcpy(&ecc_code[i], oob, chip->ecc.bytes); in fsmc_read_page_hwecc()
Dnand_bbt.c355 uint8_t *buf, uint8_t *oob) in scan_write_bbt() argument
363 ops.oobbuf = oob; in scan_write_bbt()
/linux-4.4.14/drivers/mtd/
Dsm_ftl.c151 static int sm_read_lba(struct sm_oob *oob) in sm_read_lba() argument
160 if (!memcmp(oob, erased_pattern, SM_OOB_SIZE)) in sm_read_lba()
164 lba_test = *(uint16_t *)oob->lba_copy1 ^ *(uint16_t*)oob->lba_copy2; in sm_read_lba()
169 lba = sm_get_lba(oob->lba_copy1); in sm_read_lba()
172 lba = sm_get_lba(oob->lba_copy2); in sm_read_lba()
177 static void sm_write_lba(struct sm_oob *oob, uint16_t lba) in sm_write_lba() argument
189 oob->lba_copy1[0] = oob->lba_copy2[0] = tmp[0]; in sm_write_lba()
190 oob->lba_copy1[1] = oob->lba_copy2[1] = tmp[1]; in sm_write_lba()
219 static int sm_correct_sector(uint8_t *buffer, struct sm_oob *oob) in sm_correct_sector() argument
224 if (__nand_correct_data(buffer, ecc, oob->ecc1, SM_SMALL_PAGE) < 0) in sm_correct_sector()
[all …]
Dnftlcore.c181 size_t *retlen, uint8_t *buf, uint8_t *oob) in nftl_write() argument
190 ops.oobbuf = oob; in nftl_write()
254 struct nftl_oob oob; in NFTL_foldchain() local
281 (char *)&oob); in NFTL_foldchain()
283 foldmark = oob.u.c.FoldMark | oob.u.c.FoldMark1; in NFTL_foldchain()
294 status = oob.b.Status | oob.b.Status1; in NFTL_foldchain()
393 oob.u.c.FoldMark = oob.u.c.FoldMark1 = cpu_to_le16(FOLD_MARK_IN_PROGRESS); in NFTL_foldchain()
394 oob.u.c.unused = 0xffffffff; in NFTL_foldchain()
396 8, &retlen, (char *)&oob.u); in NFTL_foldchain()
433 memset(&oob, 0xff, sizeof(struct nftl_oob)); in NFTL_foldchain()
[all …]
Dinftlcore.c190 size_t *retlen, uint8_t *buf, uint8_t *oob) in inftl_write() argument
198 ops.oobbuf = oob; in inftl_write()
257 struct inftl_oob oob; in INFTL_foldchain() local
287 (char *)&oob) < 0) in INFTL_foldchain()
290 status = oob.b.Status | oob.b.Status1; in INFTL_foldchain()
360 memset(&oob, 0xff, sizeof(struct inftl_oob)); in INFTL_foldchain()
361 oob.b.Status = oob.b.Status1 = SECTOR_USED; in INFTL_foldchain()
365 movebuf, (char *)&oob); in INFTL_foldchain()
479 struct inftl_oob oob; in INFTL_findwriteunit() local
587 + 8, 8, &retlen, (char *)&oob.u); in INFTL_findwriteunit()
[all …]
/linux-4.4.14/Documentation/DocBook/
Dmtdnand.xml.db56 API-nand-read-page-hwecc-oob-first
58 API-nand-transfer-oob
62 API-nand-read-oob-std
63 API-nand-read-oob-syndrome
64 API-nand-write-oob-std
65 API-nand-write-oob-syndrome
66 API-nand-do-read-oob
67 API-nand-read-oob
75 API-nand-fill-oob
79 API-nand-do-write-oob
[all …]
/linux-4.4.14/drivers/mtd/tests/
Dreadtest.c95 int pg, oob; in dump_eraseblock() local
113 for (oob = 0; oob < n;) { in dump_eraseblock()
117 for (j = 0; j < 32 && oob < n; j++, oob++, i++) in dump_eraseblock()
/linux-4.4.14/drivers/mtd/nand/brcmnand/
Dbrcmnand.c970 static int read_oob_from_regs(struct brcmnand_controller *ctrl, int i, u8 *oob, in read_oob_from_regs() argument
982 oob[j] = oob_reg_read(ctrl, j); in read_oob_from_regs()
994 const u8 *oob, int sas, int sector_1k) in write_oob_to_regs() argument
1006 (oob[j + 0] << 24) | in write_oob_to_regs()
1007 (oob[j + 1] << 16) | in write_oob_to_regs()
1008 (oob[j + 2] << 8) | in write_oob_to_regs()
1009 (oob[j + 3] << 0)); in write_oob_to_regs()
1426 u8 *oob, u64 *err_addr) in brcmnand_read_by_pio() argument
1457 if (oob) in brcmnand_read_by_pio()
1458 oob += read_oob_from_regs(ctrl, i, oob, in brcmnand_read_by_pio()
[all …]
/linux-4.4.14/Documentation/devicetree/bindings/ata/
Dtegra-sata.txt15 - sata-oob
22 - sata-oob
/linux-4.4.14/drivers/mtd/devices/
Ddocg3.c1261 const u_char *oob, int autoecc) in doc_write_page() argument
1283 if (oob && autoecc) { in doc_write_page()
1284 doc_write_page_putbytes(docg3, DOC_LAYOUT_OOB_PAGEINFO_SZ, oob); in doc_write_page()
1286 oob += DOC_LAYOUT_OOB_UNUSED_OFS; in doc_write_page()
1298 doc_write_page_putbytes(docg3, DOC_LAYOUT_OOB_UNUSED_SZ, oob); in doc_write_page()
1300 if (oob && !autoecc) in doc_write_page()
1301 doc_write_page_putbytes(docg3, DOC_LAYOUT_OOB_SIZE, oob); in doc_write_page()
1419 u8 oob[DOC_LAYOUT_OOB_SIZE]; in doc_write_oob() local
1469 memset(oob, 0, sizeof(oob)); in doc_write_oob()
1471 memcpy(oob, docg3->oob_write_buf, DOC_LAYOUT_OOB_SIZE); in doc_write_oob()
[all …]
/linux-4.4.14/arch/arm/boot/dts/
Dbcm963138dvt.dts40 brcm,nand-oob-sectors-size = <16>;
Dbcm958305k.dts83 brcm,nand-oob-sector-size = <27>;
Dbcm958300k.dts75 brcm,nand-oob-sector-size = <27>;
Dbcm911360_entphn.dts76 brcm,nand-oob-sector-size = <27>;
Dtegra124.dtsi620 clock-names = "sata", "sata-oob", "cml1", "pll_e";
624 reset-names = "sata", "sata-oob", "sata-cold";
/linux-4.4.14/drivers/mtd/nand/gpmi-nand/
Dgpmi-nand.c1370 uint8_t *oob = chip->oob_poi; in gpmi_ecc_read_page_raw() local
1395 memcpy(oob, tmp_buf, nfc_geo->metadata_size); in gpmi_ecc_read_page_raw()
1414 gpmi_copy_bits(oob, oob_bit_off, in gpmi_ecc_read_page_raw()
1426 memcpy(oob + oob_byte_off, in gpmi_ecc_read_page_raw()
1456 uint8_t *oob = chip->oob_poi; in gpmi_ecc_write_page_raw() local
1474 memcpy(tmp_buf, oob, nfc_geo->metadata_size); in gpmi_ecc_write_page_raw()
1492 oob, oob_bit_off, eccbits); in gpmi_ecc_write_page_raw()
1502 oob + oob_byte_off, mtd->oobsize - oob_byte_off); in gpmi_ecc_write_page_raw()
/linux-4.4.14/include/net/
Ddn_nsp.h34 int oob);
/linux-4.4.14/drivers/staging/lustre/lustre/osc/
Dosc_lock.c954 struct osc_object *oob = cl2osc(obj); in osc_lock_to_lockless() local
962 ocd = &class_exp2cliimp(osc_export(oob))->imp_connect_data; in osc_lock_to_lockless()
968 (ols->ols_locklessable && osc_object_is_contended(oob)) || in osc_lock_to_lockless()
/linux-4.4.14/Documentation/devicetree/bindings/mtd/
Dgpmc-nand.txt110 Other factor which governs the selection of ecc-scheme is oob-size.
Dbrcm,brcmnand.txt101 - brcm,nand-oob-sector-size : integer, to denote the spare area sector size
/linux-4.4.14/drivers/mtd/onenand/
Donenand_base.c1867 const u_char *oob = ops->oobbuf; in onenand_write_ops_nolock() local
1920 if (oob) { in onenand_write_ops_nolock()
1927 onenand_fill_auto_oob(mtd, oobbuf, oob, oobcolumn, thisooblen); in onenand_write_ops_nolock()
1929 memcpy(oobbuf + oobcolumn, oob, thisooblen); in onenand_write_ops_nolock()
1932 oob += thisooblen; in onenand_write_ops_nolock()