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()
221 if (use_offset != 0 || use_len < mtd->oobavail) { in verify_eraseblock()
227 ops.ooblen = mtd->oobavail; in verify_eraseblock()
232 err = mtd_read_oob(mtd, addr, &ops); in verify_eraseblock()
236 if (err || ops.oobretlen != mtd->oobavail) { in verify_eraseblock()
253 mtd->oobavail - k); in verify_eraseblock()
277 loff_t addr = (loff_t)ebnum * mtd->erasesize; in verify_eraseblock_in_one_go()
278 size_t len = mtd->oobavail * pgcnt; in verify_eraseblock_in_one_go()
279 size_t oobavail = mtd->oobavail; in verify_eraseblock_in_one_go()
294 err = mtd_read_oob(mtd, addr, &ops); in verify_eraseblock_in_one_go()
306 for (i = 0; i < pgcnt; ++i, addr += mtd->writesize) { in verify_eraseblock_in_one_go()
367 mtd = get_mtd_device(NULL, dev); in mtd_oobtest_init()
368 if (IS_ERR(mtd)) { in mtd_oobtest_init()
369 err = PTR_ERR(mtd); in mtd_oobtest_init()
374 if (!mtd_type_is_nand(mtd)) { in mtd_oobtest_init()
379 tmp = mtd->size; in mtd_oobtest_init()
380 do_div(tmp, mtd->erasesize); in mtd_oobtest_init()
382 pgcnt = mtd->erasesize / mtd->writesize; in mtd_oobtest_init()
387 (unsigned long long)mtd->size, mtd->erasesize, in mtd_oobtest_init()
388 mtd->writesize, ebcnt, pgcnt, mtd->oobsize); in mtd_oobtest_init()
391 readbuf = kmalloc(mtd->erasesize, GFP_KERNEL); in mtd_oobtest_init()
394 writebuf = kmalloc(mtd->erasesize, GFP_KERNEL); in mtd_oobtest_init()
401 err = mtdtest_scan_for_bad_eraseblocks(mtd, bbt, 0, ebcnt); in mtd_oobtest_init()
406 use_len = mtd->oobavail; in mtd_oobtest_init()
407 use_len_max = mtd->oobavail; in mtd_oobtest_init()
413 err = mtdtest_erase_good_eraseblocks(mtd, bbt, 0, ebcnt); in mtd_oobtest_init()
433 err = mtdtest_erase_good_eraseblocks(mtd, bbt, 0, ebcnt); in mtd_oobtest_init()
466 err = mtdtest_erase_good_eraseblocks(mtd, bbt, 0, ebcnt); in mtd_oobtest_init()
472 use_len = mtd->oobavail; in mtd_oobtest_init()
473 use_len_max = mtd->oobavail; in mtd_oobtest_init()
483 use_len = mtd->oobavail; in mtd_oobtest_init()
484 use_len_max = mtd->oobavail; in mtd_oobtest_init()
492 use_len = mtd->oobavail; in mtd_oobtest_init()
493 use_len_max = mtd->oobavail; in mtd_oobtest_init()
499 err = mtdtest_erase_good_eraseblocks(mtd, bbt, 0, ebcnt); in mtd_oobtest_init()
505 addr0 += mtd->erasesize; in mtd_oobtest_init()
513 ops.ooboffs = mtd->oobavail; in mtd_oobtest_init()
518 err = mtd_write_oob(mtd, addr0, &ops); in mtd_oobtest_init()
533 ops.ooboffs = mtd->oobavail; in mtd_oobtest_init()
538 err = mtd_read_oob(mtd, addr0, &ops); in mtd_oobtest_init()
558 ops.ooblen = mtd->oobavail + 1; in mtd_oobtest_init()
565 err = mtd_write_oob(mtd, mtd->size - mtd->writesize, &ops); in mtd_oobtest_init()
578 ops.ooblen = mtd->oobavail + 1; in mtd_oobtest_init()
585 err = mtd_read_oob(mtd, mtd->size - mtd->writesize, &ops); in mtd_oobtest_init()
597 err = mtdtest_erase_eraseblock(mtd, ebcnt - 1); in mtd_oobtest_init()
605 ops.ooblen = mtd->oobavail; in mtd_oobtest_init()
612 err = mtd_write_oob(mtd, mtd->size - mtd->writesize, &ops); in mtd_oobtest_init()
625 ops.ooblen = mtd->oobavail; in mtd_oobtest_init()
632 err = mtd_read_oob(mtd, mtd->size - mtd->writesize, &ops); in mtd_oobtest_init()
649 err = mtdtest_erase_good_eraseblocks(mtd, bbt, 0, ebcnt); in mtd_oobtest_init()
659 size_t sz = mtd->oobavail; in mtd_oobtest_init()
662 addr = (loff_t)(i + 1) * mtd->erasesize - mtd->writesize; in mtd_oobtest_init()
673 err = mtd_write_oob(mtd, addr, &ops); in mtd_oobtest_init()
683 addr += mtd->writesize; in mtd_oobtest_init()
694 prandom_bytes_state(&rnd_state, writebuf, mtd->oobavail * 2); in mtd_oobtest_init()
695 addr = (loff_t)(i + 1) * mtd->erasesize - mtd->writesize; in mtd_oobtest_init()
699 ops.ooblen = mtd->oobavail * 2; in mtd_oobtest_init()
704 err = mtd_read_oob(mtd, addr, &ops); in mtd_oobtest_init()
711 mtd->oobavail * 2)) { in mtd_oobtest_init()
734 put_mtd_device(mtd); in mtd_oobtest_init()