Message ID | 1671024983-22634-1-git-send-email-quic_mojha@quicinc.com |
---|---|
State | Accepted |
Commit | cf5865e72236c239317d6c5829ab170419b400a4 |
Headers | show |
Series | remoteproc: qcom: pas: Fix subdevice add order | expand |
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 <quic_mojha@quicinc.com> > --- > 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;
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;
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 <quic_mojha@quicinc.com> --- drivers/remoteproc/qcom_q6v5_pas.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)