Lines Matching +full:wear +full:- +full:leveling

1 // SPDX-License-Identifier: GPL-2.0
59 return -ERANGE; in w25m02gv_ooblayout_ecc()
61 region->offset = (16 * section) + 8; in w25m02gv_ooblayout_ecc()
62 region->length = 8; in w25m02gv_ooblayout_ecc()
71 return -ERANGE; in w25m02gv_ooblayout_free()
73 region->offset = (16 * section) + 2; in w25m02gv_ooblayout_free()
74 region->length = 6; in w25m02gv_ooblayout_free()
91 spinand->scratchbuf, in w25m02gv_select_target()
94 *spinand->scratchbuf = target; in w25m02gv_select_target()
95 return spi_mem_exec_op(spinand->spimem, &op); in w25m02gv_select_target()
102 return -ERANGE; in w25n01kv_ooblayout_ecc()
104 region->offset = 64 + (8 * section); in w25n01kv_ooblayout_ecc()
105 region->length = 7; in w25n01kv_ooblayout_ecc()
114 return -ERANGE; in w25n02kv_ooblayout_ecc()
116 region->offset = 64 + (16 * section); in w25n02kv_ooblayout_ecc()
117 region->length = 13; in w25n02kv_ooblayout_ecc()
126 return -ERANGE; in w25n02kv_ooblayout_free()
128 region->offset = (16 * section) + 2; in w25n02kv_ooblayout_free()
129 region->length = 14; in w25n02kv_ooblayout_free()
149 struct spi_mem_op op = SPINAND_GET_FEATURE_OP(0x30, spinand->scratchbuf); in w25n02kv_ecc_get_status()
156 return -EBADMSG; in w25n02kv_ecc_get_status()
162 * in order to avoid forcing the wear-leveling layer to move in w25n02kv_ecc_get_status()
165 if (spi_mem_exec_op(spinand->spimem, &op)) in w25n02kv_ecc_get_status()
166 return nanddev_get_ecc_conf(nand)->strength; in w25n02kv_ecc_get_status()
168 mbf = *(spinand->scratchbuf) >> 4; in w25n02kv_ecc_get_status()
170 if (WARN_ON(mbf > nanddev_get_ecc_conf(nand)->strength || !mbf)) in w25n02kv_ecc_get_status()
171 return nanddev_get_ecc_conf(nand)->strength; in w25n02kv_ecc_get_status()
179 return -EINVAL; in w25n02kv_ecc_get_status()
183 /* 512M-bit densities */
193 /* 1G-bit densities */
212 SPINAND_INFO("W25N01JW", /* high-speed 1.8V */
230 /* 2G-bit densities */
231 SPINAND_INFO("W25M02GV", /* 2x1G-bit 3.3V */
241 SPINAND_INFO("W25N02JW", /* high-speed 1.8V */
268 /* 4G-bit densities */
298 for (i = 0; i < nand->memorg.ntargets; i++) { in winbond_spinand_init()