From patchwork Tue Feb 21 14:39:38 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mukesh Ojha X-Patchwork-Id: 13148008 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 132ACC61DA3 for ; Tue, 21 Feb 2023 14:40:05 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234181AbjBUOkD (ORCPT ); Tue, 21 Feb 2023 09:40:03 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60292 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234519AbjBUOkC (ORCPT ); Tue, 21 Feb 2023 09:40:02 -0500 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B703227D68; Tue, 21 Feb 2023 06:40:01 -0800 (PST) Received: from pps.filterd (m0279865.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 31LCV1lQ019807; Tue, 21 Feb 2023 14:39:59 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=quicinc.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : mime-version : content-type; s=qcppdkim1; bh=cZ8G6Fbv9w/93PaVSEkBvSh58zKcC6k0drrVHDqaSUs=; b=RhMoCOZEx72KdUidqeTsEAZyzTwgzUwMFDRRuIjlgzBS0kWsGgz4aUDav/KK1FT1lczV 3Q5oiqrI5wKRpt2/qy7BqfaxraJGCoJdFiphMrYu7J/lXEnwaFhVF8POo4zjjK+UJMjL K5+f2gkJmRttUYnJV8jnv2RXb09cDSakqumn6CIfuckjN7aRTpw3tdy/mGmcUYRoavH/ LeI24PwErw6gjBwQDQiTpZNbJkAFshr/1tOIohjgPo5DghZm0EcoyV5b/mq6/1iCgvYs 4Dlf8UYbXgVGl5MLZO2NUitzRm9na+tdvWkeFTsn0o4EzGwoxFZv8sygp1ru3UmTeHbO bQ== Received: from nasanppmta03.qualcomm.com (i-global254.qualcomm.com [199.106.103.254]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 3nvtmm0qq4-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 21 Feb 2023 14:39:59 +0000 Received: from nasanex01c.na.qualcomm.com (nasanex01c.na.qualcomm.com [10.45.79.139]) by NASANPPMTA03.qualcomm.com (8.17.1.5/8.17.1.5) with ESMTPS id 31LEdwCn021228 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 21 Feb 2023 14:39:58 GMT Received: from hu-mojha-hyd.qualcomm.com (10.80.80.8) by nasanex01c.na.qualcomm.com (10.45.79.139) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.41; Tue, 21 Feb 2023 06:39:56 -0800 From: Mukesh Ojha To: , , CC: , , "Mukesh Ojha" Subject: [PATCH 1/4] firmware: qcom_scm: Clear download bit during reboot Date: Tue, 21 Feb 2023 20:09:38 +0530 Message-ID: <1676990381-18184-2-git-send-email-quic_mojha@quicinc.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1676990381-18184-1-git-send-email-quic_mojha@quicinc.com> References: <1676990381-18184-1-git-send-email-quic_mojha@quicinc.com> MIME-Version: 1.0 X-Originating-IP: [10.80.80.8] X-ClientProxiedBy: nasanex01b.na.qualcomm.com (10.46.141.250) To nasanex01c.na.qualcomm.com (10.45.79.139) X-QCInternal: smtphost X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=5800 signatures=585085 X-Proofpoint-GUID: 2X-eNOBngmFzbjiZ4BZh78m4U8k2HraL X-Proofpoint-ORIG-GUID: 2X-eNOBngmFzbjiZ4BZh78m4U8k2HraL X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.219,Aquarius:18.0.930,Hydra:6.0.562,FMLib:17.11.170.22 definitions=2023-02-21_08,2023-02-20_02,2023-02-09_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 bulkscore=0 priorityscore=1501 impostorscore=0 suspectscore=0 adultscore=0 clxscore=1015 mlxlogscore=999 mlxscore=0 phishscore=0 lowpriorityscore=0 spamscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2212070000 definitions=main-2302210122 Precedence: bulk List-ID: X-Mailing-List: linux-arm-msm@vger.kernel.org During normal restart of a system download bit should be cleared irrespective of whether download mode is set or not. Signed-off-by: Mukesh Ojha --- drivers/firmware/qcom_scm.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/firmware/qcom_scm.c b/drivers/firmware/qcom_scm.c index cdbfe54..51eb853 100644 --- a/drivers/firmware/qcom_scm.c +++ b/drivers/firmware/qcom_scm.c @@ -1418,8 +1418,7 @@ static int qcom_scm_probe(struct platform_device *pdev) static void qcom_scm_shutdown(struct platform_device *pdev) { /* Clean shutdown, disable download mode to allow normal restart */ - if (download_mode) - qcom_scm_set_download_mode(false); + qcom_scm_set_download_mode(false); } static const struct of_device_id qcom_scm_dt_match[] = { From patchwork Tue Feb 21 14:39:39 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mukesh Ojha X-Patchwork-Id: 13148009 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 568E6C636D7 for ; Tue, 21 Feb 2023 14:40:09 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234389AbjBUOkH (ORCPT ); Tue, 21 Feb 2023 09:40:07 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60412 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234153AbjBUOkF (ORCPT ); Tue, 21 Feb 2023 09:40:05 -0500 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6BD572820B; Tue, 21 Feb 2023 06:40:04 -0800 (PST) Received: from pps.filterd (m0279862.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 31LCeh9w001833; Tue, 21 Feb 2023 14:40:02 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=quicinc.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : mime-version : content-type; s=qcppdkim1; bh=dTRZq12Qz9rt2O6WShBVkzn0CSn1DSKpczXU5AMMJtA=; b=egCMX9zUUoe8rjp3G6QiLN/ZnpggFVelv54MGV6pZrZGvWUHHRYuMJuScnyeLvdtHwuX xcb5GTnV+9J22a6rYgWtJuwjtQZyPudpx+Xb86szj5I0hEXdmyWAHLW7enf5l0bvhXmy D4TZV3HgafmGKQzRi9oGGxQVAiKxhBBoPBmqxmaOyfmryav5WmqblsmWhKPmB4tT6mcM mN1kKpewOs++IXRIKe7TA9T0N6eYev2186Q8ZxX5AGaXwrxryBKEtHRDQjHxvujyqE2h 8NxeDCaLgaXpupi2DKwE3e9VhPUvHExMh9CZC8m1k4VeXWdSPdfbKuJHwB4rZKEOw13g qw== Received: from nasanppmta03.qualcomm.com (i-global254.qualcomm.com [199.106.103.254]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 3nvp4v1b0u-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 21 Feb 2023 14:40:01 +0000 Received: from nasanex01c.na.qualcomm.com (nasanex01c.na.qualcomm.com [10.45.79.139]) by NASANPPMTA03.qualcomm.com (8.17.1.5/8.17.1.5) with ESMTPS id 31LEe1ZI021265 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 21 Feb 2023 14:40:01 GMT Received: from hu-mojha-hyd.qualcomm.com (10.80.80.8) by nasanex01c.na.qualcomm.com (10.45.79.139) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.41; Tue, 21 Feb 2023 06:39:58 -0800 From: Mukesh Ojha To: , , CC: , , "Mukesh Ojha" Subject: [PATCH 2/4] firmware: scm: Modify only the DLOAD bit in TCSR register for download mode Date: Tue, 21 Feb 2023 20:09:39 +0530 Message-ID: <1676990381-18184-3-git-send-email-quic_mojha@quicinc.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1676990381-18184-1-git-send-email-quic_mojha@quicinc.com> References: <1676990381-18184-1-git-send-email-quic_mojha@quicinc.com> MIME-Version: 1.0 X-Originating-IP: [10.80.80.8] X-ClientProxiedBy: nasanex01b.na.qualcomm.com (10.46.141.250) To nasanex01c.na.qualcomm.com (10.45.79.139) X-QCInternal: smtphost X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=5800 signatures=585085 X-Proofpoint-ORIG-GUID: NPsY0qACSAAytEtjtIfVwqswLYvKynBu X-Proofpoint-GUID: NPsY0qACSAAytEtjtIfVwqswLYvKynBu X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.219,Aquarius:18.0.930,Hydra:6.0.562,FMLib:17.11.170.22 definitions=2023-02-21_08,2023-02-20_02,2023-02-09_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxscore=0 mlxlogscore=999 clxscore=1015 adultscore=0 spamscore=0 phishscore=0 suspectscore=0 bulkscore=0 impostorscore=0 lowpriorityscore=0 malwarescore=0 priorityscore=1501 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2212070000 definitions=main-2302210122 Precedence: bulk List-ID: X-Mailing-List: linux-arm-msm@vger.kernel.org CrashDump collection is based on the DLOAD bit of TCSR register. To retain other bits, we read the register and modify only the DLOAD bit as the other bits have their own significance. Originally-by: Poovendhan Selvaraj Signed-off-by: Mukesh Ojha --- drivers/firmware/qcom_scm.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/drivers/firmware/qcom_scm.c b/drivers/firmware/qcom_scm.c index 51eb853..c376ba8 100644 --- a/drivers/firmware/qcom_scm.c +++ b/drivers/firmware/qcom_scm.c @@ -419,6 +419,7 @@ static void qcom_scm_set_download_mode(bool enable) { bool avail; int ret = 0; + u32 dload_addr_val; avail = __qcom_scm_is_call_available(__scm->dev, QCOM_SCM_SVC_BOOT, @@ -426,8 +427,16 @@ static void qcom_scm_set_download_mode(bool enable) if (avail) { ret = __qcom_scm_set_dload_mode(__scm->dev, enable); } else if (__scm->dload_mode_addr) { - ret = qcom_scm_io_writel(__scm->dload_mode_addr, - enable ? QCOM_SCM_BOOT_SET_DLOAD_MODE : 0); + ret = qcom_scm_io_readl(__scm->dload_mode_addr, &dload_addr_val); + if (ret) { + dev_err(__scm->dev, + "failed to read dload mode address value: %d\n", ret); + return; + } + + ret = qcom_scm_io_writel(__scm->dload_mode_addr, enable ? + dload_addr_val | QCOM_SCM_BOOT_SET_DLOAD_MODE : + dload_addr_val & ~(QCOM_SCM_BOOT_SET_DLOAD_MODE)); } else { dev_err(__scm->dev, "No available mechanism for setting download mode\n"); From patchwork Tue Feb 21 14:39:40 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mukesh Ojha X-Patchwork-Id: 13148010 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 B6D45C636D7 for ; Tue, 21 Feb 2023 14:40:17 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234572AbjBUOkQ (ORCPT ); Tue, 21 Feb 2023 09:40:16 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60614 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234550AbjBUOkJ (ORCPT ); Tue, 21 Feb 2023 09:40:09 -0500 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 18C3628D1E; Tue, 21 Feb 2023 06:40:08 -0800 (PST) Received: from pps.filterd (m0279872.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 31LDZRmB001877; Tue, 21 Feb 2023 14:40:04 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=quicinc.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : mime-version : content-type; s=qcppdkim1; bh=IwZRW6l6jcYWknvtnXsL53z2sTmEbJH1YXShJA0h5bs=; b=c7Ctk13AI+M4m6CO6tiPMDBaAuo/sq/5uEAFU5IMoM9NggLsvSaakBI4uaEV0ICpgRt2 9VKUhCpDwbdAkv0ZigFe6W9u95ECFKu5F6xGbhuUH9QMmVWeLEGYTlqhacyLQ/VEIE8h SaTTP5SXgv61xOfIsgRp2SC7kHqrJ70eFd8DhrJvWblmbX1ZaysAJYza3Z9FnuHPQdsk Pw0UWUoT9B6G4+uaYdN6PkNcUV6bpmJV/opBoAKGeTjzrCZ0JkBPgjpl2UI8JoZXw2Si aOhMO02ht6A43xhsWJca8bm0Cz4UKO0Oll6edvgRT4+leQifHG/1XCQVxAUluj0RcVA/ XQ== Received: from nasanppmta04.qualcomm.com (i-global254.qualcomm.com [199.106.103.254]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 3nvn8r9fh2-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 21 Feb 2023 14:40:04 +0000 Received: from nasanex01c.na.qualcomm.com (nasanex01c.na.qualcomm.com [10.45.79.139]) by NASANPPMTA04.qualcomm.com (8.17.1.5/8.17.1.5) with ESMTPS id 31LEe31L009009 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 21 Feb 2023 14:40:03 GMT Received: from hu-mojha-hyd.qualcomm.com (10.80.80.8) by nasanex01c.na.qualcomm.com (10.45.79.139) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.41; Tue, 21 Feb 2023 06:40:01 -0800 From: Mukesh Ojha To: , , CC: , , "Mukesh Ojha" Subject: [PATCH 3/4] firmware: qcom_scm: Refactor code to support multiple download mode Date: Tue, 21 Feb 2023 20:09:40 +0530 Message-ID: <1676990381-18184-4-git-send-email-quic_mojha@quicinc.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1676990381-18184-1-git-send-email-quic_mojha@quicinc.com> References: <1676990381-18184-1-git-send-email-quic_mojha@quicinc.com> MIME-Version: 1.0 X-Originating-IP: [10.80.80.8] X-ClientProxiedBy: nasanex01b.na.qualcomm.com (10.46.141.250) To nasanex01c.na.qualcomm.com (10.45.79.139) X-QCInternal: smtphost X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=5800 signatures=585085 X-Proofpoint-GUID: Q2MuaXBZa5fxC0UqRbflHwrWp1IRLlId X-Proofpoint-ORIG-GUID: Q2MuaXBZa5fxC0UqRbflHwrWp1IRLlId X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.219,Aquarius:18.0.930,Hydra:6.0.562,FMLib:17.11.170.22 definitions=2023-02-21_08,2023-02-20_02,2023-02-09_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 phishscore=0 mlxlogscore=999 bulkscore=0 adultscore=0 mlxscore=0 clxscore=1015 impostorscore=0 spamscore=0 priorityscore=1501 lowpriorityscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2212070000 definitions=main-2302210122 Precedence: bulk List-ID: X-Mailing-List: linux-arm-msm@vger.kernel.org Currently on Qualcomm SoC, download_mode is enabled if CONFIG_QCOM_SCM_DOWNLOAD_MODE_DEFAULT is selected. Refactor the code such that it supports multiple download modes and drop the config. Signed-off-by: Mukesh Ojha --- drivers/firmware/Kconfig | 11 ----------- drivers/firmware/qcom_scm.c | 45 +++++++++++++++++++++++++++++++++++++++------ include/linux/qcom_scm.h | 4 ++++ 3 files changed, 43 insertions(+), 17 deletions(-) diff --git a/drivers/firmware/Kconfig b/drivers/firmware/Kconfig index b59e304..ff7e9f3 100644 --- a/drivers/firmware/Kconfig +++ b/drivers/firmware/Kconfig @@ -215,17 +215,6 @@ config MTK_ADSP_IPC config QCOM_SCM tristate -config QCOM_SCM_DOWNLOAD_MODE_DEFAULT - bool "Qualcomm download mode enabled by default" - depends on QCOM_SCM - help - A device with "download mode" enabled will upon an unexpected - warm-restart enter a special debug mode that allows the user to - "download" memory content over USB for offline postmortem analysis. - The feature can be enabled/disabled on the kernel command line. - - Say Y here to enable "download mode" by default. - config SYSFB bool select BOOT_VESA_SUPPORT diff --git a/drivers/firmware/qcom_scm.c b/drivers/firmware/qcom_scm.c index c376ba8..4975d3c 100644 --- a/drivers/firmware/qcom_scm.c +++ b/drivers/firmware/qcom_scm.c @@ -20,8 +20,43 @@ #include "qcom_scm.h" -static bool download_mode = IS_ENABLED(CONFIG_QCOM_SCM_DOWNLOAD_MODE_DEFAULT); -module_param(download_mode, bool, 0); +static unsigned int download_mode; +static struct qcom_scm *__scm; +static void qcom_scm_set_download_mode(bool enable); +static int set_dload_mode(const char *val, const struct kernel_param *kp) +{ + int ret; + int old_mode = download_mode; + + ret = param_set_int(val, kp); + if (ret) + return ret; + + switch (download_mode) { + case QCOM_DOWNLOAD_FULLDUMP: + if (__scm) + qcom_scm_set_download_mode(true); + break; + case QCOM_DOWNLOAD_NODUMP: + if (__scm) + qcom_scm_set_download_mode(false); + break; + default: + pr_err("unknown download mode\n"); + download_mode = old_mode; + return -EINVAL; + } + + return 0; +} + +static const struct kernel_param_ops dload_mode_param_ops = { + .set = set_dload_mode, + .get = param_get_hexint, +}; +module_param_cb(download_mode, &dload_mode_param_ops, &download_mode, 0644); +MODULE_PARM_DESC(download_mode, + "Download mode: 0x0=no dump mode (default), 0x10=full dump mode"); #define SCM_HAS_CORE_CLK BIT(0) #define SCM_HAS_IFACE_CLK BIT(1) @@ -70,8 +105,6 @@ static const char * const qcom_scm_convention_names[] = { [SMC_CONVENTION_LEGACY] = "smc legacy", }; -static struct qcom_scm *__scm; - static int qcom_scm_clk_enable(void) { int ret; @@ -435,8 +468,8 @@ static void qcom_scm_set_download_mode(bool enable) } ret = qcom_scm_io_writel(__scm->dload_mode_addr, enable ? - dload_addr_val | QCOM_SCM_BOOT_SET_DLOAD_MODE : - dload_addr_val & ~(QCOM_SCM_BOOT_SET_DLOAD_MODE)); + ((dload_addr_val & ~QCOM_DOWNLOAD_MODE_MASK) | download_mode) : + dload_addr_val & ~QCOM_DOWNLOAD_MODE_MASK); } else { dev_err(__scm->dev, "No available mechanism for setting download mode\n"); diff --git a/include/linux/qcom_scm.h b/include/linux/qcom_scm.h index f833564..dd6aced 100644 --- a/include/linux/qcom_scm.h +++ b/include/linux/qcom_scm.h @@ -14,6 +14,10 @@ #define QCOM_SCM_CPU_PWR_DOWN_L2_OFF 0x1 #define QCOM_SCM_HDCP_MAX_REQ_CNT 5 +#define QCOM_DOWNLOAD_MODE_MASK 0x30 +#define QCOM_DOWNLOAD_NODUMP 0x0 +#define QCOM_DOWNLOAD_FULLDUMP 0x10 + struct qcom_scm_hdcp_req { u32 addr; u32 val; From patchwork Tue Feb 21 14:39:41 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mukesh Ojha X-Patchwork-Id: 13148011 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 4CD28C61DA3 for ; Tue, 21 Feb 2023 14:40:19 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234519AbjBUOkR (ORCPT ); Tue, 21 Feb 2023 09:40:17 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60412 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234559AbjBUOkO (ORCPT ); Tue, 21 Feb 2023 09:40:14 -0500 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 968A02B2B7; Tue, 21 Feb 2023 06:40:09 -0800 (PST) Received: from pps.filterd (m0279863.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 31LEblQP003378; Tue, 21 Feb 2023 14:40:06 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=quicinc.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : mime-version : content-type; s=qcppdkim1; bh=XwI+g78iar6iebOl3PnrPCN4WLZBQYovSpKT7M6IcVo=; b=cxZfoHOU5eTqktVjj+Trwp+BCj8bk13rEX2eutRkbFEZI/SymafRhKuffjlIo9BxsYBr 276spCF88y3DFzyuGhONbdv5dM4v9hn7pYDRIl2hGOQxoAjCR18KGdrVbkY3OHFe/On3 EWX+azFrdh4VoCePe0ajNMSTUdFScvSsrKm6GRHel5Et0+DNhW3TV4LQBSztFqjmgfBP +35skW6U/AvK3ykFvqI0V0o2GFrdsQ92t8ANdv7c25k+pOB/mi07p+leNVqneu0mhdDA Z0C0+LY9alHRHa3loounat7y23As0tIOiOJNS+VmmdEwyoUD3Aoz/hbq2NqcAfrf9n/N 9A== Received: from nasanppmta03.qualcomm.com (i-global254.qualcomm.com [199.106.103.254]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 3ntpw9qqua-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 21 Feb 2023 14:40:06 +0000 Received: from nasanex01c.na.qualcomm.com (nasanex01c.na.qualcomm.com [10.45.79.139]) by NASANPPMTA03.qualcomm.com (8.17.1.5/8.17.1.5) with ESMTPS id 31LEe6Dv021590 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 21 Feb 2023 14:40:06 GMT Received: from hu-mojha-hyd.qualcomm.com (10.80.80.8) by nasanex01c.na.qualcomm.com (10.45.79.139) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.41; Tue, 21 Feb 2023 06:40:03 -0800 From: Mukesh Ojha To: , , CC: , , "Mukesh Ojha" Subject: [PATCH 4/4] firmware: qcom_scm: Add multiple download mode support Date: Tue, 21 Feb 2023 20:09:41 +0530 Message-ID: <1676990381-18184-5-git-send-email-quic_mojha@quicinc.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1676990381-18184-1-git-send-email-quic_mojha@quicinc.com> References: <1676990381-18184-1-git-send-email-quic_mojha@quicinc.com> MIME-Version: 1.0 X-Originating-IP: [10.80.80.8] X-ClientProxiedBy: nasanex01b.na.qualcomm.com (10.46.141.250) To nasanex01c.na.qualcomm.com (10.45.79.139) X-QCInternal: smtphost X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=5800 signatures=585085 X-Proofpoint-ORIG-GUID: Iwy2OPJc8TMGisDZc_QrE2t_76SlJUMR X-Proofpoint-GUID: Iwy2OPJc8TMGisDZc_QrE2t_76SlJUMR X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.219,Aquarius:18.0.930,Hydra:6.0.562,FMLib:17.11.170.22 definitions=2023-02-21_08,2023-02-20_02,2023-02-09_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxlogscore=999 clxscore=1015 spamscore=0 adultscore=0 impostorscore=0 phishscore=0 mlxscore=0 suspectscore=0 malwarescore=0 priorityscore=1501 bulkscore=0 lowpriorityscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2212070000 definitions=main-2302210122 Precedence: bulk List-ID: X-Mailing-List: linux-arm-msm@vger.kernel.org Currently, scm driver only supports full dump when download mode is selected. Add support to enable minidump as well both dump(full dump + minidump). Signed-off-by: Mukesh Ojha --- drivers/firmware/qcom_scm.c | 5 ++++- include/linux/qcom_scm.h | 2 ++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/drivers/firmware/qcom_scm.c b/drivers/firmware/qcom_scm.c index 4975d3c..b7a2715 100644 --- a/drivers/firmware/qcom_scm.c +++ b/drivers/firmware/qcom_scm.c @@ -34,6 +34,8 @@ static int set_dload_mode(const char *val, const struct kernel_param *kp) switch(download_mode) { case QCOM_DOWNLOAD_FULLDUMP: + case QCOM_DOWNLOAD_MINIDUMP: + case QCOM_DOWNLOAD_BOTHDUMP: if (__scm) qcom_scm_set_download_mode(true); break; @@ -56,7 +58,8 @@ static const struct kernel_param_ops dload_mode_param_ops = { }; module_param_cb(download_mode, &dload_mode_param_ops, &download_mode, 0644); MODULE_PARM_DESC(download_mode, - "Download mode: 0x0=no dump mode (default), 0x10=full dump mode"); + "Download mode: 0x0=no dump mode (default), 0x10=full dump mode, " + "0x20=mini dump mode 0x30=both(full + mini)dump mode"); #define SCM_HAS_CORE_CLK BIT(0) #define SCM_HAS_IFACE_CLK BIT(1) diff --git a/include/linux/qcom_scm.h b/include/linux/qcom_scm.h index dd6aced..8304c73c 100644 --- a/include/linux/qcom_scm.h +++ b/include/linux/qcom_scm.h @@ -17,6 +17,8 @@ #define QCOM_DOWNLOAD_MODE_MASK 0x30 #define QCOM_DOWNLOAD_NODUMP 0x0 #define QCOM_DOWNLOAD_FULLDUMP 0x10 +#define QCOM_DOWNLOAD_MINIDUMP 0x20 +#define QCOM_DOWNLOAD_BOTHDUMP (QCOM_DOWNLOAD_FULLDUMP | QCOM_DOWNLOAD_MINIDUMP) struct qcom_scm_hdcp_req { u32 addr;