| /OK3568_Linux_fs/kernel/drivers/mtd/nand/raw/ |
| H A D | nand_bch.c | 112 unsigned int eccsize = nand->ecc.size; in nand_bch_init() local 117 eccbytes = DIV_ROUND_UP(eccstrength * fls(8 * eccsize), 8); in nand_bch_init() 121 if (!eccsize || !eccbytes) { in nand_bch_init() 126 m = fls(1+8*eccsize); in nand_bch_init() 144 eccsteps = mtd->writesize/eccsize; in nand_bch_init() 153 if (8*(eccsize+eccbytes) >= (1 << m)) { in nand_bch_init() 154 pr_warn("eccsize %u is too large\n", eccsize); in nand_bch_init() 181 erased_page = kmalloc(eccsize, GFP_KERNEL); in nand_bch_init() 185 memset(erased_page, 0xff, eccsize); in nand_bch_init() 186 bch_encode(nbc->bch, erased_page, eccsize, nbc->eccmask); in nand_bch_init() [all …]
|
| H A D | mxc_nand.c | 158 int eccsize; member 177 int eccsize; member 797 ecc_bit_mask = (host->eccsize == 4) ? 0x7 : 0xf; in mxc_nand_read_page_v2_v3() 798 err_limit = (host->eccsize == 4) ? 0x4 : 0x8; in mxc_nand_read_page_v2_v3() 1127 host->eccsize = 1; in preset_v1() 1234 host->eccsize = get_eccsize(mtd); in preset_v2() 1235 if (host->eccsize == 4) in preset_v2() 1240 host->eccsize = 1; in preset_v2() 1313 host->eccsize = get_eccsize(mtd); in preset_v3() 1314 if (host->eccsize == 8) in preset_v3() [all …]
|
| H A D | nand_ecc.c | 123 void __nand_calculate_ecc(const unsigned char *buf, unsigned int eccsize, in __nand_calculate_ecc() argument 129 const uint32_t eccsize_mult = eccsize >> 8; in __nand_calculate_ecc() 392 unsigned int eccsize, bool sm_order) in __nand_correct_data() argument 397 const uint32_t eccsize_mult = eccsize >> 8; in __nand_correct_data()
|
| H A D | nand_base.c | 2671 int eccsize = chip->ecc.size; in nand_read_page_raw_syndrome() local 2681 ret = nand_read_data_op(chip, buf, eccsize, false, false); in nand_read_page_raw_syndrome() 2685 buf += eccsize; in nand_read_page_raw_syndrome() 2733 int i, eccsize = chip->ecc.size, ret; in nand_read_page_swecc() local 2743 for (i = 0; eccsteps; eccsteps--, i += eccbytes, p += eccsize) in nand_read_page_swecc() 2754 for (i = 0 ; eccsteps; eccsteps--, i += eccbytes, p += eccsize) { in nand_read_page_swecc() 2892 int i, eccsize = chip->ecc.size, ret; in nand_read_page_hwecc() local 2904 for (i = 0; eccsteps; eccsteps--, i += eccbytes, p += eccsize) { in nand_read_page_hwecc() 2907 ret = nand_read_data_op(chip, p, eccsize, false, false); in nand_read_page_hwecc() 2927 for (i = 0 ; eccsteps; eccsteps--, i += eccbytes, p += eccsize) { in nand_read_page_hwecc() [all …]
|
| H A D | txx9ndfmc.c | 192 int eccsize; in txx9ndfmc_correct_data() local 196 for (eccsize = chip->ecc.size; eccsize > 0; eccsize -= 256) { in txx9ndfmc_correct_data()
|
| H A D | stm32_fmc2_nand.c | 613 static int stm32_fmc2_nfc_bch_decode(int eccsize, u8 *dat, u32 *ecc_sta) in stm32_fmc2_nfc_bch_decode() argument 643 if (pos[i] < eccsize * 8) { in stm32_fmc2_nfc_bch_decode() 677 int ret, i, s, stat, eccsize = chip->ecc.size; in stm32_fmc2_nfc_read_page() local 691 s++, i += eccbytes, p += eccsize) { in stm32_fmc2_nfc_read_page() 695 ret = nand_change_read_column_op(chip, s * eccsize, p, in stm32_fmc2_nfc_read_page() 696 eccsize, false); in stm32_fmc2_nfc_read_page() 710 stat = nand_check_erased_ecc_chunk(p, eccsize, in stm32_fmc2_nfc_read_page() 842 int eccsize = chip->ecc.size; in stm32_fmc2_nfc_xfer() local 855 sg_set_buf(sg, p, eccsize); in stm32_fmc2_nfc_xfer() 856 p += eccsize; in stm32_fmc2_nfc_xfer() [all …]
|
| H A D | davinci_nand.c | 390 int i, eccsize = chip->ecc.size, ret; in nand_davinci_read_page_hwecc_oob_first() local 412 for (i = 0; eccsteps; eccsteps--, i += eccbytes, p += eccsize) { in nand_davinci_read_page_hwecc_oob_first() 417 ret = nand_read_data_op(chip, p, eccsize, false, false); in nand_davinci_read_page_hwecc_oob_first() 425 stat = nand_check_erased_ecc_chunk(p, eccsize, in nand_davinci_read_page_hwecc_oob_first()
|
| H A D | fsmc_nand.c | 698 int i, j, s, stat, eccsize = chip->ecc.size; in fsmc_read_page_hwecc() local 714 for (i = 0, s = 0; s < eccsteps; s++, i += eccbytes, p += eccsize) { in fsmc_read_page_hwecc() 715 nand_read_page_op(chip, page, s * eccsize, NULL, 0); in fsmc_read_page_hwecc() 717 ret = nand_read_data_op(chip, p, eccsize, false, false); in fsmc_read_page_hwecc()
|
| /OK3568_Linux_fs/u-boot/drivers/mtd/nand/raw/ |
| H A D | nand_bch.c | 117 unsigned int eccsize = nand->ecc.size; in nand_bch_init() local 122 eccbytes = DIV_ROUND_UP(eccstrength * fls(8 * eccsize), 8); in nand_bch_init() 126 if (!eccsize || !eccbytes) { in nand_bch_init() 131 m = fls(1+8*eccsize); in nand_bch_init() 149 eccsteps = mtd->writesize/eccsize; in nand_bch_init() 182 if (8*(eccsize+eccbytes) >= (1 << m)) { in nand_bch_init() 183 printk(KERN_WARNING "eccsize %u is too large\n", eccsize); in nand_bch_init() 198 erased_page = kmalloc(eccsize, GFP_KERNEL); in nand_bch_init() 202 memset(erased_page, 0xff, eccsize); in nand_bch_init() 204 encode_bch(nbc->bch, erased_page, eccsize, nbc->eccmask); in nand_bch_init() [all …]
|
| H A D | nand_spl_simple.c | 147 int eccsize = CONFIG_SYS_NAND_ECCSIZE; in nand_read_page() local 161 for (i = 0; eccsteps; eccsteps--, i += eccbytes, p += eccsize) { in nand_read_page() 163 this->read_buf(mtd, p, eccsize); in nand_read_page() 178 int eccsize = CONFIG_SYS_NAND_ECCSIZE; in nand_read_page() local 185 for (i = 0; eccsteps; eccsteps--, i += eccbytes, p += eccsize) { in nand_read_page() 188 this->read_buf(mtd, p, eccsize); in nand_read_page() 200 for (i = 0 ; eccsteps; eccsteps--, i += eccbytes, p += eccsize) { in nand_read_page()
|
| H A D | am335x_spl_bch.c | 157 int eccsize = CONFIG_SYS_NAND_ECCSIZE; in nand_read_page() local 163 uint32_t oob_pos = eccsize * eccsteps + nand_ecc_pos[0]; in nand_read_page() 167 for (i = 0; eccsteps; eccsteps--, i += eccbytes, p += eccsize) { in nand_read_page() 171 this->read_buf(mtd, p, eccsize); in nand_read_page() 178 data_pos += eccsize; in nand_read_page() 190 for (i = 0 ; eccsteps; eccsteps--, i += eccbytes, p += eccsize) { in nand_read_page()
|
| H A D | zynq_nand.c | 566 int i, eccsteps, eccsize = chip->ecc.size; in zynq_nand_write_page_hwecc() local 575 chip->write_buf(mtd, p, eccsize); in zynq_nand_write_page_hwecc() 576 p += eccsize; in zynq_nand_write_page_hwecc() 578 chip->write_buf(mtd, p, (eccsize - data_width)); in zynq_nand_write_page_hwecc() 579 p += eccsize - data_width; in zynq_nand_write_page_hwecc() 624 int i, eccsize = chip->ecc.size; in zynq_nand_write_page_swecc() local 632 for (i = 0; eccsteps; eccsteps--, i += eccbytes, p += eccsize) in zynq_nand_write_page_swecc() 657 int i, stat, eccsteps, eccsize = chip->ecc.size; in zynq_nand_read_page_hwecc() local 668 chip->read_buf(mtd, p, eccsize); in zynq_nand_read_page_hwecc() 669 p += eccsize; in zynq_nand_read_page_hwecc() [all …]
|
| H A D | mxc_nand.c | 443 int eccsize = chip->ecc.size; local 454 host->col_addr = n * eccsize; 455 chip->read_buf(mtd, buf, eccsize); 456 buf += eccsize; 488 int n, eccsize = chip->ecc.size; local 499 for (n = 0; eccsteps; n++, eccsteps--, p += eccsize) { 502 host->col_addr = n * eccsize; 504 chip->read_buf(mtd, p, eccsize); 537 for (n = 0; eccsteps; n++, eccsteps--, p += eccsize) { 580 int eccsize = chip->ecc.size; local [all …]
|
| H A D | nand_base.c | 1796 int eccsize = chip->ecc.size; in nand_read_page_raw_syndrome() local 1802 ret = nand_read_data_op(chip, buf, eccsize, false); in nand_read_page_raw_syndrome() 1806 buf += eccsize; in nand_read_page_raw_syndrome() 1854 int i, eccsize = chip->ecc.size; in nand_read_page_swecc() local 1865 for (i = 0; eccsteps; eccsteps--, i += eccbytes, p += eccsize) in nand_read_page_swecc() 1874 for (i = 0 ; eccsteps; eccsteps--, i += eccbytes, p += eccsize) { in nand_read_page_swecc() 2013 int i, eccsize = chip->ecc.size; in nand_read_page_hwecc() local 2023 for (i = 0; eccsteps; eccsteps--, i += eccbytes, p += eccsize) { in nand_read_page_hwecc() 2026 ret = nand_read_data_op(chip, p, eccsize, false); in nand_read_page_hwecc() 2043 for (i = 0 ; eccsteps; eccsteps--, i += eccbytes, p += eccsize) { in nand_read_page_hwecc() [all …]
|
| H A D | fsmc_nand.c | 341 int i, j, s, stat, eccsize = chip->ecc.size; in fsmc_read_page_hwecc() local 356 for (i = 0, s = 0; s < eccsteps; s++, i += eccbytes, p += eccsize) { in fsmc_read_page_hwecc() 358 chip->cmdfunc(mtd, NAND_CMD_READ0, s * eccsize, page); in fsmc_read_page_hwecc() 360 chip->read_buf(mtd, p, eccsize); in fsmc_read_page_hwecc()
|
| H A D | omap_gpmc.c | 587 int i, eccsize = chip->ecc.size; in omap_read_page_bch() local 600 oob_pos = (eccsize * eccsteps) + chip->ecc.layout->eccpos[0]; in omap_read_page_bch() 603 for (i = 0; eccsteps; eccsteps--, i += eccbytes, p += eccsize, in omap_read_page_bch() 608 chip->read_buf(mtd, p, eccsize); in omap_read_page_bch() 616 data_pos += eccsize; in omap_read_page_bch() 626 for (i = 0 ; eccsteps; eccsteps--, i += eccbytes, p += eccsize) { in omap_read_page_bch()
|
| H A D | stm32_fmc2_nand.c | 479 int i, ret, den, eccsize = chip->ecc.size; in stm32_fmc2_bch_correct() local 518 if (pos[i] < eccsize * 8) { in stm32_fmc2_bch_correct() 531 int i, s, stat, eccsize = chip->ecc.size; in stm32_fmc2_read_page() local 541 s++, i += eccbytes, p += eccsize) { in stm32_fmc2_read_page() 545 chip->cmdfunc(mtd, NAND_CMD_RNDOUT, s * eccsize, -1); in stm32_fmc2_read_page() 546 chip->read_buf(mtd, p, eccsize); in stm32_fmc2_read_page() 556 stat = nand_check_erased_ecc_chunk(p, eccsize, in stm32_fmc2_read_page()
|
| H A D | atmel_nand.c | 533 int eccsize = chip->ecc.size; in atmel_nand_pmecc_read_page() local 547 chip->read_buf(mtd, buf, eccsize); in atmel_nand_pmecc_read_page() 1024 int eccsize = chip->ecc.size; in atmel_nand_read_page() local 1033 chip->read_buf(mtd, p, eccsize); in atmel_nand_read_page() 1313 int eccsize = CONFIG_SYS_NAND_ECCSIZE; in nand_read_page() local 1320 for (i = 0; eccsteps; eccsteps--, i += eccbytes, p += eccsize) { in nand_read_page() 1323 this->read_buf(mtd, p, eccsize); in nand_read_page() 1334 for (i = 0; eccsteps; eccsteps--, i += eccbytes, p += eccsize) in nand_read_page()
|
| H A D | davinci_nand.c | 425 int i, eccsize = chip->ecc.size; in nand_davinci_read_page_hwecc() local 450 for (i = 0; eccsteps; eccsteps--, i += eccbytes, p += eccsize) { in nand_davinci_read_page_hwecc() 454 chip->read_buf(mtd, p, eccsize); in nand_davinci_read_page_hwecc()
|
| H A D | arasan_nfc.c | 168 u16 eccsize; member 1156 ecc_matrix[found].eccsize; in arasan_nand_ecc_init() 1159 (ecc_matrix[found].eccsize << ARASAN_NAND_ECC_SIZE_SHIFT) | in arasan_nand_ecc_init() 1171 nand_oob.eccbytes = ecc_matrix[found].eccsize; in arasan_nand_ecc_init() 1182 nand_chip->ecc.bytes = ecc_matrix[found].eccsize; in arasan_nand_ecc_init()
|
| H A D | vf610_nfc.c | 592 int eccsize = chip->ecc.size; in vf610_nfc_read_page() local 595 vf610_nfc_read_buf(mtd, buf, eccsize); in vf610_nfc_read_page()
|
| /OK3568_Linux_fs/kernel/include/linux/mtd/ |
| H A D | nand_ecc.h | 18 void __nand_calculate_ecc(const u_char *dat, unsigned int eccsize, 31 unsigned int eccsize, bool sm_order);
|
| /OK3568_Linux_fs/kernel/drivers/mtd/nand/raw/gpmi-nand/ |
| H A D | gpmi-nand.c | 1594 int eccsize = nfc_geo->ecc_chunk_size; in gpmi_ecc_read_page_raw() local 1632 nand_extract_bits(buf, step * eccsize * 8, tmp_buf, in gpmi_ecc_read_page_raw() 1633 src_bit_off, eccsize * 8); in gpmi_ecc_read_page_raw() 1634 src_bit_off += eccsize * 8; in gpmi_ecc_read_page_raw() 1679 int eccsize = nfc_geo->ecc_chunk_size; in gpmi_ecc_write_page_raw() local 1708 step * eccsize * 8, eccsize * 8); in gpmi_ecc_write_page_raw() 1709 dst_bit_off += eccsize * 8; in gpmi_ecc_write_page_raw()
|