/linux-6.3-rc2/drivers/mtd/ubi/ |
A D | wl.c | 887 ubi->move_from = ubi->move_to = NULL; 946 ubi->move_from = ubi->move_to = NULL; 1541 err = ubi_io_read(ubi, ubi->peb_buf, pnum, 0, ubi->peb_size); 1788 ubi->used = ubi->erroneous = ubi->free = ubi->scrub = RB_ROOT; 1938 tree_destroy(ubi, &ubi->used); 1939 tree_destroy(ubi, &ubi->free); 1940 tree_destroy(ubi, &ubi->scrub); 1972 tree_destroy(ubi, &ubi->used); 1973 tree_destroy(ubi, &ubi->erroneous); 1974 tree_destroy(ubi, &ubi->free); [all …]
|
A D | build.c | 623 ubi->peb_count = mtd_div_by_eb(ubi->mtd->size, ubi->mtd); in io_init() 624 ubi->flash_size = ubi->mtd->size; in io_init() 635 ubi->hdrs_min_io_size = ubi->mtd->writesize >> ubi->mtd->subpage_sft; in io_init() 694 ubi->leb_start = ALIGN(ubi->leb_start, ubi->min_io_size); in io_init() 737 ubi->leb_size = ubi->peb_size - ubi->leb_start; in io_init() 1012 ubi->peb_size, ubi->peb_size >> 10, ubi->leb_size); in ubi_attach_mtd_dev() 1014 ubi->min_io_size, ubi->max_write_size, ubi->hdrs_min_io_size); in ubi_attach_mtd_dev() 1016 ubi->vid_hdr_offset, ubi->vid_hdr_aloffset, ubi->leb_start); in ubi_attach_mtd_dev() 1018 ubi->good_peb_count, ubi->bad_peb_count, ubi->corr_peb_count); in ubi_attach_mtd_dev() 1026 ubi->avail_pebs, ubi->rsvd_pebs, ubi->beb_rsvd_pebs); in ubi_attach_mtd_dev() [all …]
|
A D | fastmap-wl.c | 79 if (!ubi->free.rb_node || (ubi->free_count - ubi->beb_rsvd_pebs < 1)) in ubi_wl_get_fm_peb() 85 e = find_mean_wl_entry(ubi, &ubi->free); in ubi_wl_get_fm_peb() 90 self_check_in_wl_tree(ubi, e, &ubi->free); in ubi_wl_get_fm_peb() 121 if (ubi->fm_wl_pool.size > 0 && !(ubi->ro_mode || ubi->fm_disabled)) in has_enough_free_count() 122 fm_used = ubi->fm_size / ubi->leb_size - 1; in has_enough_free_count() 147 wl_tree_add(ubi->fm_anchor, &ubi->free); in ubi_refill_pools() 157 ubi->fm_anchor = ubi_wl_get_fm_peb(ubi, 1); in ubi_refill_pools() 179 self_check_in_wl_tree(ubi, e, &ubi->free); in ubi_refill_pools() 274 prot_queue_add(ubi, ubi->lookuptbl[ret]); in ubi_wl_get_peb() 462 return_unused_peb(ubi, ubi->fm_anchor); in ubi_fastmap_close() [all …]
|
A D | io.c | 339 err = ubi_self_check_all_ff(ubi, pnum, 0, ubi->peb_size); in do_sync_erase() 378 err = ubi_io_read(ubi, ubi->peb_buf, pnum, 0, ubi->peb_size); in torture_peb() 382 err = ubi_check_pattern(ubi->peb_buf, 0xFF, ubi->peb_size); in torture_peb() 391 memset(ubi->peb_buf, patterns[i], ubi->peb_size); in torture_peb() 392 err = ubi_io_write(ubi, ubi->peb_buf, pnum, 0, ubi->peb_size); in torture_peb() 396 memset(ubi->peb_buf, ~patterns[i], ubi->peb_size); in torture_peb() 397 err = ubi_io_read(ubi, ubi->peb_buf, pnum, 0, ubi->peb_size); in torture_peb() 503 ubi_dump_flash(ubi, pnum, 0, ubi->peb_size); in nor_erase_prepare() 545 if (ubi->nor_flash && ubi->mtd->writesize == 1) { in ubi_io_sync_erase() 1077 err = ubi_io_write(ubi, p, pnum, ubi->vid_hdr_aloffset, in ubi_io_write_vid_hdr() [all …]
|
A D | vmt.c | 59 struct ubi_device *ubi = vol->ubi; in vol_attribute_show() local 145 if (ubi->ro_mode) in ubi_create_volume() 201 vol->usable_leb_size = ubi->leb_size - ubi->leb_size % req->alignment; in ubi_create_volume() 208 ubi->avail_pebs); in ubi_create_volume() 225 vol->ubi = ubi; in ubi_create_volume() 261 ubi->vol_count += 1; in ubi_create_volume() 310 ubi->vol_count -= 1; in ubi_create_volume() 336 struct ubi_device *ubi = vol->ubi; in ubi_remove_volume() local 343 if (ubi->ro_mode) in ubi_remove_volume() 408 struct ubi_device *ubi = vol->ubi; in ubi_resize_volume() local [all …]
|
A D | vtbl.c | 568 vol->ubi = ubi; in init_volumes() 644 ubi->volumes[vol_id2idx(ubi, vol->vol_id)] = vol; in init_volumes() 647 vol->ubi = ubi; in init_volumes() 794 ubi->vtbl_slots = ubi->leb_size / UBI_VTBL_RECORD_SIZE; in ubi_read_volume_table() 798 ubi->vtbl_size = ubi->vtbl_slots * UBI_VTBL_RECORD_SIZE; in ubi_read_volume_table() 799 ubi->vtbl_size = ALIGN(ubi->vtbl_size, ubi->min_io_size); in ubi_read_volume_table() 812 ubi->vtbl = create_empty_lvol(ubi, ai); in ubi_read_volume_table() 827 ubi->vtbl = process_lvol(ubi, ai, av); in ubi_read_volume_table() 832 ubi->avail_pebs = ubi->good_peb_count - ubi->corr_peb_count; in ubi_read_volume_table() 838 err = init_volumes(ubi, ai, ubi->vtbl); in ubi_read_volume_table() [all …]
|
A D | eba.c | 810 struct ubi_device *ubi = vol->ubi; in try_recover_peb() local 841 err = ubi_io_read_data(ubi, ubi->peb_buf, pnum, 0, offset); in try_recover_peb() 948 struct ubi_device *ubi = vol->ubi; in try_write_vid_and_data() local 972 ubi_warn(ubi, in try_write_vid_and_data() 1400 ubi_calc_data_len(ubi, ubi->peb_buf, data_size); in ubi_eba_copy_leb() 1498 ubi->beb_rsvd_pebs, ubi->beb_rsvd_level); in print_rsvd_warning() 1679 if (ubi->avail_pebs < ubi->beb_rsvd_level) { in ubi_eba_init() 1681 ubi->beb_rsvd_pebs = ubi->avail_pebs; in ubi_eba_init() 1684 ubi->beb_rsvd_pebs = ubi->beb_rsvd_level; in ubi_eba_init() 1686 ubi->avail_pebs -= ubi->beb_rsvd_pebs; in ubi_eba_init() [all …]
|
A D | ubi.h | 341 struct ubi_device *ubi; member 1073 memset(buf, 0, ubi->vid_hdr_alsize); in ubi_init_vid_buf() 1100 ubi_init_vid_buf(ubi, vidb, buf); in ubi_alloc_vid_buf() 1136 return ubi_io_read(ubi, buf, pnum, offset + ubi->leb_start, len); in ubi_io_read_data() 1148 return ubi_io_write(ubi, buf, pnum, offset + ubi->leb_start, len); in ubi_io_write_data() 1157 if (!ubi->ro_mode) { in ubi_ro_mode() 1158 ubi->ro_mode = 1; in ubi_ro_mode() 1184 if (idx >= ubi->vtbl_slots) in idx2vol_id() 1218 if (ubi->fm) { in ubi_find_fm_block() 1220 if (ubi->fm->e[i]->pnum == pnum) in ubi_find_fm_block() [all …]
|
A D | fastmap.c | 889 memset(ubi->fm_buf, 0, ubi->fm_size); in ubi_scan_fastmap() 1024 ret = ubi_io_read_data(ubi, ubi->fm_buf + (ubi->leb_size * i), in ubi_scan_fastmap() 1076 ubi->fm = fm; in ubi_scan_fastmap() 1077 ubi->fm_pool.max_size = ubi->fm->max_pool_size; in ubi_scan_fastmap() 1078 ubi->fm_wl_pool.max_size = ubi->fm->max_wl_pool_size; in ubi_scan_fastmap() 1105 struct ubi_device *ubi = vol->ubi; in ubi_fastmap_init_checkmap() local 1151 memset(ubi->fm_buf, 0, ubi->fm_size); in ubi_write_fastmap() 1206 set_seen(ubi, ubi->fm_pool.pebs[i], seen_pebs); in ubi_write_fastmap() 1217 set_seen(ubi, ubi->fm_wl_pool.pebs[i], seen_pebs); in ubi_write_fastmap() 1547 if (ubi->ro_mode || ubi->fm_disabled) { in ubi_update_fastmap() [all …]
|
A D | kapi.c | 53 if (!ubi) in ubi_get_device_info() 135 if (!ubi) in ubi_open_volume() 329 struct ubi_device *ubi = vol->ubi; in ubi_close_volume() local 373 struct ubi_device *ubi = vol->ubi; in leb_read_sanity_check() local 427 struct ubi_device *ubi = vol->ubi; in ubi_leb_read() local 467 struct ubi_device *ubi = vol->ubi; in ubi_leb_read_sg() local 518 struct ubi_device *ubi = vol->ubi; in ubi_leb_write() local 563 struct ubi_device *ubi = vol->ubi; in ubi_leb_change() local 603 struct ubi_device *ubi = vol->ubi; in ubi_leb_erase() local 664 struct ubi_device *ubi = vol->ubi; in ubi_leb_unmap() local [all …]
|
A D | misc.c | 34 length = ALIGN(i + 1, ubi->min_io_size); in ubi_calc_data_len() 94 int need = ubi->beb_rsvd_level - ubi->beb_rsvd_pebs; in ubi_update_reserved() 96 if (need <= 0 || ubi->avail_pebs == 0) in ubi_update_reserved() 99 need = min_t(int, need, ubi->avail_pebs); in ubi_update_reserved() 100 ubi->avail_pebs -= need; in ubi_update_reserved() 101 ubi->rsvd_pebs += need; in ubi_update_reserved() 102 ubi->beb_rsvd_pebs += need; in ubi_update_reserved() 117 ubi->beb_rsvd_level = ubi->bad_peb_limit - ubi->bad_peb_count; in ubi_calculate_reserved() 118 if (ubi->beb_rsvd_level < 0) { in ubi_calculate_reserved() 119 ubi->beb_rsvd_level = 0; in ubi_calculate_reserved() [all …]
|
A D | attach.c | 513 err = ubi_io_read_data(ubi, ubi->peb_buf, pnum, 0, len); in ubi_compare_lebs() 878 memset(ubi->peb_buf, 0x00, ubi->leb_size); in check_corruption() 880 err = ubi_io_read(ubi, ubi->peb_buf, pnum, ubi->leb_start, in check_corruption() 881 ubi->leb_size); in check_corruption() 897 if (ubi_check_pattern(ubi->peb_buf, 0xFF, ubi->leb_size)) in check_corruption() 905 pnum, ubi->leb_start, ubi->leb_size); in check_corruption() 907 ubi->peb_buf, ubi->leb_size, 1); in check_corruption() 1595 ubi->good_peb_count = ubi->peb_count - ubi->bad_peb_count; in ubi_attach() 1614 if (ubi->fm && ubi_dbg_chk_fastmap(ubi)) { in ubi_attach() 1641 ubi_wl_close(ubi); in ubi_attach() [all …]
|
A D | debug.h | 52 int ubi_debugfs_init_dev(struct ubi_device *ubi); 53 void ubi_debugfs_exit_dev(struct ubi_device *ubi); 64 return ubi->dbg.disable_bgt; in ubi_dbg_is_bgt_disabled() 75 if (ubi->dbg.emulate_bitflips) in ubi_dbg_is_bitflip() 89 if (ubi->dbg.emulate_io_failures) in ubi_dbg_is_write_failure() 103 if (ubi->dbg.emulate_io_failures) in ubi_dbg_is_erase_failure() 110 return ubi->dbg.chk_io; in ubi_dbg_chk_io() 115 return ubi->dbg.chk_gen; in ubi_dbg_chk_gen() 120 return ubi->dbg.chk_fastmap; in ubi_dbg_chk_fastmap() 125 ubi->dbg.chk_fastmap = 1; in ubi_enable_dbg_chk_fastmap() [all …]
|
A D | upd.c | 54 vtbl_rec = ubi->vtbl[vol->vol_id]; in set_update_marker() 57 mutex_lock(&ubi->device_mutex); in set_update_marker() 60 mutex_unlock(&ubi->device_mutex); in set_update_marker() 82 vtbl_rec = ubi->vtbl[vol->vol_id]; in clear_update_marker() 97 mutex_lock(&ubi->device_mutex); in clear_update_marker() 100 mutex_unlock(&ubi->device_mutex); in clear_update_marker() 123 vol->upd_buf = vmalloc(ubi->leb_size); in ubi_start_update() 127 err = set_update_marker(ubi, vol); in ubi_start_update() 133 err = ubi_eba_unmap_leb(ubi, vol, i); in ubi_start_update() 273 if (ubi->ro_mode) in ubi_more_update_data() [all …]
|
A D | wl.h | 7 static struct ubi_wl_entry *get_peb_for_wl(struct ubi_device *ubi); 8 static struct ubi_wl_entry *next_peb_for_wl(struct ubi_device *ubi); 9 static bool need_wear_leveling(struct ubi_device *ubi); 10 static void ubi_fastmap_close(struct ubi_device *ubi); 11 static inline void ubi_fastmap_init(struct ubi_device *ubi, int *count) in ubi_fastmap_init() argument 14 *count += (ubi->fm_size / ubi->leb_size) * 2; in ubi_fastmap_init() 15 INIT_WORK(&ubi->fm_work, update_fastmap_work_fn); in ubi_fastmap_init() 17 static struct ubi_wl_entry *may_reserve_for_fm(struct ubi_device *ubi, 21 static struct ubi_wl_entry *get_peb_for_wl(struct ubi_device *ubi); 22 static inline void ubi_fastmap_close(struct ubi_device *ubi) { } in ubi_fastmap_close() argument [all …]
|
A D | cdev.c | 150 ubi_err(vol->ubi, "updating"); in vol_cdev_llseek() 161 struct ubi_device *ubi = desc->vol->ubi; in vol_cdev_fsync() local 165 err = ubi_sync(ubi->ubi_num); in vol_cdev_fsync() 176 struct ubi_device *ubi = vol->ubi; in vol_cdev_read() local 185 ubi_err(vol->ubi, "updating"); in vol_cdev_read() 253 struct ubi_device *ubi = vol->ubi; in vol_cdev_direct_write() local 329 struct ubi_device *ubi = vol->ubi; in vol_cdev_write() local 384 struct ubi_device *ubi = vol->ubi; in vol_cdev_ioctl() local 835 struct ubi_device *ubi; in ubi_cdev_ioctl() local 843 if (!ubi) in ubi_cdev_ioctl() [all …]
|
A D | debug.c | 259 if (!ubi) in dfs_file_read() 261 d = &ubi->dbg; in dfs_file_read() 306 ubi_put_device(ubi); in dfs_file_read() 323 if (!ubi) in dfs_file_write() 325 d = &ubi->dbg; in dfs_file_write() 374 ubi_put_device(ubi); in dfs_file_write() 483 ubi_put_device(ubi); in eraseblk_count_release() 590 ubi->dbg.power_cut_counter = ubi->dbg.power_cut_min; in ubi_dbg_power_cut() 592 if (ubi->dbg.power_cut_max > ubi->dbg.power_cut_min) { in ubi_dbg_power_cut() 593 range = ubi->dbg.power_cut_max - ubi->dbg.power_cut_min; in ubi_dbg_power_cut() [all …]
|
A D | Makefile | 2 obj-$(CONFIG_MTD_UBI) += ubi.o 4 ubi-y += vtbl.o vmt.o upd.o build.o cdev.o kapi.o eba.o io.o wl.o attach.o 5 ubi-y += misc.o debug.o 6 ubi-$(CONFIG_MTD_UBI_FASTMAP) += fastmap.o 7 ubi-$(CONFIG_MTD_UBI_BLOCK) += block.o
|
/linux-6.3-rc2/Documentation/ABI/stable/ |
A D | sysfs-class-ubi | 1 What: /sys/class/ubi/ 10 What: /sys/class/ubi/version 42 What: /sys/class/ubi/ubiX/bad_peb_count 49 What: /sys/class/ubi/ubiX/bgt_enabled 57 What: /sys/class/ubi/ubiX/dev 74 What: /sys/class/ubi/ubiX/max_ec 88 What: /sys/class/ubi/ubiX/min_io_size 96 What: /sys/class/ubi/ubiX/mtd_num 110 What: /sys/class/ubi/ubiX/ro_mode 134 What: /sys/class/ubi/ubiX/ubiX_Y/ [all …]
|
/linux-6.3-rc2/arch/arm/boot/dts/ |
A D | at91-kizboxmini-common.dtsi | 15 bootargs = "ubi.mtd=ubi"; 152 ubi@20000 { 153 label = "ubi";
|
A D | at91-kizbox.dts | 17 bootargs = "ubi.mtd=ubi"; 148 ubi@20000 { 149 label = "ubi";
|
A D | at91-kizbox2-common.dtsi | 16 bootargs = "ubi.mtd=ubi"; 218 ubi@20000 { 219 label = "ubi";
|
A D | at91-kizbox3_common.dtsi | 35 bootargs = "ubi.mtd=ubi"; 146 ubi@2A0000 { 147 label = "ubi";
|
A D | animeo_ip.dts | 130 ubi@60000 { 131 label = "ubi";
|
/linux-6.3-rc2/fs/ubifs/ |
A D | super.c | 2003 ubi_close_volume(c->ubi); in ubifs_put_super() 2101 if (!IS_ERR(ubi)) in open_ubi() 2102 return ubi; in open_ubi() 2192 if (IS_ERR(c->ubi)) { in ubifs_fill_super() 2193 err = PTR_ERR(c->ubi); in ubifs_fill_super() 2260 ubi_close_volume(c->ubi); in ubifs_fill_super() 2295 if (IS_ERR(ubi)) { in ubifs_mount() 2299 return ERR_CAST(ubi); in ubifs_mount() 2302 c = alloc_ubifs_info(ubi); in ubifs_mount() 2339 ubi_close_volume(ubi); in ubifs_mount() [all …]
|