Home
last modified time | relevance | path

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

123

/Linux-v4.19/drivers/mtd/parsers/
Dsharpslpart.c132 static int sharpsl_nand_get_logical_num(u8 *oob) in sharpsl_nand_get_logical_num() argument
137 if (oob[NAND_NOOB_LOGADDR_00] == oob[NAND_NOOB_LOGADDR_10] && in sharpsl_nand_get_logical_num()
138 oob[NAND_NOOB_LOGADDR_01] == oob[NAND_NOOB_LOGADDR_11]) { in sharpsl_nand_get_logical_num()
141 } else if (oob[NAND_NOOB_LOGADDR_10] == oob[NAND_NOOB_LOGADDR_20] && in sharpsl_nand_get_logical_num()
142 oob[NAND_NOOB_LOGADDR_11] == oob[NAND_NOOB_LOGADDR_21]) { in sharpsl_nand_get_logical_num()
145 } else if (oob[NAND_NOOB_LOGADDR_20] == oob[NAND_NOOB_LOGADDR_00] && in sharpsl_nand_get_logical_num()
146 oob[NAND_NOOB_LOGADDR_21] == oob[NAND_NOOB_LOGADDR_01]) { in sharpsl_nand_get_logical_num()
153 us = oob[good0] | oob[good1] << 8; in sharpsl_nand_get_logical_num()
170 u8 *oob; in sharpsl_nand_init_ftl() local
173 oob = kzalloc(mtd->oobsize, GFP_KERNEL); in sharpsl_nand_init_ftl()
[all …]
/Linux-v4.19/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()
220 static int sm_correct_sector(uint8_t *buffer, struct sm_oob *oob) in sm_correct_sector() argument
225 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-v4.19/drivers/mtd/nand/raw/
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()
Dsunxi_nand.c818 static void sunxi_nfc_hw_ecc_get_prot_oob_bytes(struct mtd_info *mtd, u8 *oob, in sunxi_nfc_hw_ecc_get_prot_oob_bytes() argument
825 oob); in sunxi_nfc_hw_ecc_get_prot_oob_bytes()
829 sunxi_nfc_randomize_bbm(mtd, page, oob); in sunxi_nfc_hw_ecc_get_prot_oob_bytes()
833 const u8 *oob, int step, in sunxi_nfc_hw_ecc_set_prot_oob_bytes() argument
842 memcpy(user_data, oob, sizeof(user_data)); in sunxi_nfc_hw_ecc_set_prot_oob_bytes()
844 oob = user_data; in sunxi_nfc_hw_ecc_set_prot_oob_bytes()
847 writel(sunxi_nfc_buf_to_user_data(oob), in sunxi_nfc_hw_ecc_set_prot_oob_bytes()
862 static int sunxi_nfc_hw_ecc_correct(struct mtd_info *mtd, u8 *data, u8 *oob, in sunxi_nfc_hw_ecc_correct() argument
888 if (oob) in sunxi_nfc_hw_ecc_correct()
889 memset(oob, pattern, ecc->bytes + 4); in sunxi_nfc_hw_ecc_correct()
[all …]
Dtango_nand.c373 static void raw_read(struct nand_chip *chip, u8 *buf, u8 *oob) in raw_read() argument
376 u8 *oob_orig = oob; in raw_read()
383 if (oob) in raw_read()
384 oob += BBM_SIZE; in raw_read()
386 aux_read(chip, &oob, METADATA_SIZE, &pos); in raw_read()
390 aux_read(chip, &oob, ecc_size, &pos); in raw_read()
397 aux_read(chip, &oob, ecc_size, &pos); in raw_read()
400 static void raw_write(struct nand_chip *chip, const u8 *buf, const u8 *oob) in raw_write() argument
403 const u8 *oob_orig = oob; in raw_write()
410 if (oob) in raw_write()
[all …]
Dsm_common.c105 struct sm_oob oob; in sm_block_markbad() local
108 memset(&oob, -1, SM_OOB_SIZE); in sm_block_markbad()
109 oob.block_status = 0x0F; in sm_block_markbad()
116 ops.oobbuf = (void *)&oob; in sm_block_markbad()
Dnand_base.c3032 uint8_t *oob = chip->oob_poi; in nand_read_page_raw_syndrome() local
3047 ret = nand_read_data_op(chip, oob, chip->ecc.prepad, in nand_read_page_raw_syndrome()
3052 oob += chip->ecc.prepad; in nand_read_page_raw_syndrome()
3055 ret = nand_read_data_op(chip, oob, eccbytes, false); in nand_read_page_raw_syndrome()
3059 oob += eccbytes; in nand_read_page_raw_syndrome()
3062 ret = nand_read_data_op(chip, oob, chip->ecc.postpad, in nand_read_page_raw_syndrome()
3067 oob += chip->ecc.postpad; in nand_read_page_raw_syndrome()
3071 size = mtd->oobsize - (oob - chip->oob_poi); in nand_read_page_raw_syndrome()
3073 ret = nand_read_data_op(chip, oob, size, false); in nand_read_page_raw_syndrome()
3398 uint8_t *oob = chip->oob_poi; in nand_read_page_syndrome() local
[all …]
Ddenali.c742 uint8_t *oob = chip->oob_poi; in denali_read_page_raw() local
745 memcpy(oob, tmp_buf + writesize, oob_skip); in denali_read_page_raw()
746 oob += oob_skip; in denali_read_page_raw()
758 memcpy(oob, tmp_buf + pos, len); in denali_read_page_raw()
759 oob += len; in denali_read_page_raw()
762 memcpy(oob, tmp_buf + writesize + oob_skip, in denali_read_page_raw()
764 oob += len; in denali_read_page_raw()
769 len = oobsize - (oob - chip->oob_poi); in denali_read_page_raw()
770 memcpy(oob, tmp_buf + size - len, len); in denali_read_page_raw()
872 const uint8_t *oob = chip->oob_poi; in denali_write_page_raw() local
[all …]
Dfsl_elbc_nand.c75 unsigned int oob; /* Non zero if operating on OOB data */ member
165 static void set_addr(struct mtd_info *mtd, int column, int page_addr, int oob) in set_addr() argument
184 (oob ? FPAR_LP_MS : 0) | column); in set_addr()
194 (oob ? FPAR_SP_MS : 0) | column); in set_addr()
202 if (oob) in set_addr()
289 static void fsl_elbc_do_read(struct nand_chip *chip, int oob) in fsl_elbc_do_read() argument
312 if (oob) in fsl_elbc_do_read()
438 elbc_fcm_ctrl->oob = 1; in fsl_elbc_cmdfunc()
441 elbc_fcm_ctrl->oob = 0; in fsl_elbc_cmdfunc()
468 if (elbc_fcm_ctrl->oob) in fsl_elbc_cmdfunc()
[all …]
Dfsl_ifc_nand.c62 unsigned int oob; /* Non zero if operating on OOB data */ member
151 static void set_addr(struct mtd_info *mtd, int column, int page_addr, int oob) in set_addr() argument
162 ifc_out32((oob ? IFC_NAND_COL_MS : 0) | column, &ifc->ifc_nand.col0); in set_addr()
170 if (oob) in set_addr()
263 int oob, in fsl_ifc_do_read() argument
291 if (oob) in fsl_ifc_do_read()
397 ifc_nand_ctrl->oob = 0; in fsl_ifc_cmdfunc()
450 ifc_nand_ctrl->oob = 1; in fsl_ifc_cmdfunc()
453 set_addr(mtd, column, page_addr, ifc_nand_ctrl->oob); in fsl_ifc_cmdfunc()
459 if (ifc_nand_ctrl->oob) { in fsl_ifc_cmdfunc()
Dr852.c440 struct sm_oob *oob = (struct sm_oob *)ecc_code; in r852_ecc_calculate() local
452 oob->ecc1[0] = (ecc1) & 0xFF; in r852_ecc_calculate()
453 oob->ecc1[1] = (ecc1 >> 8) & 0xFF; in r852_ecc_calculate()
454 oob->ecc1[2] = (ecc1 >> 16) & 0xFF; in r852_ecc_calculate()
456 oob->ecc2[0] = (ecc2) & 0xFF; in r852_ecc_calculate()
457 oob->ecc2[1] = (ecc2 >> 8) & 0xFF; in r852_ecc_calculate()
458 oob->ecc2[2] = (ecc2 >> 16) & 0xFF; in r852_ecc_calculate()
Dcafe_nand.c388 u8 *oob = chip->oob_poi; in cafe_nand_read_page() local
417 oob[0] ^= pat[i] << 4; in cafe_nand_read_page()
420 oob[3*p/2 - 2048] ^= pat[i] >> 4; in cafe_nand_read_page()
421 oob[3*p/2 - 2047] ^= pat[i] << 4; in cafe_nand_read_page()
423 oob[3*p/2 - 2049] ^= pat[i] >> 8; in cafe_nand_read_page()
424 oob[3*p/2 - 2048] ^= pat[i]; in cafe_nand_read_page()
/Linux-v4.19/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-v4.19/drivers/mtd/nand/raw/brcmnand/
Dbrcmnand.c1137 static int read_oob_from_regs(struct brcmnand_controller *ctrl, int i, u8 *oob, in read_oob_from_regs() argument
1149 oob[j] = oob_reg_read(ctrl, j); in read_oob_from_regs()
1161 const u8 *oob, int sas, int sector_1k) in write_oob_to_regs() argument
1173 (oob[j + 0] << 24) | in write_oob_to_regs()
1174 (oob[j + 1] << 16) | in write_oob_to_regs()
1175 (oob[j + 2] << 8) | in write_oob_to_regs()
1176 (oob[j + 3] << 0)); in write_oob_to_regs()
1598 u8 *oob, u64 *err_addr) in brcmnand_read_by_pio() argument
1631 if (oob) in brcmnand_read_by_pio()
1632 oob += read_oob_from_regs(ctrl, i, oob, in brcmnand_read_by_pio()
[all …]
/Linux-v4.19/include/trace/events/
Dfscache.h335 bool wait, bool oob, s8 event_num),
337 TP_ARGS(object, state, wait, oob, event_num),
344 __field(bool, oob )
352 __entry->oob = oob;
364 __print_symbolic(__entry->oob,
/Linux-v4.19/Documentation/devicetree/bindings/ata/
Dnvidia,tegra124-ahci.txt16 - sata-oob
21 - sata-oob
/Linux-v4.19/drivers/mtd/devices/
Ddocg3.c1238 const u_char *oob, int autoecc) in doc_write_page() argument
1260 if (oob && autoecc) { in doc_write_page()
1261 doc_write_page_putbytes(docg3, DOC_LAYOUT_OOB_PAGEINFO_SZ, oob); in doc_write_page()
1263 oob += DOC_LAYOUT_OOB_UNUSED_OFS; in doc_write_page()
1275 doc_write_page_putbytes(docg3, DOC_LAYOUT_OOB_UNUSED_SZ, oob); in doc_write_page()
1277 if (oob && !autoecc) in doc_write_page()
1278 doc_write_page_putbytes(docg3, DOC_LAYOUT_OOB_SIZE, oob); in doc_write_page()
1396 u8 oob[DOC_LAYOUT_OOB_SIZE]; in doc_write_oob() local
1444 memset(oob, 0, sizeof(oob)); in doc_write_oob()
1446 memcpy(oob, docg3->oob_write_buf, DOC_LAYOUT_OOB_SIZE); in doc_write_oob()
[all …]
/Linux-v4.19/arch/mips/boot/dts/brcm/
Dbcm97xxx-nand-cs1-bch24.dtsi10 brcm,nand-oob-sector-size = <27>;
Dbcm97xxx-nand-cs1-bch4.dtsi10 brcm,nand-oob-sector-size = <16>;
/Linux-v4.19/arch/arm/boot/dts/
Dbcm963138dvt.dts41 brcm,nand-oob-sectors-size = <16>;
/Linux-v4.19/Documentation/devicetree/bindings/mtd/
Dmtk-nand.txt68 It is used to store free oob data.
69 O : oob size.
/Linux-v4.19/drivers/mtd/nand/raw/gpmi-nand/
Dgpmi-nand.c1395 uint8_t *oob = chip->oob_poi; in gpmi_ecc_read_page_raw() local
1416 memcpy(oob, tmp_buf, nfc_geo->metadata_size); in gpmi_ecc_read_page_raw()
1435 gpmi_copy_bits(oob, oob_bit_off, in gpmi_ecc_read_page_raw()
1447 memcpy(oob + oob_byte_off, in gpmi_ecc_read_page_raw()
1477 uint8_t *oob = chip->oob_poi; in gpmi_ecc_write_page_raw() local
1495 memcpy(tmp_buf, oob, nfc_geo->metadata_size); in gpmi_ecc_write_page_raw()
1513 oob, oob_bit_off, eccbits); in gpmi_ecc_write_page_raw()
1523 oob + oob_byte_off, mtd->oobsize - oob_byte_off); in gpmi_ecc_write_page_raw()
/Linux-v4.19/fs/fscache/
Dobject.c176 bool oob; in fscache_object_sm_dispatcher() local
195 oob = true; in fscache_object_sm_dispatcher()
207 oob = false; in fscache_object_sm_dispatcher()
237 trace_fscache_osm(object, state, false, oob, event); in fscache_object_sm_dispatcher()

123