On Mon 14 Mar 05:00 CDT 2022, Yogesh Lal wrote: > Add support to use elf64 coredumps to remote processors. The commit message does not describe _this_ patch and it fails to explain _why_ sm8450 should have 64-bit coredumps. Please correct this. Thanks, Bjorn > > Signed-off-by: Yogesh Lal <quic_ylal@xxxxxxxxxxx> > --- > drivers/remoteproc/qcom_q6v5_pas.c | 67 ++++++++++++++++++++++++++++++++++++-- > 1 file changed, 64 insertions(+), 3 deletions(-) > > diff --git a/drivers/remoteproc/qcom_q6v5_pas.c b/drivers/remoteproc/qcom_q6v5_pas.c > index 1ae47cc..58c335e 100644 > --- a/drivers/remoteproc/qcom_q6v5_pas.c > +++ b/drivers/remoteproc/qcom_q6v5_pas.c > @@ -34,6 +34,7 @@ struct adsp_data { > const char *firmware_name; > int pas_id; > unsigned int minidump_id; > + bool uses_elf64; > bool has_aggre2_clk; > bool auto_boot; > > @@ -450,7 +451,11 @@ 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; > @@ -617,6 +622,24 @@ static const struct adsp_data sm8350_adsp_resource = { > .ssctl_id = 0x14, > }; > > +static const struct adsp_data sm8450_adsp_resource = { > + .crash_reason_smem = 423, > + .firmware_name = "adsp.mdt", > + .pas_id = 1, > + .uses_elf64 = true, > + .has_aggre2_clk = false, > + .auto_boot = true, > + .proxy_pd_names = (char*[]){ > + "lcx", > + "lmx", > + NULL > + }, > + .load_state = "adsp", > + .ssr_name = "lpass", > + .sysmon_name = "adsp", > + .ssctl_id = 0x14, > +}; > + > static const struct adsp_data msm8996_adsp_resource = { > .crash_reason_smem = 423, > .firmware_name = "adsp.mdt", > @@ -721,6 +744,24 @@ static const struct adsp_data sm8350_cdsp_resource = { > .ssctl_id = 0x17, > }; > > +static const struct adsp_data sm8450_cdsp_resource = { > + .crash_reason_smem = 601, > + .firmware_name = "cdsp.mdt", > + .pas_id = 18, > + .uses_elf64 = true, > + .has_aggre2_clk = false, > + .auto_boot = true, > + .proxy_pd_names = (char*[]){ > + "cx", > + "mxc", > + NULL > + }, > + .load_state = "cdsp", > + .ssr_name = "cdsp", > + .sysmon_name = "cdsp", > + .ssctl_id = 0x17, > +}; > + > static const struct adsp_data mpss_resource_init = { > .crash_reason_smem = 421, > .firmware_name = "modem.mdt", > @@ -755,6 +796,25 @@ static const struct adsp_data sc8180x_mpss_resource = { > .ssctl_id = 0x12, > }; > > +static const struct adsp_data sm8450_mpss_resource = { > + .crash_reason_smem = 421, > + .firmware_name = "modem.mdt", > + .pas_id = 4, > + .minidump_id = 3, > + .uses_elf64 = true, > + .has_aggre2_clk = false, > + .auto_boot = false, > + .proxy_pd_names = (char*[]){ > + "cx", > + "mss", > + NULL > + }, > + .load_state = "modem", > + .ssr_name = "mpss", > + .sysmon_name = "modem", > + .ssctl_id = 0x12, > +}; > + > static const struct adsp_data slpi_resource_init = { > .crash_reason_smem = 424, > .firmware_name = "slpi.mdt", > @@ -879,10 +939,11 @@ static const struct of_device_id adsp_of_match[] = { > { .compatible = "qcom,sm8350-cdsp-pas", .data = &sm8350_cdsp_resource}, > { .compatible = "qcom,sm8350-slpi-pas", .data = &sm8350_slpi_resource}, > { .compatible = "qcom,sm8350-mpss-pas", .data = &mpss_resource_init}, > - { .compatible = "qcom,sm8450-adsp-pas", .data = &sm8350_adsp_resource}, > - { .compatible = "qcom,sm8450-cdsp-pas", .data = &sm8350_cdsp_resource}, > + { .compatible = "qcom,sm8450-adsp-pas", .data = &sm8450_adsp_resource}, > + { .compatible = "qcom,sm8450-cdsp-pas", .data = &sm8450_cdsp_resource}, > { .compatible = "qcom,sm8450-slpi-pas", .data = &sm8350_slpi_resource}, > { .compatible = "qcom,sm8450-mpss-pas", .data = &mpss_resource_init}, > + { .compatible = "qcom,sm8450-mpss-pas", .data = &sm8450_mpss_resource}, > { }, > }; > MODULE_DEVICE_TABLE(of, adsp_of_match); > -- > 2.7.4 >