Re: [PATCH v2 2/2] remoteproc: qcom: pas: Add SC8180X adsp, cdsp and mpss
From: Bjorn Andersson
Date: Fri Jun 25 2021 - 18:42:57 EST
On Thu 24 Jun 23:47 CDT 2021, Manivannan Sadhasivam wrote:
> On Tue, Jun 08, 2021 at 10:49:44AM -0700, Bjorn Andersson wrote:
> > The Qualcomm SC8180X has the typical ADSP, CDSP and MPSS remote
> > processors operated using the PAS interface, add support for these.
> >
> > Attempts to configuring mss.lvl is failing, so a new adsp_data is
> > provided that skips this resource, for now.
> >
>
> What is the impact of this skipped resource? I guess it is enabled by
> the bootloader so we can't change it in runtime?
>
The reason for voting for the "proxy" resources is such that if apss
power collapses we might cut the power before the firmware has had a
chance to tell the RPMh to keep the power on.
So, there is a chance that an unfortunately timed power collapse might
cause the modem to loose power, but given that I can't poke mss.lvl I
would expect that this is handled in some other way - if necessary...
> > Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxx>
>
> Given that adsp remoteproc works without configuring mss power domain,
>
> Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@xxxxxxxxxx>
>
Thank you!
Regards,
Bjorn
> Thanks,
> Mani
>
> > ---
> >
> > Changes since v1:
> > - None
> >
> > drivers/remoteproc/qcom_q6v5_pas.c | 22 ++++++++++++++++++++++
> > 1 file changed, 22 insertions(+)
> >
> > diff --git a/drivers/remoteproc/qcom_q6v5_pas.c b/drivers/remoteproc/qcom_q6v5_pas.c
> > index b921fc26cd04..a79bee901e9b 100644
> > --- a/drivers/remoteproc/qcom_q6v5_pas.c
> > +++ b/drivers/remoteproc/qcom_q6v5_pas.c
> > @@ -689,6 +689,25 @@ static const struct adsp_data mpss_resource_init = {
> > .ssctl_id = 0x12,
> > };
> >
> > +static const struct adsp_data sc8180x_mpss_resource = {
> > + .crash_reason_smem = 421,
> > + .firmware_name = "modem.mdt",
> > + .pas_id = 4,
> > + .has_aggre2_clk = false,
> > + .auto_boot = false,
> > + .active_pd_names = (char*[]){
> > + "load_state",
> > + NULL
> > + },
> > + .proxy_pd_names = (char*[]){
> > + "cx",
> > + NULL
> > + },
> > + .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",
> > @@ -811,6 +830,9 @@ static const struct of_device_id adsp_of_match[] = {
> > { .compatible = "qcom,qcs404-cdsp-pas", .data = &cdsp_resource_init },
> > { .compatible = "qcom,qcs404-wcss-pas", .data = &wcss_resource_init },
> > { .compatible = "qcom,sc7180-mpss-pas", .data = &mpss_resource_init},
> > + { .compatible = "qcom,sc8180x-adsp-pas", .data = &sm8150_adsp_resource},
> > + { .compatible = "qcom,sc8180x-cdsp-pas", .data = &sm8150_cdsp_resource},
> > + { .compatible = "qcom,sc8180x-mpss-pas", .data = &sc8180x_mpss_resource},
> > { .compatible = "qcom,sdm845-adsp-pas", .data = &adsp_resource_init},
> > { .compatible = "qcom,sdm845-cdsp-pas", .data = &cdsp_resource_init},
> > { .compatible = "qcom,sdx55-mpss-pas", .data = &sdx55_mpss_resource},
> > --
> > 2.29.2
> >