/linux-6.12.1/drivers/mtd/ubi/ |
D | Kconfig | 20 erase counter value and the lowest erase counter value of eraseblocks 23 counter to eraseblocks with high erase counter. 32 int "Maximum expected bad eraseblock count per 1024 eraseblocks" 36 This option specifies the maximum bad physical eraseblocks UBI 37 expects on the MTD device (per 1024 eraseblocks). If the underlying 38 flash does not admit of bad eraseblocks (e.g. NOR flash), this value 43 expected bad eraseblocks per 1024 eraseblocks then can be calculated 45 (MaxNVB is basically the total count of eraseblocks on the chip). 48 about 1.9% of physical eraseblocks for bad blocks handling. And that 49 will be 1.9% of eraseblocks on the entire NAND chip, not just the MTD [all …]
|
D | ubi-media.h | 57 * initialization UBI finds out that there are available physical eraseblocks 59 * (the physical eraseblocks reserved for bad eraseblocks handling and other 60 * reserved physical eraseblocks are not taken). So, if there is a volume with 62 * eraseblocks will be zero after UBI is loaded, because all of them will be 68 * eraseblocks, depending of particular chip instance. Manufacturers of NAND 69 * chips usually guarantee that the amount of initial bad eraseblocks does not 72 * of good physical eraseblocks the NAND chip on the device will have, but this 78 * Note, first UBI reserves some amount of physical eraseblocks for bad 80 * means that the pool of reserved physical eraseblocks will always be present. 94 * physical eraseblocks, don't allow the wear-leveling [all …]
|
D | ubi.h | 85 /* Number of physical eraseblocks reserved for atomic LEB change operation */ 286 * @reserved_pebs: how many physical eraseblocks are reserved for this volume 289 * @used_ebs: how many logical eraseblocks in this volume contain data 293 * @data_pad: how many bytes are not used at the end of physical eraseblocks to 298 * @upd_ebs: how many eraseblocks are expected to be updated 453 * @rsvd_pebs: count of reserved physical eraseblocks 454 * @avail_pebs: count of available physical eraseblocks 455 * @beb_rsvd_pebs: how many physical eraseblocks are reserved for bad PEB 493 * @used: RB-tree of used physical eraseblocks 494 * @erroneous: RB-tree of erroneous used physical eraseblocks [all …]
|
D | wl.c | 12 * physical eraseblocks and erase counters and knows nothing about logical 13 * eraseblocks, volumes, etc. From this sub-system's perspective all physical 14 * eraseblocks are of two types - used and free. Used physical eraseblocks are 16 * eraseblocks are those that were put by the 'ubi_wl_put_peb()' function. 18 * Physical eraseblocks returned by 'ubi_wl_get_peb()' have only erase counter 21 * When physical eraseblocks are returned to the WL sub-system by means of the 27 * physical eraseblocks with low erase counter to free physical eraseblocks 37 * As it was said, for the UBI sub-system all physical eraseblocks are either 39 * used eraseblocks are kept in @wl->used, @wl->erroneous, or @wl->scrub 49 * o we don't want to move physical eraseblocks just after we have given them [all …]
|
D | vtbl.c | 12 * physical eraseblocks, type, etc. The volume table is stored in the so-called 16 * consists of two logical eraseblocks - LEB 0 and LEB 1. Each logical 34 * eraseblocks became bad for some reasons. Suppose we are attaching the 35 * corresponding MTD device, for some reason we find no logical eraseblocks 38 * eraseblocks went bad. So we cannot alarm the user properly. 597 * No eraseblocks belonging to this volume found. We in init_volumes() 610 * eraseblocks. Treat it as corrupted. in init_volumes() 760 * these eraseblocks. in check_attaching_info() 810 * No logical eraseblocks belonging to the layout volume were in ubi_read_volume_table()
|
D | attach.c | 19 * Logical eraseblocks are represented by &struct ubi_ainf_peb objects. These 25 * Corrupted physical eraseblocks are put to the @corr list, free physical 26 * eraseblocks are put to the @free list and the physical eraseblock to be 451 * eraseblocks. That was before UBI got into mainline. We do not in ubi_compare_lebs() 587 * Walk the RB-tree of logical eraseblocks of volume @vol_id to look in ubi_add_to_av() 613 * Make sure that the logical eraseblocks have different in ubi_add_to_av() 620 * eraseblocks, in which case we'll refuse the image in in ubi_add_to_av() 623 * logical eraseblocks because there was an unclean reboot. in ubi_add_to_av() 811 * not initialized yet. This function picks a physical eraseblocks from one of 834 * so forth. We don't want to take care about bad eraseblocks here - in ubi_early_get_peb() [all …]
|
D | eba.c | 21 * eraseblocks. The lock tree elements are &struct ubi_ltree_entry objects. 615 * it is an error to read unmapped logical eraseblocks. in ubi_eba_read_leb() 1101 * @used_ebs: how many logical eraseblocks will this volume contain 1112 * It is prohibited to write more than once to logical eraseblocks of static 1251 * This flash device does not admit of bad eraseblocks or in ubi_eba_atomic_leb_change() 1334 * volume deletion un-maps all the volume's logical eraseblocks, it will in ubi_eba_copy_leb() 1679 ubi_err(ubi, "no enough physical eraseblocks (%d, need %d)", in ubi_eba_init() 1694 /* No enough free physical eraseblocks */ in ubi_eba_init()
|
D | build.c | 567 * number of bad eraseblocks is a percentage of the in get_bad_peb_limit() 568 * whole device and bad eraseblocks are not fairly in get_bad_peb_limit() 570 * is that all the bad eraseblocks of the chip are in in get_bad_peb_limit() 624 * physical eraseblocks maximum. in io_init() 733 * Set maximum amount of physical erroneous eraseblocks to be 10%. in io_init() 762 * over all physical eraseblocks and invoke mtd->block_is_bad() for in io_init() 1581 …024\" parameter specifies the maximum expected bad eraseblock per 1024 eraseblocks. (default value…
|
D | kapi.c | 523 * write finishes. UBI has a pool of reserved physical eraseblocks for this. 657 * example, if several logical eraseblocks are un-mapped, and an unclean reboot 658 * happens after this, the logical eraseblocks will not necessarily be 660 * mapped to the same physical eraseblocks again. So, this function has to be
|
D | vmt.c | 225 /* Calculate how many eraseblocks are requested */ in ubi_create_volume() 230 /* Reserve physical eraseblocks */ in ubi_create_volume() 437 * @reserved_pebs: new size in physical eraseblocks 482 /* Reserve physical eraseblocks */ in ubi_resize_volume()
|
/linux-6.12.1/drivers/mtd/tests/ |
D | speedtest.c | 30 MODULE_PARM_DESC(count, "Maximum number of eraseblocks to use " 213 "page size %u, count of eraseblocks %u, pages per " in mtd_speedtest_init() 243 /* Write all eraseblocks, 1 eraseblock at a time */ in mtd_speedtest_init() 261 /* Read all eraseblocks, 1 eraseblock at a time */ in mtd_speedtest_init() 283 /* Write all eraseblocks, 1 page at a time */ in mtd_speedtest_init() 301 /* Read all eraseblocks, 1 page at a time */ in mtd_speedtest_init() 323 /* Write all eraseblocks, 2 pages at a time */ in mtd_speedtest_init() 341 /* Read all eraseblocks, 2 pages at a time */ in mtd_speedtest_init() 359 /* Erase all eraseblocks */ in mtd_speedtest_init() 369 /* Multi-block erase all eraseblocks */ in mtd_speedtest_init()
|
D | subpagetest.c | 250 pr_info("verifying all eraseblocks for 0xff\n"); in verify_all_eraseblocks_ff() 264 pr_info("verified %u eraseblocks\n", i); in verify_all_eraseblocks_ff() 304 "page size %u, subpage size %u, count of eraseblocks %u, " in mtd_subpagetest_init() 344 pr_info("written %u eraseblocks\n", i); in mtd_subpagetest_init() 347 pr_info("verifying all eraseblocks\n"); in mtd_subpagetest_init() 361 pr_info("verified %u eraseblocks\n", i); in mtd_subpagetest_init() 371 /* Write all eraseblocks */ in mtd_subpagetest_init() 387 pr_info("written %u eraseblocks\n", i); in mtd_subpagetest_init() 389 /* Check all eraseblocks */ in mtd_subpagetest_init() 391 pr_info("verifying all eraseblocks\n"); in mtd_subpagetest_init() [all …]
|
D | oobtest.c | 108 pr_info("written %u eraseblocks\n", i); in write_whole_device() 318 pr_info("verifying all eraseblocks\n"); in verify_all_eraseblocks() 332 pr_info("verified %u eraseblocks\n", i); in verify_all_eraseblocks() 373 "page size %u, count of eraseblocks %u, pages per " in mtd_oobtest_init() 430 /* Check all eraseblocks */ in mtd_oobtest_init() 432 pr_info("verifying all eraseblocks\n"); in mtd_oobtest_init() 446 pr_info("verified %u eraseblocks\n", i); in mtd_oobtest_init() 458 /* Write all eraseblocks */ in mtd_oobtest_init() 469 /* Check all eraseblocks */ in mtd_oobtest_init() 630 /* Erase all eraseblocks */ in mtd_oobtest_init() [all …]
|
D | pagetest.c | 84 /* Check boundary between eraseblocks */ in verify_eraseblock() 355 "page size %u, count of eraseblocks %u, pages per " in mtd_pagetest_init() 379 /* Erase all eraseblocks */ in mtd_pagetest_init() 384 pr_info("erased %u eraseblocks\n", ebcnt); in mtd_pagetest_init() 386 /* Write all eraseblocks */ in mtd_pagetest_init() 402 pr_info("written %u eraseblocks\n", i); in mtd_pagetest_init() 404 /* Check all eraseblocks */ in mtd_pagetest_init() 406 pr_info("verifying all eraseblocks\n"); in mtd_pagetest_init() 420 pr_info("verified %u eraseblocks\n", i); in mtd_pagetest_init()
|
D | stresstest.c | 48 /* Read or write up 2 eraseblocks at a time - hence 'ebcnt - 1' */ in rand_eb() 164 "page size %u, count of eraseblocks %u, pages per " in mtd_stresstest_init() 170 pr_err("error: need at least 2 eraseblocks\n"); in mtd_stresstest_init() 175 /* Read or write up 2 eraseblocks at a time */ in mtd_stresstest_init()
|
D | mtd_test.c | 50 pr_info("scanning for bad eraseblocks\n"); in mtdtest_scan_for_bad_eraseblocks() 57 pr_info("scanned %d eraseblocks, %d are bad\n", i, bad); in mtdtest_scan_for_bad_eraseblocks()
|
D | readtest.c | 148 "page size %u, count of eraseblocks %u, pages per " in mtd_readtest_init() 168 /* Read all eraseblocks 1 page at a time */ in mtd_readtest_init()
|
D | torturetest.c | 34 MODULE_PARM_DESC(ebcnt, "number of consecutive eraseblocks to torture"); 186 pr_info("torture %d eraseblocks (%d-%d) of mtd%d\n", in tort_init() 258 /* Check if the eraseblocks contain only 0xFF bytes */ in tort_init()
|
/linux-6.12.1/include/uapi/mtd/ |
D | ubi-user.h | 109 * a physical eraseblock and returns. Only non-mapped logical eraseblocks can 117 * ioctl command should be used. The ioctl unmaps the logical eraseblocks, 237 * eraseblocks on dynamic volumes 260 * offset of the VID header within physical eraseblocks. The default offset is 276 * UBI device per 1024 eraseblocks. This value is often given in an other form 278 * maximum expected bad eraseblocks per 1024 is then: 282 * has more bad eraseblocks than this limit, UBI does not reserve any physical 283 * eraseblocks for new bad eraseblocks, but attempts to use available 284 * eraseblocks (if any). The accepted range is 0-768. If 0 is given, the 331 * eraseblock. This means, that the size of logical eraseblocks will be aligned [all …]
|
/linux-6.12.1/include/linux/mtd/ |
D | ubi.h | 45 * @size: how many physical eraseblocks are reserved for this volume 47 * @used_ebs: how many physical eraseblocks of this volume actually contain any 53 * @usable_leb_size: how many bytes are available in logical eraseblocks of 89 * eraseblocks if a volume may be less. The following equation is true: 149 * @leb_start: starting offset of logical eraseblocks within physical 150 * eraseblocks
|
D | nand.h | 23 * @eraseblocks_per_lun: number of eraseblocks per LUN (Logical Unit Number) 24 * @max_bad_eraseblocks_per_lun: maximum number of eraseblocks per LUN 541 * nanddev_eraseblocks_per_lun() - Get the number of eraseblocks per LUN 544 * Return: the number of eraseblocks per LUN. 553 * nanddev_eraseblocks_per_target() - Get the number of eraseblocks per target 556 * Return: the number of eraseblocks per target. 590 * nanddev_neraseblocks() - Get the total number of eraseblocks 593 * Return: the total number of eraseblocks exposed by @nand. 881 * want to iterate over all eraseblocks of a NAND device.
|
/linux-6.12.1/Documentation/ABI/stable/ |
D | sysfs-class-ubi | 40 eraseblocks. 47 Count of bad physical eraseblocks on the underlying MTD device. 108 Number of physical eraseblocks reserved for bad block handling. 124 Total number of good (not marked as bad) physical eraseblocks on 192 Equivalent to the volume size in logical eraseblocks.
|
/linux-6.12.1/fs/ubifs/ |
D | ubifs-media.h | 243 /* Minimum number of logical eraseblocks in the log */ 245 /* Minimum number of bud logical eraseblocks (one for each head) */ 247 /* Minimum number of journal logical eraseblocks */ 249 /* Minimum number of LPT area logical eraseblocks */ 251 /* Minimum number of orphan area logical eraseblocks */ 254 * Minimum number of main area logical eraseblocks (buds, 3 for the index, 1 259 /* Minimum number of logical eraseblocks */ 629 * @log_lebs: log size in logical eraseblocks 714 * @empty_lebs: number of empty logical eraseblocks 715 * @idx_lebs: number of indexing logical eraseblocks
|
/linux-6.12.1/Documentation/filesystems/ |
D | ubifs.rst | 21 1 MTD devices represent flash devices and they consist of eraseblocks of 30 4 Eraseblocks become worn out after some number of erase cycles - 33 5 Eraseblocks may become bad (only on NAND flashes) and software should 45 is very similar to MTD devices - they still consist of large eraseblocks,
|
/linux-6.12.1/Documentation/devicetree/bindings/mtd/partitions/ |
D | redboot-fis.yaml | 28 device. On a flash memory with 32KB eraseblocks, 0 means the first
|