Lines Matching refs:mtd
43 static struct mtd_info *mtd; variable
73 loff_t addr = (loff_t)ebnum * mtd->erasesize; in write_eraseblock()
76 for (i = 0; i < pgcnt; ++i, addr += mtd->writesize) { in write_eraseblock()
85 err = mtd_write_oob(mtd, addr, &ops); in write_eraseblock()
182 loff_t addr = (loff_t)ebnum * mtd->erasesize; in verify_eraseblock()
186 for (i = 0; i < pgcnt; ++i, addr += mtd->writesize) { in verify_eraseblock()
195 err = mtd_read_oob(mtd, addr, &ops); in verify_eraseblock()
218 if (use_offset != 0 || use_len < mtd->ecclayout->oobavail) { in verify_eraseblock()
224 ops.ooblen = mtd->ecclayout->oobavail; in verify_eraseblock()
229 err = mtd_read_oob(mtd, addr, &ops); in verify_eraseblock()
230 if (err || ops.oobretlen != mtd->ecclayout->oobavail) { in verify_eraseblock()
247 mtd->ecclayout->oobavail - k); in verify_eraseblock()
271 loff_t addr = (loff_t)ebnum * mtd->erasesize; in verify_eraseblock_in_one_go()
272 size_t len = mtd->ecclayout->oobavail * pgcnt; in verify_eraseblock_in_one_go()
273 size_t oobavail = mtd->ecclayout->oobavail; in verify_eraseblock_in_one_go()
288 err = mtd_read_oob(mtd, addr, &ops); in verify_eraseblock_in_one_go()
297 for (i = 0; i < pgcnt; ++i, addr += mtd->writesize) { in verify_eraseblock_in_one_go()
358 mtd = get_mtd_device(NULL, dev); in mtd_oobtest_init()
359 if (IS_ERR(mtd)) { in mtd_oobtest_init()
360 err = PTR_ERR(mtd); in mtd_oobtest_init()
365 if (!mtd_type_is_nand(mtd)) { in mtd_oobtest_init()
370 tmp = mtd->size; in mtd_oobtest_init()
371 do_div(tmp, mtd->erasesize); in mtd_oobtest_init()
373 pgcnt = mtd->erasesize / mtd->writesize; in mtd_oobtest_init()
378 (unsigned long long)mtd->size, mtd->erasesize, in mtd_oobtest_init()
379 mtd->writesize, ebcnt, pgcnt, mtd->oobsize); in mtd_oobtest_init()
382 readbuf = kmalloc(mtd->erasesize, GFP_KERNEL); in mtd_oobtest_init()
385 writebuf = kmalloc(mtd->erasesize, GFP_KERNEL); in mtd_oobtest_init()
392 err = mtdtest_scan_for_bad_eraseblocks(mtd, bbt, 0, ebcnt); in mtd_oobtest_init()
397 use_len = mtd->ecclayout->oobavail; in mtd_oobtest_init()
398 use_len_max = mtd->ecclayout->oobavail; in mtd_oobtest_init()
404 err = mtdtest_erase_good_eraseblocks(mtd, bbt, 0, ebcnt); in mtd_oobtest_init()
424 err = mtdtest_erase_good_eraseblocks(mtd, bbt, 0, ebcnt); in mtd_oobtest_init()
457 err = mtdtest_erase_good_eraseblocks(mtd, bbt, 0, ebcnt); in mtd_oobtest_init()
463 use_len = mtd->ecclayout->oobavail; in mtd_oobtest_init()
464 use_len_max = mtd->ecclayout->oobavail; in mtd_oobtest_init()
474 use_len = mtd->ecclayout->oobavail; in mtd_oobtest_init()
475 use_len_max = mtd->ecclayout->oobavail; in mtd_oobtest_init()
483 use_len = mtd->ecclayout->oobavail; in mtd_oobtest_init()
484 use_len_max = mtd->ecclayout->oobavail; in mtd_oobtest_init()
490 err = mtdtest_erase_good_eraseblocks(mtd, bbt, 0, ebcnt); in mtd_oobtest_init()
496 addr0 += mtd->erasesize; in mtd_oobtest_init()
504 ops.ooboffs = mtd->ecclayout->oobavail; in mtd_oobtest_init()
509 err = mtd_write_oob(mtd, addr0, &ops); in mtd_oobtest_init()
524 ops.ooboffs = mtd->ecclayout->oobavail; in mtd_oobtest_init()
529 err = mtd_read_oob(mtd, addr0, &ops); in mtd_oobtest_init()
546 ops.ooblen = mtd->ecclayout->oobavail + 1; in mtd_oobtest_init()
553 err = mtd_write_oob(mtd, mtd->size - mtd->writesize, &ops); in mtd_oobtest_init()
566 ops.ooblen = mtd->ecclayout->oobavail + 1; in mtd_oobtest_init()
573 err = mtd_read_oob(mtd, mtd->size - mtd->writesize, &ops); in mtd_oobtest_init()
582 err = mtdtest_erase_eraseblock(mtd, ebcnt - 1); in mtd_oobtest_init()
590 ops.ooblen = mtd->ecclayout->oobavail; in mtd_oobtest_init()
597 err = mtd_write_oob(mtd, mtd->size - mtd->writesize, &ops); in mtd_oobtest_init()
610 ops.ooblen = mtd->ecclayout->oobavail; in mtd_oobtest_init()
617 err = mtd_read_oob(mtd, mtd->size - mtd->writesize, &ops); in mtd_oobtest_init()
631 err = mtdtest_erase_good_eraseblocks(mtd, bbt, 0, ebcnt); in mtd_oobtest_init()
641 size_t sz = mtd->ecclayout->oobavail; in mtd_oobtest_init()
644 addr = (loff_t)(i + 1) * mtd->erasesize - mtd->writesize; in mtd_oobtest_init()
655 err = mtd_write_oob(mtd, addr, &ops); in mtd_oobtest_init()
665 addr += mtd->writesize; in mtd_oobtest_init()
677 mtd->ecclayout->oobavail * 2); in mtd_oobtest_init()
678 addr = (loff_t)(i + 1) * mtd->erasesize - mtd->writesize; in mtd_oobtest_init()
682 ops.ooblen = mtd->ecclayout->oobavail * 2; in mtd_oobtest_init()
687 err = mtd_read_oob(mtd, addr, &ops); in mtd_oobtest_init()
691 mtd->ecclayout->oobavail * 2)) { in mtd_oobtest_init()
714 put_mtd_device(mtd); in mtd_oobtest_init()