Lines Matching refs:ftl
166 static int sharpsl_nand_init_ftl(struct mtd_info *mtd, struct sharpsl_ftl *ftl)
180 ftl->logmax = ((phymax * 95) / 100) - 1;
182 ftl->log2phy = kmalloc_array(ftl->logmax, sizeof(*ftl->log2phy),
184 if (!ftl->log2phy) {
189 /* initialize ftl->log2phy */
190 for (i = 0; i < ftl->logmax; i++)
191 ftl->log2phy[i] = UINT_MAX;
207 if (log_num > 0 && log_num < ftl->logmax) {
208 if (ftl->log2phy[log_num] == UINT_MAX)
209 ftl->log2phy[log_num] = block_num;
214 phymax, ftl->logmax, phymax - ftl->logmax);
222 static void sharpsl_nand_cleanup_ftl(struct sharpsl_ftl *ftl)
224 kfree(ftl->log2phy);
231 struct sharpsl_ftl *ftl)
243 if (len <= 0 || log_num >= ftl->logmax || final_log_num > log_num)
246 block_num = ftl->log2phy[log_num];
293 struct sharpsl_ftl *ftl)
297 ret = sharpsl_nand_read_laddr(master, from, len, buf, ftl);
329 struct sharpsl_ftl ftl;
340 err = sharpsl_nand_init_ftl(master, &ftl);
348 sizeof(buf), buf, &ftl);
354 sizeof(buf), buf, &ftl);
358 sharpsl_nand_cleanup_ftl(&ftl);