Home
last modified time | relevance | path

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

1234

/linux/drivers/mtd/ubi/
H A Dkapi.c110 * 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 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
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 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 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);
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 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.h164 * @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 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 …]
H A Dupd.c194 * @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 Dmisc.c15 * @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 DKconfig22 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 Dfastmap-wl.c263 * 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 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 …]
/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
/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
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 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
/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.
/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()
H A Dnandbiterrs.c60 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 Dsubpagetest.c258 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 Dreadtest.c85 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 Dtorturetest.c30 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 Dscan.c13 * 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 Dio.c220 * @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 Dubifs.rst25 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 Dcore.c97 * 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

1234