Lines Matching full:oob
633 * the randomizer engine does internally before de/scrambling OOB data.
818 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()
901 u8 *oob, int oob_off, in sunxi_nfc_hw_ecc_read_chunk() argument
936 ret = sunxi_nfc_hw_ecc_correct(mtd, data, oob_required ? oob : NULL, 0, in sunxi_nfc_hw_ecc_read_chunk()
954 nand_change_read_column_op(nand, oob_off, oob, ecc->bytes + 4, in sunxi_nfc_hw_ecc_read_chunk()
958 oob, ecc->bytes + 4, in sunxi_nfc_hw_ecc_read_chunk()
968 sunxi_nfc_randomizer_read_buf(mtd, oob, ecc->bytes + 4, in sunxi_nfc_hw_ecc_read_chunk()
971 sunxi_nfc_hw_ecc_get_prot_oob_bytes(mtd, oob, 0, in sunxi_nfc_hw_ecc_read_chunk()
982 u8 *oob, int *cur_off, in sunxi_nfc_hw_ecc_read_extra_oob() argument
998 sunxi_nfc_read_buf(mtd, oob + offset, len); in sunxi_nfc_hw_ecc_read_extra_oob()
1000 sunxi_nfc_randomizer_read_buf(mtd, oob + offset, len, in sunxi_nfc_hw_ecc_read_extra_oob()
1059 u8 *oob = nand->oob_poi + oob_off; in sunxi_nfc_hw_ecc_read_chunks_dma() local
1063 oob_required ? oob : NULL, in sunxi_nfc_hw_ecc_read_chunks_dma()
1071 /* TODO: use DMA to retrieve OOB */ in sunxi_nfc_hw_ecc_read_chunks_dma()
1074 oob, ecc->bytes + 4, false); in sunxi_nfc_hw_ecc_read_chunks_dma()
1076 sunxi_nfc_hw_ecc_get_prot_oob_bytes(mtd, oob, i, in sunxi_nfc_hw_ecc_read_chunks_dma()
1091 u8 *oob = nand->oob_poi + oob_off; in sunxi_nfc_hw_ecc_read_chunks_dma() local
1106 /* TODO: use DMA to retrieve OOB */ in sunxi_nfc_hw_ecc_read_chunks_dma()
1109 oob, ecc->bytes + 4, false); in sunxi_nfc_hw_ecc_read_chunks_dma()
1112 oob, ecc->bytes + 4, in sunxi_nfc_hw_ecc_read_chunks_dma()
1132 const u8 *oob, int oob_off, in sunxi_nfc_hw_ecc_write_chunk() argument
1154 sunxi_nfc_hw_ecc_set_prot_oob_bytes(mtd, oob, 0, bbm, page); in sunxi_nfc_hw_ecc_write_chunk()
1171 u8 *oob, int *cur_off, in sunxi_nfc_hw_ecc_write_extra_oob() argument
1186 sunxi_nfc_randomizer_write_buf(mtd, oob + offset, len, false, page); in sunxi_nfc_hw_ecc_write_extra_oob()
1209 u8 *oob = chip->oob_poi + oob_off; in sunxi_nfc_hw_ecc_read_page() local
1211 ret = sunxi_nfc_hw_ecc_read_chunk(mtd, data, data_off, oob, in sunxi_nfc_hw_ecc_read_page()
1265 u8 *oob = chip->oob_poi + oob_off; in sunxi_nfc_hw_ecc_read_subpage() local
1268 oob, in sunxi_nfc_hw_ecc_read_subpage()
1316 const u8 *oob = chip->oob_poi + oob_off; in sunxi_nfc_hw_ecc_write_page() local
1318 ret = sunxi_nfc_hw_ecc_write_chunk(mtd, data, data_off, oob, in sunxi_nfc_hw_ecc_write_page()
1352 const u8 *oob = chip->oob_poi + oob_off; in sunxi_nfc_hw_ecc_write_subpage() local
1354 ret = sunxi_nfc_hw_ecc_write_chunk(mtd, data, data_off, oob, in sunxi_nfc_hw_ecc_write_subpage()
1388 const u8 *oob = nand->oob_poi + (i * (ecc->bytes + 4)); in sunxi_nfc_hw_ecc_write_page_dma() local
1390 sunxi_nfc_hw_ecc_set_prot_oob_bytes(mtd, oob, i, !i, page); in sunxi_nfc_hw_ecc_write_page_dma()
1421 /* TODO: use DMA to transfer extra OOB bytes ? */ in sunxi_nfc_hw_ecc_write_page_dma()
1453 /* Send command to program the OOB data */ in sunxi_nfc_hw_ecc_write_oob()