Home
last modified time | relevance | path

Searched refs:ubi (Results 1 – 25 of 188) sorted by relevance

12345678

/openbmc/linux/drivers/mtd/ubi/
H A Dwl.c887 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 …]
H A Dbuild.c622 ubi->peb_count = mtd_div_by_eb(ubi->mtd->size, ubi->mtd); in io_init()
623 ubi->flash_size = ubi->mtd->size; in io_init()
634 ubi->hdrs_min_io_size = ubi->mtd->writesize >> ubi->mtd->subpage_sft; in io_init()
702 ubi->leb_start = ALIGN(ubi->leb_start, ubi->min_io_size); in io_init()
745 ubi->leb_size = ubi->peb_size - ubi->leb_start; in io_init()
1027 ubi->peb_size, ubi->peb_size >> 10, ubi->leb_size); in ubi_attach_mtd_dev()
1029 ubi->min_io_size, ubi->max_write_size, ubi->hdrs_min_io_size); in ubi_attach_mtd_dev()
1031 ubi->vid_hdr_offset, ubi->vid_hdr_aloffset, ubi->leb_start); in ubi_attach_mtd_dev()
1033 ubi->good_peb_count, ubi->bad_peb_count, ubi->corr_peb_count); in ubi_attach_mtd_dev()
1041 ubi->avail_pebs, ubi->rsvd_pebs, ubi->beb_rsvd_pebs); in ubi_attach_mtd_dev()
[all …]
H A Dfastmap-wl.c79 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 …]
H A Dio.c339 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 …]
H A Dvmt.c59 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 …]
H A Dvtbl.c568 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()
800 ubi->vtbl_slots = ubi->leb_size / UBI_VTBL_RECORD_SIZE; in ubi_read_volume_table()
804 ubi->vtbl_size = ubi->vtbl_slots * UBI_VTBL_RECORD_SIZE; in ubi_read_volume_table()
805 ubi->vtbl_size = ALIGN(ubi->vtbl_size, ubi->min_io_size); in ubi_read_volume_table()
818 ubi->vtbl = create_empty_lvol(ubi, ai); in ubi_read_volume_table()
833 ubi->vtbl = process_lvol(ubi, ai, av); in ubi_read_volume_table()
838 ubi->avail_pebs = ubi->good_peb_count - ubi->corr_peb_count; in ubi_read_volume_table()
844 err = init_volumes(ubi, ai, ubi->vtbl); in ubi_read_volume_table()
[all …]
H A Deba.c810 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()
1409 ubi_calc_data_len(ubi, ubi->peb_buf, data_size); in ubi_eba_copy_leb()
1507 ubi->beb_rsvd_pebs, ubi->beb_rsvd_level); in print_rsvd_warning()
1688 if (ubi->avail_pebs < ubi->beb_rsvd_level) { in ubi_eba_init()
1690 ubi->beb_rsvd_pebs = ubi->avail_pebs; in ubi_eba_init()
1693 ubi->beb_rsvd_pebs = ubi->beb_rsvd_level; in ubi_eba_init()
1695 ubi->avail_pebs -= ubi->beb_rsvd_pebs; in ubi_eba_init()
[all …]
H A Dubi.h341 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 …]
H A Dmisc.c34 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 …]
H A Dfastmap.c890 memset(ubi->fm_buf, 0, ubi->fm_size); in ubi_scan_fastmap()
1025 ret = ubi_io_read_data(ubi, ubi->fm_buf + (ubi->leb_size * i), in ubi_scan_fastmap()
1077 ubi->fm = fm; in ubi_scan_fastmap()
1078 ubi->fm_pool.max_size = ubi->fm->max_pool_size; in ubi_scan_fastmap()
1079 ubi->fm_wl_pool.max_size = ubi->fm->max_wl_pool_size; in ubi_scan_fastmap()
1106 struct ubi_device *ubi = vol->ubi; in ubi_fastmap_init_checkmap() local
1152 memset(ubi->fm_buf, 0, ubi->fm_size); in ubi_write_fastmap()
1207 set_seen(ubi, ubi->fm_pool.pebs[i], seen_pebs); in ubi_write_fastmap()
1218 set_seen(ubi, ubi->fm_wl_pool.pebs[i], seen_pebs); in ubi_write_fastmap()
1548 if (ubi->ro_mode || ubi->fm_disabled) { in ubi_update_fastmap()
[all …]
H A Dkapi.c53 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 …]
/openbmc/u-boot/drivers/mtd/ubi/
H A Dbuild.c387 ubi = ubi_get_device(ubi->ubi_num); in dev_attribute_show()
457 ubi->dev.devt = ubi->cdev.dev; in ubi_sysfs_init()
677 ubi->peb_count = mtd_div_by_eb(ubi->mtd->size, ubi->mtd); in io_init()
678 ubi->flash_size = ubi->mtd->size; in io_init()
744 ubi->leb_start = ALIGN(ubi->leb_start, ubi->min_io_size); in io_init()
787 ubi->leb_size = ubi->peb_size - ubi->leb_start; in io_init()
1037 ubi->peb_size, ubi->peb_size >> 10, ubi->leb_size); in ubi_attach_mtd_dev()
1039 ubi->min_io_size, ubi->max_write_size, ubi->hdrs_min_io_size); in ubi_attach_mtd_dev()
1041 ubi->vid_hdr_offset, ubi->vid_hdr_aloffset, ubi->leb_start); in ubi_attach_mtd_dev()
1043 ubi->good_peb_count, ubi->bad_peb_count, ubi->corr_peb_count); in ubi_attach_mtd_dev()
[all …]
H A Dwl.c879 ubi->move_from = ubi->move_to = NULL;
929 ubi->move_from = ubi->move_to = NULL;
949 ubi->move_from = ubi->move_to = NULL;
1535 ubi->used = ubi->erroneous = ubi->free = ubi->scrub = RB_ROOT;
1654 tree_destroy(ubi, &ubi->used);
1655 tree_destroy(ubi, &ubi->free);
1656 tree_destroy(ubi, &ubi->scrub);
1688 tree_destroy(ubi, &ubi->used);
1689 tree_destroy(ubi, &ubi->erroneous);
1690 tree_destroy(ubi, &ubi->free);
[all …]
H A Dfastmap-wl.c92 if (!ubi->free.rb_node || (ubi->free_count - ubi->beb_rsvd_pebs < 1)) in ubi_wl_get_fm_peb()
98 e = find_mean_wl_entry(ubi, &ubi->free); in ubi_wl_get_fm_peb()
103 self_check_in_wl_tree(ubi, e, &ubi->free); in ubi_wl_get_fm_peb()
149 (ubi->free_count - ubi->beb_rsvd_pebs < 5)) in ubi_refill_pools()
152 e = find_wl_entry(ubi, &ubi->free, WL_FREE_MAX_DIFF); in ubi_refill_pools()
153 self_check_in_wl_tree(ubi, e, &ubi->free); in ubi_refill_pools()
185 while (!ubi->free.rb_node && ubi->works_count) { in produce_free_peb()
248 prot_queue_add(ubi, ubi->lookuptbl[ret]); in ubi_wl_get_peb()
368 return_unused_pool_pebs(ubi, &ubi->fm_pool); in ubi_fastmap_close()
369 return_unused_pool_pebs(ubi, &ubi->fm_wl_pool); in ubi_fastmap_close()
[all …]
H A Dio.c381 err = ubi_self_check_all_ff(ubi, pnum, 0, ubi->peb_size); in do_sync_erase()
420 err = ubi_io_read(ubi, ubi->peb_buf, pnum, 0, ubi->peb_size); in torture_peb()
424 err = ubi_check_pattern(ubi->peb_buf, 0xFF, ubi->peb_size); in torture_peb()
433 memset(ubi->peb_buf, patterns[i], ubi->peb_size); in torture_peb()
434 err = ubi_io_write(ubi, ubi->peb_buf, pnum, 0, ubi->peb_size); in torture_peb()
438 memset(ubi->peb_buf, ~patterns[i], ubi->peb_size); in torture_peb()
439 err = ubi_io_read(ubi, ubi->peb_buf, pnum, 0, ubi->peb_size); in torture_peb()
541 ubi_dump_flash(ubi, pnum, 0, ubi->peb_size); in nor_erase_prepare()
1009 read_err = ubi_io_read(ubi, p, pnum, ubi->vid_hdr_aloffset, in ubi_io_read_vid_hdr()
1109 err = ubi_io_write(ubi, p, pnum, ubi->vid_hdr_aloffset, in ubi_io_write_vid_hdr()
[all …]
H A Deba.c321 if (ubi->ro_mode) in ubi_eba_unmap_leb()
592 err = ubi_io_read_data(ubi, ubi->peb_buf, pnum, 0, offset); in recover_peb()
660 if (ubi->ro_mode) in ubi_eba_write_leb()
1149 ubi_calc_data_len(ubi, ubi->peb_buf, data_size); in ubi_eba_copy_leb()
1205 err = ubi_io_read_data(ubi, ubi->peb_buf, to, 0, aldata_size); in ubi_eba_copy_leb()
1274 ubi->beb_rsvd_pebs, ubi->beb_rsvd_level); in print_rsvd_warning()
1449 if (ubi->avail_pebs < ubi->beb_rsvd_level) { in ubi_eba_init()
1451 ubi->beb_rsvd_pebs = ubi->avail_pebs; in ubi_eba_init()
1454 ubi->beb_rsvd_pebs = ubi->beb_rsvd_level; in ubi_eba_init()
1456 ubi->avail_pebs -= ubi->beb_rsvd_pebs; in ubi_eba_init()
[all …]
H A Dvmt.c68 ubi = ubi_get_device(vol->ubi->ubi_num); in vol_attribute_show()
69 if (!ubi) in vol_attribute_show()
75 ubi_put_device(ubi); in vol_attribute_show()
113 ubi_put_device(ubi); in vol_attribute_show()
158 if (ubi->ro_mode) in ubi_create_volume()
212 ubi->avail_pebs); in ubi_create_volume()
229 vol->ubi = ubi; in ubi_create_volume()
357 struct ubi_device *ubi = vol->ubi; in ubi_remove_volume() local
364 if (ubi->ro_mode) in ubi_remove_volume()
429 struct ubi_device *ubi = vol->ubi; in ubi_resize_volume() local
[all …]
H A Dvtbl.c572 vol->ubi = ubi;
638 ubi->volumes[vol_id2idx(ubi, vol->vol_id)] = vol;
641 vol->ubi = ubi;
784 ubi->vtbl_slots = ubi->leb_size / UBI_VTBL_RECORD_SIZE;
788 ubi->vtbl_size = ubi->vtbl_slots * UBI_VTBL_RECORD_SIZE;
789 ubi->vtbl_size = ALIGN(ubi->vtbl_size, ubi->min_io_size);
802 ubi->vtbl = create_empty_lvol(ubi, ai);
817 ubi->vtbl = process_lvol(ubi, ai, av);
822 ubi->avail_pebs = ubi->good_peb_count - ubi->corr_peb_count;
828 err = init_volumes(ubi, ai, ubi->vtbl);
[all …]
H A Dubi.h45 #define ubi_msg(ubi, fmt, ...) argument
48 ubi->ubi_num, ##__VA_ARGS__)
53 ubi->ubi_num, __func__, ##__VA_ARGS__)
314 struct ubi_device *ubi; member
834 #define ubi_create_gluebi(ubi, vol) 0 argument
1054 kfree(p - ubi->vid_hdr_shift); in ubi_free_vid_hdr()
1066 return ubi_io_read(ubi, buf, pnum, offset + ubi->leb_start, len); in ubi_io_read_data()
1078 return ubi_io_write(ubi, buf, pnum, offset + ubi->leb_start, len); in ubi_io_write_data()
1087 if (!ubi->ro_mode) { in ubi_ro_mode()
1088 ubi->ro_mode = 1; in ubi_ro_mode()
[all …]
H A Dfastmap.c890 memset(ubi->fm_buf, 0, ubi->fm_size); in ubi_scan_fastmap()
1016 ret = ubi_io_read(ubi, ubi->fm_buf + (ubi->leb_size * i), pnum, in ubi_scan_fastmap()
1017 ubi->leb_start, ubi->leb_size); in ubi_scan_fastmap()
1069 ubi->fm_pool.max_size = ubi->fm->max_pool_size; in ubi_scan_fastmap()
1070 ubi->fm_wl_pool.max_size = ubi->fm->max_wl_pool_size; in ubi_scan_fastmap()
1122 memset(ubi->fm_buf, 0, ubi->fm_size); in ubi_write_fastmap()
1174 set_seen(ubi, ubi->fm_pool.pebs[i], seen_pebs); in ubi_write_fastmap()
1185 set_seen(ubi, ubi->fm_wl_pool.pebs[i], seen_pebs); in ubi_write_fastmap()
1331 new_fm->e[i]->pnum, ubi->leb_start, ubi->leb_size); in ubi_write_fastmap()
1503 if (ubi->ro_mode || ubi->fm_disabled) { in ubi_update_fastmap()
[all …]
H A Dkapi.c60 if (!ubi) in ubi_get_device_info()
141 if (!ubi) in ubi_open_volume()
334 struct ubi_device *ubi = vol->ubi; in ubi_close_volume() local
378 struct ubi_device *ubi = vol->ubi; in leb_read_sanity_check() local
432 struct ubi_device *ubi = vol->ubi; in ubi_leb_read() local
472 struct ubi_device *ubi = vol->ubi; in ubi_leb_read_sg() local
524 struct ubi_device *ubi = vol->ubi; in ubi_leb_write() local
569 struct ubi_device *ubi = vol->ubi; in ubi_leb_change() local
609 struct ubi_device *ubi = vol->ubi; in ubi_leb_erase() local
670 struct ubi_device *ubi = vol->ubi; in ubi_leb_unmap() local
[all …]
H A Dmisc.c35 length = ALIGN(i + 1, ubi->min_io_size); in ubi_calc_data_len()
95 int need = ubi->beb_rsvd_level - ubi->beb_rsvd_pebs; in ubi_update_reserved()
97 if (need <= 0 || ubi->avail_pebs == 0) in ubi_update_reserved()
100 need = min_t(int, need, ubi->avail_pebs); in ubi_update_reserved()
101 ubi->avail_pebs -= need; in ubi_update_reserved()
102 ubi->rsvd_pebs += need; in ubi_update_reserved()
103 ubi->beb_rsvd_pebs += need; in ubi_update_reserved()
118 ubi->beb_rsvd_level = ubi->bad_peb_limit - ubi->bad_peb_count; in ubi_calculate_reserved()
119 if (ubi->beb_rsvd_level < 0) { in ubi_calculate_reserved()
120 ubi->beb_rsvd_level = 0; in ubi_calculate_reserved()
[all …]
H A Dattach.c394 err = ubi_io_read_data(ubi, ubi->peb_buf, pnum, 0, len); in ubi_compare_lebs()
764 memset(ubi->peb_buf, 0x00, ubi->leb_size); in check_corruption()
766 err = ubi_io_read(ubi, ubi->peb_buf, pnum, ubi->leb_start, in check_corruption()
767 ubi->leb_size); in check_corruption()
783 if (ubi_check_pattern(ubi->peb_buf, 0xFF, ubi->leb_size)) in check_corruption()
791 pnum, ubi->leb_start, ubi->leb_size); in check_corruption()
793 ubi->peb_buf, ubi->leb_size, 1); in check_corruption()
1436 ubi->good_peb_count = ubi->peb_count - ubi->bad_peb_count; in ubi_attach()
1455 if (ubi->fm && ubi_dbg_chk_fastmap(ubi)) { in ubi_attach()
1482 ubi_wl_close(ubi); in ubi_attach()
[all …]
/openbmc/u-boot/drivers/mtd/ubispl/
H A Dubispl.c40 return ubi->read(pnum + ubi->peb_offset, from, len, buf); in ubi_io_read()
294 memset(ubi->fm_used, 0, sizeof(ubi->fm_used)); in ubi_attach_fastmap()
614 ret = ubi_io_read(ubi, ubi->fm_buf + (ubi->leb_size * i), pnum, in ubi_scan_fastmap()
615 ubi->leb_start, ubi->leb_size); in ubi_scan_fastmap()
646 ubi->fm_pool.max_size = ubi->fm->max_pool_size; in ubi_scan_fastmap()
649 ubi->fsize_mb, ubi->peb_count); in ubi_scan_fastmap()
701 memset(ubi->volinfo, 0, sizeof(ubi->volinfo)); in ipl_scan()
711 ubi_scan_vid_hdr(ubi, ubi->blockinfo + pnum, pnum); in ipl_scan()
875 struct ubi_scan_info *ubi = info->ubi; in ubispl_load_volumes() local
891 ubi->leb_size = info->peb_size - ubi->leb_start; in ubispl_load_volumes()
[all …]
/openbmc/u-boot/cmd/
H A Dubi.c43 if (!ubi->volumes[i]) in display_volume_info()
54 ubi->peb_size, ubi->peb_size >> 10); in display_ubi_info()
60 ubi->vid_hdr_offset, ubi->vid_hdr_aloffset); in display_ubi_info()
71 ubi_msg("max/mean erase counter: %d/%d", ubi->max_ec, ubi->mean_ec); in display_ubi_info()
228 i = ubi->beb_rsvd_level - ubi->beb_rsvd_pebs; in ubi_remove_vol()
230 i = ubi->avail_pebs >= i ? i : ubi->avail_pebs; in ubi_remove_vol()
432 if (ubi) in ubi_detach()
435 ubi = NULL; in ubi_detach()
483 if (!ubi) { in do_ubi()
489 ubi->ubi_num, ubi->ubi_name, ubi->mtd->name); in do_ubi()
[all …]

12345678