remoteproc: qcom: pas: Fix subdevice add order
authorMukesh Ojha <quic_mojha@quicinc.com>
Wed, 14 Dec 2022 13:36:23 +0000 (19:06 +0530)
committerBjorn Andersson <andersson@kernel.org>
Wed, 28 Dec 2022 16:52:44 +0000 (10:52 -0600)
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>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/1671024983-22634-1-git-send-email-quic_mojha@quicinc.com
drivers/remoteproc/qcom_q6v5_pas.c

index 6cebe8a..f95e022 100644 (file)
@@ -534,7 +534,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);
@@ -543,6 +542,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;