Merge "video: driver: add support to dump subsystem memory"

此提交包含在:
qctecmdr
2021-07-14 15:52:50 -07:00
提交者 Gerrit - the friendly Code Review server
當前提交 36d28e81f7

查看文件

@@ -384,7 +384,7 @@ void fw_coredump(struct msm_vidc_core *core)
phys_addr_t mem_phys = 0;
size_t res_size = 0;
void *mem_va = NULL;
char *data = NULL;
char *data = NULL, *dump = NULL;
u64 total_size;
if (!core) {
@@ -415,22 +415,28 @@ void fw_coredump(struct msm_vidc_core *core)
d_vpr_e("%s: unable to remap firmware memory\n", __func__);
return;
}
total_size = res_size + TOTAL_QSIZE;
total_size = res_size + TOTAL_QSIZE + ALIGNED_SFR_SIZE;
data = vmalloc(total_size);
if (!data) {
memunmap(mem_va);
return;
}
dump = data;
/* copy firmware dump */
memcpy(data, mem_va, res_size);
memunmap(mem_va);
/* copy queues(cmd, msg, dbg) dump(along with headers) */
memcpy(data + res_size, (char *)core->iface_q_table.align_virtual_addr, TOTAL_QSIZE);
data += res_size;
memcpy(data, (char *)core->iface_q_table.align_virtual_addr, TOTAL_QSIZE);
dev_coredumpv(&pdev->dev, data, total_size, GFP_KERNEL);
/* copy sfr dump */
data += TOTAL_QSIZE;
memcpy(data, (char *)core->sfr.align_virtual_addr, ALIGNED_SFR_SIZE);
dev_coredumpv(&pdev->dev, dump, total_size, GFP_KERNEL);
}
int handle_system_error(struct msm_vidc_core *core,