/linux/drivers/mtd/nand/ |
H A D | ecc-sw-bch.c | 111 unsigned int eccsize = nand->ecc.ctx.conf.step_size; in nand_ecc_sw_bch_init() local 117 m = fls(1 + (8 * eccsize)); in nand_ecc_sw_bch_init() 133 erased_page = kmalloc(eccsize, GFP_KERNEL); in nand_ecc_sw_bch_init() 139 memset(erased_page, 0xff, eccsize); in nand_ecc_sw_bch_init() 140 bch_encode(engine_conf->bch, erased_page, eccsize, in nand_ecc_sw_bch_init() 156 if (8 * (eccsize + eccbytes) >= (1 << m)) { in nand_ecc_sw_bch_init() 157 pr_err("ECC step size is too large (%u)\n", eccsize); in nand_ecc_sw_bch_init() 296 int eccsize = nand->ecc.ctx.conf.step_size; in nand_ecc_sw_bch_prepare_io_req() local 321 eccsteps--, i += eccbytes, data += eccsize) in nand_ecc_sw_bch_prepare_io_req() 333 int eccsize = nand->ecc.ctx.conf.step_size; in nand_ecc_sw_bch_finish_io_req() local [all …]
|
H A D | ecc-sw-hamming.c | 550 int eccsize = nand->ecc.ctx.conf.step_size; in nand_ecc_sw_hamming_prepare_io_req() local 575 eccsteps--, i += eccbytes, data += eccsize) in nand_ecc_sw_hamming_prepare_io_req() 587 int eccsize = nand->ecc.ctx.conf.step_size; in nand_ecc_sw_hamming_finish_io_req() local 618 for (i = 0; eccsteps; eccsteps--, i += eccbytes, data += eccsize) in nand_ecc_sw_hamming_finish_io_req() 624 eccsteps--, i += eccbytes, data += eccsize) { in nand_ecc_sw_hamming_finish_io_req()
|
/linux/drivers/mtd/nand/raw/ |
H A D | mxc_nand.c | 158 int eccsize; member 177 int eccsize; member 393 ecc_bit_mask = (host->eccsize == 4) ? 0x7 : 0xf; in get_ecc_status_v2_v3() 394 err_limit = (host->eccsize == 4) ? 0x4 : 0x8; in get_ecc_status_v2_v3() 1010 host->eccsize = 1; in preset_v1() 1117 host->eccsize = get_eccsize(mtd); in preset_v2() 1118 if (host->eccsize == 4) in preset_v2() 1123 host->eccsize = 1; in preset_v2() 1196 host->eccsize = get_eccsize(mtd); in preset_v3() 1197 if (host->eccsize == 8) in preset_v3() [all …]
|
H A D | txx9ndfmc.c | 191 int eccsize; in txx9ndfmc_correct_data() local 195 for (eccsize = chip->ecc.size; eccsize > 0; eccsize -= 256) { in txx9ndfmc_correct_data()
|
H A D | nand_base.c | 3016 int eccsize = chip->ecc.size; in nand_read_page_raw_syndrome() local 3026 ret = nand_read_data_op(chip, buf, eccsize, false, false); in nand_read_page_raw_syndrome() 3030 buf += eccsize; in nand_read_page_raw_syndrome() 3078 int i, eccsize = chip->ecc.size, ret; in nand_read_page_swecc() local 3088 for (i = 0; eccsteps; eccsteps--, i += eccbytes, p += eccsize) in nand_read_page_swecc() 3099 for (i = 0 ; eccsteps; eccsteps--, i += eccbytes, p += eccsize) { in nand_read_page_swecc() 3237 int i, eccsize = chip->ecc.size, ret; in nand_read_page_hwecc() local 3249 for (i = 0; eccsteps; eccsteps--, i += eccbytes, p += eccsize) { in nand_read_page_hwecc() 3252 ret = nand_read_data_op(chip, p, eccsize, false, false); in nand_read_page_hwecc() 3272 for (i = 0 ; eccsteps; eccsteps--, i += eccbytes, p += eccsize) { in nand_read_page_hwecc() [all …]
|
H A D | stm32_fmc2_nand.c | 634 static int stm32_fmc2_nfc_bch_decode(int eccsize, u8 *dat, u32 *ecc_sta) in stm32_fmc2_nfc_bch_decode() argument 664 if (pos[i] < eccsize * 8) { in stm32_fmc2_nfc_bch_decode() 698 int ret, i, s, stat, eccsize = chip->ecc.size; in stm32_fmc2_nfc_read_page() local 712 s++, i += eccbytes, p += eccsize) { in stm32_fmc2_nfc_read_page() 716 ret = nand_change_read_column_op(chip, s * eccsize, p, in stm32_fmc2_nfc_read_page() 717 eccsize, false); in stm32_fmc2_nfc_read_page() 731 stat = nand_check_erased_ecc_chunk(p, eccsize, in stm32_fmc2_nfc_read_page() 863 int eccsize = chip->ecc.size; in stm32_fmc2_nfc_xfer() local 876 sg_set_buf(sg, p, eccsize); in stm32_fmc2_nfc_xfer() 877 p += eccsize; in stm32_fmc2_nfc_xfer() [all …]
|
H A D | fsmc_nand.c | 709 int i, j, s, stat, eccsize = chip->ecc.size; in fsmc_read_page_hwecc() local 725 for (i = 0, s = 0; s < eccsteps; s++, i += eccbytes, p += eccsize) { in fsmc_read_page_hwecc() 726 nand_read_page_op(chip, page, s * eccsize, NULL, 0); in fsmc_read_page_hwecc() 728 ret = nand_read_data_op(chip, p, eccsize, false, false); in fsmc_read_page_hwecc()
|
/linux/drivers/mtd/nand/raw/gpmi-nand/ |
H A D | gpmi-nand.c | 1833 int eccsize = nfc_geo->eccn_chunk_size; in gpmi_ecc_read_page_raw() local 1871 nand_extract_bits(buf, step * eccsize * 8, tmp_buf, in gpmi_ecc_read_page_raw() 1872 src_bit_off, eccsize * 8); in gpmi_ecc_read_page_raw() 1873 src_bit_off += eccsize * 8; in gpmi_ecc_read_page_raw() 1918 int eccsize = nfc_geo->eccn_chunk_size; in gpmi_ecc_write_page_raw() local 1947 step * eccsize * 8, eccsize * 8); in gpmi_ecc_write_page_raw() 1948 dst_bit_off += eccsize * 8; in gpmi_ecc_write_page_raw()
|