Lines Matching +full:wear +full:- +full:leveling
1 // SPDX-License-Identifier: GPL-2.0
40 return -ERANGE; in w25m02gv_ooblayout_ecc()
42 region->offset = (16 * section) + 8; in w25m02gv_ooblayout_ecc()
43 region->length = 8; in w25m02gv_ooblayout_ecc()
52 return -ERANGE; in w25m02gv_ooblayout_free()
54 region->offset = (16 * section) + 2; in w25m02gv_ooblayout_free()
55 region->length = 6; in w25m02gv_ooblayout_free()
72 spinand->scratchbuf, in w25m02gv_select_target()
75 *spinand->scratchbuf = target; in w25m02gv_select_target()
76 return spi_mem_exec_op(spinand->spimem, &op); in w25m02gv_select_target()
83 return -ERANGE; in w25n01kv_ooblayout_ecc()
85 region->offset = 64 + (8 * section); in w25n01kv_ooblayout_ecc()
86 region->length = 7; in w25n01kv_ooblayout_ecc()
95 return -ERANGE; in w25n02kv_ooblayout_ecc()
97 region->offset = 64 + (16 * section); in w25n02kv_ooblayout_ecc()
98 region->length = 13; in w25n02kv_ooblayout_ecc()
107 return -ERANGE; in w25n02kv_ooblayout_free()
109 region->offset = (16 * section) + 2; in w25n02kv_ooblayout_free()
110 region->length = 14; in w25n02kv_ooblayout_free()
130 struct spi_mem_op op = SPINAND_GET_FEATURE_OP(0x30, spinand->scratchbuf); in w25n02kv_ecc_get_status()
137 return -EBADMSG; in w25n02kv_ecc_get_status()
143 * in order to avoid forcing the wear-leveling layer to move in w25n02kv_ecc_get_status()
146 if (spi_mem_exec_op(spinand->spimem, &op)) in w25n02kv_ecc_get_status()
147 return nanddev_get_ecc_conf(nand)->strength; in w25n02kv_ecc_get_status()
149 mbf = *(spinand->scratchbuf) >> 4; in w25n02kv_ecc_get_status()
151 if (WARN_ON(mbf > nanddev_get_ecc_conf(nand)->strength || !mbf)) in w25n02kv_ecc_get_status()
152 return nanddev_get_ecc_conf(nand)->strength; in w25n02kv_ecc_get_status()
160 return -EINVAL; in w25n02kv_ecc_get_status()
266 for (i = 0; i < nand->memorg.ntargets; i++) { in winbond_spinand_init()