Lines Matching refs:ecc
340 pagesize = nand->ecc.size >> 3; in meson_nfc_cmd_access()
341 pages = len / nand->ecc.size; in meson_nfc_cmd_access()
398 len = nand->ecc.size * (i + 1) + (nand->ecc.bytes + 2) * i; in meson_nfc_oob_ptr()
408 temp = nand->ecc.size + nand->ecc.bytes; in meson_nfc_data_ptr()
420 oob_len = nand->ecc.bytes + 2; in meson_nfc_get_data_oob()
421 for (i = 0; i < nand->ecc.steps; i++) { in meson_nfc_get_data_oob()
424 memcpy(buf, dsrc, nand->ecc.size); in meson_nfc_get_data_oob()
425 buf += nand->ecc.size; in meson_nfc_get_data_oob()
439 oob_len = nand->ecc.bytes + 2; in meson_nfc_set_data_oob()
440 for (i = 0; i < nand->ecc.steps; i++) { in meson_nfc_set_data_oob()
443 memcpy(dsrc, buf, nand->ecc.size); in meson_nfc_set_data_oob()
444 buf += nand->ecc.size; in meson_nfc_set_data_oob()
540 for (i = 0, count = 0; i < nand->ecc.steps; i++, count += (2 + nand->ecc.bytes)) { in meson_nfc_set_user_byte()
553 for (i = 0, count = 0; i < nand->ecc.steps; i++, count += (2 + nand->ecc.bytes)) { in meson_nfc_get_user_byte()
568 for (i = 0; i < nand->ecc.steps; i++) { in meson_nfc_ecc_correct()
577 ECC_ZERO_CNT(*info) < nand->ecc.strength) { in meson_nfc_ecc_correct()
760 info_len = nand->ecc.steps * PER_INFO_BYTE; in meson_nfc_write_page_sub()
801 memset(meson_chip->info_buf, 0, nand->ecc.steps * PER_INFO_BYTE); in meson_nfc_write_page_hwecc()
815 neccpages = raw ? 1 : nand->ecc.steps; in meson_nfc_check_ecc_pages_valid()
839 info_len = nand->ecc.steps * PER_INFO_BYTE; in meson_nfc_read_page_sub()
881 struct nand_ecc_ctrl *ecc = &nand->ecc; in meson_nfc_read_page_hwecc() local
906 for (i = 0; i < nand->ecc.steps ; i++) { in meson_nfc_read_page_hwecc()
907 u8 *data = buf + i * ecc->size; in meson_nfc_read_page_hwecc()
908 u8 *oob = nand->oob_poi + i * (ecc->bytes + 2); in meson_nfc_read_page_hwecc()
912 ret = nand_check_erased_ecc_chunk(data, ecc->size, in meson_nfc_read_page_hwecc()
913 oob, ecc->bytes + 2, in meson_nfc_read_page_hwecc()
915 ecc->strength); in meson_nfc_read_page_hwecc()
1101 if (section >= nand->ecc.steps) in meson_ooblayout_ecc()
1104 oobregion->offset = 2 + (section * (2 + nand->ecc.bytes)); in meson_ooblayout_ecc()
1105 oobregion->length = nand->ecc.bytes; in meson_ooblayout_ecc()
1115 if (section >= nand->ecc.steps) in meson_ooblayout_free()
1118 oobregion->offset = section * (2 + nand->ecc.bytes); in meson_ooblayout_free()
1125 .ecc = meson_ooblayout_ecc,
1228 nsectors = mtd->writesize / nand->ecc.size; in meson_chip_buffer_init()
1294 if (nand->ecc.strength > 60 || nand->ecc.strength < 8) in meson_nand_bch_mode()
1298 if (meson_ecc[i].strength == nand->ecc.strength && in meson_nand_bch_mode()
1299 meson_ecc[i].size == nand->ecc.size) { in meson_nand_bch_mode()
1355 nand->ecc.engine_type = NAND_ECC_ENGINE_TYPE_ON_HOST; in meson_nand_attach_chip()
1356 nand->ecc.write_page_raw = meson_nfc_write_page_raw; in meson_nand_attach_chip()
1357 nand->ecc.write_page = meson_nfc_write_page_hwecc; in meson_nand_attach_chip()
1358 nand->ecc.write_oob_raw = nand_write_oob_std; in meson_nand_attach_chip()
1359 nand->ecc.write_oob = nand_write_oob_std; in meson_nand_attach_chip()
1361 nand->ecc.read_page_raw = meson_nfc_read_page_raw; in meson_nand_attach_chip()
1362 nand->ecc.read_page = meson_nfc_read_page_hwecc; in meson_nand_attach_chip()
1363 nand->ecc.read_oob_raw = meson_nfc_read_oob_raw; in meson_nand_attach_chip()
1364 nand->ecc.read_oob = meson_nfc_read_oob; in meson_nand_attach_chip()