Home
last modified time | relevance | path

Searched refs:ubi (Results 1 - 25 of 50) sorted by relevance

12

/kernel/linux/linux-5.10/drivers/mtd/ubi/
H A Dfastmap-wl.c14 struct ubi_device *ubi = container_of(wrk, struct ubi_device, fm_work); in update_fastmap_work_fn() local
16 ubi_update_fastmap(ubi); in update_fastmap_work_fn()
17 spin_lock(&ubi->wl_lock); in update_fastmap_work_fn()
18 ubi->fm_work_scheduled = 0; in update_fastmap_work_fn()
19 spin_unlock(&ubi->wl_lock); in update_fastmap_work_fn()
42 static inline void return_unused_peb(struct ubi_device *ubi, in return_unused_peb() argument
45 wl_tree_add(e, &ubi->free); in return_unused_peb()
46 ubi->free_count++; in return_unused_peb()
51 * @ubi: UBI device description object
54 static void return_unused_pool_pebs(struct ubi_device *ubi, in return_unused_pool_pebs() argument
75 ubi_wl_get_fm_peb(struct ubi_device *ubi, int anchor) ubi_wl_get_fm_peb() argument
112 has_enough_free_count(struct ubi_device *ubi, bool is_wl_pool) has_enough_free_count() argument
131 ubi_refill_pools(struct ubi_device *ubi) ubi_refill_pools() argument
207 produce_free_peb(struct ubi_device *ubi) produce_free_peb() argument
230 ubi_wl_get_peb(struct ubi_device *ubi) ubi_wl_get_peb() argument
284 get_peb_for_wl(struct ubi_device *ubi) get_peb_for_wl() argument
310 ubi_ensure_anchor_pebs(struct ubi_device *ubi) ubi_ensure_anchor_pebs() argument
363 ubi_wl_put_fm_peb(struct ubi_device *ubi, struct ubi_wl_entry *fm_e, int lnum, int torture) ubi_wl_put_fm_peb() argument
402 ubi_fastmap_close(struct ubi_device *ubi) ubi_fastmap_close() argument
429 may_reserve_for_fm(struct ubi_device *ubi, struct ubi_wl_entry *e, struct rb_root *root) may_reserve_for_fm() argument
[all...]
H A Dbuild.c32 #include "ubi.h"
90 /* Protects @ubi_devices and @ubi->ref_count */
93 /* "Show" method for files in '/<sysfs>/class/ubi/' */
94 /* UBI version attribute ('/<sysfs>/class/ubi/version') */
108 /* Root UBI "class" object (corresponds to '/<sysfs>/class/ubi/') */
118 /* UBI device attributes (correspond to files in '/<sysfs>/class/ubi/ubiX') */
146 * @ubi: UBI device description object
154 int ubi_volume_notify(struct ubi_device *ubi, struct ubi_volume *vol, int ntype) in ubi_volume_notify() argument
159 ubi_do_get_device_info(ubi, &nt.di); in ubi_volume_notify()
160 ubi_do_get_volume_info(ubi, vo in ubi_volume_notify()
186 ubi_notify_all(struct ubi_device *ubi, int ntype, struct notifier_block *nb) ubi_notify_all() argument
234 struct ubi_device *ubi = ubi_devices[i]; ubi_enumerate_volumes() local
255 struct ubi_device *ubi; ubi_get_device() local
273 ubi_put_device(struct ubi_device *ubi) ubi_put_device() argument
291 struct ubi_device *ubi; ubi_get_by_major() local
323 struct ubi_device *ubi = ubi_devices[i]; ubi_major2num() local
340 struct ubi_device *ubi; dev_attribute_show() local
403 struct ubi_device *ubi = container_of(dev, struct ubi_device, dev); dev_release() local
412 kill_volumes(struct ubi_device *ubi) kill_volumes() argument
432 uif_init(struct ubi_device *ubi) uif_init() argument
495 uif_close(struct ubi_device *ubi) uif_close() argument
507 ubi_free_volumes_from(struct ubi_device *ubi, int from) ubi_free_volumes_from() argument
525 ubi_free_all_volumes(struct ubi_device *ubi) ubi_free_all_volumes() argument
534 ubi_free_internal_volumes(struct ubi_device *ubi) ubi_free_internal_volumes() argument
539 get_bad_peb_limit(const struct ubi_device *ubi, int max_beb_per1024) get_bad_peb_limit() argument
592 io_init(struct ubi_device *ubi, int max_beb_per1024) io_init() argument
774 autoresize(struct ubi_device *ubi, int vol_id) autoresize() argument
840 struct ubi_device *ubi; ubi_attach_mtd_dev() local
1080 struct ubi_device *ubi; ubi_detach_mtd_dev() local
[all...]
H A Dwl.c92 #include "ubi.h"
125 static int self_check_ec(struct ubi_device *ubi, int pnum, int ec);
126 static int self_check_in_wl_tree(const struct ubi_device *ubi,
128 static int self_check_in_pq(const struct ubi_device *ubi,
137 * the @ubi->used and @ubi->free RB-trees.
169 * @ubi: UBI device description object
175 static void wl_entry_destroy(struct ubi_device *ubi, struct ubi_wl_entry *e) in wl_entry_destroy() argument
177 ubi->lookuptbl[e->pnum] = NULL; in wl_entry_destroy()
183 * @ubi
188 do_work(struct ubi_device *ubi) do_work() argument
275 in_pq(const struct ubi_device *ubi, struct ubi_wl_entry *e) in_pq() argument
298 prot_queue_add(struct ubi_device *ubi, struct ubi_wl_entry *e) prot_queue_add() argument
318 find_wl_entry(struct ubi_device *ubi, struct rb_root *root, int diff) find_wl_entry() argument
353 find_mean_wl_entry(struct ubi_device *ubi, struct rb_root *root) find_mean_wl_entry() argument
382 wl_get_wle(struct ubi_device *ubi) wl_get_wle() argument
413 prot_queue_del(struct ubi_device *ubi, int pnum) prot_queue_del() argument
438 sync_erase(struct ubi_device *ubi, struct ubi_wl_entry *e, int torture) sync_erase() argument
498 serve_prot_queue(struct ubi_device *ubi) serve_prot_queue() argument
542 __schedule_ubi_work(struct ubi_device *ubi, struct ubi_work *wrk) __schedule_ubi_work() argument
561 schedule_ubi_work(struct ubi_device *ubi, struct ubi_work *wrk) schedule_ubi_work() argument
583 schedule_erase(struct ubi_device *ubi, struct ubi_wl_entry *e, int vol_id, int lnum, int torture, bool nested) schedule_erase() argument
620 do_sync_erase(struct ubi_device *ubi, struct ubi_wl_entry *e, int vol_id, int lnum, int torture) do_sync_erase() argument
647 wear_leveling_worker(struct ubi_device *ubi, struct ubi_work *wrk, int shutdown) global() argument
1006 ensure_wear_leveling(struct ubi_device *ubi, int nested) global() argument
1076 __erase_worker(struct ubi_device *ubi, struct ubi_work *wl_wrk) global() argument
1206 erase_worker(struct ubi_device *ubi, struct ubi_work *wl_wrk, int shutdown) global() argument
1238 ubi_wl_put_peb(struct ubi_device *ubi, int vol_id, int lnum, int pnum, int torture) global() argument
1342 ubi_wl_scrub_peb(struct ubi_device *ubi, int pnum) global() argument
1407 ubi_wl_flush(struct ubi_device *ubi, int vol_id, int lnum) global() argument
1458 scrub_possible(struct ubi_device *ubi, struct ubi_wl_entry *e) global() argument
1491 ubi_bitflip_check(struct ubi_device *ubi, int pnum, int force) global() argument
1607 tree_destroy(struct ubi_device *ubi, struct rb_root *root) global() argument
1641 struct ubi_device *ubi = u; global() local
1709 shutdown_work(struct ubi_device *ubi) global() argument
1728 erase_aeb(struct ubi_device *ubi, struct ubi_ainf_peb *aeb, bool sync) global() argument
1770 ubi_wl_init(struct ubi_device *ubi, struct ubi_attach_info *ai) global() argument
1939 protection_queue_destroy(struct ubi_device *ubi) global() argument
1956 ubi_wl_close(struct ubi_device *ubi) global() argument
1979 self_check_ec(struct ubi_device *ubi, int pnum, int ec) global() argument
2022 self_check_in_wl_tree(const struct ubi_device *ubi, struct ubi_wl_entry *e, struct rb_root *root) global() argument
2045 self_check_in_pq(const struct ubi_device *ubi, struct ubi_wl_entry *e) global() argument
2060 get_peb_for_wl(struct ubi_device *ubi) global() argument
2082 produce_free_peb(struct ubi_device *ubi) global() argument
2108 ubi_wl_get_peb(struct ubi_device *ubi) global() argument
[all...]
H A Dio.c35 * @ubi->mtd->writesize field. But as an exception, UBI admits use of another
42 * I/O unit for the headers (the @ubi->hdrs_min_io_size field). But it still
43 * reports NAND page size (@ubi->min_io_size) as a minimal I/O unit for the UBI
51 * device, e.g., make @ubi->min_io_size = 512 in the example above?
70 * copy. It always allocates a @ubi->vid_hdr_alsize bytes buffer for the VID
71 * header and returns a pointer to offset @ubi->vid_hdr_shift of this buffer.
79 #include "ubi.h"
81 static int self_check_not_bad(const struct ubi_device *ubi, int pnum);
82 static int self_check_peb_ec_hdr(const struct ubi_device *ubi, int pnum);
83 static int self_check_ec_hdr(const struct ubi_device *ubi, in
113 ubi_io_read(const struct ubi_device *ubi, void *buf, int pnum, int offset, int len) ubi_io_read() argument
222 ubi_io_write(struct ubi_device *ubi, const void *buf, int pnum, int offset, int len) ubi_io_write() argument
307 do_sync_erase(struct ubi_device *ubi, int pnum) do_sync_erase() argument
363 torture_peb(struct ubi_device *ubi, int pnum) torture_peb() argument
449 nor_erase_prepare(struct ubi_device *ubi, int pnum) nor_erase_prepare() argument
523 ubi_io_sync_erase(struct ubi_device *ubi, int pnum, int torture) ubi_io_sync_erase() argument
565 ubi_io_is_bad(const struct ubi_device *ubi, int pnum) ubi_io_is_bad() argument
594 ubi_io_mark_bad(const struct ubi_device *ubi, int pnum) ubi_io_mark_bad() argument
623 validate_ec_hdr(const struct ubi_device *ubi, const struct ubi_ec_hdr *ec_hdr) validate_ec_hdr() argument
687 ubi_io_read_ec_hdr(struct ubi_device *ubi, int pnum, struct ubi_ec_hdr *ec_hdr, int verbose) ubi_io_read_ec_hdr() argument
796 ubi_io_write_ec_hdr(struct ubi_device *ubi, int pnum, struct ubi_ec_hdr *ec_hdr) ubi_io_write_ec_hdr() argument
832 validate_vid_hdr(const struct ubi_device *ubi, const struct ubi_vid_hdr *vid_hdr) validate_vid_hdr() argument
964 ubi_io_read_vid_hdr(struct ubi_device *ubi, int pnum, struct ubi_vid_io_buf *vidb, int verbose) ubi_io_read_vid_hdr() argument
1048 ubi_io_write_vid_hdr(struct ubi_device *ubi, int pnum, struct ubi_vid_io_buf *vidb) ubi_io_write_vid_hdr() argument
1088 self_check_not_bad(const struct ubi_device *ubi, int pnum) self_check_not_bad() argument
1113 self_check_ec_hdr(const struct ubi_device *ubi, int pnum, const struct ubi_ec_hdr *ec_hdr) self_check_ec_hdr() argument
1151 self_check_peb_ec_hdr(const struct ubi_device *ubi, int pnum) self_check_peb_ec_hdr() argument
1196 self_check_vid_hdr(const struct ubi_device *ubi, int pnum, const struct ubi_vid_hdr *vid_hdr) self_check_vid_hdr() argument
1236 self_check_peb_vid_hdr(const struct ubi_device *ubi, int pnum) self_check_peb_vid_hdr() argument
1289 self_check_write(struct ubi_device *ubi, const void *buf, int pnum, int offset, int len) self_check_write() argument
1354 ubi_self_check_all_ff(struct ubi_device *ubi, int pnum, int offset, int len) ubi_self_check_all_ff() argument
[all...]
H A Dvmt.c17 #include "ubi.h"
19 static int self_check_volumes(struct ubi_device *ubi);
24 /* Device attributes corresponding to files in '/<sysfs>/class/ubi/ubiX_Y' */
43 * "Show" method for files in '/<sysfs>/class/ubi/ubiX_Y/'.
47 * /<sysfs>/class/ubi/ubiX_Y/reserved_ebs;
49 * C. process 1 starts reading the /<sysfs>/class/ubi/ubiX_Y/reserved_ebs file;
52 * out that the volume was removed from the @ubi->volumes array.
59 struct ubi_device *ubi = vol->ubi; in vol_attribute_show() local
61 spin_lock(&ubi in vol_attribute_show()
138 ubi_create_volume(struct ubi_device *ubi, struct ubi_mkvol_req *req) ubi_create_volume() argument
336 struct ubi_device *ubi = vol->ubi; ubi_remove_volume() local
408 struct ubi_device *ubi = vol->ubi; ubi_resize_volume() local
540 ubi_rename_volumes(struct ubi_device *ubi, struct list_head *rename_list) ubi_rename_volumes() argument
579 ubi_add_volume(struct ubi_device *ubi, struct ubi_volume *vol) ubi_add_volume() argument
623 ubi_free_volume(struct ubi_device *ubi, struct ubi_volume *vol) ubi_free_volume() argument
639 self_check_volume(struct ubi_device *ubi, int vol_id) self_check_volume() argument
792 self_check_volumes(struct ubi_device *ubi) self_check_volumes() argument
[all...]
H A Dvtbl.c52 #include "ubi.h"
54 static void self_vtbl_check(const struct ubi_device *ubi);
61 * @ubi: UBI device description object
63 static int ubi_update_layout_vol(struct ubi_device *ubi) in ubi_update_layout_vol() argument
68 layout_vol = ubi->volumes[vol_id2idx(ubi, UBI_LAYOUT_VOLUME_ID)]; in ubi_update_layout_vol()
70 err = ubi_eba_atomic_leb_change(ubi, layout_vol, i, ubi->vtbl, in ubi_update_layout_vol()
71 ubi->vtbl_size); in ubi_update_layout_vol()
81 * @ubi
90 ubi_change_vtbl_record(struct ubi_device *ubi, int idx, struct ubi_vtbl_record *vtbl_rec) ubi_change_vtbl_record() argument
121 ubi_vtbl_rename_volumes(struct ubi_device *ubi, struct list_head *rename_list) ubi_vtbl_rename_volumes() argument
157 vtbl_check(const struct ubi_device *ubi, const struct ubi_vtbl_record *vtbl) vtbl_check() argument
285 create_vtbl(struct ubi_device *ubi, struct ubi_attach_info *ai, int copy, void *vtbl) create_vtbl() argument
361 process_lvol(struct ubi_device *ubi, struct ubi_attach_info *ai, struct ubi_ainf_volume *av) process_lvol() argument
484 create_empty_lvol(struct ubi_device *ubi, struct ubi_attach_info *ai) create_empty_lvol() argument
520 init_volumes(struct ubi_device *ubi, const struct ubi_attach_info *ai, const struct ubi_vtbl_record *vtbl) init_volumes() argument
718 check_attaching_info(const struct ubi_device *ubi, struct ubi_attach_info *ai) check_attaching_info() argument
783 ubi_read_volume_table(struct ubi_device *ubi, struct ubi_attach_info *ai) ubi_read_volume_table() argument
868 self_vtbl_check(const struct ubi_device *ubi) self_vtbl_check() argument
[all...]
H A Deba.c34 #include "ubi.h"
65 * @ubi: UBI device description object
71 unsigned long long ubi_next_sqnum(struct ubi_device *ubi) in ubi_next_sqnum() argument
75 spin_lock(&ubi->ltree_lock); in ubi_next_sqnum()
76 sqnum = ubi->global_sqnum++; in ubi_next_sqnum()
77 spin_unlock(&ubi->ltree_lock); in ubi_next_sqnum()
84 * @ubi: UBI device description object
90 static int ubi_get_compat(const struct ubi_device *ubi, int vol_id) in ubi_get_compat() argument
203 * @ubi: UBI device description object
209 * @ubi
211 ltree_lookup(struct ubi_device *ubi, int vol_id, int lnum) ltree_lookup() argument
250 ltree_add_entry(struct ubi_device *ubi, int vol_id, int lnum) ltree_add_entry() argument
320 leb_read_lock(struct ubi_device *ubi, int vol_id, int lnum) leb_read_lock() argument
337 leb_read_unlock(struct ubi_device *ubi, int vol_id, int lnum) leb_read_unlock() argument
362 leb_write_lock(struct ubi_device *ubi, int vol_id, int lnum) leb_write_lock() argument
384 leb_write_trylock(struct ubi_device *ubi, int vol_id, int lnum) leb_write_trylock() argument
413 leb_write_unlock(struct ubi_device *ubi, int vol_id, int lnum) leb_write_unlock() argument
451 ubi_eba_unmap_leb(struct ubi_device *ubi, struct ubi_volume *vol, int lnum) ubi_eba_unmap_leb() argument
498 check_mapping(struct ubi_device *ubi, struct ubi_volume *vol, int lnum, int *pnum) check_mapping() argument
570 check_mapping(struct ubi_device *ubi, struct ubi_volume *vol, int lnum, int *pnum) check_mapping() argument
596 ubi_eba_read_leb(struct ubi_device *ubi, struct ubi_volume *vol, int lnum, void *buf, int offset, int len, int check) ubi_eba_read_leb() argument
748 ubi_eba_read_leb_sg(struct ubi_device *ubi, struct ubi_volume *vol, struct ubi_sgl *sgl, int lnum, int offset, int len, int check) ubi_eba_read_leb_sg() argument
811 struct ubi_device *ubi = vol->ubi; try_recover_peb() local
903 recover_peb(struct ubi_device *ubi, int pnum, int vol_id, int lnum, const void *buf, int offset, int len) recover_peb() argument
949 struct ubi_device *ubi = vol->ubi; try_write_vid_and_data() local
1017 ubi_eba_write_leb(struct ubi_device *ubi, struct ubi_volume *vol, int lnum, const void *buf, int offset, int len) ubi_eba_write_leb() argument
1120 ubi_eba_write_leb_st(struct ubi_device *ubi, struct ubi_volume *vol, int lnum, const void *buf, int len, int used_ebs) ubi_eba_write_leb_st() argument
1198 ubi_eba_atomic_leb_change(struct ubi_device *ubi, struct ubi_volume *vol, int lnum, const void *buf, int len) ubi_eba_atomic_leb_change() argument
1311 ubi_eba_copy_leb(struct ubi_device *ubi, int from, int to, struct ubi_vid_io_buf *vidb) ubi_eba_copy_leb() argument
1490 print_rsvd_warning(struct ubi_device *ubi, struct ubi_attach_info *ai) print_rsvd_warning() argument
1523 self_check_eba(struct ubi_device *ubi, struct ubi_attach_info *ai_fastmap, struct ubi_attach_info *ai_scan) self_check_eba() argument
1619 ubi_eba_init(struct ubi_device *ubi, struct ubi_attach_info *ai) ubi_eba_init() argument
[all...]
H A Dkapi.c16 #include "ubi.h"
20 * @ubi: UBI device description object
26 void ubi_do_get_device_info(struct ubi_device *ubi, struct ubi_device_info *di) in ubi_do_get_device_info() argument
28 di->ubi_num = ubi->ubi_num; in ubi_do_get_device_info()
29 di->leb_size = ubi->leb_size; in ubi_do_get_device_info()
30 di->leb_start = ubi->leb_start; in ubi_do_get_device_info()
31 di->min_io_size = ubi->min_io_size; in ubi_do_get_device_info()
32 di->max_write_size = ubi->max_write_size; in ubi_do_get_device_info()
33 di->ro_mode = ubi->ro_mode; in ubi_do_get_device_info()
34 di->cdev = ubi in ubi_do_get_device_info()
48 struct ubi_device *ubi; ubi_get_device_info() local
67 ubi_do_get_volume_info(struct ubi_device *ubi, struct ubi_volume *vol, struct ubi_volume_info *vi) ubi_do_get_volume_info() argument
118 struct ubi_device *ubi; ubi_open_volume() local
236 struct ubi_device *ubi; ubi_open_volume_nm() local
328 struct ubi_device *ubi = vol->ubi; ubi_close_volume() local
372 struct ubi_device *ubi = vol->ubi; leb_read_sanity_check() local
426 struct ubi_device *ubi = vol->ubi; ubi_leb_read() local
466 struct ubi_device *ubi = vol->ubi; ubi_leb_read_sg() local
517 struct ubi_device *ubi = vol->ubi; ubi_leb_write() local
562 struct ubi_device *ubi = vol->ubi; ubi_leb_change() local
602 struct ubi_device *ubi = vol->ubi; ubi_leb_erase() local
663 struct ubi_device *ubi = vol->ubi; ubi_leb_unmap() local
699 struct ubi_device *ubi = vol->ubi; ubi_leb_map() local
761 struct ubi_device *ubi; ubi_sync() local
787 struct ubi_device *ubi; ubi_flush() local
[all...]
H A Dubi.h28 #include <linux/mtd/ubi.h>
31 #include "ubi-media.h"
37 #define UBI_NAME_STR "ubi"
43 void ubi_msg(const struct ubi_device *ubi, const char *fmt, ...);
47 void ubi_warn(const struct ubi_device *ubi, const char *fmt, ...);
51 void ubi_err(const struct ubi_device *ubi, const char *fmt, ...);
79 * The UBI debugfs directory name pattern and maximum name length (3 for "ubi"
82 #define UBI_DFS_DIR_NAME "ubi%d"
198 * &struct ubi_ltree_entry object is inserted to the lock tree (@ubi->ltree).
286 * @ubi
341 struct ubi_device *ubi; global() member
973 ubi_update_fastmap(struct ubi_device *ubi) ubi_update_fastmap() argument
1069 ubi_init_vid_buf(const struct ubi_device *ubi, struct ubi_vid_io_buf *vidb, void *buf) ubi_init_vid_buf() argument
1086 ubi_alloc_vid_buf(const struct ubi_device *ubi, gfp_t gfp_flags) ubi_alloc_vid_buf() argument
1133 ubi_io_read_data(const struct ubi_device *ubi, void *buf, int pnum, int offset, int len) ubi_io_read_data() argument
1145 ubi_io_write_data(struct ubi_device *ubi, const void *buf, int pnum, int offset, int len) ubi_io_write_data() argument
1156 ubi_ro_mode(struct ubi_device *ubi) ubi_ro_mode() argument
1170 vol_id2idx(const struct ubi_device *ubi, int vol_id) vol_id2idx() argument
1183 idx2vol_id(const struct ubi_device *ubi, int idx) idx2vol_id() argument
1214 ubi_find_fm_block(const struct ubi_device *ubi, int pnum) ubi_find_fm_block() argument
[all...]
H A Dmisc.c10 #include "ubi.h"
14 * @ubi: UBI device description object
22 int ubi_calc_data_len(const struct ubi_device *ubi, const void *buf, in ubi_calc_data_len() argument
27 ubi_assert(!(length & (ubi->min_io_size - 1))); in ubi_calc_data_len()
34 length = ALIGN(i + 1, ubi->min_io_size); in ubi_calc_data_len()
40 * @ubi: UBI device description object
48 int ubi_check_volume(struct ubi_device *ubi, int vol_id) in ubi_check_volume() argument
52 struct ubi_volume *vol = ubi->volumes[vol_id]; in ubi_check_volume()
71 err = ubi_eba_read_leb(ubi, vol, i, buf, 0, size, 1); in ubi_check_volume()
85 * @ubi
92 ubi_update_reserved(struct ubi_device *ubi) ubi_update_reserved() argument
111 ubi_calculate_reserved(struct ubi_device *ubi) ubi_calculate_reserved() argument
145 ubi_msg(const struct ubi_device *ubi, const char *fmt, ...) ubi_msg() argument
161 ubi_warn(const struct ubi_device *ubi, const char *fmt, ...) ubi_warn() argument
178 ubi_err(const struct ubi_device *ubi, const char *fmt, ...) ubi_err() argument
[all...]
H A Dattach.c77 #include "ubi.h"
79 static int self_check_ai(struct ubi_device *ubi, struct ubi_attach_info *ai);
317 * @ubi: UBI device description object
330 static int validate_vid_hdr(const struct ubi_device *ubi, in validate_vid_hdr() argument
349 ubi_err(ubi, "inconsistent vol_id"); in validate_vid_hdr()
359 ubi_err(ubi, "inconsistent vol_type"); in validate_vid_hdr()
364 ubi_err(ubi, "inconsistent used_ebs"); in validate_vid_hdr()
369 ubi_err(ubi, "inconsistent data_pad"); in validate_vid_hdr()
377 ubi_err(ubi, "inconsistent VID header at PEB %d", pnum); in validate_vid_hdr()
420 * @ubi
438 ubi_compare_lebs(struct ubi_device *ubi, const struct ubi_ainf_peb *aeb, int pnum, const struct ubi_vid_hdr *vid_hdr) ubi_compare_lebs() argument
563 ubi_add_to_av(struct ubi_device *ubi, struct ubi_attach_info *ai, int pnum, int ec, const struct ubi_vid_hdr *vid_hdr, int bitflips) ubi_add_to_av() argument
771 early_erase_peb(struct ubi_device *ubi, const struct ubi_attach_info *ai, int pnum, int ec) early_erase_peb() argument
818 ubi_early_get_peb(struct ubi_device *ubi, struct ubi_attach_info *ai) ubi_early_get_peb() argument
872 check_corruption(struct ubi_device *ubi, struct ubi_vid_hdr *vid_hdr, int pnum) check_corruption() argument
941 scan_peb(struct ubi_device *ubi, struct ubi_attach_info *ai, int pnum, bool fast) scan_peb() argument
1207 late_analysis(struct ubi_device *ubi, struct ubi_attach_info *ai) late_analysis() argument
1374 scan_all(struct ubi_device *ubi, struct ubi_attach_info *ai, int start) scan_all() argument
1487 scan_fast(struct ubi_device *ubi, struct ubi_attach_info **ai) scan_fast() argument
1555 ubi_attach(struct ubi_device *ubi, int force_scan) ubi_attach() argument
1658 self_check_ai(struct ubi_device *ubi, struct ubi_attach_info *ai) self_check_ai() argument
[all...]
H A Dfastmap.c10 #include "ubi.h"
14 * @ubi: UBI device description object
16 static inline unsigned long *init_seen(struct ubi_device *ubi) in init_seen() argument
20 if (!ubi_dbg_chk_fastmap(ubi)) in init_seen()
23 ret = kcalloc(BITS_TO_LONGS(ubi->peb_count), sizeof(unsigned long), in init_seen()
33 * @seen: integer array of @ubi->peb_count size
42 * @ubi: UBI device description object
44 * @seen: integer array of @ubi->peb_count size
46 static inline void set_seen(struct ubi_device *ubi, int pnum, unsigned long *seen) in set_seen() argument
48 if (!ubi_dbg_chk_fastmap(ubi) || !see in set_seen()
59 self_check_seen(struct ubi_device *ubi, unsigned long *seen) self_check_seen() argument
80 ubi_calc_fm_size(struct ubi_device *ubi) ubi_calc_fm_size() argument
104 new_fm_vbuf(struct ubi_device *ubi, int vol_id) new_fm_vbuf() argument
242 update_vol(struct ubi_device *ubi, struct ubi_attach_info *ai, struct ubi_ainf_volume *av, struct ubi_vid_hdr *new_vh, struct ubi_ainf_peb *new_aeb) update_vol() argument
336 process_pool_aeb(struct ubi_device *ubi, struct ubi_attach_info *ai, struct ubi_vid_hdr *new_vh, struct ubi_ainf_peb *new_aeb) process_pool_aeb() argument
400 scan_pool(struct ubi_device *ubi, struct ubi_attach_info *ai, __be32 *pebs, int pool_size, unsigned long long *max_sqnum, struct list_head *free) scan_pool() argument
548 ubi_attach_fastmap(struct ubi_device *ubi, struct ubi_attach_info *ai, struct ubi_fastmap_layout *fm) ubi_attach_fastmap() argument
842 ubi_scan_fastmap(struct ubi_device *ubi, struct ubi_attach_info *ai, struct ubi_attach_info *scan_ai) ubi_scan_fastmap() argument
1095 struct ubi_device *ubi = vol->ubi; ubi_fastmap_init_checkmap() local
1120 ubi_write_fastmap(struct ubi_device *ubi, struct ubi_fastmap_layout *new_fm) ubi_write_fastmap() argument
1390 erase_block(struct ubi_device *ubi, int pnum) erase_block() argument
1442 invalidate_fastmap(struct ubi_device *ubi) invalidate_fastmap() argument
1502 return_fm_pebs(struct ubi_device *ubi, struct ubi_fastmap_layout *fm) return_fm_pebs() argument
1526 ubi_update_fastmap(struct ubi_device *ubi) ubi_update_fastmap() argument
[all...]
H A Ddebug.h11 void ubi_dump_flash(struct ubi_device *ubi, int pnum, int offset, int len);
48 int ubi_self_check_all_ff(struct ubi_device *ubi, int pnum, int offset,
52 int ubi_debugfs_init_dev(struct ubi_device *ubi);
53 void ubi_debugfs_exit_dev(struct ubi_device *ubi);
57 * @ubi: UBI device description object
62 static inline int ubi_dbg_is_bgt_disabled(const struct ubi_device *ubi) in ubi_dbg_is_bgt_disabled() argument
64 return ubi->dbg.disable_bgt; in ubi_dbg_is_bgt_disabled()
69 * @ubi: UBI device description object
73 static inline int ubi_dbg_is_bitflip(const struct ubi_device *ubi) in ubi_dbg_is_bitflip() argument
75 if (ubi in ubi_dbg_is_bitflip()
87 ubi_dbg_is_write_failure(const struct ubi_device *ubi) ubi_dbg_is_write_failure() argument
101 ubi_dbg_is_erase_failure(const struct ubi_device *ubi) ubi_dbg_is_erase_failure() argument
108 ubi_dbg_chk_io(const struct ubi_device *ubi) ubi_dbg_chk_io() argument
113 ubi_dbg_chk_gen(const struct ubi_device *ubi) ubi_dbg_chk_gen() argument
118 ubi_dbg_chk_fastmap(const struct ubi_device *ubi) ubi_dbg_chk_fastmap() argument
123 ubi_enable_dbg_chk_fastmap(struct ubi_device *ubi) ubi_enable_dbg_chk_fastmap() argument
[all...]
/kernel/linux/linux-6.6/drivers/mtd/ubi/
H A Dbuild.c32 #include "ubi.h"
93 /* Protects @ubi_devices and @ubi->ref_count */
96 /* "Show" method for files in '/<sysfs>/class/ubi/' */
97 /* UBI version attribute ('/<sysfs>/class/ubi/version') */
111 /* Root UBI "class" object (corresponds to '/<sysfs>/class/ubi/') */
120 /* UBI device attributes (correspond to files in '/<sysfs>/class/ubi/ubiX') */
148 * @ubi: UBI device description object
156 int ubi_volume_notify(struct ubi_device *ubi, struct ubi_volume *vol, int ntype) in ubi_volume_notify() argument
161 ubi_do_get_device_info(ubi, &nt.di); in ubi_volume_notify()
162 ubi_do_get_volume_info(ubi, vo in ubi_volume_notify()
188 ubi_notify_all(struct ubi_device *ubi, int ntype, struct notifier_block *nb) ubi_notify_all() argument
236 struct ubi_device *ubi = ubi_devices[i]; ubi_enumerate_volumes() local
257 struct ubi_device *ubi; ubi_get_device() local
275 ubi_put_device(struct ubi_device *ubi) ubi_put_device() argument
293 struct ubi_device *ubi; ubi_get_by_major() local
325 struct ubi_device *ubi = ubi_devices[i]; ubi_major2num() local
342 struct ubi_device *ubi; dev_attribute_show() local
405 struct ubi_device *ubi = container_of(dev, struct ubi_device, dev); dev_release() local
414 kill_volumes(struct ubi_device *ubi) kill_volumes() argument
434 uif_init(struct ubi_device *ubi) uif_init() argument
497 uif_close(struct ubi_device *ubi) uif_close() argument
509 ubi_free_volumes_from(struct ubi_device *ubi, int from) ubi_free_volumes_from() argument
527 ubi_free_all_volumes(struct ubi_device *ubi) ubi_free_all_volumes() argument
536 ubi_free_internal_volumes(struct ubi_device *ubi) ubi_free_internal_volumes() argument
541 get_bad_peb_limit(const struct ubi_device *ubi, int max_beb_per1024) get_bad_peb_limit() argument
594 io_init(struct ubi_device *ubi, int max_beb_per1024) io_init() argument
774 autoresize(struct ubi_device *ubi, int vol_id) autoresize() argument
845 struct ubi_device *ubi; ubi_attach_mtd_dev() local
1086 struct ubi_device *ubi; ubi_detach_mtd_dev() local
[all...]
H A Dwl.c92 #include "ubi.h"
125 static int self_check_ec(struct ubi_device *ubi, int pnum, int ec);
126 static int self_check_in_wl_tree(const struct ubi_device *ubi,
128 static int self_check_in_pq(const struct ubi_device *ubi,
137 * the @ubi->used and @ubi->free RB-trees.
169 * @ubi: UBI device description object
175 static void wl_entry_destroy(struct ubi_device *ubi, struct ubi_wl_entry *e) in wl_entry_destroy() argument
177 ubi->lookuptbl[e->pnum] = NULL; in wl_entry_destroy()
183 * @ubi
188 do_work(struct ubi_device *ubi) do_work() argument
275 in_pq(const struct ubi_device *ubi, struct ubi_wl_entry *e) in_pq() argument
298 prot_queue_add(struct ubi_device *ubi, struct ubi_wl_entry *e) prot_queue_add() argument
318 find_wl_entry(struct ubi_device *ubi, struct rb_root *root, int diff) find_wl_entry() argument
353 find_mean_wl_entry(struct ubi_device *ubi, struct rb_root *root) find_mean_wl_entry() argument
382 wl_get_wle(struct ubi_device *ubi) wl_get_wle() argument
413 prot_queue_del(struct ubi_device *ubi, int pnum) prot_queue_del() argument
438 sync_erase(struct ubi_device *ubi, struct ubi_wl_entry *e, int torture) sync_erase() argument
498 serve_prot_queue(struct ubi_device *ubi) serve_prot_queue() argument
542 __schedule_ubi_work(struct ubi_device *ubi, struct ubi_work *wrk) __schedule_ubi_work() argument
561 schedule_ubi_work(struct ubi_device *ubi, struct ubi_work *wrk) schedule_ubi_work() argument
583 schedule_erase(struct ubi_device *ubi, struct ubi_wl_entry *e, int vol_id, int lnum, int torture, bool nested) schedule_erase() argument
620 do_sync_erase(struct ubi_device *ubi, struct ubi_wl_entry *e, int vol_id, int lnum, int torture) do_sync_erase() argument
647 wear_leveling_worker(struct ubi_device *ubi, struct ubi_work *wrk, int shutdown) global() argument
[all...]
H A Dio.c35 * @ubi->mtd->writesize field. But as an exception, UBI admits use of another
42 * I/O unit for the headers (the @ubi->hdrs_min_io_size field). But it still
43 * reports NAND page size (@ubi->min_io_size) as a minimal I/O unit for the UBI
51 * device, e.g., make @ubi->min_io_size = 512 in the example above?
70 * copy. It always allocates a @ubi->vid_hdr_alsize bytes buffer for the VID
71 * header and returns a pointer to offset @ubi->vid_hdr_shift of this buffer.
79 #include "ubi.h"
81 static int self_check_not_bad(const struct ubi_device *ubi, int pnum);
82 static int self_check_peb_ec_hdr(const struct ubi_device *ubi, int pnum);
83 static int self_check_ec_hdr(const struct ubi_device *ubi, in
113 ubi_io_read(const struct ubi_device *ubi, void *buf, int pnum, int offset, int len) ubi_io_read() argument
222 ubi_io_write(struct ubi_device *ubi, const void *buf, int pnum, int offset, int len) ubi_io_write() argument
307 do_sync_erase(struct ubi_device *ubi, int pnum) do_sync_erase() argument
363 torture_peb(struct ubi_device *ubi, int pnum) torture_peb() argument
449 nor_erase_prepare(struct ubi_device *ubi, int pnum) nor_erase_prepare() argument
523 ubi_io_sync_erase(struct ubi_device *ubi, int pnum, int torture) ubi_io_sync_erase() argument
572 ubi_io_is_bad(const struct ubi_device *ubi, int pnum) ubi_io_is_bad() argument
601 ubi_io_mark_bad(const struct ubi_device *ubi, int pnum) ubi_io_mark_bad() argument
630 validate_ec_hdr(const struct ubi_device *ubi, const struct ubi_ec_hdr *ec_hdr) validate_ec_hdr() argument
694 ubi_io_read_ec_hdr(struct ubi_device *ubi, int pnum, struct ubi_ec_hdr *ec_hdr, int verbose) ubi_io_read_ec_hdr() argument
803 ubi_io_write_ec_hdr(struct ubi_device *ubi, int pnum, struct ubi_ec_hdr *ec_hdr) ubi_io_write_ec_hdr() argument
839 validate_vid_hdr(const struct ubi_device *ubi, const struct ubi_vid_hdr *vid_hdr) validate_vid_hdr() argument
966 ubi_io_read_vid_hdr(struct ubi_device *ubi, int pnum, struct ubi_vid_io_buf *vidb, int verbose) ubi_io_read_vid_hdr() argument
1050 ubi_io_write_vid_hdr(struct ubi_device *ubi, int pnum, struct ubi_vid_io_buf *vidb) ubi_io_write_vid_hdr() argument
1090 self_check_not_bad(const struct ubi_device *ubi, int pnum) self_check_not_bad() argument
1115 self_check_ec_hdr(const struct ubi_device *ubi, int pnum, const struct ubi_ec_hdr *ec_hdr) self_check_ec_hdr() argument
1153 self_check_peb_ec_hdr(const struct ubi_device *ubi, int pnum) self_check_peb_ec_hdr() argument
1198 self_check_vid_hdr(const struct ubi_device *ubi, int pnum, const struct ubi_vid_hdr *vid_hdr) self_check_vid_hdr() argument
1238 self_check_peb_vid_hdr(const struct ubi_device *ubi, int pnum) self_check_peb_vid_hdr() argument
1291 self_check_write(struct ubi_device *ubi, const void *buf, int pnum, int offset, int len) self_check_write() argument
1356 ubi_self_check_all_ff(struct ubi_device *ubi, int pnum, int offset, int len) ubi_self_check_all_ff() argument
[all...]
H A Dfastmap-wl.c14 struct ubi_device *ubi = container_of(wrk, struct ubi_device, fm_work); in update_fastmap_work_fn() local
16 ubi_update_fastmap(ubi); in update_fastmap_work_fn()
17 spin_lock(&ubi->wl_lock); in update_fastmap_work_fn()
18 ubi->fm_work_scheduled = 0; in update_fastmap_work_fn()
19 spin_unlock(&ubi->wl_lock); in update_fastmap_work_fn()
42 static inline void return_unused_peb(struct ubi_device *ubi, in return_unused_peb() argument
45 wl_tree_add(e, &ubi->free); in return_unused_peb()
46 ubi->free_count++; in return_unused_peb()
51 * @ubi: UBI device description object
54 static void return_unused_pool_pebs(struct ubi_device *ubi, in return_unused_pool_pebs() argument
75 ubi_wl_get_fm_peb(struct ubi_device *ubi, int anchor) ubi_wl_get_fm_peb() argument
112 has_enough_free_count(struct ubi_device *ubi, bool is_wl_pool) has_enough_free_count() argument
131 ubi_refill_pools(struct ubi_device *ubi) ubi_refill_pools() argument
207 produce_free_peb(struct ubi_device *ubi) produce_free_peb() argument
230 ubi_wl_get_peb(struct ubi_device *ubi) ubi_wl_get_peb() argument
286 next_peb_for_wl(struct ubi_device *ubi) next_peb_for_wl() argument
306 need_wear_leveling(struct ubi_device *ubi) need_wear_leveling() argument
336 get_peb_for_wl(struct ubi_device *ubi) get_peb_for_wl() argument
362 ubi_ensure_anchor_pebs(struct ubi_device *ubi) ubi_ensure_anchor_pebs() argument
415 ubi_wl_put_fm_peb(struct ubi_device *ubi, struct ubi_wl_entry *fm_e, int lnum, int torture) ubi_wl_put_fm_peb() argument
454 ubi_fastmap_close(struct ubi_device *ubi) ubi_fastmap_close() argument
481 may_reserve_for_fm(struct ubi_device *ubi, struct ubi_wl_entry *e, struct rb_root *root) may_reserve_for_fm() argument
[all...]
H A Dvmt.c17 #include "ubi.h"
19 static int self_check_volumes(struct ubi_device *ubi);
24 /* Device attributes corresponding to files in '/<sysfs>/class/ubi/ubiX_Y' */
43 * "Show" method for files in '/<sysfs>/class/ubi/ubiX_Y/'.
47 * /<sysfs>/class/ubi/ubiX_Y/reserved_ebs;
49 * C. process 1 starts reading the /<sysfs>/class/ubi/ubiX_Y/reserved_ebs file;
52 * out that the volume was removed from the @ubi->volumes array.
59 struct ubi_device *ubi = vol->ubi; in vol_attribute_show() local
61 spin_lock(&ubi in vol_attribute_show()
138 ubi_create_volume(struct ubi_device *ubi, struct ubi_mkvol_req *req) ubi_create_volume() argument
336 struct ubi_device *ubi = vol->ubi; ubi_remove_volume() local
408 struct ubi_device *ubi = vol->ubi; ubi_resize_volume() local
531 ubi_rename_volumes(struct ubi_device *ubi, struct list_head *rename_list) ubi_rename_volumes() argument
570 ubi_add_volume(struct ubi_device *ubi, struct ubi_volume *vol) ubi_add_volume() argument
614 ubi_free_volume(struct ubi_device *ubi, struct ubi_volume *vol) ubi_free_volume() argument
630 self_check_volume(struct ubi_device *ubi, int vol_id) self_check_volume() argument
783 self_check_volumes(struct ubi_device *ubi) self_check_volumes() argument
[all...]
H A Dvtbl.c52 #include "ubi.h"
54 static void self_vtbl_check(const struct ubi_device *ubi);
61 * @ubi: UBI device description object
63 static int ubi_update_layout_vol(struct ubi_device *ubi) in ubi_update_layout_vol() argument
68 layout_vol = ubi->volumes[vol_id2idx(ubi, UBI_LAYOUT_VOLUME_ID)]; in ubi_update_layout_vol()
70 err = ubi_eba_atomic_leb_change(ubi, layout_vol, i, ubi->vtbl, in ubi_update_layout_vol()
71 ubi->vtbl_size); in ubi_update_layout_vol()
81 * @ubi
90 ubi_change_vtbl_record(struct ubi_device *ubi, int idx, struct ubi_vtbl_record *vtbl_rec) ubi_change_vtbl_record() argument
121 ubi_vtbl_rename_volumes(struct ubi_device *ubi, struct list_head *rename_list) ubi_vtbl_rename_volumes() argument
157 vtbl_check(const struct ubi_device *ubi, const struct ubi_vtbl_record *vtbl) vtbl_check() argument
285 create_vtbl(struct ubi_device *ubi, struct ubi_attach_info *ai, int copy, void *vtbl) create_vtbl() argument
361 process_lvol(struct ubi_device *ubi, struct ubi_attach_info *ai, struct ubi_ainf_volume *av) process_lvol() argument
484 create_empty_lvol(struct ubi_device *ubi, struct ubi_attach_info *ai) create_empty_lvol() argument
520 init_volumes(struct ubi_device *ubi, const struct ubi_attach_info *ai, const struct ubi_vtbl_record *vtbl) init_volumes() argument
718 check_attaching_info(const struct ubi_device *ubi, struct ubi_attach_info *ai) check_attaching_info() argument
783 ubi_read_volume_table(struct ubi_device *ubi, struct ubi_attach_info *ai) ubi_read_volume_table() argument
868 self_vtbl_check(const struct ubi_device *ubi) self_vtbl_check() argument
[all...]
H A Deba.c34 #include "ubi.h"
65 * @ubi: UBI device description object
71 unsigned long long ubi_next_sqnum(struct ubi_device *ubi) in ubi_next_sqnum() argument
75 spin_lock(&ubi->ltree_lock); in ubi_next_sqnum()
76 sqnum = ubi->global_sqnum++; in ubi_next_sqnum()
77 spin_unlock(&ubi->ltree_lock); in ubi_next_sqnum()
84 * @ubi: UBI device description object
90 static int ubi_get_compat(const struct ubi_device *ubi, int vol_id) in ubi_get_compat() argument
202 * @ubi: UBI device description object
208 * @ubi
210 ltree_lookup(struct ubi_device *ubi, int vol_id, int lnum) ltree_lookup() argument
249 ltree_add_entry(struct ubi_device *ubi, int vol_id, int lnum) ltree_add_entry() argument
319 leb_read_lock(struct ubi_device *ubi, int vol_id, int lnum) leb_read_lock() argument
336 leb_read_unlock(struct ubi_device *ubi, int vol_id, int lnum) leb_read_unlock() argument
361 leb_write_lock(struct ubi_device *ubi, int vol_id, int lnum) leb_write_lock() argument
383 leb_write_trylock(struct ubi_device *ubi, int vol_id, int lnum) leb_write_trylock() argument
412 leb_write_unlock(struct ubi_device *ubi, int vol_id, int lnum) leb_write_unlock() argument
450 ubi_eba_unmap_leb(struct ubi_device *ubi, struct ubi_volume *vol, int lnum) ubi_eba_unmap_leb() argument
497 check_mapping(struct ubi_device *ubi, struct ubi_volume *vol, int lnum, int *pnum) check_mapping() argument
569 check_mapping(struct ubi_device *ubi, struct ubi_volume *vol, int lnum, int *pnum) check_mapping() argument
595 ubi_eba_read_leb(struct ubi_device *ubi, struct ubi_volume *vol, int lnum, void *buf, int offset, int len, int check) ubi_eba_read_leb() argument
747 ubi_eba_read_leb_sg(struct ubi_device *ubi, struct ubi_volume *vol, struct ubi_sgl *sgl, int lnum, int offset, int len, int check) ubi_eba_read_leb_sg() argument
810 struct ubi_device *ubi = vol->ubi; try_recover_peb() local
902 recover_peb(struct ubi_device *ubi, int pnum, int vol_id, int lnum, const void *buf, int offset, int len) recover_peb() argument
948 struct ubi_device *ubi = vol->ubi; try_write_vid_and_data() local
1016 ubi_eba_write_leb(struct ubi_device *ubi, struct ubi_volume *vol, int lnum, const void *buf, int offset, int len) ubi_eba_write_leb() argument
1119 ubi_eba_write_leb_st(struct ubi_device *ubi, struct ubi_volume *vol, int lnum, const void *buf, int len, int used_ebs) ubi_eba_write_leb_st() argument
1197 ubi_eba_atomic_leb_change(struct ubi_device *ubi, struct ubi_volume *vol, int lnum, const void *buf, int len) ubi_eba_atomic_leb_change() argument
1310 ubi_eba_copy_leb(struct ubi_device *ubi, int from, int to, struct ubi_vid_io_buf *vidb) ubi_eba_copy_leb() argument
1490 print_rsvd_warning(struct ubi_device *ubi, struct ubi_attach_info *ai) print_rsvd_warning() argument
1523 self_check_eba(struct ubi_device *ubi, struct ubi_attach_info *ai_fastmap, struct ubi_attach_info *ai_scan) self_check_eba() argument
1619 ubi_eba_init(struct ubi_device *ubi, struct ubi_attach_info *ai) ubi_eba_init() argument
[all...]
H A Dkapi.c16 #include "ubi.h"
20 * @ubi: UBI device description object
26 void ubi_do_get_device_info(struct ubi_device *ubi, struct ubi_device_info *di) in ubi_do_get_device_info() argument
28 di->ubi_num = ubi->ubi_num; in ubi_do_get_device_info()
29 di->leb_size = ubi->leb_size; in ubi_do_get_device_info()
30 di->leb_start = ubi->leb_start; in ubi_do_get_device_info()
31 di->min_io_size = ubi->min_io_size; in ubi_do_get_device_info()
32 di->max_write_size = ubi->max_write_size; in ubi_do_get_device_info()
33 di->ro_mode = ubi->ro_mode; in ubi_do_get_device_info()
34 di->cdev = ubi in ubi_do_get_device_info()
48 struct ubi_device *ubi; ubi_get_device_info() local
67 ubi_do_get_volume_info(struct ubi_device *ubi, struct ubi_volume *vol, struct ubi_volume_info *vi) ubi_do_get_volume_info() argument
119 struct ubi_device *ubi; ubi_open_volume() local
237 struct ubi_device *ubi; ubi_open_volume_nm() local
329 struct ubi_device *ubi = vol->ubi; ubi_close_volume() local
373 struct ubi_device *ubi = vol->ubi; leb_read_sanity_check() local
427 struct ubi_device *ubi = vol->ubi; ubi_leb_read() local
467 struct ubi_device *ubi = vol->ubi; ubi_leb_read_sg() local
518 struct ubi_device *ubi = vol->ubi; ubi_leb_write() local
563 struct ubi_device *ubi = vol->ubi; ubi_leb_change() local
603 struct ubi_device *ubi = vol->ubi; ubi_leb_erase() local
664 struct ubi_device *ubi = vol->ubi; ubi_leb_unmap() local
700 struct ubi_device *ubi = vol->ubi; ubi_leb_map() local
762 struct ubi_device *ubi; ubi_sync() local
788 struct ubi_device *ubi; ubi_flush() local
[all...]
H A Dubi.h28 #include <linux/mtd/ubi.h>
31 #include "ubi-media.h"
37 #define UBI_NAME_STR "ubi"
43 void ubi_msg(const struct ubi_device *ubi, const char *fmt, ...);
47 void ubi_warn(const struct ubi_device *ubi, const char *fmt, ...);
51 void ubi_err(const struct ubi_device *ubi, const char *fmt, ...);
79 * The UBI debugfs directory name pattern and maximum name length (3 for "ubi"
82 #define UBI_DFS_DIR_NAME "ubi%d"
198 * &struct ubi_ltree_entry object is inserted to the lock tree (@ubi->ltree).
286 * @ubi
341 struct ubi_device *ubi; global() member
972 ubi_update_fastmap(struct ubi_device *ubi) ubi_update_fastmap() argument
1068 ubi_init_vid_buf(const struct ubi_device *ubi, struct ubi_vid_io_buf *vidb, void *buf) ubi_init_vid_buf() argument
1085 ubi_alloc_vid_buf(const struct ubi_device *ubi, gfp_t gfp_flags) ubi_alloc_vid_buf() argument
1132 ubi_io_read_data(const struct ubi_device *ubi, void *buf, int pnum, int offset, int len) ubi_io_read_data() argument
1144 ubi_io_write_data(struct ubi_device *ubi, const void *buf, int pnum, int offset, int len) ubi_io_write_data() argument
1155 ubi_ro_mode(struct ubi_device *ubi) ubi_ro_mode() argument
1169 vol_id2idx(const struct ubi_device *ubi, int vol_id) vol_id2idx() argument
1182 idx2vol_id(const struct ubi_device *ubi, int idx) idx2vol_id() argument
1213 ubi_find_fm_block(const struct ubi_device *ubi, int pnum) ubi_find_fm_block() argument
[all...]
H A Dmisc.c10 #include "ubi.h"
14 * @ubi: UBI device description object
22 int ubi_calc_data_len(const struct ubi_device *ubi, const void *buf, in ubi_calc_data_len() argument
27 ubi_assert(!(length & (ubi->min_io_size - 1))); in ubi_calc_data_len()
34 length = ALIGN(i + 1, ubi->min_io_size); in ubi_calc_data_len()
40 * @ubi: UBI device description object
48 int ubi_check_volume(struct ubi_device *ubi, int vol_id) in ubi_check_volume() argument
52 struct ubi_volume *vol = ubi->volumes[vol_id]; in ubi_check_volume()
71 err = ubi_eba_read_leb(ubi, vol, i, buf, 0, size, 1); in ubi_check_volume()
85 * @ubi
92 ubi_update_reserved(struct ubi_device *ubi) ubi_update_reserved() argument
111 ubi_calculate_reserved(struct ubi_device *ubi) ubi_calculate_reserved() argument
145 ubi_msg(const struct ubi_device *ubi, const char *fmt, ...) ubi_msg() argument
161 ubi_warn(const struct ubi_device *ubi, const char *fmt, ...) ubi_warn() argument
178 ubi_err(const struct ubi_device *ubi, const char *fmt, ...) ubi_err() argument
[all...]
H A Dattach.c77 #include "ubi.h"
79 static int self_check_ai(struct ubi_device *ubi, struct ubi_attach_info *ai);
317 * @ubi: UBI device description object
330 static int validate_vid_hdr(const struct ubi_device *ubi, in validate_vid_hdr() argument
349 ubi_err(ubi, "inconsistent vol_id"); in validate_vid_hdr()
359 ubi_err(ubi, "inconsistent vol_type"); in validate_vid_hdr()
364 ubi_err(ubi, "inconsistent used_ebs"); in validate_vid_hdr()
369 ubi_err(ubi, "inconsistent data_pad"); in validate_vid_hdr()
377 ubi_err(ubi, "inconsistent VID header at PEB %d", pnum); in validate_vid_hdr()
420 * @ubi
438 ubi_compare_lebs(struct ubi_device *ubi, const struct ubi_ainf_peb *aeb, int pnum, const struct ubi_vid_hdr *vid_hdr) ubi_compare_lebs() argument
563 ubi_add_to_av(struct ubi_device *ubi, struct ubi_attach_info *ai, int pnum, int ec, const struct ubi_vid_hdr *vid_hdr, int bitflips) ubi_add_to_av() argument
771 early_erase_peb(struct ubi_device *ubi, const struct ubi_attach_info *ai, int pnum, int ec) early_erase_peb() argument
818 ubi_early_get_peb(struct ubi_device *ubi, struct ubi_attach_info *ai) ubi_early_get_peb() argument
872 check_corruption(struct ubi_device *ubi, struct ubi_vid_hdr *vid_hdr, int pnum) check_corruption() argument
941 scan_peb(struct ubi_device *ubi, struct ubi_attach_info *ai, int pnum, bool fast) scan_peb() argument
1207 late_analysis(struct ubi_device *ubi, struct ubi_attach_info *ai) late_analysis() argument
1374 scan_all(struct ubi_device *ubi, struct ubi_attach_info *ai, int start) scan_all() argument
1487 scan_fast(struct ubi_device *ubi, struct ubi_attach_info **ai) scan_fast() argument
1555 ubi_attach(struct ubi_device *ubi, int force_scan) ubi_attach() argument
1658 self_check_ai(struct ubi_device *ubi, struct ubi_attach_info *ai) self_check_ai() argument
[all...]
H A Dfastmap.c10 #include "ubi.h"
14 * @ubi: UBI device description object
16 static inline unsigned long *init_seen(struct ubi_device *ubi) in init_seen() argument
20 if (!ubi_dbg_chk_fastmap(ubi)) in init_seen()
23 ret = bitmap_zalloc(ubi->peb_count, GFP_KERNEL); in init_seen()
32 * @seen: integer array of @ubi->peb_count size
41 * @ubi: UBI device description object
43 * @seen: integer array of @ubi->peb_count size
45 static inline void set_seen(struct ubi_device *ubi, int pnum, unsigned long *seen) in set_seen() argument
47 if (!ubi_dbg_chk_fastmap(ubi) || !see in set_seen()
58 self_check_seen(struct ubi_device *ubi, unsigned long *seen) self_check_seen() argument
79 ubi_calc_fm_size(struct ubi_device *ubi) ubi_calc_fm_size() argument
104 new_fm_vbuf(struct ubi_device *ubi, int vol_id) new_fm_vbuf() argument
242 update_vol(struct ubi_device *ubi, struct ubi_attach_info *ai, struct ubi_ainf_volume *av, struct ubi_vid_hdr *new_vh, struct ubi_ainf_peb *new_aeb) update_vol() argument
336 process_pool_aeb(struct ubi_device *ubi, struct ubi_attach_info *ai, struct ubi_vid_hdr *new_vh, struct ubi_ainf_peb *new_aeb) process_pool_aeb() argument
400 scan_pool(struct ubi_device *ubi, struct ubi_attach_info *ai, __be32 *pebs, int pool_size, unsigned long long *max_sqnum, struct list_head *free) scan_pool() argument
548 ubi_attach_fastmap(struct ubi_device *ubi, struct ubi_attach_info *ai, struct ubi_fastmap_layout *fm) ubi_attach_fastmap() argument
860 ubi_scan_fastmap(struct ubi_device *ubi, struct ubi_attach_info *ai, struct ubi_attach_info *scan_ai) ubi_scan_fastmap() argument
1106 struct ubi_device *ubi = vol->ubi; ubi_fastmap_init_checkmap() local
1130 ubi_write_fastmap(struct ubi_device *ubi, struct ubi_fastmap_layout *new_fm) ubi_write_fastmap() argument
1400 erase_block(struct ubi_device *ubi, int pnum) erase_block() argument
1452 invalidate_fastmap(struct ubi_device *ubi) invalidate_fastmap() argument
1512 return_fm_pebs(struct ubi_device *ubi, struct ubi_fastmap_layout *fm) return_fm_pebs() argument
1536 ubi_update_fastmap(struct ubi_device *ubi) ubi_update_fastmap() argument
[all...]

Completed in 23 milliseconds

12