Message ID | 20210608174944.2045215-2-bjorn.andersson@linaro.org (mailing list archive) |
---|---|
State | Accepted |
Commit | aef6a521e5bf61b3be4567f6c88776956a6d8b32 |
Headers | show |
Series | [v2,1/2] dt-bindings: remoteproc: qcom: pas: Add SC8180X adsp, cdsp and mpss | expand |
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? > Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org> Given that adsp remoteproc works without configuring mss power domain, Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> 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 >
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@linaro.org> > > Given that adsp remoteproc works without configuring mss power domain, > > Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> > 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 > >
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},
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. Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org> --- Changes since v1: - None drivers/remoteproc/qcom_q6v5_pas.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+)