/linux/drivers/mtd/ubi/ |
H A D | kapi.c | 110 * checksum of each logical eraseblock will be checked. 382 * @lnum: logical eraseblock number to read from 383 * @offset: offset within the logical eraseblock to read from 419 * @lnum: logical eraseblock number to read from 421 * @offset: offset within the logical eraseblock to read from 425 * This function reads data from offset @offset of logical eraseblock @lnum and 428 * eraseblock will be read and its CRC checksum will be checked (i.e., the CRC 429 * checksum is per-eraseblock). So checking may substantially slow down the 473 * @lnum: logical eraseblock number to read from 475 * @offset: offset within the logical eraseblock to read from [all …]
|
H A D | eba.c | 9 * The UBI Eraseblock Association (EBA) sub-system. 11 * This sub-system is responsible for I/O to/from logical eraseblock. 17 * The EBA sub-system implements per-logical eraseblock locking. Before 18 * accessing a logical eraseblock it is locked for reading or writing. The 19 * per-logical eraseblock locking is implemented by means of the lock tree. The 25 * time a logical eraseblock is mapped to a physical eraseblock and it is 38 * @pnum: the physical eraseblock number attached to the LEB 97 * @lnum: logical eraseblock number 201 * @lnum: logical eraseblock number 204 * object if the logical eraseblock is locked and %NULL if it is not. [all …]
|
H A D | ubi-media.h | 79 * eraseblock handling, and then re-sizes the volume, not vice-versa. This 136 * physical eraseblock. These values have to be the same for all physical 165 * @copy_flag: if this logical eraseblock was copied from another physical 166 * eraseblock (for wear-leveling reasons) 170 * @lnum: logical eraseblock number 172 * @data_size: how many bytes of data this logical eraseblock contains 174 * @data_pad: how many bytes at the end of this physical eraseblock are not 176 * @data_crc: CRC checksum of the data stored in this logical eraseblock 185 * eraseblock to a new physical eraseblock. The global sequence counter is an 190 * There are 2 situations when there may be more than one physical eraseblock [all …]
|
H A D | io.c | 20 * Some words about how the eraseblock headers are stored. 92 * ubi_io_read - read data from a physical eraseblock. 95 * @pnum: physical eraseblock number to read from 96 * @offset: offset within the physical eraseblock from where to read 99 * This function reads data from offset @offset of physical eraseblock @pnum 106 * that this eraseblock may become bad soon (but do not have to); 218 * ubi_io_write - write data to a physical eraseblock. 221 * @pnum: physical eraseblock number to write to 222 * @offset: offset within the physical eraseblock where to write 226 * of physical eraseblock @pnum. If all the data were successfully written, [all …]
|
H A D | wl.c | 19 * header. The rest of the physical eraseblock contains only %0xFF bytes. 30 * If the WL sub-system fails to erase a physical eraseblock, it marks it as 34 * in a physical eraseblock, it has to be moved. Technically this is the same 38 * "free" or "used". Free eraseblock are kept in the @wl->free RB-tree, while 42 * When the WL sub-system returns a physical eraseblock, the physical 43 * eraseblock is protected from being moved for some "time". For this reason, 44 * the physical eraseblock is not directly moved from the @wl->free tree to the 46 * physical eraseblock is temporarily stored (@wl->pq). 52 * o there is a chance that the user will put the physical eraseblock very 59 * head of the queue on each erase operation (for any eraseblock). So the [all …]
|
H A D | ubi.h | 164 * @pnum: physical eraseblock number 166 * This data structure is used in the WL sub-system. Each physical eraseblock 182 * @vol_id: volume ID of the locked logical eraseblock 183 * @lnum: locked logical eraseblock number 184 * @users: how many tasks are using this logical eraseblock or wait for it 186 * the (@vol_id, @lnum) logical eraseblock 189 * locking. When a logical eraseblock is being locked - corresponding 260 * struct ubi_eba_leb_desc - EBA logical eraseblock descriptor 261 * @lnum: the logical eraseblock number 262 * @pnum: the physical eraseblock where the LEB can be found [all …]
|
H A D | attach.c | 26 * eraseblocks are put to the @free list and the physical eraseblock to be 170 * @pnum: physical eraseblock number 171 * @ec: erase counter of the physical eraseblock 209 * add_to_list - add physical eraseblock to a list. 211 * @pnum: physical eraseblock number to add 214 * @ec: erase counter of the physical eraseblock 219 * eraseblock @pnum and adds it to the "free", "erase", or "alien" lists. 258 * add_corrupted - add a corrupted physical eraseblock. 260 * @pnum: physical eraseblock number to add 261 * @ec: erase counter of the physical eraseblock [all …]
|
H A D | upd.c | 194 * @lnum: logical eraseblock number 200 * This function writes update data to corresponding logical eraseblock. In 207 * eraseblock in future. Indeed, writing 0xFF bytes may have side effects and 238 * eraseblock, the length (@len) does not have to be aligned to in write_leb() 281 * When updating volumes, we accumulate whole logical eraseblock of in ubi_more_update_data() 286 * This is a write to the middle of the logical eraseblock. We in ubi_more_update_data() 288 * flush it if the whole eraseblock is written or the update in ubi_more_update_data() 305 * OK, we gathered either the whole eraseblock or this in ubi_more_update_data() 323 * are starting from the beginning of an eraseblock. in ubi_more_update_data()
|
H A D | misc.c | 15 * @buf: a buffer with the contents of the physical eraseblock 84 * ubi_update_reserved - update bad eraseblock handling accounting data. 88 * bad eraseblock handling and the required level of PEBs that must be 108 * eraseblock handling. 115 * for future bad eraseblock handling. in ubi_calculate_reserved()
|
H A D | Kconfig | 22 wear leveling by means of moving data from eraseblock with low erase 26 other flashes which have eraseblock life-cycle 100000 or more. 27 However, in case of MLC NAND flashes which typically have eraseblock 32 int "Maximum expected bad eraseblock count per 1024 eraseblocks"
|
H A D | fastmap-wl.c | 263 * produce_free_peb - produce a free physical eraseblock. 287 * ubi_wl_get_peb - get a physical eraseblock. 290 * This function returns a physical eraseblock in case of success and a 475 * @fm_e: physical eraseblock to return 476 * @lnum: the last used logical eraseblock number for the PEB 477 * @torture: if this physical eraseblock has to be tortured 542 * @e: physical eraseblock to return
|
/linux/include/uapi/mtd/ |
H A D | ubi-user.h | 86 * Logical eraseblock erase 89 * To erase a logical eraseblock, the %UBI_IOCEBER ioctl command of the 91 * unmaps the requested logical eraseblock, makes sure the corresponding 92 * physical eraseblock is successfully erased, and returns. 94 * Atomic logical eraseblock change 97 * Atomic logical eraseblock change operation is called using the %UBI_IOCEBCH 103 * Logical eraseblock map 106 * To map a logical eraseblock to a physical eraseblock, the %UBI_IOCEBMAP 108 * expected to be passed. The ioctl maps the requested logical eraseblock to 109 * a physical eraseblock and returns. Only non-mapped logical eraseblocks can [all …]
|
/linux/Documentation/ABI/stable/ |
H A D | sysfs-class-ubi | 38 Amount of available logical eraseblock. For example, one may 70 Maximum logical eraseblock size this UBI device may provide. UBI 71 volumes may have smaller logical eraseblock size because of their 79 Maximum physical eraseblock erase counter value. 148 Volume alignment - the value the logical eraseblock size of 150 logical eraseblock size is multiple of 2048. In other words, 151 volume logical eraseblock size is UBI device logical eraseblock 191 Count of physical eraseblock reserved for this volume. 219 Logical eraseblock size of this volume. Equivalent to logical 220 eraseblock size of the device aligned on the volume alignment
|
/linux/include/linux/mtd/ |
H A D | nand.h | 22 * @pages_per_eraseblock: number of pages per eraseblock 58 * @eraseblock_addr_shift: position of the eraseblock identifier in the row 71 * @eraseblock: the eraseblock within the LUN 81 unsigned int eraseblock; member 504 * nanddev_pages_per_eraseblock() - Get the number of pages per eraseblock 507 * Return: the number of pages per eraseblock. 533 * Return: the eraseblock size. 758 pos->eraseblock = do_div(tmp, nand->memorg.eraseblocks_per_lun); in nanddev_offs_to_pos() 759 pos->plane = pos->eraseblock % nand->memorg.planes_per_lun; in nanddev_offs_to_pos() 784 if (a->eraseblock != b->eraseblock) in nanddev_pos_cmp() [all …]
|
H A D | ubi.h | 81 * many eraseblock this data occupies. In case of dynamic volumes, the 85 * In general, logical eraseblock size is a property of the UBI device, not 86 * of the UBI volume. Indeed, the logical eraseblock size depends on the 87 * physical eraseblock size and on how much bytes UBI headers consume. But 91 * where LEB size is the logical eraseblock size defined by the UBI device. 97 * volume logical eraseblock sizes. 148 * @leb_size: logical eraseblock size on this UBI device 157 * Note, @leb_size is the logical eraseblock size offered by the UBI device. 158 * Volumes of this UBI device may have smaller logical eraseblock size if their
|
/linux/Documentation/devicetree/bindings/mtd/partitions/ |
H A D | redboot-fis.yaml | 11 It uses one single flash eraseblock in the flash to store an index of 27 description: a index to the eraseblock containing the FIS directory on this 29 eraseblock at 0x00000000, 1 means the second eraseblock at 0x00008000 and so on.
|
/linux/drivers/mtd/tests/ |
H A D | speedtest.c | 212 pr_info("MTD device size %llu, eraseblock size %u, " in mtd_speedtest_init() 214 "eraseblock %u, OOB size %u\n", in mtd_speedtest_init() 243 /* Write all eraseblocks, 1 eraseblock at a time */ in mtd_speedtest_init() 244 pr_info("testing eraseblock write speed\n"); in mtd_speedtest_init() 259 pr_info("eraseblock write speed is %ld KiB/s\n", speed); in mtd_speedtest_init() 261 /* Read all eraseblocks, 1 eraseblock at a time */ in mtd_speedtest_init() 262 pr_info("testing eraseblock read speed\n"); in mtd_speedtest_init() 277 pr_info("eraseblock read speed is %ld KiB/s\n", speed); in mtd_speedtest_init()
|
H A D | nandbiterrs.c | 60 static unsigned eraseblock; /* Eraseblock number for our page. */ variable 349 pr_info("MTD device size %llu, eraseblock=%u, page=%u, oob=%u\n", in mtd_nandbiterrs_init() 359 eraseblock = mtd_div_by_eb(offset, mtd); in mtd_nandbiterrs_init() 361 pr_info("Using page=%u, offset=%llu, eraseblock=%u\n", in mtd_nandbiterrs_init() 362 page_offset, offset, eraseblock); in mtd_nandbiterrs_init() 376 err = mtdtest_erase_eraseblock(mtd, eraseblock); in mtd_nandbiterrs_init() 389 err = mtdtest_erase_eraseblock(mtd, eraseblock); in mtd_nandbiterrs_init()
|
H A D | subpagetest.c | 258 pr_info("verified up to eraseblock %u\n", i); in verify_all_eraseblocks_ff() 303 pr_info("MTD device size %llu, eraseblock size %u, " in mtd_subpagetest_init() 305 "pages per eraseblock %u, OOB size %u\n", in mtd_subpagetest_init() 338 pr_info("written up to eraseblock %u\n", i); in mtd_subpagetest_init() 355 pr_info("verified up to eraseblock %u\n", i); in mtd_subpagetest_init() 381 pr_info("written up to eraseblock %u\n", i); in mtd_subpagetest_init() 399 pr_info("verified up to eraseblock %u\n", i); in mtd_subpagetest_init()
|
H A D | readtest.c | 85 pr_info("dumping eraseblock %d\n", ebnum); in dump_eraseblock() 98 pr_info("dumping oob from eraseblock %d\n", ebnum); in dump_eraseblock() 147 pr_info("MTD device size %llu, eraseblock size %u, " in mtd_readtest_init() 149 "eraseblock %u, OOB size %u\n", in mtd_readtest_init()
|
H A D | torturetest.c | 30 MODULE_PARM_DESC(eb, "eraseblock number within the selected MTD device"); 38 MODULE_PARM_DESC(pgcnt, "number of pages per eraseblock to torture (0 => all)"); 86 * Check that the contents of eraseblock number @enbum is equivalent to the 189 pr_info("torturing just %d pages per eraseblock\n", in tort_init() 478 MODULE_DESCRIPTION("Eraseblock torturing module");
|
/linux/fs/ubifs/ |
H A D | scan.c | 13 * determining what nodes are in an eraseblock. The scan is used to replay the 51 * @lnum: logical eraseblock number 52 * @offs: offset within the logical eraseblock 118 * @lnum: logical eraseblock number 160 * @lnum: logical eraseblock number 239 * ubifs_scan - scan a logical eraseblock. 241 * @lnum: logical eraseblock number
|
H A D | io.c | 220 * @lnum: logical eraseblock number 221 * @offs: offset within the logical eraseblock 626 * @lnum: logical eraseblock number to seek to 627 * @offs: logical eraseblock offset to seek to 629 * This function targets the write-buffer to logical eraseblock @lnum:@offs. 738 * space in this logical eraseblock, %-ENOSPC is returned. 947 * @lnum: logical eraseblock number 948 * @offs: offset within the logical eraseblock 989 * @lnum: logical eraseblock number 990 * @offs: offset within the logical eraseblock [all …]
|
/linux/Documentation/filesystems/ |
H A D | ubifs.rst | 25 eraseblock, write to some offset within an eraseblock, and erase a whole 26 eraseblock. Block devices support 2 main operations - read a whole 28 3 The whole eraseblock has to be erased before it becomes possible to
|
/linux/drivers/mtd/nand/ |
H A D | core.c | 97 * nanddev_isreserved() - Check whether an eraseblock is reserved or not 101 * Checks whether the eraseblock pointed by @pos is reserved or not. 103 * Return: true if the eraseblock is reserved, false otherwise. 179 * nanddev_mtd_max_bad_blocks() - Get the maximum number of bad eraseblock on
|