remoteproc: qcom: q6v5: Do not stop glink subdevices on recovery disable
When recovery is disabled, all the subdevices of remoteproc gets stopped so that they can collect data in their ssr notifiers but it also stops glink subdevice at the end, which cleans up the data which is useful to debug issue related to glink communication with the remote. Let's put a check in glink stop about remoteproc recovery status and if it is a crash and not a graceful shutdown. Change-Id: I659b74e3318075200e2956f88b6c19d9afebb774 Signed-off-by: Amrit Anand <quic_amrianan@quicinc.com> Signed-off-by: Mukesh Ojha <quic_mojha@quicinc.com>
This commit is contained in:
parent
8edf885ad0
commit
3c986e7ce1
@ -5,7 +5,7 @@
|
||||
* Copyright (C) 2016 Linaro Ltd
|
||||
* Copyright (C) 2015 Sony Mobile Communications Inc
|
||||
* Copyright (c) 2012-2013, 2020-2021 The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
* Copyright (c) 2022-2024 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*/
|
||||
|
||||
#include <linux/firmware.h>
|
||||
@ -422,9 +422,10 @@ static int glink_subdev_start(struct rproc_subdev *subdev)
|
||||
static void glink_subdev_stop(struct rproc_subdev *subdev, bool crashed)
|
||||
{
|
||||
struct qcom_rproc_glink *glink = to_glink_subdev(subdev);
|
||||
struct rproc *rproc = container_of(glink->dev, struct rproc, dev);
|
||||
int ret;
|
||||
|
||||
if (!glink->edge)
|
||||
if (!glink->edge || (crashed && rproc->recovery_disabled))
|
||||
return;
|
||||
trace_rproc_qcom_event(dev_name(glink->dev->parent), GLINK_SUBDEV_NAME,
|
||||
crashed ? "crash stop" : "stop");
|
||||
|
Loading…
Reference in New Issue
Block a user