Home
last modified time | relevance | path

Searched full:eraseblock (Results 1 – 25 of 168) sorted by relevance

1234567

/kernel/linux/linux-5.10/drivers/mtd/ubi/
Dkapi.c109 * checksum of each logical eraseblock will be checked.
361 * @lnum: logical eraseblock number to read from
362 * @offset: offset within the logical eraseblock to read from
398 * @lnum: logical eraseblock number to read from
400 * @offset: offset within the logical eraseblock to read from
404 * This function reads data from offset @offset of logical eraseblock @lnum and
407 * eraseblock will be read and its CRC checksum will be checked (i.e., the CRC
408 * checksum is per-eraseblock). So checking may substantially slow down the
452 * @lnum: logical eraseblock number to read from
454 * @offset: offset within the logical eraseblock to read from
[all …]
Dubi-media.h79 * 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 …]
Deba.c9 * 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
205 * @lnum: logical eraseblock number
208 * object if the logical eraseblock is locked and %NULL if it is not.
[all …]
Dio.c20 * 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 …]
Dwl.c19 * 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 …]
Dubi.h172 * @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 …]
Dattach.c26 * 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 …]
/kernel/linux/linux-6.6/drivers/mtd/ubi/
Dkapi.c110 * 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 …]
Dubi-media.h79 * 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 …]
Deba.c9 * 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 …]
Dio.c20 * 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 …]
Dwl.c19 * 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 …]
Dubi.h172 * @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 …]
Dattach.c26 * 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 …]
/kernel/linux/linux-5.10/include/uapi/mtd/
Dubi-user.h86 * 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 …]
/kernel/linux/linux-6.6/include/uapi/mtd/
Dubi-user.h86 * 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 …]
/kernel/linux/linux-5.10/Documentation/ABI/stable/
Dsysfs-class-ubi38 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
/kernel/linux/linux-6.6/Documentation/ABI/stable/
Dsysfs-class-ubi38 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
/kernel/linux/linux-5.10/include/linux/mtd/
Dnand.h22 * @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
403 * nanddev_pages_per_eraseblock() - Get the number of pages per eraseblock
406 * Return: the number of pages per eraseblock.
432 * Return: the eraseblock size.
637 pos->eraseblock = do_div(tmp, nand->memorg.eraseblocks_per_lun); in nanddev_offs_to_pos()
638 pos->plane = pos->eraseblock % nand->memorg.planes_per_lun; in nanddev_offs_to_pos()
663 if (a->eraseblock != b->eraseblock) in nanddev_pos_cmp()
[all …]
Dubi.h81 * 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.
147 * @leb_size: logical eraseblock size on this UBI device
156 * Note, @leb_size is the logical eraseblock size offered by the UBI device.
157 * Volumes of this UBI device may have smaller logical eraseblock size if their
/kernel/linux/linux-5.10/Documentation/devicetree/bindings/mtd/partitions/
Dredboot-fis.txt7 It uses one single flash eraseblock in the flash to store an index of
15 - fis-index-block : (required) a index to the eraseblock containing
17 eraseblocks, 0 means the first eraseblock at 0x00000000, 1 means the
18 second eraseblock at 0x00008000 and so on.
/kernel/linux/linux-6.6/include/linux/mtd/
Dnand.h22 * @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 …]
Dubi.h81 * 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
/kernel/linux/linux-6.6/Documentation/devicetree/bindings/mtd/partitions/
Dredboot-fis.yaml11 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.
/kernel/linux/linux-6.6/drivers/mtd/tests/
Dspeedtest.c212 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()

1234567