[2/2] remoteproc: qcom: pas: add SDM845 SLPI resource

Message ID 20230325132117.19733-3-me@dylanvanassche.be
State New
Headers
Series Qualcomm SDM845 SLPI DSP driver support |

Commit Message

Dylan Van Assche March 25, 2023, 1:21 p.m. UTC
  Add SLPI resources for the SDM845 Qualcomm SoC to the Qualcomm
remoteproc q6v5_pas driver to define the default firmware name
and GLink edge name.

Signed-off-by: Dylan Van Assche <me@dylanvanassche.be>
---
 drivers/remoteproc/qcom_q6v5_pas.c | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)
  

Comments

Konrad Dybcio March 27, 2023, 8:44 a.m. UTC | #1
On 25.03.2023 14:21, Dylan Van Assche wrote:
> Add SLPI resources for the SDM845 Qualcomm SoC to the Qualcomm
> remoteproc q6v5_pas driver to define the default firmware name
> and GLink edge name.
> 
> Signed-off-by: Dylan Van Assche <me@dylanvanassche.be>
> ---
>  drivers/remoteproc/qcom_q6v5_pas.c | 17 +++++++++++++++++
>  1 file changed, 17 insertions(+)
> 
> diff --git a/drivers/remoteproc/qcom_q6v5_pas.c b/drivers/remoteproc/qcom_q6v5_pas.c
> index c99a20542685..d82b6f4bced4 100644
> --- a/drivers/remoteproc/qcom_q6v5_pas.c
> +++ b/drivers/remoteproc/qcom_q6v5_pas.c
> @@ -1028,6 +1028,22 @@ static const struct adsp_data slpi_resource_init = {
>  		.ssctl_id = 0x16,
>  };
>  
> +static const struct adsp_data sdm845_slpi_resource = {
> +		.crash_reason_smem = 424,
> +		.firmware_name = "slpi.mdt",
> +		.pas_id = 12,
> +		.auto_boot = true,
> +		.proxy_pd_names = (char*[]){
> +			"lcx",
> +			"lmx",
> +			NULL
> +		},
> +		.load_state = "slpi",
> +		.ssr_name = "dsps",
> +		.sysmon_name = "slpi",
> +		.ssctl_id = 0x16,
Isn't this identical to sm8150_slpi_resource?

Konrad
> +};
> +
>  static const struct adsp_data sm8150_slpi_resource = {
>  		.crash_reason_smem = 424,
>  		.firmware_name = "slpi.mdt",
> @@ -1201,6 +1217,7 @@ static const struct of_device_id adsp_of_match[] = {
>  	{ .compatible = "qcom,sdm660-adsp-pas", .data = &adsp_resource_init},
>  	{ .compatible = "qcom,sdm845-adsp-pas", .data = &sdm845_adsp_resource_init},
>  	{ .compatible = "qcom,sdm845-cdsp-pas", .data = &sdm845_cdsp_resource_init},
> +	{ .compatible = "qcom,sdm845-slpi-pas", .data = &sdm845_slpi_resource},
>  	{ .compatible = "qcom,sdx55-mpss-pas", .data = &sdx55_mpss_resource},
>  	{ .compatible = "qcom,sm6115-adsp-pas", .data = &adsp_resource_init},
>  	{ .compatible = "qcom,sm6115-cdsp-pas", .data = &cdsp_resource_init},
  
Dylan Van Assche March 27, 2023, 9:34 a.m. UTC | #2
Hi Konrad,

On Mon, 2023-03-27 at 10:44 +0200, Konrad Dybcio wrote:
> 
> 
> On 25.03.2023 14:21, Dylan Van Assche wrote:
> > Add SLPI resources for the SDM845 Qualcomm SoC to the Qualcomm
> > remoteproc q6v5_pas driver to define the default firmware name
> > and GLink edge name.
> > 
> > Signed-off-by: Dylan Van Assche <me@dylanvanassche.be>
> > ---
> >  drivers/remoteproc/qcom_q6v5_pas.c | 17 +++++++++++++++++
> >  1 file changed, 17 insertions(+)
> > 
> > diff --git a/drivers/remoteproc/qcom_q6v5_pas.c
> > b/drivers/remoteproc/qcom_q6v5_pas.c
> > index c99a20542685..d82b6f4bced4 100644
> > --- a/drivers/remoteproc/qcom_q6v5_pas.c
> > +++ b/drivers/remoteproc/qcom_q6v5_pas.c
> > @@ -1028,6 +1028,22 @@ static const struct adsp_data
> > slpi_resource_init = {
> >                 .ssctl_id = 0x16,
> >  };
> >  
> > +static const struct adsp_data sdm845_slpi_resource = {
> > +               .crash_reason_smem = 424,
> > +               .firmware_name = "slpi.mdt",
> > +               .pas_id = 12,
> > +               .auto_boot = true,
> > +               .proxy_pd_names = (char*[]){
> > +                       "lcx",
> > +                       "lmx",
> > +                       NULL
> > +               },
> > +               .load_state = "slpi",
> > +               .ssr_name = "dsps",
> > +               .sysmon_name = "slpi",
> > +               .ssctl_id = 0x16,
> Isn't this identical to sm8150_slpi_resource?
> 
> Konrad

Yes it is. I added a new entry because for SM8150, SM8250, and SM8350
they are duplicated as well. The SDM845's struct is indentical to
SM8150/SM8250/SM8350's structs.

Kind regards,
Dylan Van Assche

> > +};
> > +
> >  static const struct adsp_data sm8150_slpi_resource = {
> >                 .crash_reason_smem = 424,
> >                 .firmware_name = "slpi.mdt",
> > @@ -1201,6 +1217,7 @@ static const struct of_device_id
> > adsp_of_match[] = {
> >         { .compatible = "qcom,sdm660-adsp-pas", .data =
> > &adsp_resource_init},
> >         { .compatible = "qcom,sdm845-adsp-pas", .data =
> > &sdm845_adsp_resource_init},
> >         { .compatible = "qcom,sdm845-cdsp-pas", .data =
> > &sdm845_cdsp_resource_init},
> > +       { .compatible = "qcom,sdm845-slpi-pas", .data =
> > &sdm845_slpi_resource},
> >         { .compatible = "qcom,sdx55-mpss-pas", .data =
> > &sdx55_mpss_resource},
> >         { .compatible = "qcom,sm6115-adsp-pas", .data =
> > &adsp_resource_init},
> >         { .compatible = "qcom,sm6115-cdsp-pas", .data =
> > &cdsp_resource_init},
  
Konrad Dybcio March 27, 2023, 10:53 a.m. UTC | #3
On 27.03.2023 11:34, Dylan Van Assche wrote:
> Hi Konrad,
> 
> On Mon, 2023-03-27 at 10:44 +0200, Konrad Dybcio wrote:
>>
>>
>> On 25.03.2023 14:21, Dylan Van Assche wrote:
>>> Add SLPI resources for the SDM845 Qualcomm SoC to the Qualcomm
>>> remoteproc q6v5_pas driver to define the default firmware name
>>> and GLink edge name.
>>>
>>> Signed-off-by: Dylan Van Assche <me@dylanvanassche.be>
>>> ---
>>>  drivers/remoteproc/qcom_q6v5_pas.c | 17 +++++++++++++++++
>>>  1 file changed, 17 insertions(+)
>>>
>>> diff --git a/drivers/remoteproc/qcom_q6v5_pas.c
>>> b/drivers/remoteproc/qcom_q6v5_pas.c
>>> index c99a20542685..d82b6f4bced4 100644
>>> --- a/drivers/remoteproc/qcom_q6v5_pas.c
>>> +++ b/drivers/remoteproc/qcom_q6v5_pas.c
>>> @@ -1028,6 +1028,22 @@ static const struct adsp_data
>>> slpi_resource_init = {
>>>                 .ssctl_id = 0x16,
>>>  };
>>>  
>>> +static const struct adsp_data sdm845_slpi_resource = {
>>> +               .crash_reason_smem = 424,
>>> +               .firmware_name = "slpi.mdt",
>>> +               .pas_id = 12,
>>> +               .auto_boot = true,
>>> +               .proxy_pd_names = (char*[]){
>>> +                       "lcx",
>>> +                       "lmx",
>>> +                       NULL
>>> +               },
>>> +               .load_state = "slpi",
>>> +               .ssr_name = "dsps",
>>> +               .sysmon_name = "slpi",
>>> +               .ssctl_id = 0x16,
>> Isn't this identical to sm8150_slpi_resource?
>>
>> Konrad
> 
> Yes it is. I added a new entry because for SM8150, SM8250, and SM8350
> they are duplicated as well. The SDM845's struct is indentical to
> SM8150/SM8250/SM8350's structs.
Well, you just found a quick improvement to make then! :D

Konrad
> 
> Kind regards,
> Dylan Van Assche
> 
>>> +};
>>> +
>>>  static const struct adsp_data sm8150_slpi_resource = {
>>>                 .crash_reason_smem = 424,
>>>                 .firmware_name = "slpi.mdt",
>>> @@ -1201,6 +1217,7 @@ static const struct of_device_id
>>> adsp_of_match[] = {
>>>         { .compatible = "qcom,sdm660-adsp-pas", .data =
>>> &adsp_resource_init},
>>>         { .compatible = "qcom,sdm845-adsp-pas", .data =
>>> &sdm845_adsp_resource_init},
>>>         { .compatible = "qcom,sdm845-cdsp-pas", .data =
>>> &sdm845_cdsp_resource_init},
>>> +       { .compatible = "qcom,sdm845-slpi-pas", .data =
>>> &sdm845_slpi_resource},
>>>         { .compatible = "qcom,sdx55-mpss-pas", .data =
>>> &sdx55_mpss_resource},
>>>         { .compatible = "qcom,sm6115-adsp-pas", .data =
>>> &adsp_resource_init},
>>>         { .compatible = "qcom,sm6115-cdsp-pas", .data =
>>> &cdsp_resource_init},
>
  

Patch

diff --git a/drivers/remoteproc/qcom_q6v5_pas.c b/drivers/remoteproc/qcom_q6v5_pas.c
index c99a20542685..d82b6f4bced4 100644
--- a/drivers/remoteproc/qcom_q6v5_pas.c
+++ b/drivers/remoteproc/qcom_q6v5_pas.c
@@ -1028,6 +1028,22 @@  static const struct adsp_data slpi_resource_init = {
 		.ssctl_id = 0x16,
 };
 
+static const struct adsp_data sdm845_slpi_resource = {
+		.crash_reason_smem = 424,
+		.firmware_name = "slpi.mdt",
+		.pas_id = 12,
+		.auto_boot = true,
+		.proxy_pd_names = (char*[]){
+			"lcx",
+			"lmx",
+			NULL
+		},
+		.load_state = "slpi",
+		.ssr_name = "dsps",
+		.sysmon_name = "slpi",
+		.ssctl_id = 0x16,
+};
+
 static const struct adsp_data sm8150_slpi_resource = {
 		.crash_reason_smem = 424,
 		.firmware_name = "slpi.mdt",
@@ -1201,6 +1217,7 @@  static const struct of_device_id adsp_of_match[] = {
 	{ .compatible = "qcom,sdm660-adsp-pas", .data = &adsp_resource_init},
 	{ .compatible = "qcom,sdm845-adsp-pas", .data = &sdm845_adsp_resource_init},
 	{ .compatible = "qcom,sdm845-cdsp-pas", .data = &sdm845_cdsp_resource_init},
+	{ .compatible = "qcom,sdm845-slpi-pas", .data = &sdm845_slpi_resource},
 	{ .compatible = "qcom,sdx55-mpss-pas", .data = &sdx55_mpss_resource},
 	{ .compatible = "qcom,sm6115-adsp-pas", .data = &adsp_resource_init},
 	{ .compatible = "qcom,sm6115-cdsp-pas", .data = &cdsp_resource_init},