2022-12-14 14:06:26

by Mukesh Ojha

[permalink] [raw]
Subject: [PATCH] remoteproc: qcom: pas: Fix subdevice add order

Currently, the notification like QCOM_SSR_BEFORE_SHUTDOWN is not exactly
sent before starting shutdown activity on remote subsystem but it is
getting sent after sysmon shutdown request to remote.

On getting QCOM_SSR_BEFORE_SHUTDOWN, some client want remote subsystem
to be alive to communicate but as sysmon shutdown request is getting
sent to remote before QCOM_SSR_BEFORE_SHUTDOWN notification sent to
kernel client due to which remote is not in a condition to communicate
with kernel clients.

Fixing the subdevice ordering will fix this as ssr subdevice will be
first one to get triggered in shutdown/stop path.

Signed-off-by: Mukesh Ojha <[email protected]>
---
drivers/remoteproc/qcom_q6v5_pas.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/remoteproc/qcom_q6v5_pas.c b/drivers/remoteproc/qcom_q6v5_pas.c
index 6afd094..5e34d59 100644
--- a/drivers/remoteproc/qcom_q6v5_pas.c
+++ b/drivers/remoteproc/qcom_q6v5_pas.c
@@ -538,7 +538,6 @@ static int adsp_probe(struct platform_device *pdev)

qcom_add_glink_subdev(rproc, &adsp->glink_subdev, desc->ssr_name);
qcom_add_smd_subdev(rproc, &adsp->smd_subdev);
- qcom_add_ssr_subdev(rproc, &adsp->ssr_subdev, desc->ssr_name);
adsp->sysmon = qcom_add_sysmon_subdev(rproc,
desc->sysmon_name,
desc->ssctl_id);
@@ -547,6 +546,7 @@ static int adsp_probe(struct platform_device *pdev)
goto detach_proxy_pds;
}

+ qcom_add_ssr_subdev(rproc, &adsp->ssr_subdev, desc->ssr_name);
ret = rproc_add(rproc);
if (ret)
goto detach_proxy_pds;
--
2.7.4


2022-12-27 09:06:38

by Mukesh Ojha

[permalink] [raw]
Subject: Re: [PATCH] remoteproc: qcom: pas: Fix subdevice add order

Hi,

Friendly reminder for review.

-Mukesh

On 12/14/2022 7:06 PM, Mukesh Ojha wrote:
> Currently, the notification like QCOM_SSR_BEFORE_SHUTDOWN is not exactly
> sent before starting shutdown activity on remote subsystem but it is
> getting sent after sysmon shutdown request to remote.
>
> On getting QCOM_SSR_BEFORE_SHUTDOWN, some client want remote subsystem
> to be alive to communicate but as sysmon shutdown request is getting
> sent to remote before QCOM_SSR_BEFORE_SHUTDOWN notification sent to
> kernel client due to which remote is not in a condition to communicate
> with kernel clients.
>
> Fixing the subdevice ordering will fix this as ssr subdevice will be
> first one to get triggered in shutdown/stop path.
>
> Signed-off-by: Mukesh Ojha <[email protected]>
> ---
> drivers/remoteproc/qcom_q6v5_pas.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/remoteproc/qcom_q6v5_pas.c b/drivers/remoteproc/qcom_q6v5_pas.c
> index 6afd094..5e34d59 100644
> --- a/drivers/remoteproc/qcom_q6v5_pas.c
> +++ b/drivers/remoteproc/qcom_q6v5_pas.c
> @@ -538,7 +538,6 @@ static int adsp_probe(struct platform_device *pdev)
>
> qcom_add_glink_subdev(rproc, &adsp->glink_subdev, desc->ssr_name);
> qcom_add_smd_subdev(rproc, &adsp->smd_subdev);
> - qcom_add_ssr_subdev(rproc, &adsp->ssr_subdev, desc->ssr_name);
> adsp->sysmon = qcom_add_sysmon_subdev(rproc,
> desc->sysmon_name,
> desc->ssctl_id);
> @@ -547,6 +546,7 @@ static int adsp_probe(struct platform_device *pdev)
> goto detach_proxy_pds;
> }
>
> + qcom_add_ssr_subdev(rproc, &adsp->ssr_subdev, desc->ssr_name);
> ret = rproc_add(rproc);
> if (ret)
> goto detach_proxy_pds;

2022-12-28 18:33:10

by Bjorn Andersson

[permalink] [raw]
Subject: Re: [PATCH] remoteproc: qcom: pas: Fix subdevice add order

On Wed, 14 Dec 2022 19:06:23 +0530, Mukesh Ojha wrote:
> Currently, the notification like QCOM_SSR_BEFORE_SHUTDOWN is not exactly
> sent before starting shutdown activity on remote subsystem but it is
> getting sent after sysmon shutdown request to remote.
>
> On getting QCOM_SSR_BEFORE_SHUTDOWN, some client want remote subsystem
> to be alive to communicate but as sysmon shutdown request is getting
> sent to remote before QCOM_SSR_BEFORE_SHUTDOWN notification sent to
> kernel client due to which remote is not in a condition to communicate
> with kernel clients.
>
> [...]

Applied, thanks!

[1/1] remoteproc: qcom: pas: Fix subdevice add order
commit: cf5865e72236c239317d6c5829ab170419b400a4

Best regards,
--
Bjorn Andersson <[email protected]>