Home
last modified time | relevance | path

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

123456

/openbmc/u-boot/drivers/mtd/ubi/
H A Dbuild.c182 int ubi_volume_notify(struct ubi_device *ubi, struct ubi_volume *vol, int ntype) in ubi_volume_notify() argument
187 ubi_do_get_device_info(ubi, &nt.di); in ubi_volume_notify()
188 ubi_do_get_volume_info(ubi, vol, &nt.vi); in ubi_volume_notify()
195 ret = ubi_update_fastmap(ubi); in ubi_volume_notify()
197 ubi_msg(ubi, "Unable to write a new fastmap: %i", ret); in ubi_volume_notify()
214 int ubi_notify_all(struct ubi_device *ubi, int ntype, struct notifier_block *nb) in ubi_notify_all() argument
222 ubi_do_get_device_info(ubi, &nt.di); in ubi_notify_all()
224 mutex_lock(&ubi->device_mutex); in ubi_notify_all()
225 for (i = 0; i < ubi->vtbl_slots; i++) { in ubi_notify_all()
231 if (!ubi->volumes[i]) in ubi_notify_all()
[all …]
H A Dwl.c130 static int self_check_ec(struct ubi_device *ubi, int pnum, int ec);
131 static int self_check_in_wl_tree(const struct ubi_device *ubi,
133 static int self_check_in_pq(const struct ubi_device *ubi,
180 static void wl_entry_destroy(struct ubi_device *ubi, struct ubi_wl_entry *e) in wl_entry_destroy() argument
182 ubi->lookuptbl[e->pnum] = NULL; in wl_entry_destroy()
193 static int do_work(struct ubi_device *ubi) in do_work() argument
206 down_read(&ubi->work_sem); in do_work()
207 spin_lock(&ubi->wl_lock); in do_work()
208 if (list_empty(&ubi->works)) { in do_work()
209 spin_unlock(&ubi->wl_lock); in do_work()
[all …]
H A Dfastmap-wl.c16 void update_fastmap_work_fn(struct ubi_device *ubi) in update_fastmap_work_fn()
20 struct ubi_device *ubi = container_of(wrk, struct ubi_device, fm_work); in update_fastmap_work_fn() local
23 ubi_update_fastmap(ubi); in update_fastmap_work_fn()
24 spin_lock(&ubi->wl_lock); in update_fastmap_work_fn()
25 ubi->fm_work_scheduled = 0; in update_fastmap_work_fn()
26 spin_unlock(&ubi->wl_lock); in update_fastmap_work_fn()
54 static void return_unused_pool_pebs(struct ubi_device *ubi, in return_unused_pool_pebs() argument
61 e = ubi->lookuptbl[pool->pebs[i]]; in return_unused_pool_pebs()
62 wl_tree_add(e, &ubi->free); in return_unused_pool_pebs()
63 ubi->free_count++; in return_unused_pool_pebs()
[all …]
H A Dio.c87 static int self_check_not_bad(const struct ubi_device *ubi, int pnum);
88 static int self_check_peb_ec_hdr(const struct ubi_device *ubi, int pnum);
89 static int self_check_ec_hdr(const struct ubi_device *ubi, int pnum,
91 static int self_check_peb_vid_hdr(const struct ubi_device *ubi, int pnum);
92 static int self_check_vid_hdr(const struct ubi_device *ubi, int pnum,
94 static int self_check_write(struct ubi_device *ubi, const void *buf, int pnum,
119 int ubi_io_read(const struct ubi_device *ubi, void *buf, int pnum, int offset, in ubi_io_read() argument
128 ubi_assert(pnum >= 0 && pnum < ubi->peb_count); in ubi_io_read()
129 ubi_assert(offset >= 0 && offset + len <= ubi->peb_size); in ubi_io_read()
132 err = self_check_not_bad(ubi, pnum); in ubi_io_read()
[all …]
H A Deba.c52 unsigned long long ubi_next_sqnum(struct ubi_device *ubi) in ubi_next_sqnum() argument
56 spin_lock(&ubi->ltree_lock); in ubi_next_sqnum()
57 sqnum = ubi->global_sqnum++; in ubi_next_sqnum()
58 spin_unlock(&ubi->ltree_lock); in ubi_next_sqnum()
71 static int ubi_get_compat(const struct ubi_device *ubi, int vol_id) in ubi_get_compat() argument
88 static struct ubi_ltree_entry *ltree_lookup(struct ubi_device *ubi, int vol_id, in ltree_lookup() argument
93 p = ubi->ltree.rb_node; in ltree_lookup()
127 static struct ubi_ltree_entry *ltree_add_entry(struct ubi_device *ubi, in ltree_add_entry() argument
141 spin_lock(&ubi->ltree_lock); in ltree_add_entry()
142 le1 = ltree_lookup(ubi, vol_id, lnum); in ltree_add_entry()
[all …]
H A Dvmt.c25 static int self_check_volumes(struct ubi_device *ubi);
66 struct ubi_device *ubi; in vol_attribute_show() local
68 ubi = ubi_get_device(vol->ubi->ubi_num); in vol_attribute_show()
69 if (!ubi) in vol_attribute_show()
72 spin_lock(&ubi->volumes_lock); in vol_attribute_show()
73 if (!ubi->volumes[vol->vol_id]) { in vol_attribute_show()
74 spin_unlock(&ubi->volumes_lock); in vol_attribute_show()
75 ubi_put_device(ubi); in vol_attribute_show()
80 spin_unlock(&ubi->volumes_lock); in vol_attribute_show()
109 spin_lock(&ubi->volumes_lock); in vol_attribute_show()
[all …]
H A Dvtbl.c60 static void self_vtbl_check(const struct ubi_device *ubi);
69 static int ubi_update_layout_vol(struct ubi_device *ubi) in ubi_update_layout_vol() argument
74 layout_vol = ubi->volumes[vol_id2idx(ubi, UBI_LAYOUT_VOLUME_ID)]; in ubi_update_layout_vol()
76 err = ubi_eba_atomic_leb_change(ubi, layout_vol, i, ubi->vtbl, in ubi_update_layout_vol()
77 ubi->vtbl_size); in ubi_update_layout_vol()
96 int ubi_change_vtbl_record(struct ubi_device *ubi, int idx, in ubi_change_vtbl_record() argument
102 ubi_assert(idx >= 0 && idx < ubi->vtbl_slots); in ubi_change_vtbl_record()
111 memcpy(&ubi->vtbl[idx], vtbl_rec, sizeof(struct ubi_vtbl_record)); in ubi_change_vtbl_record()
112 err = ubi_update_layout_vol(ubi); in ubi_change_vtbl_record()
114 self_vtbl_check(ubi); in ubi_change_vtbl_record()
[all …]
H A Dmisc.c23 int ubi_calc_data_len(const struct ubi_device *ubi, const void *buf, in ubi_calc_data_len() argument
28 ubi_assert(!(length & (ubi->min_io_size - 1))); in ubi_calc_data_len()
35 length = ALIGN(i + 1, ubi->min_io_size); in ubi_calc_data_len()
49 int ubi_check_volume(struct ubi_device *ubi, int vol_id) in ubi_check_volume() argument
53 struct ubi_volume *vol = ubi->volumes[vol_id]; in ubi_check_volume()
72 err = ubi_eba_read_leb(ubi, vol, i, buf, 0, size, 1); in ubi_check_volume()
93 void ubi_update_reserved(struct ubi_device *ubi) in ubi_update_reserved() argument
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()
[all …]
H A Dubi.h45 #define ubi_msg(ubi, fmt, ...) argument
47 #define ubi_msg(ubi, fmt, ...) printk(UBI_NAME_STR "%d: " fmt "\n", \ argument
48 ubi->ubi_num, ##__VA_ARGS__)
52 #define ubi_warn(ubi, fmt, ...) pr_warn(UBI_NAME_STR "%d warning: %s: " fmt "\n", \ argument
53 ubi->ubi_num, __func__, ##__VA_ARGS__)
55 #define ubi_err(ubi, fmt, ...) pr_err(UBI_NAME_STR "%d error: %s: " fmt "\n", \ argument
56 ubi->ubi_num, __func__, ##__VA_ARGS__)
314 struct ubi_device *ubi; member
765 int (*func)(struct ubi_device *ubi, struct ubi_work *wrk, int shutdown);
785 int ubi_add_to_av(struct ubi_device *ubi, struct ubi_attach_info *ai, int pnum,
[all …]
H A Dkapi.c31 void ubi_do_get_device_info(struct ubi_device *ubi, struct ubi_device_info *di) in ubi_do_get_device_info() argument
33 di->ubi_num = ubi->ubi_num; in ubi_do_get_device_info()
34 di->leb_size = ubi->leb_size; in ubi_do_get_device_info()
35 di->leb_start = ubi->leb_start; in ubi_do_get_device_info()
36 di->min_io_size = ubi->min_io_size; in ubi_do_get_device_info()
37 di->max_write_size = ubi->max_write_size; in ubi_do_get_device_info()
38 di->ro_mode = ubi->ro_mode; in ubi_do_get_device_info()
40 di->cdev = ubi->cdev.dev; in ubi_do_get_device_info()
55 struct ubi_device *ubi; in ubi_get_device_info() local
59 ubi = ubi_get_device(ubi_num); in ubi_get_device_info()
[all …]
H A Dfastmap.c25 static inline int *init_seen(struct ubi_device *ubi) in init_seen() argument
29 if (!ubi_dbg_chk_fastmap(ubi)) in init_seen()
32 ret = kcalloc(ubi->peb_count, sizeof(int), GFP_KERNEL); in init_seen()
54 static inline void set_seen(struct ubi_device *ubi, int pnum, int *seen) in set_seen() argument
56 if (!ubi_dbg_chk_fastmap(ubi) || !seen) in set_seen()
67 static int self_check_seen(struct ubi_device *ubi, int *seen) in self_check_seen() argument
71 if (!ubi_dbg_chk_fastmap(ubi) || !seen) in self_check_seen()
74 for (pnum = 0; pnum < ubi->peb_count; pnum++) { in self_check_seen()
75 if (!seen[pnum] && ubi->lookuptbl[pnum]) { in self_check_seen()
76 ubi_err(ubi, "self-check failed for PEB %d, fastmap didn't see it", pnum); in self_check_seen()
[all …]
H A Dattach.c87 static int self_check_ai(struct ubi_device *ubi, struct ubi_attach_info *ai);
187 static int validate_vid_hdr(const struct ubi_device *ubi, in validate_vid_hdr() argument
206 ubi_err(ubi, "inconsistent vol_id"); in validate_vid_hdr()
216 ubi_err(ubi, "inconsistent vol_type"); in validate_vid_hdr()
221 ubi_err(ubi, "inconsistent used_ebs"); in validate_vid_hdr()
226 ubi_err(ubi, "inconsistent data_pad"); in validate_vid_hdr()
234 ubi_err(ubi, "inconsistent VID header at PEB %d", pnum); in validate_vid_hdr()
319 int ubi_compare_lebs(struct ubi_device *ubi, const struct ubi_ainf_peb *aeb, in ubi_compare_lebs() argument
336 ubi_err(ubi, "unsupported on-flash UBI format"); in ubi_compare_lebs()
367 vh = ubi_zalloc_vid_hdr(ubi, GFP_KERNEL); in ubi_compare_lebs()
[all …]
H A Ddebug.h11 void ubi_dump_flash(struct ubi_device *ubi, int pnum, int offset, int len);
52 int ubi_self_check_all_ff(struct ubi_device *ubi, int pnum, int offset,
56 int ubi_debugfs_init_dev(struct ubi_device *ubi);
57 void ubi_debugfs_exit_dev(struct ubi_device *ubi);
66 static inline int ubi_dbg_is_bgt_disabled(const struct ubi_device *ubi) in ubi_dbg_is_bgt_disabled() argument
68 return ubi->dbg.disable_bgt; in ubi_dbg_is_bgt_disabled()
77 static inline int ubi_dbg_is_bitflip(const struct ubi_device *ubi) in ubi_dbg_is_bitflip() argument
79 if (ubi->dbg.emulate_bitflips) in ubi_dbg_is_bitflip()
91 static inline int ubi_dbg_is_write_failure(const struct ubi_device *ubi) in ubi_dbg_is_write_failure() argument
93 if (ubi->dbg.emulate_io_failures) in ubi_dbg_is_write_failure()
[all …]
H A Dwl.h8 void update_fastmap_work_fn(struct ubi_device *ubi);
11 static struct ubi_wl_entry *get_peb_for_wl(struct ubi_device *ubi);
12 static void ubi_fastmap_close(struct ubi_device *ubi);
13 static inline void ubi_fastmap_init(struct ubi_device *ubi, int *count) in ubi_fastmap_init() argument
16 *count += (ubi->fm_size / ubi->leb_size) * 2; in ubi_fastmap_init()
18 INIT_WORK(&ubi->fm_work, update_fastmap_work_fn); in ubi_fastmap_init()
21 static struct ubi_wl_entry *may_reserve_for_fm(struct ubi_device *ubi,
25 static struct ubi_wl_entry *get_peb_for_wl(struct ubi_device *ubi);
26 static inline void ubi_fastmap_close(struct ubi_device *ubi) { } in ubi_fastmap_close() argument
27 static inline void ubi_fastmap_init(struct ubi_device *ubi, int *count) { } in ubi_fastmap_init() argument
[all …]
H A Dupd.c47 static int set_update_marker(struct ubi_device *ubi, struct ubi_volume *vol) in set_update_marker() argument
55 ubi_assert(ubi->vtbl[vol->vol_id].upd_marker); in set_update_marker()
60 vtbl_rec = ubi->vtbl[vol->vol_id]; in set_update_marker()
63 mutex_lock(&ubi->device_mutex); in set_update_marker()
64 err = ubi_change_vtbl_record(ubi, vol->vol_id, &vtbl_rec); in set_update_marker()
66 mutex_unlock(&ubi->device_mutex); in set_update_marker()
80 static int clear_update_marker(struct ubi_device *ubi, struct ubi_volume *vol, in clear_update_marker() argument
88 vtbl_rec = ubi->vtbl[vol->vol_id]; in clear_update_marker()
103 mutex_lock(&ubi->device_mutex); in clear_update_marker()
104 err = ubi_change_vtbl_record(ubi, vol->vol_id, &vtbl_rec); in clear_update_marker()
[all …]
H A Ddebug.c24 void ubi_dump_flash(struct ubi_device *ubi, int pnum, int offset, int len) in ubi_dump_flash() argument
29 loff_t addr = (loff_t)pnum * ubi->peb_size + offset; in ubi_dump_flash()
34 err = mtd_read(ubi->mtd, addr, len, &read, buf); in ubi_dump_flash()
36 ubi_err(ubi, "err %d while reading %d bytes from PEB %d:%d, read %zd bytes", in ubi_dump_flash()
41 ubi_msg(ubi, "dumping %d bytes of data from PEB %d, offset %d", in ubi_dump_flash()
255 struct ubi_device *ubi; in dfs_file_read() local
260 ubi = ubi_get_device(ubi_num); in dfs_file_read()
261 if (!ubi) in dfs_file_read()
263 d = &ubi->dbg; in dfs_file_read()
308 ubi_put_device(ubi); in dfs_file_read()
[all …]
/openbmc/u-boot/drivers/mtd/ubispl/
H A Dubispl.c22 static size_t ubi_calc_fm_size(struct ubi_scan_info *ubi) in ubi_calc_fm_size() argument
30 (ubi->peb_count * sizeof(struct ubi_fm_ec)) + in ubi_calc_fm_size()
32 (ubi->peb_count * sizeof(__be32))) + in ubi_calc_fm_size()
34 return roundup(size, ubi->leb_size); in ubi_calc_fm_size()
37 static int ubi_io_read(struct ubi_scan_info *ubi, void *buf, int pnum, in ubi_io_read() argument
40 return ubi->read(pnum + ubi->peb_offset, from, len, buf); in ubi_io_read()
43 static int ubi_io_is_bad(struct ubi_scan_info *ubi, int peb) in ubi_io_is_bad() argument
45 return peb >= ubi->peb_count || peb < 0; in ubi_io_is_bad()
48 static int ubi_io_read_vid_hdr(struct ubi_scan_info *ubi, int pnum, in ubi_io_read_vid_hdr() argument
55 if (test_bit(pnum, ubi->corrupt)) in ubi_io_read_vid_hdr()
[all …]
/openbmc/u-boot/cmd/
H A Dubi.c32 static struct ubi_device *ubi; variable
38 static void display_volume_info(struct ubi_device *ubi) in display_volume_info() argument
42 for (i = 0; i < (ubi->vtbl_slots + 1); i++) { in display_volume_info()
43 if (!ubi->volumes[i]) in display_volume_info()
45 ubi_dump_vol_info(ubi->volumes[i]); in display_volume_info()
49 static void display_ubi_info(struct ubi_device *ubi) in display_ubi_info() argument
51 ubi_msg("MTD device name: \"%s\"", ubi->mtd->name); in display_ubi_info()
52 ubi_msg("MTD device size: %llu MiB", ubi->flash_size >> 20); in display_ubi_info()
54 ubi->peb_size, ubi->peb_size >> 10); in display_ubi_info()
55 ubi_msg("logical eraseblock size: %d bytes", ubi->leb_size); in display_ubi_info()
[all …]
/openbmc/u-boot/doc/
H A DREADME.ubi6 The first is the ubi command, which has six subcommands:
8 => help ubi
9 ubi - ubi commands
12 ubi part [part] [offset]
14 ubi info [l[ayout]] - Display volume and ubi layout information
15 ubi create[vol] volume [size] [type] - create volume name with size
16 ubi write[vol] address volume size - Write volume from address with size
17 ubi write.part address volume size [fullsize]
19 ubi read[vol] address volume [size] - Read volume to address with size
20 ubi remove[vol] volume - Remove volume
[all …]
/openbmc/openbmc/meta-phosphor/dynamic-layers/aspeed-layer/recipes-bsp/u-boot/files/
H A D0003-config-ast-common-Add-bootopts-to-support-ubi-and-mt.patch4 Subject: [PATCH 3/4] config/ast-common: Add bootopts to support ubi and mtd
26 +#define MTDPARTS_DEFAULT "mtdparts=bmc:384k(u-boot),128k(u-boot-env),-(obmc-ubi)"
36 +#define CONFIG_BOOTARGS "console=ttyS4,115200n8 ubi.mtd=obmc-ubi,0,0,0 ubi.mtd=alt-obmc-ubi,0,0,…
60 + "set_bootargs=setenv bootargs " CONFIG_BOOTARGS " ubi.block=\${ubiblock} root=\${root} \0" \
61 + "obmc_bootcmd=ubi part obmc-ubi; ubi read ${loadaddr} ${kernelname}; bootm ${loadaddr} \0" \
H A D0004-config-ast-common-Add-conditional-factory-reset-comm.patch34 "set_bootargs=setenv bootargs " CONFIG_BOOTARGS " ubi.block=\${ubiblock} root=\${root} \0" \
35 - "obmc_bootcmd=ubi part obmc-ubi; ubi read ${loadaddr} ${kernelname}; bootm ${loadaddr} \0" \
36 + "obmc_bootcmd=ubi part obmc-ubi; run do_rwreset; ubi read ${loadaddr} ${kernelname}; bootm ${load…
42 + "do_rwreset=if test \"\${rwreset}\" = \"true\"; then ubi remove rwfs; ubi create rwfs \${rwfs_siz…
H A D0005-config-ast-common-Fall-back-to-secondary-flash-on-fa.patch28 "set_bootargs=setenv bootargs " CONFIG_BOOTARGS " ubi.block=\${ubiblock} root=\${root} \0" \
29 - "obmc_bootcmd=ubi part obmc-ubi; run do_rwreset; ubi read ${loadaddr} ${kernelname}; bootm ${load…
30 + "obmc_bootcmd=ubi part obmc-ubi; run do_rwreset; ubi read ${loadaddr} ${kernelname}; bootm ${load…
/openbmc/u-boot/doc/device-tree-bindings/misc/
H A Dfs_loader.txt11 - mdtpart: which partition of ubi the image loading from, this property is
12 required for ubi and mounting.
13 - ubivol: which volume of ubi the image loading from, this property is required
14 for ubi and mounting.
17 ubi in device tree source as shown in below:
20 sata and ubi as shown in below:
42 Example for ubi:
/openbmc/openbmc/meta-aspeed/recipes-kernel/linux/
H A Dlinux-aspeed.inc17 'obmc-static-norootfs obmc-ubi-fs', \
18 'file://ubi/ubi.scc file://ubi/ubi.cfg', '', d)} \
/openbmc/openpower-pnor-code-mgmt/
H A Dmeson.build106 subs.set('UBIFS_LAYOUT', get_option('device-type') == 'ubi')
113 if get_option('device-type') == 'ubi'
115 'ubi/activation_ubi.cpp',
116 'ubi/item_updater_ubi.cpp',
117 'ubi/serialize.cpp',
118 'ubi/watch.cpp',
120 extra_scripts += ['ubi/obmc-flash-bios']
122 'ubi/obmc-flash-bios-cleanup.service',
123 'ubi/obmc-flash-bios-ubiattach.service',
124 'ubi/obmc-flash-bios-ubimount@.service',
[all …]

123456