From patchwork Tue May 24 13:13:31 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sibi Sankar X-Patchwork-Id: 12860180 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 67CC0C433EF for ; Tue, 24 May 2022 13:14:07 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233239AbiEXNOF (ORCPT ); Tue, 24 May 2022 09:14:05 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34950 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S237577AbiEXNOE (ORCPT ); Tue, 24 May 2022 09:14:04 -0400 Received: from alexa-out.qualcomm.com (alexa-out.qualcomm.com [129.46.98.28]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 09D4793445; Tue, 24 May 2022 06:14:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=quicinc.com; i=@quicinc.com; q=dns/txt; s=qcdkim; t=1653398042; x=1684934042; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version; bh=vWbILLBnMdHBLbmdFGKxA0kDZzeAvZhYK0/2F+KujsU=; b=VRDaEiXdV8dRCi7zGhn+auyZgdA4oNGjbZ24PL0DK0rzfW6/FfUznjXj 3Bl71HH287c1p6E3mEk9EbRcw3/sJrhMurDvsZysRtYWEEovPTyLuYCj6 S9+0llSfDsG5EShiN/U+PyxGVwBzqetyCnOToMnAghI/RLqIgCrQV0QLn w=; Received: from ironmsg09-lv.qualcomm.com ([10.47.202.153]) by alexa-out.qualcomm.com with ESMTP; 24 May 2022 06:14:01 -0700 X-QCInternal: smtphost Received: from nasanex01c.na.qualcomm.com ([10.47.97.222]) by ironmsg09-lv.qualcomm.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 May 2022 06:14:01 -0700 Received: from nalasex01a.na.qualcomm.com (10.47.209.196) by nasanex01c.na.qualcomm.com (10.47.97.222) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.22; Tue, 24 May 2022 06:14:01 -0700 Received: from blr-ubuntu-87.qualcomm.com (10.80.80.8) by nalasex01a.na.qualcomm.com (10.47.209.196) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.22; Tue, 24 May 2022 06:13:57 -0700 From: Sibi Sankar To: CC: , , , , , , "Yogesh Lal" , Sibi Sankar Subject: [PATCH 1/7] remoteproc: qcom: pas: Fixup the elf class for SM8450 remoteprocs Date: Tue, 24 May 2022 18:43:31 +0530 Message-ID: <1653398017-28426-2-git-send-email-quic_sibis@quicinc.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1653398017-28426-1-git-send-email-quic_sibis@quicinc.com> References: <1653398017-28426-1-git-send-email-quic_sibis@quicinc.com> MIME-Version: 1.0 X-Originating-IP: [10.80.80.8] X-ClientProxiedBy: nasanex01a.na.qualcomm.com (10.52.223.231) To nalasex01a.na.qualcomm.com (10.47.209.196) Precedence: bulk List-ID: X-Mailing-List: linux-remoteproc@vger.kernel.org From: Yogesh Lal The coredumps for the ADSP,CDSP and MPSS subsystems will be 64 bit from SM8450 SoCs onward. Update the elf class as elf64 accordingly. Fixes: 5cef9b48458d ("remoteproc: qcom: pas: Add SM8450 remoteproc support") Signed-off-by: Yogesh Lal Signed-off-by: Sibi Sankar --- drivers/remoteproc/qcom_q6v5_pas.c | 68 +++++++++++++++++++++++++++++++++++--- 1 file changed, 64 insertions(+), 4 deletions(-) diff --git a/drivers/remoteproc/qcom_q6v5_pas.c b/drivers/remoteproc/qcom_q6v5_pas.c index 6ae39c5653b1..8ce68d0bb1bc 100644 --- a/drivers/remoteproc/qcom_q6v5_pas.c +++ b/drivers/remoteproc/qcom_q6v5_pas.c @@ -34,6 +34,7 @@ struct adsp_data { const char *firmware_name; int pas_id; unsigned int minidump_id; + bool uses_elf64; bool has_aggre2_clk; bool auto_boot; @@ -450,7 +451,11 @@ static int adsp_probe(struct platform_device *pdev) } rproc->auto_boot = desc->auto_boot; - rproc_coredump_set_elf_info(rproc, ELFCLASS32, EM_NONE); + + if (desc->uses_elf64) + rproc_coredump_set_elf_info(rproc, ELFCLASS64, EM_NONE); + else + rproc_coredump_set_elf_info(rproc, ELFCLASS32, EM_NONE); adsp = (struct qcom_adsp *)rproc->priv; adsp->dev = &pdev->dev; @@ -617,6 +622,24 @@ static const struct adsp_data sm8350_adsp_resource = { .ssctl_id = 0x14, }; +static const struct adsp_data sm8450_adsp_resource = { + .crash_reason_smem = 423, + .firmware_name = "adsp.mdt", + .pas_id = 1, + .uses_elf64 = true, + .has_aggre2_clk = false, + .auto_boot = true, + .proxy_pd_names = (char*[]){ + "lcx", + "lmx", + NULL + }, + .load_state = "adsp", + .ssr_name = "lpass", + .sysmon_name = "adsp", + .ssctl_id = 0x14, +}; + static const struct adsp_data msm8996_adsp_resource = { .crash_reason_smem = 423, .firmware_name = "adsp.mdt", @@ -751,6 +774,24 @@ static const struct adsp_data sm8350_cdsp_resource = { .ssctl_id = 0x17, }; +static const struct adsp_data sm8450_cdsp_resource = { + .crash_reason_smem = 601, + .firmware_name = "cdsp.mdt", + .pas_id = 18, + .uses_elf64 = true, + .has_aggre2_clk = false, + .auto_boot = true, + .proxy_pd_names = (char*[]){ + "cx", + "mxc", + NULL + }, + .load_state = "cdsp", + .ssr_name = "cdsp", + .sysmon_name = "cdsp", + .ssctl_id = 0x17, +}; + static const struct adsp_data mpss_resource_init = { .crash_reason_smem = 421, .firmware_name = "modem.mdt", @@ -785,6 +826,25 @@ static const struct adsp_data sc8180x_mpss_resource = { .ssctl_id = 0x12, }; +static const struct adsp_data sm8450_mpss_resource = { + .crash_reason_smem = 421, + .firmware_name = "modem.mdt", + .pas_id = 4, + .minidump_id = 3, + .uses_elf64 = true, + .has_aggre2_clk = false, + .auto_boot = false, + .proxy_pd_names = (char*[]){ + "cx", + "mss", + NULL + }, + .load_state = "modem", + .ssr_name = "mpss", + .sysmon_name = "modem", + .ssctl_id = 0x12, +}; + static const struct adsp_data slpi_resource_init = { .crash_reason_smem = 424, .firmware_name = "slpi.mdt", @@ -913,10 +973,10 @@ static const struct of_device_id adsp_of_match[] = { { .compatible = "qcom,sm8350-cdsp-pas", .data = &sm8350_cdsp_resource}, { .compatible = "qcom,sm8350-slpi-pas", .data = &sm8350_slpi_resource}, { .compatible = "qcom,sm8350-mpss-pas", .data = &mpss_resource_init}, - { .compatible = "qcom,sm8450-adsp-pas", .data = &sm8350_adsp_resource}, - { .compatible = "qcom,sm8450-cdsp-pas", .data = &sm8350_cdsp_resource}, + { .compatible = "qcom,sm8450-adsp-pas", .data = &sm8450_adsp_resource}, + { .compatible = "qcom,sm8450-cdsp-pas", .data = &sm8450_cdsp_resource}, { .compatible = "qcom,sm8450-slpi-pas", .data = &sm8350_slpi_resource}, - { .compatible = "qcom,sm8450-mpss-pas", .data = &mpss_resource_init}, + { .compatible = "qcom,sm8450-mpss-pas", .data = &sm8450_mpss_resource}, { }, }; MODULE_DEVICE_TABLE(of, adsp_of_match); From patchwork Tue May 24 13:13:32 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sibi Sankar X-Patchwork-Id: 12860181 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id A2180C433FE for ; Tue, 24 May 2022 13:14:08 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237597AbiEXNOH (ORCPT ); Tue, 24 May 2022 09:14:07 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34974 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S237580AbiEXNOG (ORCPT ); Tue, 24 May 2022 09:14:06 -0400 Received: from alexa-out-sd-01.qualcomm.com (alexa-out-sd-01.qualcomm.com [199.106.114.38]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9D90B93452; Tue, 24 May 2022 06:14:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=quicinc.com; i=@quicinc.com; q=dns/txt; s=qcdkim; t=1653398044; x=1684934044; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version; bh=cl4H40MXCz7CNbZqdvHzzNX0nAf4IZjii0p2pCXC9sU=; b=QBWeVr8sVz9UVl32aWTu1BoCiTOEuUbJ0H0AJ6XWBkZI7UhhvxW6fVfu 0TEk6w4tJzqc7k8a2SjDnMUODd0+ENljHop++CQvsywgtMEqPketV37R7 9huG54jV8TslKHq3l5RCIKXdkpfZ0WS5AcJ0jpsx7E2xpOk3nYthbZXOI M=; Received: from unknown (HELO ironmsg04-sd.qualcomm.com) ([10.53.140.144]) by alexa-out-sd-01.qualcomm.com with ESMTP; 24 May 2022 06:14:04 -0700 X-QCInternal: smtphost Received: from nasanex01c.na.qualcomm.com ([10.47.97.222]) by ironmsg04-sd.qualcomm.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 May 2022 06:14:04 -0700 Received: from nalasex01a.na.qualcomm.com (10.47.209.196) by nasanex01c.na.qualcomm.com (10.47.97.222) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.22; Tue, 24 May 2022 06:14:04 -0700 Received: from blr-ubuntu-87.qualcomm.com (10.80.80.8) by nalasex01a.na.qualcomm.com (10.47.209.196) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.22; Tue, 24 May 2022 06:14:01 -0700 From: Sibi Sankar To: CC: , , , , , , "Sibi Sankar" Subject: [PATCH 2/7] remoteproc: qcom: pas: Add decrypt shutdown support for modem Date: Tue, 24 May 2022 18:43:32 +0530 Message-ID: <1653398017-28426-3-git-send-email-quic_sibis@quicinc.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1653398017-28426-1-git-send-email-quic_sibis@quicinc.com> References: <1653398017-28426-1-git-send-email-quic_sibis@quicinc.com> MIME-Version: 1.0 X-Originating-IP: [10.80.80.8] X-ClientProxiedBy: nasanex01a.na.qualcomm.com (10.52.223.231) To nalasex01a.na.qualcomm.com (10.47.209.196) Precedence: bulk List-ID: X-Mailing-List: linux-remoteproc@vger.kernel.org The initial shutdown request to modem on SM8450 SoCs would start the decryption process and will keep returning errors until the modem shutdown is complete. Fix this by retrying shutdowns in fixed intervals. Err Logs on modem shutdown: qcom_q6v5_pas 4080000.remoteproc: failed to shutdown: -22 remoteproc remoteproc3: can't stop rproc: -22 Fixes: 5cef9b48458d ("remoteproc: qcom: pas: Add SM8450 remoteproc support") Signed-off-by: Sibi Sankar --- drivers/remoteproc/qcom_q6v5_pas.c | 49 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/drivers/remoteproc/qcom_q6v5_pas.c b/drivers/remoteproc/qcom_q6v5_pas.c index 8ce68d0bb1bc..7313fc0a3c01 100644 --- a/drivers/remoteproc/qcom_q6v5_pas.c +++ b/drivers/remoteproc/qcom_q6v5_pas.c @@ -8,6 +8,7 @@ */ #include +#include #include #include #include @@ -29,6 +30,8 @@ #include "qcom_q6v5.h" #include "remoteproc_internal.h" +#define ADSP_DECRYPT_SHUTDOWN_DELAY_MS 100 + struct adsp_data { int crash_reason_smem; const char *firmware_name; @@ -37,6 +40,7 @@ struct adsp_data { bool uses_elf64; bool has_aggre2_clk; bool auto_boot; + bool decrypt_shutdown; char **proxy_pd_names; @@ -66,6 +70,7 @@ struct qcom_adsp { unsigned int minidump_id; int crash_reason_smem; bool has_aggre2_clk; + bool decrypt_shutdown; const char *info_name; struct completion start_done; @@ -129,6 +134,20 @@ static void adsp_pds_disable(struct qcom_adsp *adsp, struct device **pds, } } +static int adsp_decrypt_shutdown(struct qcom_adsp *adsp) +{ + int retry_num = 50; + int ret = -EINVAL; + + while (retry_num && ret) { + msleep(ADSP_DECRYPT_SHUTDOWN_DELAY_MS); + ret = qcom_scm_pas_shutdown(adsp->pas_id); + retry_num--; + } + + return ret; +} + static int adsp_unprepare(struct rproc *rproc) { struct qcom_adsp *adsp = (struct qcom_adsp *)rproc->priv; @@ -250,6 +269,9 @@ static int adsp_stop(struct rproc *rproc) dev_err(adsp->dev, "timed out on wait\n"); ret = qcom_scm_pas_shutdown(adsp->pas_id); + if (ret && adsp->decrypt_shutdown) + ret = adsp_decrypt_shutdown(adsp); + if (ret) dev_err(adsp->dev, "failed to shutdown: %d\n", ret); @@ -464,6 +486,7 @@ static int adsp_probe(struct platform_device *pdev) adsp->pas_id = desc->pas_id; adsp->has_aggre2_clk = desc->has_aggre2_clk; adsp->info_name = desc->sysmon_name; + adsp->decrypt_shutdown = desc->decrypt_shutdown; platform_set_drvdata(pdev, adsp); device_wakeup_enable(adsp->dev); @@ -538,6 +561,7 @@ static const struct adsp_data adsp_resource_init = { .pas_id = 1, .has_aggre2_clk = false, .auto_boot = true, + .decrypt_shutdown = false, .ssr_name = "lpass", .sysmon_name = "adsp", .ssctl_id = 0x14, @@ -549,6 +573,7 @@ static const struct adsp_data sdm845_adsp_resource_init = { .pas_id = 1, .has_aggre2_clk = false, .auto_boot = true, + .decrypt_shutdown = false, .load_state = "adsp", .ssr_name = "lpass", .sysmon_name = "adsp", @@ -561,6 +586,7 @@ static const struct adsp_data sm6350_adsp_resource = { .pas_id = 1, .has_aggre2_clk = false, .auto_boot = true, + .decrypt_shutdown = false, .proxy_pd_names = (char*[]){ "lcx", "lmx", @@ -578,6 +604,7 @@ static const struct adsp_data sm8150_adsp_resource = { .pas_id = 1, .has_aggre2_clk = false, .auto_boot = true, + .decrypt_shutdown = false, .proxy_pd_names = (char*[]){ "cx", NULL @@ -594,6 +621,7 @@ static const struct adsp_data sm8250_adsp_resource = { .pas_id = 1, .has_aggre2_clk = false, .auto_boot = true, + .decrypt_shutdown = false, .proxy_pd_names = (char*[]){ "lcx", "lmx", @@ -611,6 +639,7 @@ static const struct adsp_data sm8350_adsp_resource = { .pas_id = 1, .has_aggre2_clk = false, .auto_boot = true, + .decrypt_shutdown = false, .proxy_pd_names = (char*[]){ "lcx", "lmx", @@ -629,6 +658,7 @@ static const struct adsp_data sm8450_adsp_resource = { .uses_elf64 = true, .has_aggre2_clk = false, .auto_boot = true, + .decrypt_shutdown = false, .proxy_pd_names = (char*[]){ "lcx", "lmx", @@ -646,6 +676,7 @@ static const struct adsp_data msm8996_adsp_resource = { .pas_id = 1, .has_aggre2_clk = false, .auto_boot = true, + .decrypt_shutdown = false, .proxy_pd_names = (char*[]){ "cx", NULL @@ -661,6 +692,7 @@ static const struct adsp_data cdsp_resource_init = { .pas_id = 18, .has_aggre2_clk = false, .auto_boot = true, + .decrypt_shutdown = false, .ssr_name = "cdsp", .sysmon_name = "cdsp", .ssctl_id = 0x17, @@ -672,6 +704,7 @@ static const struct adsp_data sdm845_cdsp_resource_init = { .pas_id = 18, .has_aggre2_clk = false, .auto_boot = true, + .decrypt_shutdown = false, .load_state = "cdsp", .ssr_name = "cdsp", .sysmon_name = "cdsp", @@ -684,6 +717,7 @@ static const struct adsp_data sm6350_cdsp_resource = { .pas_id = 18, .has_aggre2_clk = false, .auto_boot = true, + .decrypt_shutdown = false, .proxy_pd_names = (char*[]){ "cx", "mx", @@ -701,6 +735,7 @@ static const struct adsp_data sm8150_cdsp_resource = { .pas_id = 18, .has_aggre2_clk = false, .auto_boot = true, + .decrypt_shutdown = false, .proxy_pd_names = (char*[]){ "cx", NULL @@ -717,6 +752,7 @@ static const struct adsp_data sm8250_cdsp_resource = { .pas_id = 18, .has_aggre2_clk = false, .auto_boot = true, + .decrypt_shutdown = false, .proxy_pd_names = (char*[]){ "cx", NULL @@ -733,6 +769,7 @@ static const struct adsp_data sc8280xp_nsp0_resource = { .pas_id = 18, .has_aggre2_clk = false, .auto_boot = true, + .decrypt_shutdown = false, .proxy_pd_names = (char*[]){ "nsp", NULL @@ -748,6 +785,7 @@ static const struct adsp_data sc8280xp_nsp1_resource = { .pas_id = 30, .has_aggre2_clk = false, .auto_boot = true, + .decrypt_shutdown = false, .proxy_pd_names = (char*[]){ "nsp", NULL @@ -763,6 +801,7 @@ static const struct adsp_data sm8350_cdsp_resource = { .pas_id = 18, .has_aggre2_clk = false, .auto_boot = true, + .decrypt_shutdown = false, .proxy_pd_names = (char*[]){ "cx", "mxc", @@ -781,6 +820,7 @@ static const struct adsp_data sm8450_cdsp_resource = { .uses_elf64 = true, .has_aggre2_clk = false, .auto_boot = true, + .decrypt_shutdown = false, .proxy_pd_names = (char*[]){ "cx", "mxc", @@ -799,6 +839,7 @@ static const struct adsp_data mpss_resource_init = { .minidump_id = 3, .has_aggre2_clk = false, .auto_boot = false, + .decrypt_shutdown = false, .proxy_pd_names = (char*[]){ "cx", "mss", @@ -816,6 +857,7 @@ static const struct adsp_data sc8180x_mpss_resource = { .pas_id = 4, .has_aggre2_clk = false, .auto_boot = false, + .decrypt_shutdown = false, .proxy_pd_names = (char*[]){ "cx", NULL @@ -834,6 +876,7 @@ static const struct adsp_data sm8450_mpss_resource = { .uses_elf64 = true, .has_aggre2_clk = false, .auto_boot = false, + .decrypt_shutdown = true, .proxy_pd_names = (char*[]){ "cx", "mss", @@ -851,6 +894,7 @@ static const struct adsp_data slpi_resource_init = { .pas_id = 12, .has_aggre2_clk = true, .auto_boot = true, + .decrypt_shutdown = false, .proxy_pd_names = (char*[]){ "ssc_cx", NULL @@ -866,6 +910,7 @@ static const struct adsp_data sm8150_slpi_resource = { .pas_id = 12, .has_aggre2_clk = false, .auto_boot = true, + .decrypt_shutdown = false, .proxy_pd_names = (char*[]){ "lcx", "lmx", @@ -883,6 +928,7 @@ static const struct adsp_data sm8250_slpi_resource = { .pas_id = 12, .has_aggre2_clk = false, .auto_boot = true, + .decrypt_shutdown = false, .proxy_pd_names = (char*[]){ "lcx", "lmx", @@ -900,6 +946,7 @@ static const struct adsp_data sm8350_slpi_resource = { .pas_id = 12, .has_aggre2_clk = false, .auto_boot = true, + .decrypt_shutdown = false, .proxy_pd_names = (char*[]){ "lcx", "lmx", @@ -916,6 +963,7 @@ static const struct adsp_data wcss_resource_init = { .firmware_name = "wcnss.mdt", .pas_id = 6, .auto_boot = true, + .decrypt_shutdown = false, .ssr_name = "mpss", .sysmon_name = "wcnss", .ssctl_id = 0x12, @@ -927,6 +975,7 @@ static const struct adsp_data sdx55_mpss_resource = { .pas_id = 4, .has_aggre2_clk = false, .auto_boot = true, + .decrypt_shutdown = false, .proxy_pd_names = (char*[]){ "cx", "mss", From patchwork Tue May 24 13:13:33 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sibi Sankar X-Patchwork-Id: 12860182 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 03480C433EF for ; Tue, 24 May 2022 13:14:13 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237617AbiEXNOM (ORCPT ); Tue, 24 May 2022 09:14:12 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35056 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S237607AbiEXNOJ (ORCPT ); Tue, 24 May 2022 09:14:09 -0400 Received: from alexa-out-sd-01.qualcomm.com (alexa-out-sd-01.qualcomm.com [199.106.114.38]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E2A959344B; Tue, 24 May 2022 06:14:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=quicinc.com; i=@quicinc.com; q=dns/txt; s=qcdkim; t=1653398047; x=1684934047; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version; bh=AlBEJIoNEMC16/4ts/gX8iyplCsO76uHyacKGmtrf0A=; b=YbyqyfRvsKFIv/KHdInMOk4Q2MYXbTiiTKBiqkyH8ISYTbTXrF7Kn2Pp SZzM7wL4r1h3p7zdihv9/y4J0Dbb2gsCGy2zfres21uDIs3tnPyFDlqeB CJToM9Le0sEknM61/ekA83zo8vl0k3ovEPyhF1M49muYB3AB3BWz+V5e7 Y=; Received: from unknown (HELO ironmsg03-sd.qualcomm.com) ([10.53.140.143]) by alexa-out-sd-01.qualcomm.com with ESMTP; 24 May 2022 06:14:07 -0700 X-QCInternal: smtphost Received: from nasanex01c.na.qualcomm.com ([10.47.97.222]) by ironmsg03-sd.qualcomm.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 May 2022 06:14:07 -0700 Received: from nalasex01a.na.qualcomm.com (10.47.209.196) by nasanex01c.na.qualcomm.com (10.47.97.222) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.22; Tue, 24 May 2022 06:14:07 -0700 Received: from blr-ubuntu-87.qualcomm.com (10.80.80.8) by nalasex01a.na.qualcomm.com (10.47.209.196) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.22; Tue, 24 May 2022 06:14:04 -0700 From: Sibi Sankar To: CC: , , , , , , Siddharth Gupta , Sibi Sankar Subject: [PATCH 3/7] remoteproc: qcom: pas: Mark va as io memory Date: Tue, 24 May 2022 18:43:33 +0530 Message-ID: <1653398017-28426-4-git-send-email-quic_sibis@quicinc.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1653398017-28426-1-git-send-email-quic_sibis@quicinc.com> References: <1653398017-28426-1-git-send-email-quic_sibis@quicinc.com> MIME-Version: 1.0 X-Originating-IP: [10.80.80.8] X-ClientProxiedBy: nasanex01a.na.qualcomm.com (10.52.223.231) To nalasex01a.na.qualcomm.com (10.47.209.196) Precedence: bulk List-ID: X-Mailing-List: linux-remoteproc@vger.kernel.org From: Siddharth Gupta The pas driver remaps the entire carveout region using the dev_ioremap_wc() call, which is then used in the adsp_da_to_va() calls made by the rproc framework. This change marks the va returned by this call as an iomem va. Signed-off-by: Siddharth Gupta Signed-off-by: Sibi Sankar --- drivers/remoteproc/qcom_q6v5_pas.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/remoteproc/qcom_q6v5_pas.c b/drivers/remoteproc/qcom_q6v5_pas.c index 7313fc0a3c01..a53f8a04f4af 100644 --- a/drivers/remoteproc/qcom_q6v5_pas.c +++ b/drivers/remoteproc/qcom_q6v5_pas.c @@ -291,6 +291,9 @@ static void *adsp_da_to_va(struct rproc *rproc, u64 da, size_t len, bool *is_iom if (offset < 0 || offset + len > adsp->mem_size) return NULL; + if (is_iomem) + *is_iomem = true; + return adsp->mem_region + offset; } From patchwork Tue May 24 13:13:34 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sibi Sankar X-Patchwork-Id: 12860183 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9B71DC433FE for ; Tue, 24 May 2022 13:14:29 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237635AbiEXNO2 (ORCPT ); Tue, 24 May 2022 09:14:28 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35416 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S237637AbiEXNOX (ORCPT ); Tue, 24 May 2022 09:14:23 -0400 Received: from alexa-out.qualcomm.com (alexa-out.qualcomm.com [129.46.98.28]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8344A980AD; Tue, 24 May 2022 06:14:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=quicinc.com; i=@quicinc.com; q=dns/txt; s=qcdkim; t=1653398051; x=1684934051; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version; bh=yCA5R7X8kuiJXERTZ/XpQcgdVm+7hfmhEn452RpwlX0=; b=oIP3gFknMdFEcRaDVG7OD6ACpzQ8I0bI8nBJoDT1ccIBRacyGquxuDan DLj1SrJA1RmXnshjdwRxcySRhyW7NyEwu9qnInLHmZ3iVoBNwmszRcQgb 8SvewMwzTXMzP+s2BsDZOQWDnL5Qa2UPV/902q6yEpWtQGgI7LqIky6qG s=; Received: from ironmsg08-lv.qualcomm.com ([10.47.202.152]) by alexa-out.qualcomm.com with ESMTP; 24 May 2022 06:14:11 -0700 X-QCInternal: smtphost Received: from nasanex01c.na.qualcomm.com ([10.47.97.222]) by ironmsg08-lv.qualcomm.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 May 2022 06:14:11 -0700 Received: from nalasex01a.na.qualcomm.com (10.47.209.196) by nasanex01c.na.qualcomm.com (10.47.97.222) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.22; Tue, 24 May 2022 06:14:10 -0700 Received: from blr-ubuntu-87.qualcomm.com (10.80.80.8) by nalasex01a.na.qualcomm.com (10.47.209.196) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.22; Tue, 24 May 2022 06:14:07 -0700 From: Sibi Sankar To: CC: , , , , , , Siddharth Gupta , Sibi Sankar Subject: [PATCH 4/7] remoteproc: qcom: pas: Mark devices as wakeup capable Date: Tue, 24 May 2022 18:43:34 +0530 Message-ID: <1653398017-28426-5-git-send-email-quic_sibis@quicinc.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1653398017-28426-1-git-send-email-quic_sibis@quicinc.com> References: <1653398017-28426-1-git-send-email-quic_sibis@quicinc.com> MIME-Version: 1.0 X-Originating-IP: [10.80.80.8] X-ClientProxiedBy: nasanex01a.na.qualcomm.com (10.52.223.231) To nalasex01a.na.qualcomm.com (10.47.209.196) Precedence: bulk List-ID: X-Mailing-List: linux-remoteproc@vger.kernel.org From: Siddharth Gupta device_wakeup_enable() on its own is not capable of setting device as wakeup capable, it needs to be used in conjunction with device_set_wakeup_capable(). The device_init_wakeup() calls both these functions on the device passed. Fixes: a781e5aa5911 ("remoteproc: core: Prevent system suspend during remoteproc recovery") Signed-off-by: Siddharth Gupta Signed-off-by: Sibi Sankar --- drivers/remoteproc/qcom_q6v5_pas.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/remoteproc/qcom_q6v5_pas.c b/drivers/remoteproc/qcom_q6v5_pas.c index a53f8a04f4af..e25b9315c26d 100644 --- a/drivers/remoteproc/qcom_q6v5_pas.c +++ b/drivers/remoteproc/qcom_q6v5_pas.c @@ -492,7 +492,9 @@ static int adsp_probe(struct platform_device *pdev) adsp->decrypt_shutdown = desc->decrypt_shutdown; platform_set_drvdata(pdev, adsp); - device_wakeup_enable(adsp->dev); + ret = device_init_wakeup(adsp->dev, true); + if (ret) + goto free_rproc; ret = adsp_alloc_memory_region(adsp); if (ret) From patchwork Tue May 24 13:13:35 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sibi Sankar X-Patchwork-Id: 12860184 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 2605CC4332F for ; Tue, 24 May 2022 13:14:30 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237625AbiEXNO3 (ORCPT ); Tue, 24 May 2022 09:14:29 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35482 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S237640AbiEXNOZ (ORCPT ); Tue, 24 May 2022 09:14:25 -0400 Received: from alexa-out-sd-02.qualcomm.com (alexa-out-sd-02.qualcomm.com [199.106.114.39]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 93A0E994D0; Tue, 24 May 2022 06:14:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=quicinc.com; i=@quicinc.com; q=dns/txt; s=qcdkim; t=1653398054; x=1684934054; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version; bh=JtpqNLkr2AzoYexv1DC/Ncnax3AR0f+Qp0xCSIOrSWY=; b=uNLoXVZRNDwVAH40jnHy4heyCTU0mJXdqUM0vONmiNE2B504QIHI2VKa CEwnSAyxWWruavDKSMNPh/OptFbaLCANJ91O98zy1BpSO794G48eUQMAL JoiBxjKoWBL81hB71s67Kba+zEXivdsFo8acrXjumyouNzV9U9Qk600is I=; Received: from unknown (HELO ironmsg03-sd.qualcomm.com) ([10.53.140.143]) by alexa-out-sd-02.qualcomm.com with ESMTP; 24 May 2022 06:14:14 -0700 X-QCInternal: smtphost Received: from nasanex01c.na.qualcomm.com ([10.47.97.222]) by ironmsg03-sd.qualcomm.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 May 2022 06:14:14 -0700 Received: from nalasex01a.na.qualcomm.com (10.47.209.196) by nasanex01c.na.qualcomm.com (10.47.97.222) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.22; Tue, 24 May 2022 06:14:14 -0700 Received: from blr-ubuntu-87.qualcomm.com (10.80.80.8) by nalasex01a.na.qualcomm.com (10.47.209.196) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.22; Tue, 24 May 2022 06:14:10 -0700 From: Sibi Sankar To: CC: , , , , , , Siddharth Gupta , Sibi Sankar Subject: [PATCH 5/7] remoteproc: qcom: pas: Check if coredump is enabled Date: Tue, 24 May 2022 18:43:35 +0530 Message-ID: <1653398017-28426-6-git-send-email-quic_sibis@quicinc.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1653398017-28426-1-git-send-email-quic_sibis@quicinc.com> References: <1653398017-28426-1-git-send-email-quic_sibis@quicinc.com> MIME-Version: 1.0 X-Originating-IP: [10.80.80.8] X-ClientProxiedBy: nasanex01a.na.qualcomm.com (10.52.223.231) To nalasex01a.na.qualcomm.com (10.47.209.196) Precedence: bulk List-ID: X-Mailing-List: linux-remoteproc@vger.kernel.org From: Siddharth Gupta Client drivers need to check if coredump is enabled for the rproc before continuing with coredump generation. This change adds a check in the PAS driver. Fixes: 8ed8485c4f05 ("remoteproc: qcom: Add capability to collect minidumps") Signed-off-by: Siddharth Gupta Signed-off-by: Sibi Sankar --- drivers/remoteproc/qcom_q6v5_pas.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/remoteproc/qcom_q6v5_pas.c b/drivers/remoteproc/qcom_q6v5_pas.c index e25b9315c26d..815ef2c14475 100644 --- a/drivers/remoteproc/qcom_q6v5_pas.c +++ b/drivers/remoteproc/qcom_q6v5_pas.c @@ -93,6 +93,9 @@ static void adsp_minidump(struct rproc *rproc) { struct qcom_adsp *adsp = rproc->priv; + if (rproc->dump_conf == RPROC_COREDUMP_DISABLED) + return; + qcom_minidump(rproc, adsp->minidump_id); } From patchwork Tue May 24 13:13:36 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sibi Sankar X-Patchwork-Id: 12860185 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 6A030C433EF for ; Tue, 24 May 2022 13:14:37 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237648AbiEXNOe (ORCPT ); Tue, 24 May 2022 09:14:34 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35526 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S237659AbiEXNO1 (ORCPT ); Tue, 24 May 2022 09:14:27 -0400 Received: from alexa-out-sd-01.qualcomm.com (alexa-out-sd-01.qualcomm.com [199.106.114.38]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7F2799969C; Tue, 24 May 2022 06:14:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=quicinc.com; i=@quicinc.com; q=dns/txt; s=qcdkim; t=1653398058; x=1684934058; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version; bh=4apJ2YIhGkoEwTiNR6MNe7V3jPUQO6PtbPX8m3NH/3E=; b=TKodrGyvGhRuZTM21Tq/QcO9Vfkmp+VOJe/3+NA4XKa0vKuVbfRxkrXJ hx70TLgbFKnpY5kRGValFopUq2AmiW2RDSMIrrjE6ju4HktZV/kP54uc7 GlKtOTR9Asc1RsRVdNA7ifRWI72HAfGBKfLr1jKJ+oqbEk2cxJwV8F6sV A=; Received: from unknown (HELO ironmsg02-sd.qualcomm.com) ([10.53.140.142]) by alexa-out-sd-01.qualcomm.com with ESMTP; 24 May 2022 06:14:17 -0700 X-QCInternal: smtphost Received: from nasanex01c.na.qualcomm.com ([10.47.97.222]) by ironmsg02-sd.qualcomm.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 May 2022 06:14:17 -0700 Received: from nalasex01a.na.qualcomm.com (10.47.209.196) by nasanex01c.na.qualcomm.com (10.47.97.222) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.22; Tue, 24 May 2022 06:14:17 -0700 Received: from blr-ubuntu-87.qualcomm.com (10.80.80.8) by nalasex01a.na.qualcomm.com (10.47.209.196) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.22; Tue, 24 May 2022 06:14:14 -0700 From: Sibi Sankar To: CC: , , , , , , Siddharth Gupta , Sibi Sankar Subject: [PATCH 6/7] remoteproc: qcom: Check elf class before minidump Date: Tue, 24 May 2022 18:43:36 +0530 Message-ID: <1653398017-28426-7-git-send-email-quic_sibis@quicinc.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1653398017-28426-1-git-send-email-quic_sibis@quicinc.com> References: <1653398017-28426-1-git-send-email-quic_sibis@quicinc.com> MIME-Version: 1.0 X-Originating-IP: [10.80.80.8] X-ClientProxiedBy: nasanex01a.na.qualcomm.com (10.52.223.231) To nalasex01a.na.qualcomm.com (10.47.209.196) Precedence: bulk List-ID: X-Mailing-List: linux-remoteproc@vger.kernel.org From: Siddharth Gupta When the minidump is done with the elf64 class we need to create the dumps using the section headers, otherwise we need to default to dump creation using the program headers. Fixes: 8ed8485c4f05 ("remoteproc: qcom: Add capability to collect minidumps") Signed-off-by: Siddharth Gupta Signed-off-by: Sibi Sankar Reported-by: kernel test robot --- drivers/remoteproc/qcom_common.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/drivers/remoteproc/qcom_common.c b/drivers/remoteproc/qcom_common.c index 4b91e3c9eafa..959fb24d57ec 100644 --- a/drivers/remoteproc/qcom_common.c +++ b/drivers/remoteproc/qcom_common.c @@ -174,7 +174,11 @@ void qcom_minidump(struct rproc *rproc, unsigned int minidump_id) dev_err(&rproc->dev, "Failed with error: %d while adding minidump entries\n", ret); goto clean_minidump; } - rproc_coredump_using_sections(rproc); + + if (rproc->elf_class == ELFCLASS64) + rproc_coredump_using_sections(rproc); + else + rproc_coredump(rproc); clean_minidump: qcom_minidump_cleanup(rproc); } From patchwork Tue May 24 13:13:37 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sibi Sankar X-Patchwork-Id: 12860186 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id DFC0CC433EF for ; Tue, 24 May 2022 13:14:46 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237643AbiEXNOp (ORCPT ); Tue, 24 May 2022 09:14:45 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35616 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S237607AbiEXNOa (ORCPT ); Tue, 24 May 2022 09:14:30 -0400 Received: from alexa-out.qualcomm.com (alexa-out.qualcomm.com [129.46.98.28]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7E7209AE43; Tue, 24 May 2022 06:14:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=quicinc.com; i=@quicinc.com; q=dns/txt; s=qcdkim; t=1653398061; x=1684934061; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version; bh=kQsY5dppdnct/ZNtz2heoo4zsfgJCzMJGLniMhE5u8c=; b=HSgwXFSEJiHIBK/GhHN1qhBmXp6QlFJSxr2blCz+URKnF61BHkQ8eRhx sd3UeGLIEU1TMA4YYveYxZyt0a/hHuUTme4/tfsoyStyY2dYmz89os0jY TVhbphgZuuF6cChZyDj0jN1qnmHT7GXreEr/llUeGwH9ooxSkGdZTroE+ I=; Received: from ironmsg07-lv.qualcomm.com ([10.47.202.151]) by alexa-out.qualcomm.com with ESMTP; 24 May 2022 06:14:21 -0700 X-QCInternal: smtphost Received: from nasanex01c.na.qualcomm.com ([10.47.97.222]) by ironmsg07-lv.qualcomm.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 May 2022 06:14:20 -0700 Received: from nalasex01a.na.qualcomm.com (10.47.209.196) by nasanex01c.na.qualcomm.com (10.47.97.222) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.22; Tue, 24 May 2022 06:14:20 -0700 Received: from blr-ubuntu-87.qualcomm.com (10.80.80.8) by nalasex01a.na.qualcomm.com (10.47.209.196) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.22; Tue, 24 May 2022 06:14:17 -0700 From: Sibi Sankar To: CC: , , , , , , Siddharth Gupta , Sibi Sankar Subject: [PATCH 7/7] remoteproc: q6v5: Set q6 state to offline on receiving wdog irq Date: Tue, 24 May 2022 18:43:37 +0530 Message-ID: <1653398017-28426-8-git-send-email-quic_sibis@quicinc.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1653398017-28426-1-git-send-email-quic_sibis@quicinc.com> References: <1653398017-28426-1-git-send-email-quic_sibis@quicinc.com> MIME-Version: 1.0 X-Originating-IP: [10.80.80.8] X-ClientProxiedBy: nasanex01a.na.qualcomm.com (10.52.223.231) To nalasex01a.na.qualcomm.com (10.47.209.196) Precedence: bulk List-ID: X-Mailing-List: linux-remoteproc@vger.kernel.org From: Siddharth Gupta Due to firmware bugs on the Q6 the hardware watchdog irq can be triggered multiple times. As the remoteproc framework schedules work items for the recovery process, if the other threads do not get a chance to run before recovery is completed the proceeding threads will see the state of the remoteproc as running and kill the remoteproc while it is running. This can result in various SMMU and NOC errors. This change sets the state of the remoteproc to offline whenever a watchdog irq is received. Signed-off-by: Siddharth Gupta Signed-off-by: Sibi Sankar --- drivers/remoteproc/qcom_q6v5.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/remoteproc/qcom_q6v5.c b/drivers/remoteproc/qcom_q6v5.c index 5280ec9b5449..497acfb33f8f 100644 --- a/drivers/remoteproc/qcom_q6v5.c +++ b/drivers/remoteproc/qcom_q6v5.c @@ -112,6 +112,7 @@ static irqreturn_t q6v5_wdog_interrupt(int irq, void *data) else dev_err(q6v5->dev, "watchdog without message\n"); + q6v5->running = false; rproc_report_crash(q6v5->rproc, RPROC_WATCHDOG); return IRQ_HANDLED; @@ -123,6 +124,9 @@ static irqreturn_t q6v5_fatal_interrupt(int irq, void *data) size_t len; char *msg; + if (!q6v5->running) + return IRQ_HANDLED; + msg = qcom_smem_get(QCOM_SMEM_HOST_ANY, q6v5->crash_reason, &len); if (!IS_ERR(msg) && len > 0 && msg[0]) dev_err(q6v5->dev, "fatal error received: %s\n", msg);