Received: by 2002:a05:6358:7058:b0:131:369:b2a3 with SMTP id 24csp9221555rwp; Thu, 20 Jul 2023 01:10:03 -0700 (PDT) X-Google-Smtp-Source: APBJJlE/jxi56OOu7b5JqxX935SODI7uBd27gO9r3ej4ZBz3mjbBSHu8KrgROkqAq7YOgqSKNDP0 X-Received: by 2002:a05:6808:188d:b0:3a1:dd1e:a726 with SMTP id bi13-20020a056808188d00b003a1dd1ea726mr1255613oib.44.1689840603096; Thu, 20 Jul 2023 01:10:03 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689840603; cv=none; d=google.com; s=arc-20160816; b=gdoRH3jieary20d8+Cx/uQHHr7598WJkkph+59aCRpkb+APpgt5xxB2r0XGleBjGZv eQCaX9bYr65+tW+6xaCYzqesAZ0fZyzSGPSaJVNHnEwkEMvu0+YsP4NkYdsLy077CMMh Az+RSDH5zuhlJzKOn8iE2PLmo3pL60wgbDQunYBNxiIlBEDXjoP6B+2v/8l/Qzt561LH KVKp4LDYeoTFTxaKEjaizA95JAoXwK4Rfs1a5ZEb1gyrF2IiatTipxWr7Z79chy9HBm+ e2IxsJZWafrs4WV+b+lVezvAOyJ1+v+jBhYk4TLHQPj5ZB8OpJtkSJ95wIP2sd9g4R44 CATg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=JCRlLyaALX/rXk8AiIWHO2CzHuqrO8zJFdqQXkQj7bA=; fh=E7bYE8tiPFTS20ZKZ9+MCb7wm0qJcZ4IGtjfFIZ4DZs=; b=acgBGiuhc+FFxcSLZqYF0ajCWiFl5FfjXDo1AdfTFZykf6j8e5IK8Mm7bx7QlWjE3W dHRabO4F2BkTvCusFzY3sfFFYM6gl0mWCx3jNv2Qci/dykRzeOAV5sSknw8KxkH7M9p1 z0bjoMlih+HhUrer48FYgHxoPaHrgarU4xF1UVBeAoL2YavdAhUXuhm64CvcngCpxLJt AvAE2VIq2AYJaa7pR2UGJDb8pJIrrcwryvq5KBCN9FJam63JlwK+nybgZeNfarRiJKIf 5mUvij76i1Z429HcGU4KUKc4O6T3lTuJFH35DzO6RmSTiRBBubJrviRb0wGS7Aw4RadZ SBfg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcppdkim1 header.b=K5a2q+MA; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=quicinc.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id j23-20020a17090ae61700b002634977e6e7si612425pjy.102.2023.07.20.01.09.50; Thu, 20 Jul 2023 01:10:03 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcppdkim1 header.b=K5a2q+MA; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=quicinc.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229907AbjGTHFC (ORCPT + 99 others); Thu, 20 Jul 2023 03:05:02 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39522 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231443AbjGTHEt (ORCPT ); Thu, 20 Jul 2023 03:04:49 -0400 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E4157269E; Thu, 20 Jul 2023 00:04:47 -0700 (PDT) Received: from pps.filterd (m0279871.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 36K5uBqS024037; Thu, 20 Jul 2023 07:04:44 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-transfer-encoding : content-type; s=qcppdkim1; bh=JCRlLyaALX/rXk8AiIWHO2CzHuqrO8zJFdqQXkQj7bA=; b=K5a2q+MADzd/EG4Fk9Wzpfb0Jc2RIym+2gFg3bBwF4PW0rd7z57q2EIgnuml5jzaIWZN oDWejbTriIrTy5EHTC4wEqZTHscncqClvEcDMskvLS+23KfTiC9f6S3fL/I2bg31Jjjn kajadVnu5p5yzs+UrUSUgUfdJTMPtkP5hcXFz+1Cf6pQCM7OgPCuF7MaiQym26rFKbKP k7NpFQBdlupZFetwBxkHc0tHtEjYyFq0Cd84pjJOffFRQNBcvAPeH2Yp8KISLxxhgIKe 2fo+PAlQMc4z7kuhHmQrOI2nfrNZQbZoj2J1RNAZ4kHdqkqM8w2SHTfpLA8O3+lRZd+f MA== Received: from nalasppmta02.qualcomm.com (Global_NAT1.qualcomm.com [129.46.96.20]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 3rxjtjscrc-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 20 Jul 2023 07:04:43 +0000 Received: from nalasex01a.na.qualcomm.com (nalasex01a.na.qualcomm.com [10.47.209.196]) by NALASPPMTA02.qualcomm.com (8.17.1.5/8.17.1.5) with ESMTPS id 36K74g7x029488 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 20 Jul 2023 07:04:42 GMT Received: from hu-kathirav-blr.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.1118.30; Thu, 20 Jul 2023 00:04:37 -0700 From: Kathiravan T To: Andy Gross , Bjorn Andersson , Konrad Dybcio , Linus Walleij , Elliot Berman , "Mukesh Ojha" , Kalle Valo , Loic Poulain , , , CC: , , , , Poovendhan Selvaraj , Kathiravan T Subject: [PATCH V5 3/3] firmware: scm: Modify only the download bits in TCSR register Date: Thu, 20 Jul 2023 12:34:08 +0530 Message-ID: <20230720070408.1093698-4-quic_kathirav@quicinc.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230720070408.1093698-1-quic_kathirav@quicinc.com> References: <20230720070408.1093698-1-quic_kathirav@quicinc.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-Originating-IP: [10.80.80.8] X-ClientProxiedBy: nasanex01b.na.qualcomm.com (10.46.141.250) To nalasex01a.na.qualcomm.com (10.47.209.196) X-QCInternal: smtphost X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=5800 signatures=585085 X-Proofpoint-GUID: Vmt_JrVqa_Ko09e4moRsAiwNffYmUtmv X-Proofpoint-ORIG-GUID: Vmt_JrVqa_Ko09e4moRsAiwNffYmUtmv X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.957,Hydra:6.0.591,FMLib:17.11.176.26 definitions=2023-07-19_16,2023-07-19_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 priorityscore=1501 mlxlogscore=999 phishscore=0 lowpriorityscore=0 bulkscore=0 clxscore=1015 mlxscore=0 spamscore=0 suspectscore=0 impostorscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2306200000 definitions=main-2307200058 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Mukesh Ojha 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. Co-developed-by: Poovendhan Selvaraj Signed-off-by: Poovendhan Selvaraj Signed-off-by: Mukesh Ojha Signed-off-by: Kathiravan T --- Changes in V5: - Added the Signed-off-by tag for user Poovendhan - Dropped the macro QCOM_DOWNLOAD_MODE_SHIFT in the favor of PREP_FIELD drivers/firmware/qcom_scm.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/drivers/firmware/qcom_scm.c b/drivers/firmware/qcom_scm.c index 104d86e49b97..3830dcf14326 100644 --- a/drivers/firmware/qcom_scm.c +++ b/drivers/firmware/qcom_scm.c @@ -30,6 +30,10 @@ module_param(download_mode, bool, 0); #define SCM_HAS_IFACE_CLK BIT(1) #define SCM_HAS_BUS_CLK BIT(2) +#define QCOM_DOWNLOAD_FULLDUMP 0x1 +#define QCOM_DOWNLOAD_NODUMP 0x0 +#define QCOM_DOWNLOAD_MODE_MASK BIT(4) + struct qcom_scm { struct device *dev; struct clk *core_clk; @@ -440,6 +444,7 @@ static int __qcom_scm_set_dload_mode(struct device *dev, bool enable) static void qcom_scm_set_download_mode(bool enable) { bool avail; + int val; int ret = 0; avail = __qcom_scm_is_call_available(__scm->dev, @@ -448,8 +453,10 @@ 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); + val = enable ? QCOM_DOWNLOAD_FULLDUMP : QCOM_DOWNLOAD_NODUMP; + ret = qcom_scm_io_update_field(__scm->dload_mode_addr, + QCOM_DOWNLOAD_MODE_MASK, + FIELD_PREP(QCOM_DOWNLOAD_MODE_MASK, val)); } else { dev_err(__scm->dev, "No available mechanism for setting download mode\n"); -- 2.34.1