Received: by 2002:a05:7412:a9a2:b0:e2:908c:2ebd with SMTP id o34csp2554514rdh; Sun, 29 Oct 2023 23:57:08 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHEtY6dmQC8wUv6dFtwrUPL/r+oOOjmaU16mOlxj09ApNOJ343Gr016jWacIgiWgMu2gj+i X-Received: by 2002:a05:6871:610b:b0:1ea:fd4:58fb with SMTP id ra11-20020a056871610b00b001ea0fd458fbmr10927759oab.52.1698649027921; Sun, 29 Oct 2023 23:57:07 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1698649027; cv=none; d=google.com; s=arc-20160816; b=rvqjTabbAx0ySRgsd3Zs6OUVGY9o5w4d++6wljymke6WUKGg6JpRA/BfmLzkeWvekd O7XoH6umywWVLJsqkQrFVHN8m+nofl40aP6pSYEMu7jMEMmvnY54/5SMHjqZOgHMOuV8 5QsjYcPuozqDo+LSyag6wzpYaKZHnM+1OXgmPIJG3cGgZSXd96BVvY23lWSGCSgxvMAp QN//Fr4//s9lygL8MRai0fZng1OiY8lvAc+4vtqPKEiNgj4EFpN2qdQ1wYk1jQmUYF9/ cjgDVOqjxZwv8slWd2e0Z13V/nfYW3GaAHSl4KkEsriS5Oy5W8EJeVkZabNhVXiuc8hX GYag== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:references:in-reply-to:message-id :date:subject:cc:to:from:dkim-signature; bh=XAOWVdqepwwsayth8KJpxO5KfFSEsRxjavEreInTQpk=; fh=0dVrtEj9PBUV1advtqeuTY+1RW3gNQlyjTlZDe4Bpps=; b=ANfcVDxFWQUDJBOzKmaCdL+HWZpcA7bRmQ0LtNdpqT8k/5lmIvl0tMCbVQv325mK+s T4f9PynAOW2uQqIHxAJBPbujtbsToO+i7up5tGbYZO6T8ekSbBmzuI4WsTN/nnc7ZIPE BdWhuimE99IMjAFr/zEy5NOFarKcFyyiGbxm8X45lE9Emk7IHEr9lMSnS5ze9lijqbK7 yGEsHlTVAEldhg6lOgsfW+AT5TvkvavoXOzGeF1M2ejHGNtHC0XuHsJTDc6eegPqsQ9E 85p7sS6IXPOmuSYgS8tmLEVfAghdjeqhrY4dqsOuz5ZV41rlJ3HeWnvrFgULrLQtWKdu VMPQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcppdkim1 header.b=bbFVw4vy; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:2 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 agentk.vger.email (agentk.vger.email. [2620:137:e000::3:2]) by mx.google.com with ESMTPS id g131-20020a636b89000000b0055793097dbesi4542888pgc.469.2023.10.29.23.57.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 29 Oct 2023 23:57:07 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:2 as permitted sender) client-ip=2620:137:e000::3:2; Authentication-Results: mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcppdkim1 header.b=bbFVw4vy; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:2 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=quicinc.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by agentk.vger.email (Postfix) with ESMTP id 9E6198053C77; Sun, 29 Oct 2023 23:57:05 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at agentk.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231874AbjJ3G4h (ORCPT + 99 others); Mon, 30 Oct 2023 02:56:37 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52870 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231824AbjJ3G4c (ORCPT ); Mon, 30 Oct 2023 02:56:32 -0400 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id CED98AB; Sun, 29 Oct 2023 23:56:29 -0700 (PDT) Received: from pps.filterd (m0279870.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 39U6uQsQ023955; Mon, 30 Oct 2023 06:56:26 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=XAOWVdqepwwsayth8KJpxO5KfFSEsRxjavEreInTQpk=; b=bbFVw4vytLw9GS4OZpVXLDVN79EiakeLmSG5lfxtRJIAXuRmpoFO9kLAdRAoClf4rlW6 6RXq+ykyvTICB6nV9xTkedCPfQ3rVnzwy4lRDodl8C71ZlMZHD3dOyp3NIRTDUsdgZLP Nx0EZto8w6VN2T4mMbjHiJn3dBYz4j79nQN9dWUnmyl9RiIc7VfTGUGJYQAQROXNQXvx ivubkPZpirUToy3wz6XV7jYLvyj3Afphtv3bgw/hASPKiy7PnsLPYTqHVE1PB+G9WPsl QNy8SONw+7FTwp8NSRjgBhD8GcKRiR4gq0o2vNPB+owXUHzxfeQCBzK8rJHM3ON8RgOF pw== Received: from nasanppmta05.qualcomm.com (i-global254.qualcomm.com [199.106.103.254]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 3u0td234x5-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 30 Oct 2023 06:56:26 +0000 Received: from nasanex01c.na.qualcomm.com (nasanex01c.na.qualcomm.com [10.45.79.139]) by NASANPPMTA05.qualcomm.com (8.17.1.5/8.17.1.5) with ESMTPS id 39U6uPTT012959 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 30 Oct 2023 06:56:25 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.1118.39; Sun, 29 Oct 2023 23:56:22 -0700 From: Mukesh Ojha To: , , , CC: , , "Mukesh Ojha" , Poovendhan Selvaraj Subject: [PATCH v9 2/3] firmware: scm: Modify only the download bits in TCSR register Date: Mon, 30 Oct 2023 12:26:06 +0530 Message-ID: <1698648967-974-3-git-send-email-quic_mojha@quicinc.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1698648967-974-1-git-send-email-quic_mojha@quicinc.com> References: <1698648967-974-1-git-send-email-quic_mojha@quicinc.com> MIME-Version: 1.0 Content-Type: text/plain 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: pr1fXQMOhuE-w1M6eazjsohibu96PKFj X-Proofpoint-GUID: pr1fXQMOhuE-w1M6eazjsohibu96PKFj X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2023-10-30_05,2023-10-27_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 mlxlogscore=999 lowpriorityscore=0 spamscore=0 bulkscore=0 adultscore=0 clxscore=1015 priorityscore=1501 impostorscore=0 malwarescore=0 mlxscore=0 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2310240000 definitions=main-2310300051 X-Spam-Status: No, score=1.6 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SORTED_RECIPS,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on agentk.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (agentk.vger.email [0.0.0.0]); Sun, 29 Oct 2023 23:57:05 -0700 (PDT) X-Spam-Level: * Crashdump collection is done based on DLOAD bits of TCSR register. To retain other bits, scm driver need to read the register and modify only the DLOAD bits, as other bits in TCSR may have their own significance. Co-developed-by: Poovendhan Selvaraj Signed-off-by: Poovendhan Selvaraj Signed-off-by: Mukesh Ojha Tested-by: Kathiravan Thirumoorthy # IPQ9574 and IPQ5332 Reviewed-by: Dmitry Baryshkov --- drivers/firmware/qcom/qcom_scm.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/drivers/firmware/qcom/qcom_scm.c b/drivers/firmware/qcom/qcom_scm.c index 25549178a30f..95f73a8c51d7 100644 --- a/drivers/firmware/qcom/qcom_scm.c +++ b/drivers/firmware/qcom/qcom_scm.c @@ -4,6 +4,8 @@ */ #include +#include +#include #include #include #include @@ -117,6 +119,12 @@ static const u8 qcom_scm_cpu_warm_bits[QCOM_SCM_BOOT_MAX_CPUS] = { #define QCOM_SMC_WAITQ_FLAG_WAKE_ONE BIT(0) #define QCOM_SMC_WAITQ_FLAG_WAKE_ALL BIT(1) +#define QCOM_DLOAD_MASK GENMASK(5, 4) +enum qcom_dload_mode { + QCOM_DLOAD_NODUMP = 0, + QCOM_DLOAD_FULLDUMP = 1, +}; + static const char * const qcom_scm_convention_names[] = { [SMC_CONVENTION_UNKNOWN] = "unknown", [SMC_CONVENTION_ARM_32] = "smc arm 32", @@ -523,6 +531,7 @@ static int __qcom_scm_set_dload_mode(struct device *dev, bool enable) static void qcom_scm_set_download_mode(bool enable) { + u32 val = enable ? QCOM_DLOAD_FULLDUMP : QCOM_DLOAD_NODUMP; bool avail; int ret = 0; @@ -532,8 +541,9 @@ 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_rmw(__scm->dload_mode_addr, + QCOM_DLOAD_MASK, + FIELD_PREP(QCOM_DLOAD_MASK, val)); } else { dev_err(__scm->dev, "No available mechanism for setting download mode\n"); -- 2.7.4