Home
last modified time | relevance | path

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

123456

/openbmc/linux/drivers/mtd/ubi/
H A 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 …]
H A 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 …]
H A 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 …]
H A 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 …]
H A 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 …]
H A 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 …]
H A 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 …]
/openbmc/u-boot/drivers/mtd/ubi/
H A Dkapi.c116 * 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 Dubi-media.h77 * 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 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
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 Dio.c20 * 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 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 …]
H A Dubi.h166 * @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 Dattach.c26 * 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 Dmisc.c16 * @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 DKconfig32 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 Dubi-user.h72 * 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 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 …]
/openbmc/u-boot/include/linux/mtd/
H A Dnand.h20 * @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 Dubi.h83 * 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 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
/openbmc/linux/include/linux/mtd/
H A 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 …]
H A 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
/openbmc/linux/Documentation/devicetree/bindings/mtd/partitions/
H A 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.
/openbmc/linux/drivers/mtd/tests/
H A 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()

123456