Lines Matching refs:prz

135 	struct persistent_ram_zone *prz;  in ramoops_get_next_prz()  local
141 prz = przs[id]; in ramoops_get_next_prz()
142 if (!prz) in ramoops_get_next_prz()
146 if (prz->type == PSTORE_TYPE_DMESG) in ramoops_get_next_prz()
147 persistent_ram_save_old(prz); in ramoops_get_next_prz()
149 if (!persistent_ram_old_size(prz)) in ramoops_get_next_prz()
152 record->type = prz->type; in ramoops_get_next_prz()
155 return prz; in ramoops_get_next_prz()
185 static bool prz_ok(struct persistent_ram_zone *prz) in prz_ok() argument
187 return !!prz && !!(persistent_ram_old_size(prz) + in prz_ok()
188 persistent_ram_ecc_string(prz, NULL, 0)); in prz_ok()
195 struct persistent_ram_zone *prz; in ramoops_pstore_read_for_boot_log() local
200 prz = cxt->boot_przs[record->id]; in ramoops_pstore_read_for_boot_log()
202 if (!prz) in ramoops_pstore_read_for_boot_log()
205 persistent_ram_free_old(prz); in ramoops_pstore_read_for_boot_log()
206 persistent_ram_save_old(prz); in ramoops_pstore_read_for_boot_log()
207 record->buf = prz->old_log; in ramoops_pstore_read_for_boot_log()
208 record->size = prz->old_log_size; in ramoops_pstore_read_for_boot_log()
217 struct persistent_ram_zone *prz = NULL; in ramoops_pstore_read() local
231 while (cxt->dump_read_cnt < cxt->max_dump_cnt && !prz) { in ramoops_pstore_read()
232 prz = ramoops_get_next_prz(cxt->dprzs, cxt->dump_read_cnt++, in ramoops_pstore_read()
234 if (!prz_ok(prz)) in ramoops_pstore_read()
236 header_length = ramoops_read_kmsg_hdr(persistent_ram_old(prz), in ramoops_pstore_read()
241 persistent_ram_free_old(prz); in ramoops_pstore_read()
242 persistent_ram_zap(prz); in ramoops_pstore_read()
243 prz = NULL; in ramoops_pstore_read()
247 if (!prz_ok(prz) && !cxt->console_read_cnt++) in ramoops_pstore_read()
248 prz = ramoops_get_next_prz(&cxt->cprz, 0 /* single */, record); in ramoops_pstore_read()
250 if (!prz_ok(prz) && !cxt->pmsg_read_cnt++) in ramoops_pstore_read()
251 prz = ramoops_get_next_prz(&cxt->mprz, 0 /* single */, record); in ramoops_pstore_read()
254 if (!prz_ok(prz)) { in ramoops_pstore_read()
257 prz = ramoops_get_next_prz(cxt->fprzs, 0 /* single */, in ramoops_pstore_read()
270 prz = tmp_prz; in ramoops_pstore_read()
298 if (!prz_ok(prz)) { in ramoops_pstore_read()
299 while (cxt->boot_log_read_cnt < cxt->max_boot_log_cnt && !prz) { in ramoops_pstore_read()
300 prz = ramoops_get_next_prz(cxt->boot_przs, cxt->boot_log_read_cnt++, record); in ramoops_pstore_read()
301 if (!prz_ok(prz)) in ramoops_pstore_read()
307 if (!prz_ok(prz)) { in ramoops_pstore_read()
314 persistent_ram_free_old(prz); in ramoops_pstore_read()
315 persistent_ram_save_old(prz); in ramoops_pstore_read()
319 size = persistent_ram_old_size(prz) - header_length; in ramoops_pstore_read()
322 record->ecc_notice_size = persistent_ram_ecc_string(prz, NULL, 0); in ramoops_pstore_read()
330 memcpy(record->buf, (char *)persistent_ram_old(prz) + header_length, in ramoops_pstore_read()
333 persistent_ram_ecc_string(prz, record->buf + size, in ramoops_pstore_read()
338 kfree(prz->old_log); in ramoops_pstore_read()
339 kfree(prz); in ramoops_pstore_read()
345 static size_t ramoops_write_kmsg_hdr(struct persistent_ram_zone *prz, in ramoops_write_kmsg_hdr() argument
356 persistent_ram_write(prz, hdr, len); in ramoops_write_kmsg_hdr()
364 struct persistent_ram_zone *prz; in ramoops_pstore_write() local
418 prz = cxt->dprzs[cxt->dump_write_cnt]; in ramoops_pstore_write()
429 persistent_ram_zap(prz); in ramoops_pstore_write()
432 hlen = ramoops_write_kmsg_hdr(prz, record); in ramoops_pstore_write()
437 if (size + hlen > prz->buffer_size) in ramoops_pstore_write()
438 size = prz->buffer_size - hlen; in ramoops_pstore_write()
439 persistent_ram_write(prz, record->buf, size); in ramoops_pstore_write()
463 struct persistent_ram_zone *prz; in ramoops_pstore_erase() local
469 prz = cxt->dprzs[record->id]; in ramoops_pstore_erase()
472 prz = cxt->cprz; in ramoops_pstore_erase()
477 prz = cxt->fprzs[record->id]; in ramoops_pstore_erase()
480 prz = cxt->mprz; in ramoops_pstore_erase()
486 persistent_ram_free_old(prz); in ramoops_pstore_erase()
487 persistent_ram_zap(prz); in ramoops_pstore_erase()
633 struct persistent_ram_zone **prz, in ramoops_init_prz() argument
649 *prz = persistent_ram_new(*paddr, sz, sig, &cxt->ecc_info, in ramoops_init_prz()
652 if (IS_ERR(*prz)) { in ramoops_init_prz()
653 int err = PTR_ERR(*prz); in ramoops_init_prz()
661 (*prz)->type = pstore_name_to_type(name); in ramoops_init_prz()
783 static void _ramoops_register_ram_zone_info_to_minidump(struct persistent_ram_zone *prz) in _ramoops_register_ram_zone_info_to_minidump() argument
787 strscpy(md_entry.name, prz->label, sizeof(md_entry.name)); in _ramoops_register_ram_zone_info_to_minidump()
789 md_entry.virt_addr = (u64)prz->vaddr; in _ramoops_register_ram_zone_info_to_minidump()
790 md_entry.phys_addr = prz->paddr; in _ramoops_register_ram_zone_info_to_minidump()
791 md_entry.size = prz->size; in _ramoops_register_ram_zone_info_to_minidump()
794 pr_err("Failed to add %s in Minidump\n", prz->label); in _ramoops_register_ram_zone_info_to_minidump()
800 struct persistent_ram_zone *prz = NULL; in ramoops_register_ram_zone_info_to_minidump() local
803 prz = cxt->boot_przs[i]; in ramoops_register_ram_zone_info_to_minidump()
804 _ramoops_register_ram_zone_info_to_minidump(prz); in ramoops_register_ram_zone_info_to_minidump()
808 prz = cxt->dprzs[i]; in ramoops_register_ram_zone_info_to_minidump()
809 _ramoops_register_ram_zone_info_to_minidump(prz); in ramoops_register_ram_zone_info_to_minidump()
813 prz = cxt->fprzs[i]; in ramoops_register_ram_zone_info_to_minidump()
814 _ramoops_register_ram_zone_info_to_minidump(prz); in ramoops_register_ram_zone_info_to_minidump()
817 prz = cxt->cprz; in ramoops_register_ram_zone_info_to_minidump()
818 _ramoops_register_ram_zone_info_to_minidump(prz); in ramoops_register_ram_zone_info_to_minidump()
820 prz = cxt->mprz; in ramoops_register_ram_zone_info_to_minidump()
821 _ramoops_register_ram_zone_info_to_minidump(prz); in ramoops_register_ram_zone_info_to_minidump()