Home | History | Annotate | Download | only in ubi

Lines Matching refs:pnum

96  * @pnum: physical eraseblock number to add
104 * eraseblock @pnum and adds it to the "free", "erase", or "alien" lists.
114 static int add_to_list(struct ubi_attach_info *ai, int pnum, int vol_id,
120 dbg_bld("add to free: PEB %d, EC %d", pnum, ec);
122 dbg_bld("add to erase: PEB %d, EC %d", pnum, ec);
124 dbg_bld("add to alien: PEB %d, EC %d", pnum, ec);
133 aeb->pnum = pnum;
147 * @pnum: physical eraseblock number to add
151 * physical eraseblock @pnum and adds it to the 'corr' list. The corruption
155 static int add_corrupted(struct ubi_attach_info *ai, int pnum, int ec)
159 dbg_bld("add to corrupted: PEB %d, EC %d", pnum, ec);
166 aeb->pnum = pnum;
177 * @pnum: physical eraseblock number the VID header came from
189 const struct ubi_ainf_volume *av, int pnum)
234 ubi_err(ubi, "inconsistent VID header at PEB %d", pnum);
244 * @pnum: physical eraseblock number
254 int vol_id, int pnum,
303 * @pnum: physical eraseblock number of the second logical eraseblock to
312 * second PEB (described by @pnum and @vid_hdr);
320 int pnum, const struct ubi_vid_hdr *vid_hdr)
356 pnum);
363 pnum);
371 pnum = aeb->pnum;
372 err = ubi_io_read_vid_hdr(ubi, pnum, vh, 0);
378 pnum, err);
394 err = ubi_io_read_data(ubi, ubi->peb_buf, pnum, 0, len);
402 pnum, crc, data_crc);
407 dbg_bld("PEB %d CRC is OK", pnum);
415 dbg_bld("second PEB %d is newer, copy_flag is set", pnum);
417 dbg_bld("first PEB %d is newer, copy_flag is set", pnum);
432 * @pnum: the physical eraseblock number
444 int ubi_add_to_av(struct ubi_device *ubi, struct ubi_attach_info *ai, int pnum,
458 pnum, vol_id, lnum, ec, sqnum, bitflips);
460 av = add_volume(ai, vol_id, pnum, vid_hdr);
491 aeb->pnum, aeb->sqnum, aeb->ec);
518 cmp_res = ubi_compare_lebs(ubi, aeb, pnum, vid_hdr);
527 err = validate_vid_hdr(ubi, vid_hdr, av, pnum);
531 err = add_to_list(ai, aeb->pnum, aeb->vol_id,
538 aeb->pnum = pnum;
555 return add_to_list(ai, pnum, vol_id, lnum, ec,
565 err = validate_vid_hdr(ubi, vid_hdr, av, pnum);
574 aeb->pnum = pnum;
648 * @pnum: physical eraseblock number to erase;
651 * This function erases physical eraseblock 'pnum', and writes the erase
658 const struct ubi_attach_info *ai, int pnum, int ec)
669 pnum, ec);
679 err = ubi_io_sync_erase(ubi, pnum, 0);
683 err = ubi_io_write_ec_hdr(ubi, pnum, ec_hdr);
713 dbg_bld("return free PEB %d, EC %d", aeb->pnum, aeb->ec);
727 err = early_erase_peb(ubi, ai, aeb->pnum, aeb->ec+1);
733 dbg_bld("return PEB %d, EC %d", aeb->pnum, aeb->ec);
745 * @pnum: the physical eraseblock number to check
759 int pnum)
766 err = ubi_io_read(ubi, ubi->peb_buf, pnum, ubi->leb_start,
787 pnum);
791 pnum, ubi->leb_start, ubi->leb_size);
805 * @pnum: the physical eraseblock number
809 * This function reads UBI headers of PEB @pnum, checks them, and adds
815 int pnum, int *vid, unsigned long long *sqnum)
820 dbg_bld("scan PEB %d", pnum);
823 err = ubi_io_is_bad(ubi, pnum);
831 err = ubi_io_read_ec_hdr(ubi, pnum, ech, 0);
842 return add_to_list(ai, pnum, UBI_UNKNOWN, UBI_UNKNOWN,
846 return add_to_list(ai, pnum, UBI_UNKNOWN, UBI_UNKNOWN,
906 image_seq, pnum, ubi->image_seq);
914 err = ubi_io_read_vid_hdr(ubi, pnum, vidh, 0);
952 err = check_corruption(ubi, vidh, pnum);
958 err = add_to_list(ai, pnum, UBI_UNKNOWN,
962 err = add_corrupted(ai, pnum, ec);
967 err = add_to_list(ai, pnum, UBI_UNKNOWN, UBI_UNKNOWN,
974 err = add_to_list(ai, pnum, UBI_UNKNOWN,
977 err = add_to_list(ai, pnum, UBI_UNKNOWN,
1004 err = add_to_list(ai, pnum, vol_id, lnum,
1019 err = add_to_list(ai, pnum, vol_id, lnum,
1034 pnum);
1035 err = ubi_add_to_av(ubi, ai, pnum, ec, vidh, bitflips);
1081 pr_cont(" %d", aeb->pnum);
1225 int err, pnum;
1240 for (pnum = start; pnum < ubi->peb_count; pnum++) {
1243 dbg_gen("process PEB %d", pnum);
1244 err = scan_peb(ubi, ai, pnum, NULL, NULL);
1336 int err, pnum, fm_anchor = -1;
1349 for (pnum = 0; pnum < UBI_FM_MAX_START; pnum++) {
1354 dbg_gen("process PEB %d", pnum);
1355 err = scan_peb(ubi, *ai, pnum, &vol_id, &sqnum);
1361 fm_anchor = pnum;
1501 int pnum, err, vols_found = 0;
1562 if (aeb->pnum < 0 || aeb->ec < 0) {
1579 if (aeb->pnum >= ubi->peb_count) {
1581 aeb->pnum, ubi->peb_count);
1636 err = ubi_io_read_vid_hdr(ubi, aeb->pnum, vidh, 1);
1706 for (pnum = 0; pnum < ubi->peb_count; pnum++) {
1707 err = ubi_io_is_bad(ubi, pnum);
1712 buf[pnum] = 1;
1717 buf[aeb->pnum] = 1;
1720 buf[aeb->pnum] = 1;
1723 buf[aeb->pnum] = 1;
1726 buf[aeb->pnum] = 1;
1729 buf[aeb->pnum] = 1;
1732 for (pnum = 0; pnum < ubi->peb_count; pnum++)
1733 if (!buf[pnum]) {
1734 ubi_err(ubi, "PEB %d is not referred", pnum);