/openbmc/linux/drivers/mtd/ubi/ |
H A D | kapi.c | 110 * checksum of each logical eraseblock will be checked. 362 * @lnum: logical eraseblock number to read from 363 * @offset: offset within the logical eraseblock to read from 399 * @lnum: logical eraseblock number to read from 401 * @offset: offset within the logical eraseblock to read from 405 * This function reads data from offset @offset of logical eraseblock @lnum and 408 * eraseblock will be read and its CRC checksum will be checked (i.e., the CRC 409 * checksum is per-eraseblock). So checking may substantially slow down the 453 * @lnum: logical eraseblock number to read from 455 * @offset: offset within the logical eraseblock to read from [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 | 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 41 * @pnum: the physical eraseblock number attached to the LEB 100 * @lnum: logical eraseblock number 204 * @lnum: logical eraseblock number 207 * object if the logical eraseblock is locked and %NULL if it is not. [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); 206 * ubi_io_write - write data to a physical eraseblock. 209 * @pnum: physical eraseblock number to write to 210 * @offset: offset within the physical eraseblock where to write 214 * 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 | 172 * @pnum: physical eraseblock number 174 * This data structure is used in the WL sub-system. Each physical eraseblock 190 * @vol_id: volume ID of the locked logical eraseblock 191 * @lnum: locked logical eraseblock number 192 * @users: how many tasks are using this logical eraseblock or wait for it 194 * the (@vol_id, @lnum) logical eraseblock 197 * locking. When a logical eraseblock is being locked - corresponding 268 * struct ubi_eba_leb_desc - EBA logical eraseblock descriptor 269 * @lnum: the logical eraseblock number 270 * @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 …]
|
/openbmc/u-boot/drivers/mtd/ubi/ |
H A D | kapi.c | 116 * checksum of each logical eraseblock will be checked. 367 * @lnum: logical eraseblock number to read from 368 * @offset: offset within the logical eraseblock to read from 404 * @lnum: logical eraseblock number to read from 406 * @offset: offset within the logical eraseblock to read from 410 * This function reads data from offset @offset of logical eraseblock @lnum and 413 * eraseblock will be read and its CRC checksum will be checked (i.e., the CRC 414 * checksum is per-eraseblock). So checking may substantially slow down the 458 * @lnum: logical eraseblock number to read from 460 * @offset: offset within the logical eraseblock to read from [all …]
|
H A D | ubi-media.h | 77 * eraseblock handling, and then re-sizes the volume, not vice-versa. This 133 * physical eraseblock. These values have to be the same for all physical 162 * @copy_flag: if this logical eraseblock was copied from another physical 163 * eraseblock (for wear-leveling reasons) 167 * @lnum: logical eraseblock number 169 * @data_size: how many bytes of data this logical eraseblock contains 171 * @data_pad: how many bytes at the end of this physical eraseblock are not 173 * @data_crc: CRC checksum of the data stored in this logical eraseblock 182 * eraseblock to a new physical eraseblock. The global sequence counter is an 187 * There are 2 situations when there may be more than one physical eraseblock [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 82 * @lnum: logical eraseblock number 85 * object if the logical eraseblock is locked and %NULL if it is not. 120 * @lnum: logical eraseblock number 122 * This function adds new entry for logical eraseblock (@vol_id, @lnum) to the [all …]
|
H A D | io.c | 20 * Some words about how the eraseblock headers are stored. 98 * ubi_io_read - read data from a physical eraseblock. 101 * @pnum: physical eraseblock number to read from 102 * @offset: offset within the physical eraseblock from where to read 105 * This function reads data from offset @offset of physical eraseblock @pnum 112 * that this eraseblock may become bad soon (but do not have to); 212 * ubi_io_write - write data to a physical eraseblock. 215 * @pnum: physical eraseblock number to write to 216 * @offset: offset within the physical eraseblock where to write 220 * 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 | 166 * @pnum: physical eraseblock number 168 * This data structure is used in the WL sub-system. Each physical eraseblock 184 * @vol_id: volume ID of the locked logical eraseblock 185 * @lnum: locked logical eraseblock number 186 * @users: how many tasks are using this logical eraseblock or wait for it 188 * the (@vol_id, @lnum) logical eraseblock 191 * locking. When a logical eraseblock is being locked - corresponding 275 * @usable_leb_size: logical eraseblock size without padding 277 * @last_eb_bytes: how many bytes are stored in the last logical eraseblock 478 * @move_mutex: serializes eraseblock moves [all …]
|
H A D | attach.c | 26 * eraseblocks are put to the @free list and the physical eraseblock to be 94 * add_to_list - add physical eraseblock to a list. 96 * @pnum: physical eraseblock number to add 99 * @ec: erase counter of the physical eraseblock 104 * eraseblock @pnum and adds it to the "free", "erase", or "alien" lists. 145 * add_corrupted - add a corrupted physical eraseblock. 147 * @pnum: physical eraseblock number to add 148 * @ec: erase counter of the physical eraseblock 151 * physical eraseblock @pnum and adds it to the 'corr' list. The corruption 176 * @av: information about the volume this logical eraseblock belongs to [all …]
|
H A D | misc.c | 16 * @buf: a buffer with the contents of the physical eraseblock 85 * ubi_update_reserved - update bad eraseblock handling accounting data. 89 * bad eraseblock handling and the required level of PEBs that must be 109 * eraseblock handling. 116 * for future bad eraseblock handling. in ubi_calculate_reserved()
|
H A D | Kconfig | 32 wear leveling by means of moving data from eraseblock with low erase 36 other flashes which have eraseblock life-cycle 100000 or more. 37 However, in case of MLC NAND flashes which typically have eraseblock 42 int "Maximum expected bad eraseblock count per 1024 eraseblocks"
|
/openbmc/u-boot/include/mtd/ |
H A D | ubi-user.h | 72 * Logical eraseblock erase 75 * To erase a logical eraseblock, the %UBI_IOCEBER ioctl command of the 77 * unmaps the requested logical eraseblock, makes sure the corresponding 78 * physical eraseblock is successfully erased, and returns. 80 * Atomic logical eraseblock change 83 * Atomic logical eraseblock change operation is called using the %UBI_IOCEBCH 89 * Logical eraseblock map 92 * To map a logical eraseblock to a physical eraseblock, the %UBI_IOCEBMAP 94 * expected to be passed. The ioctl maps the requested logical eraseblock to 95 * a physical eraseblock and returns. Only non-mapped logical eraseblocks can [all …]
|
/openbmc/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 …]
|
/openbmc/u-boot/include/linux/mtd/ |
H A D | nand.h | 20 * @pages_per_eraseblock: number of pages per eraseblock 53 * @eraseblock_addr_shift: position of the eraseblock identifier in the row 66 * @eraseblock: the eraseblock within the LUN 76 unsigned int eraseblock; member 260 * nanddev_pages_per_eraseblock() - Get the number of pages per eraseblock 263 * Return: the number of pages per eraseblock. 275 * Return: the eraseblock size. 435 pos->eraseblock = do_div(tmp, nand->memorg.eraseblocks_per_lun); in nanddev_offs_to_pos() 436 pos->plane = pos->eraseblock % nand->memorg.planes_per_lun; in nanddev_offs_to_pos() 461 if (a->eraseblock != b->eraseblock) in nanddev_pos_cmp() [all …]
|
H A D | ubi.h | 83 * many eraseblock this data occupies. In case of dynamic volumes, the 87 * In general, logical eraseblock size is a property of the UBI device, not 88 * of the UBI volume. Indeed, the logical eraseblock size depends on the 89 * physical eraseblock size and on how much bytes UBI headers consume. But 93 * where LEB size is the logical eraseblock size defined by the UBI device. 99 * volume logical eraseblock sizes. 151 * @leb_size: logical eraseblock size on this UBI device 160 * Note, @leb_size is the logical eraseblock size offered by the UBI device. 161 * Volumes of this UBI device may have smaller logical eraseblock size if their
|
/openbmc/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
|
/openbmc/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 501 * nanddev_pages_per_eraseblock() - Get the number of pages per eraseblock 504 * Return: the number of pages per eraseblock. 530 * Return: the eraseblock size. 755 pos->eraseblock = do_div(tmp, nand->memorg.eraseblocks_per_lun); in nanddev_offs_to_pos() 756 pos->plane = pos->eraseblock % nand->memorg.planes_per_lun; in nanddev_offs_to_pos() 781 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
|
/openbmc/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.
|
/openbmc/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()
|