This change adds a new initialization param which modifies the elf class accordingly. Some of the subsystem dump analysis tools need the elf class to be elf64. Signed-off-by: Gokul krishna Krishnakumar <quic_gokukris@xxxxxxxxxxx> --- drivers/remoteproc/qcom_q6v5_pas.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/drivers/remoteproc/qcom_q6v5_pas.c b/drivers/remoteproc/qcom_q6v5_pas.c index 0871108fb4dc..17ce3177be7b 100644 --- a/drivers/remoteproc/qcom_q6v5_pas.c +++ b/drivers/remoteproc/qcom_q6v5_pas.c @@ -39,6 +39,7 @@ struct adsp_data { int pas_id; int dtb_pas_id; unsigned int minidump_id; + bool uses_elf64; bool auto_boot; bool decrypt_shutdown; @@ -681,7 +682,10 @@ static int adsp_probe(struct platform_device *pdev) } rproc->auto_boot = desc->auto_boot; - rproc_coredump_set_elf_info(rproc, ELFCLASS32, EM_NONE); + if (desc->uses_elf64) + rproc_coredump_set_elf_info(rproc, ELFCLASS64, EM_NONE); + else + rproc_coredump_set_elf_info(rproc, ELFCLASS32, EM_NONE); adsp = (struct qcom_adsp *)rproc->priv; adsp->dev = &pdev->dev; @@ -1126,6 +1130,7 @@ static const struct adsp_data sm8550_adsp_resource = { .pas_id = 1, .dtb_pas_id = 0x24, .minidump_id = 5, + .uses_elf64 = true, .auto_boot = true, .proxy_pd_names = (char*[]){ "lcx", @@ -1145,6 +1150,7 @@ static const struct adsp_data sm8550_cdsp_resource = { .pas_id = 18, .dtb_pas_id = 0x25, .minidump_id = 7, + .uses_elf64 = true, .auto_boot = true, .proxy_pd_names = (char*[]){ "cx", @@ -1165,6 +1171,7 @@ static const struct adsp_data sm8550_mpss_resource = { .pas_id = 4, .dtb_pas_id = 0x26, .minidump_id = 3, + .uses_elf64 = true, .auto_boot = false, .decrypt_shutdown = true, .proxy_pd_names = (char*[]){ -- 2.39.2