Lines Matching +full:soc +full:- +full:level
1 // SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause)
12 #include "../ipc4-priv.h"
13 #include "../sof-priv.h"
24 char *level; in sof_ipc4_intel_dump_telemetry_state() local
26 level = (flags & SOF_DBG_DUMP_OPTIONAL) ? KERN_DEBUG : KERN_ERR; in sof_ipc4_intel_dump_telemetry_state()
36 if (telemetry_data->separator != XTENSA_CORE_DUMP_SEPARATOR) { in sof_ipc4_intel_dump_telemetry_state()
37 dev_err(sdev->dev, "%s invalid separator %#x\n", invalid_slot_msg, in sof_ipc4_intel_dump_telemetry_state()
38 telemetry_data->separator); in sof_ipc4_intel_dump_telemetry_state()
47 if (block->soc != XTENSA_SOC_INTEL_ADSP) { in sof_ipc4_intel_dump_telemetry_state()
48 dev_err(sdev->dev, "%s invalid SOC %d\n", invalid_slot_msg, block->soc); in sof_ipc4_intel_dump_telemetry_state()
52 if (telemetry_data->hdr.id[0] != COREDUMP_HDR_ID0 || in sof_ipc4_intel_dump_telemetry_state()
53 telemetry_data->hdr.id[1] != COREDUMP_HDR_ID1 || in sof_ipc4_intel_dump_telemetry_state()
54 telemetry_data->arch_hdr.id != COREDUMP_ARCH_HDR_ID) { in sof_ipc4_intel_dump_telemetry_state()
55 dev_err(sdev->dev, "%s invalid coredump header %c%c, arch hdr %c\n", in sof_ipc4_intel_dump_telemetry_state()
56 invalid_slot_msg, telemetry_data->hdr.id[0], in sof_ipc4_intel_dump_telemetry_state()
57 telemetry_data->hdr.id[1], in sof_ipc4_intel_dump_telemetry_state()
58 telemetry_data->arch_hdr.id); in sof_ipc4_intel_dump_telemetry_state()
62 switch (block->toolchain) { in sof_ipc4_intel_dump_telemetry_state()
64 dev_printk(level, sdev->dev, "FW is built with Zephyr toolchain\n"); in sof_ipc4_intel_dump_telemetry_state()
67 dev_printk(level, sdev->dev, "FW is built with XCC toolchain\n"); in sof_ipc4_intel_dump_telemetry_state()
70 dev_printk(level, sdev->dev, "Unknown toolchain is used\n"); in sof_ipc4_intel_dump_telemetry_state()
78 xoops->exccause = block->exccause; in sof_ipc4_intel_dump_telemetry_state()
79 xoops->excvaddr = block->excvaddr; in sof_ipc4_intel_dump_telemetry_state()
80 xoops->epc1 = block->pc; in sof_ipc4_intel_dump_telemetry_state()
81 xoops->ps = block->ps; in sof_ipc4_intel_dump_telemetry_state()
82 xoops->sar = block->sar; in sof_ipc4_intel_dump_telemetry_state()
84 xoops->plat_hdr.numaregs = XTENSA_CORE_AR_REGS_COUNT; in sof_ipc4_intel_dump_telemetry_state()
85 memcpy((void *)xoops->ar, block->ar, XTENSA_CORE_AR_REGS_COUNT * sizeof(u32)); in sof_ipc4_intel_dump_telemetry_state()
87 sof_oops(sdev, level, xoops); in sof_ipc4_intel_dump_telemetry_state()
88 sof_stack(sdev, level, xoops, NULL, 0); in sof_ipc4_intel_dump_telemetry_state()