Lines Matching full:oob
534 * the randomizer engine does internally before de/scrambling OOB data.
716 static void sunxi_nfc_hw_ecc_get_prot_oob_bytes(struct nand_chip *nand, u8 *oob, in sunxi_nfc_hw_ecc_get_prot_oob_bytes() argument
722 oob); in sunxi_nfc_hw_ecc_get_prot_oob_bytes()
726 sunxi_nfc_randomize_bbm(nand, page, oob); in sunxi_nfc_hw_ecc_get_prot_oob_bytes()
730 const u8 *oob, int step, in sunxi_nfc_hw_ecc_set_prot_oob_bytes() argument
738 memcpy(user_data, oob, sizeof(user_data)); in sunxi_nfc_hw_ecc_set_prot_oob_bytes()
740 oob = user_data; in sunxi_nfc_hw_ecc_set_prot_oob_bytes()
743 writel(sunxi_nfc_buf_to_user_data(oob), in sunxi_nfc_hw_ecc_set_prot_oob_bytes()
760 static int sunxi_nfc_hw_ecc_correct(struct nand_chip *nand, u8 *data, u8 *oob, in sunxi_nfc_hw_ecc_correct() argument
785 if (oob) in sunxi_nfc_hw_ecc_correct()
786 memset(oob, pattern, ecc->bytes + 4); in sunxi_nfc_hw_ecc_correct()
798 u8 *oob, int oob_off, in sunxi_nfc_hw_ecc_read_chunk() argument
832 ret = sunxi_nfc_hw_ecc_correct(nand, data, oob_required ? oob : NULL, 0, in sunxi_nfc_hw_ecc_read_chunk()
850 nand_change_read_column_op(nand, oob_off, oob, ecc->bytes + 4, in sunxi_nfc_hw_ecc_read_chunk()
854 oob, ecc->bytes + 4, in sunxi_nfc_hw_ecc_read_chunk()
864 sunxi_nfc_randomizer_read_buf(nand, oob, ecc->bytes + 4, in sunxi_nfc_hw_ecc_read_chunk()
867 sunxi_nfc_hw_ecc_get_prot_oob_bytes(nand, oob, 0, in sunxi_nfc_hw_ecc_read_chunk()
878 u8 *oob, int *cur_off, in sunxi_nfc_hw_ecc_read_extra_oob() argument
894 sunxi_nfc_read_buf(nand, oob + offset, len); in sunxi_nfc_hw_ecc_read_extra_oob()
896 sunxi_nfc_randomizer_read_buf(nand, oob + offset, len, in sunxi_nfc_hw_ecc_read_extra_oob()
955 u8 *oob = nand->oob_poi + oob_off; in sunxi_nfc_hw_ecc_read_chunks_dma() local
959 oob_required ? oob : NULL, in sunxi_nfc_hw_ecc_read_chunks_dma()
967 /* TODO: use DMA to retrieve OOB */ in sunxi_nfc_hw_ecc_read_chunks_dma()
970 oob, ecc->bytes + 4, false); in sunxi_nfc_hw_ecc_read_chunks_dma()
972 sunxi_nfc_hw_ecc_get_prot_oob_bytes(nand, oob, i, in sunxi_nfc_hw_ecc_read_chunks_dma()
987 u8 *oob = nand->oob_poi + oob_off; in sunxi_nfc_hw_ecc_read_chunks_dma() local
1002 /* TODO: use DMA to retrieve OOB */ in sunxi_nfc_hw_ecc_read_chunks_dma()
1005 oob, ecc->bytes + 4, false); in sunxi_nfc_hw_ecc_read_chunks_dma()
1008 oob, ecc->bytes + 4, in sunxi_nfc_hw_ecc_read_chunks_dma()
1028 const u8 *oob, int oob_off, in sunxi_nfc_hw_ecc_write_chunk() argument
1049 sunxi_nfc_hw_ecc_set_prot_oob_bytes(nand, oob, 0, bbm, page); in sunxi_nfc_hw_ecc_write_chunk()
1066 u8 *oob, int *cur_off, in sunxi_nfc_hw_ecc_write_extra_oob() argument
1081 sunxi_nfc_randomizer_write_buf(nand, oob + offset, len, false, page); in sunxi_nfc_hw_ecc_write_extra_oob()
1106 u8 *oob = nand->oob_poi + oob_off; in sunxi_nfc_hw_ecc_read_page() local
1108 ret = sunxi_nfc_hw_ecc_read_chunk(nand, data, data_off, oob, in sunxi_nfc_hw_ecc_read_page()
1165 u8 *oob = nand->oob_poi + oob_off; in sunxi_nfc_hw_ecc_read_subpage() local
1168 oob, in sunxi_nfc_hw_ecc_read_subpage()
1219 const u8 *oob = nand->oob_poi + oob_off; in sunxi_nfc_hw_ecc_write_page() local
1221 ret = sunxi_nfc_hw_ecc_write_chunk(nand, data, data_off, oob, in sunxi_nfc_hw_ecc_write_page()
1257 const u8 *oob = nand->oob_poi + oob_off; in sunxi_nfc_hw_ecc_write_subpage() local
1259 ret = sunxi_nfc_hw_ecc_write_chunk(nand, data, data_off, oob, in sunxi_nfc_hw_ecc_write_subpage()
1293 const u8 *oob = nand->oob_poi + (i * (ecc->bytes + 4)); in sunxi_nfc_hw_ecc_write_page_dma() local
1295 sunxi_nfc_hw_ecc_set_prot_oob_bytes(nand, oob, i, !i, page); in sunxi_nfc_hw_ecc_write_page_dma()
1326 /* TODO: use DMA to transfer extra OOB bytes ? */ in sunxi_nfc_hw_ecc_write_page_dma()
1354 /* Send command to program the OOB data */ in sunxi_nfc_hw_ecc_write_oob()