Lines Matching refs:cxt

109 	struct ramoops_context *cxt = psi->data;
111 cxt->dump_read_cnt = 0;
112 cxt->console_read_cnt = 0;
113 cxt->ftrace_read_cnt = 0;
114 cxt->pmsg_read_cnt = 0;
181 struct ramoops_context *cxt = record->psi->data;
196 while (cxt->dump_read_cnt < cxt->max_dump_cnt && !prz) {
197 prz = ramoops_get_next_prz(cxt->dprzs, cxt->dump_read_cnt++,
212 if (!prz_ok(prz) && !cxt->console_read_cnt++)
213 prz = ramoops_get_next_prz(&cxt->cprz, 0 /* single */, record);
215 if (!prz_ok(prz) && !cxt->pmsg_read_cnt++)
216 prz = ramoops_get_next_prz(&cxt->mprz, 0 /* single */, record);
220 if (!(cxt->flags & RAMOOPS_FLAG_FTRACE_PER_CPU) &&
221 !cxt->ftrace_read_cnt++) {
222 prz = ramoops_get_next_prz(cxt->fprzs, 0 /* single */,
238 while (cxt->ftrace_read_cnt < cxt->max_ftrace_cnt) {
239 prz_next = ramoops_get_next_prz(cxt->fprzs,
240 cxt->ftrace_read_cnt++, record);
311 struct ramoops_context *cxt = record->psi->data;
316 if (!cxt->cprz)
318 persistent_ram_write(cxt->cprz, record->buf, record->size);
323 if (!cxt->fprzs)
328 if (cxt->flags & RAMOOPS_FLAG_FTRACE_PER_CPU)
333 persistent_ram_write(cxt->fprzs[zonenum], record->buf,
363 if (!cxt->dprzs)
366 prz = cxt->dprzs[cxt->dump_write_cnt];
389 cxt->dump_write_cnt = (cxt->dump_write_cnt + 1) % cxt->max_dump_cnt;
398 struct ramoops_context *cxt = record->psi->data;
400 if (!cxt->mprz)
402 return persistent_ram_write_user(cxt->mprz, buf, record->size);
410 struct ramoops_context *cxt = record->psi->data;
415 if (record->id >= cxt->max_dump_cnt)
417 prz = cxt->dprzs[record->id];
420 prz = cxt->cprz;
423 if (record->id >= cxt->max_ftrace_cnt)
425 prz = cxt->fprzs[record->id];
428 prz = cxt->mprz;
452 static void ramoops_free_przs(struct ramoops_context *cxt)
457 persistent_ram_free(&cxt->mprz);
460 persistent_ram_free(&cxt->cprz);
463 if (cxt->dprzs) {
464 for (i = 0; i < cxt->max_dump_cnt; i++)
465 persistent_ram_free(&cxt->dprzs[i]);
467 kfree(cxt->dprzs);
468 cxt->dprzs = NULL;
469 cxt->max_dump_cnt = 0;
473 if (cxt->fprzs) {
474 for (i = 0; i < cxt->max_ftrace_cnt; i++)
475 persistent_ram_free(&cxt->fprzs[i]);
476 kfree(cxt->fprzs);
477 cxt->fprzs = NULL;
478 cxt->max_ftrace_cnt = 0;
483 struct device *dev, struct ramoops_context *cxt,
523 if (*paddr + mem_sz - cxt->phys_addr > cxt->size) {
527 cxt->size, (unsigned long long)cxt->phys_addr);
551 &cxt->ecc_info,
552 cxt->memtype, flags, label);
581 struct device *dev, struct ramoops_context *cxt,
590 if (*paddr + sz - cxt->phys_addr > cxt->size) {
593 cxt->size, (unsigned long long)cxt->phys_addr);
598 *prz = persistent_ram_new(*paddr, sz, sig, &cxt->ecc_info,
599 cxt->memtype, PRZ_FLAG_ZAP_OLD, label);
724 struct ramoops_context *cxt = &oops_cxt;
733 if (cxt->max_dump_cnt) {
771 cxt->size = pdata->mem_size;
772 cxt->phys_addr = pdata->mem_address;
773 cxt->memtype = pdata->mem_type;
774 cxt->record_size = pdata->record_size;
775 cxt->console_size = pdata->console_size;
776 cxt->ftrace_size = pdata->ftrace_size;
777 cxt->pmsg_size = pdata->pmsg_size;
778 cxt->flags = pdata->flags;
779 cxt->ecc_info = pdata->ecc_info;
781 paddr = cxt->phys_addr;
783 dump_mem_sz = cxt->size - cxt->console_size - cxt->ftrace_size
784 - cxt->pmsg_size;
785 err = ramoops_init_przs("dmesg", dev, cxt, &cxt->dprzs, &paddr,
786 dump_mem_sz, cxt->record_size,
787 &cxt->max_dump_cnt, 0, 0);
791 err = ramoops_init_prz("console", dev, cxt, &cxt->cprz, &paddr,
792 cxt->console_size, 0);
796 err = ramoops_init_prz("pmsg", dev, cxt, &cxt->mprz, &paddr,
797 cxt->pmsg_size, 0);
801 cxt->max_ftrace_cnt = (cxt->flags & RAMOOPS_FLAG_FTRACE_PER_CPU)
804 err = ramoops_init_przs("ftrace", dev, cxt, &cxt->fprzs, &paddr,
805 cxt->ftrace_size, -1,
806 &cxt->max_ftrace_cnt, LINUX_VERSION_CODE,
807 (cxt->flags & RAMOOPS_FLAG_FTRACE_PER_CPU)
812 cxt->pstore.data = cxt;
819 cxt->pstore.flags = 0;
820 if (cxt->max_dump_cnt) {
821 cxt->pstore.flags |= PSTORE_FLAGS_DMESG;
822 cxt->pstore.max_reason = pdata->max_reason;
824 if (cxt->console_size)
825 cxt->pstore.flags |= PSTORE_FLAGS_CONSOLE;
826 if (cxt->max_ftrace_cnt)
827 cxt->pstore.flags |= PSTORE_FLAGS_FTRACE;
828 if (cxt->pmsg_size)
829 cxt->pstore.flags |= PSTORE_FLAGS_PMSG;
836 if (cxt->pstore.flags & PSTORE_FLAGS_DMESG) {
837 cxt->pstore.bufsize = cxt->dprzs[0]->buffer_size;
838 cxt->pstore.buf = kvzalloc(cxt->pstore.bufsize, GFP_KERNEL);
839 if (!cxt->pstore.buf) {
846 err = pstore_register(&cxt->pstore);
865 cxt->size, (unsigned long long)cxt->phys_addr,
866 cxt->ecc_info.ecc_size);
871 kvfree(cxt->pstore.buf);
873 cxt->pstore.bufsize = 0;
875 ramoops_free_przs(cxt);
882 struct ramoops_context *cxt = &oops_cxt;
884 pstore_unregister(&cxt->pstore);
886 kvfree(cxt->pstore.buf);
887 cxt->pstore.bufsize = 0;
889 ramoops_free_przs(cxt);