Lines Matching refs:cxt

118 	struct ramoops_context *cxt = psi->data;
120 cxt->dump_read_cnt = 0;
121 cxt->console_read_cnt = 0;
122 cxt->ftrace_read_cnt = 0;
123 cxt->pmsg_read_cnt = 0;
124 cxt->blackbox_read_cnt = 0;
191 struct ramoops_context *cxt = record->psi->data;
206 while (cxt->dump_read_cnt < cxt->max_dump_cnt && !prz) {
207 prz = ramoops_get_next_prz(cxt->dprzs, cxt->dump_read_cnt++,
222 if (!prz_ok(prz) && !cxt->console_read_cnt++)
223 prz = ramoops_get_next_prz(&cxt->cprz, 0 /* single */, record);
225 if (!prz_ok(prz) && !cxt->pmsg_read_cnt++)
226 prz = ramoops_get_next_prz(&cxt->mprz, 0 /* single */, record);
228 if (!prz_ok(prz) && !cxt->blackbox_read_cnt++)
229 prz = ramoops_get_next_prz(&cxt->bprz, 0 /* single */, record);
233 if (!(cxt->flags & RAMOOPS_FLAG_FTRACE_PER_CPU) &&
234 !cxt->ftrace_read_cnt++) {
235 prz = ramoops_get_next_prz(cxt->fprzs, 0 /* single */,
251 while (cxt->ftrace_read_cnt < cxt->max_ftrace_cnt) {
252 prz_next = ramoops_get_next_prz(cxt->fprzs,
253 cxt->ftrace_read_cnt++, record);
324 struct ramoops_context *cxt = record->psi->data;
329 if (!cxt->cprz)
331 persistent_ram_write(cxt->cprz, record->buf, record->size);
336 if (!cxt->fprzs)
341 if (cxt->flags & RAMOOPS_FLAG_FTRACE_PER_CPU)
346 persistent_ram_write(cxt->fprzs[zonenum], record->buf,
353 if (!cxt->bprz)
355 persistent_ram_write(cxt->bprz, record->buf, record->size);
381 if (!cxt->dprzs)
384 prz = cxt->dprzs[cxt->dump_write_cnt];
407 cxt->dump_write_cnt = (cxt->dump_write_cnt + 1) % cxt->max_dump_cnt;
416 struct ramoops_context *cxt = record->psi->data;
418 if (!cxt->mprz)
420 return persistent_ram_write_user(cxt->mprz, buf, record->size);
428 struct ramoops_context *cxt = record->psi->data;
433 if (record->id >= cxt->max_dump_cnt)
435 prz = cxt->dprzs[record->id];
438 prz = cxt->cprz;
441 if (record->id >= cxt->max_ftrace_cnt)
443 prz = cxt->fprzs[record->id];
446 prz = cxt->mprz;
449 prz = cxt->bprz;
473 static void ramoops_free_przs(struct ramoops_context *cxt)
478 if (cxt->dprzs) {
479 for (i = 0; i < cxt->max_dump_cnt; i++)
480 persistent_ram_free(cxt->dprzs[i]);
482 kfree(cxt->dprzs);
483 cxt->max_dump_cnt = 0;
487 if (cxt->fprzs) {
488 for (i = 0; i < cxt->max_ftrace_cnt; i++)
489 persistent_ram_free(cxt->fprzs[i]);
490 kfree(cxt->fprzs);
491 cxt->max_ftrace_cnt = 0;
496 struct device *dev, struct ramoops_context *cxt,
536 if (*paddr + mem_sz - cxt->phys_addr > cxt->size) {
540 cxt->size, (unsigned long long)cxt->phys_addr);
564 &cxt->ecc_info,
565 cxt->memtype, flags, label);
593 struct device *dev, struct ramoops_context *cxt,
602 if (*paddr + sz - cxt->phys_addr > cxt->size) {
605 cxt->size, (unsigned long long)cxt->phys_addr);
610 *prz = persistent_ram_new(*paddr, sz, sig, &cxt->ecc_info,
611 cxt->memtype, PRZ_FLAG_ZAP_OLD, label);
734 struct ramoops_context *cxt = &oops_cxt;
743 if (cxt->max_dump_cnt) {
783 cxt->size = pdata->mem_size;
784 cxt->phys_addr = pdata->mem_address;
785 cxt->memtype = pdata->mem_type;
786 cxt->record_size = pdata->record_size;
787 cxt->console_size = pdata->console_size;
788 cxt->ftrace_size = pdata->ftrace_size;
789 cxt->pmsg_size = pdata->pmsg_size;
790 cxt->blackbox_size = pdata->blackbox_size;
791 cxt->flags = pdata->flags;
792 cxt->ecc_info = pdata->ecc_info;
794 paddr = cxt->phys_addr;
796 dump_mem_sz = cxt->size - cxt->console_size - cxt->ftrace_size
797 - cxt->pmsg_size - cxt->blackbox_size;
799 err = ramoops_init_prz("blackbox", dev, cxt, &cxt->bprz, &paddr,
800 cxt->blackbox_size, 0);
808 err = ramoops_init_przs("dmesg", dev, cxt, &cxt->dprzs, &paddr,
809 dump_mem_sz, cxt->record_size,
810 &cxt->max_dump_cnt, 0, 0);
814 err = ramoops_init_prz("console", dev, cxt, &cxt->cprz, &paddr,
815 cxt->console_size, 0);
819 cxt->max_ftrace_cnt = (cxt->flags & RAMOOPS_FLAG_FTRACE_PER_CPU)
822 err = ramoops_init_przs("ftrace", dev, cxt, &cxt->fprzs, &paddr,
823 cxt->ftrace_size, -1,
824 &cxt->max_ftrace_cnt, LINUX_VERSION_CODE,
825 (cxt->flags & RAMOOPS_FLAG_FTRACE_PER_CPU)
830 err = ramoops_init_prz("pmsg", dev, cxt, &cxt->mprz, &paddr,
831 cxt->pmsg_size, 0);
835 cxt->pstore.data = cxt;
842 cxt->pstore.flags = 0;
843 if (cxt->max_dump_cnt) {
844 cxt->pstore.flags |= PSTORE_FLAGS_DMESG;
845 cxt->pstore.max_reason = pdata->max_reason;
847 if (cxt->console_size)
848 cxt->pstore.flags |= PSTORE_FLAGS_CONSOLE;
849 if (cxt->max_ftrace_cnt)
850 cxt->pstore.flags |= PSTORE_FLAGS_FTRACE;
851 if (cxt->pmsg_size)
852 cxt->pstore.flags |= PSTORE_FLAGS_PMSG;
853 if (cxt->blackbox_size)
854 cxt->pstore.flags |= PSTORE_FLAGS_BLACKBOX;
861 if (cxt->pstore.flags & PSTORE_FLAGS_DMESG) {
862 cxt->pstore.bufsize = cxt->dprzs[0]->buffer_size;
863 cxt->pstore.buf = kzalloc(cxt->pstore.bufsize, GFP_KERNEL);
864 if (!cxt->pstore.buf) {
871 err = pstore_register(&cxt->pstore);
891 cxt->size, (unsigned long long)cxt->phys_addr,
892 cxt->ecc_info.ecc_size);
897 kfree(cxt->pstore.buf);
899 cxt->pstore.bufsize = 0;
900 persistent_ram_free(cxt->mprz);
903 persistent_ram_free(cxt->cprz);
905 persistent_ram_free(cxt->bprz);
907 ramoops_free_przs(cxt);
914 struct ramoops_context *cxt = &oops_cxt;
916 pstore_unregister(&cxt->pstore);
918 kfree(cxt->pstore.buf);
919 cxt->pstore.bufsize = 0;
921 persistent_ram_free(cxt->mprz);
922 persistent_ram_free(cxt->cprz);
923 persistent_ram_free(cxt->bprz);
924 ramoops_free_przs(cxt);