Received: by 2002:a05:7412:b795:b0:e2:908c:2ebd with SMTP id iv21csp529530rdb; Thu, 2 Nov 2023 10:15:59 -0700 (PDT) X-Google-Smtp-Source: AGHT+IERupl5GWJ6SCBCC6B8M9ibRl82Uygkls5n50SNA+b508cG67ijcgy4zyMvjQfoctyY00/k X-Received: by 2002:a05:6a21:3d83:b0:180:d087:2bdb with SMTP id bj3-20020a056a213d8300b00180d0872bdbmr11081558pzc.37.1698945359481; Thu, 02 Nov 2023 10:15:59 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1698945359; cv=none; d=google.com; s=arc-20160816; b=gNsytJZzpXYSzJW2E+S1E59vtFXcUcXkILSEhA6J8At0GK1ZmRictQ2oOZN2dM0PUk 9ThF6lXjaD03MLy7KCwSEgzDw1E9YwRIqk9m/F6/tKJ/ItAdWDUFQwLICEH8Ghagsq/y ZPPTgiUSx/vjBaLIfuxDUyaRqIuwCnKjw4+pI1lLLRcGZ1rL4lpKM6Kfwd1yhpSigG83 yGPj3B2056XJ2IicFrwDQm+OjrAEwvrXGDsd7sLGJjiR8/ZA5g3Dm0X0wu/14KQ7g8e8 e1o+MWljUf8WPRi5DKwE/f0tXqEsWlAxc7Wdn1yRwWsUru7mul0tfg6MsmGuEdV6fPA6 vh5A== 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=4qKFzzVkAJJ2WN9UITkdJknNja53E7RfSyVdiQRQD5E=; fh=0dVrtEj9PBUV1advtqeuTY+1RW3gNQlyjTlZDe4Bpps=; b=Z5YsOs3kbsWATiP/TnQAwN3GpQCtEoqtWugi43FmUNmpfbw6mu9Emtby+t00DNTyOf 8iM4KNDKi60UBMZyhdamuKKk0CxxIZrTLoQRiokB2N5+KEQnrg34Frc83F7/0tF6klTr PhTskWzI8RRzEc0vIzjsnGA+7ulXNfQOpyxBWsDRCINgsxRx3FgLZu9h/JEhxnml/tmy GUXfVto2OI0Yeh+qZtHw3tfPODkG8UcH7DhSQ6YFutrHZ/jZ0q4rXc0GBJqq8+NIcTMV 8wtOuiPwO4Yy3XV/nOhGRt9JtpcA3Wcu6Vk5z/mj60BXkSRgyuHLGBCANVQ7meRo+dH9 NlrA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcppdkim1 header.b=e4wDvAiC; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:8 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 fry.vger.email (fry.vger.email. [2620:137:e000::3:8]) by mx.google.com with ESMTPS id h5-20020a056a00170500b0068a6f6d9f7dsi29104pfc.57.2023.11.02.10.15.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 02 Nov 2023 10:15:59 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:8 as permitted sender) client-ip=2620:137:e000::3:8; Authentication-Results: mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcppdkim1 header.b=e4wDvAiC; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:8 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 fry.vger.email (Postfix) with ESMTP id 50EE4837D97E; Thu, 2 Nov 2023 10:15:32 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at fry.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1347580AbjKBRPC (ORCPT + 99 others); Thu, 2 Nov 2023 13:15:02 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:58708 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235577AbjKBRPA (ORCPT ); Thu, 2 Nov 2023 13:15:00 -0400 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3BEC213A; Thu, 2 Nov 2023 10:14:56 -0700 (PDT) Received: from pps.filterd (m0279869.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 3A2FiC7w017652; Thu, 2 Nov 2023 17:14:49 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=4qKFzzVkAJJ2WN9UITkdJknNja53E7RfSyVdiQRQD5E=; b=e4wDvAiCny18DsHy/pY6ovcVEXX5haSs4SzNKN2XkVI4a/K/c+BMZ1kuULi2QXllpBlW RkIYLzksbH/HtZIm7J2SOf6fyPShjWCtjwLXdN/Vbcxetdt7MbVjvlZP4vhbz7RIF2AZ 5p//XfCfSMLMnjq6scK7d/jgOxrIuRS3ugfvYVyYQ5KDtdMEtDJ4e1pMt7/1olK6E2x2 JE2jI33S8ZKO5xEeSwuI4R/BGesEybpDSDQz0TY9DlU50FAfqWUy+D91zi260rhxRgwx ToKMRRzNBHj0k0SRxyyp33n/xvr6d4/rUeLYXwuLNwTyl1CxL/xl1K+jA81yXj7yqOUs 7w== Received: from nasanppmta02.qualcomm.com (i-global254.qualcomm.com [199.106.103.254]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 3u3xxet0en-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 02 Nov 2023 17:14:48 +0000 Received: from nasanex01c.na.qualcomm.com (nasanex01c.na.qualcomm.com [10.45.79.139]) by NASANPPMTA02.qualcomm.com (8.17.1.5/8.17.1.5) with ESMTPS id 3A2HElMa013540 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 2 Nov 2023 17:14:47 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; Thu, 2 Nov 2023 10:14:45 -0700 From: Mukesh Ojha To: , , , CC: , , "Mukesh Ojha" , Poovendhan Selvaraj Subject: [PATCH v10 2/4] firmware: qcom: scm: Modify only the download bits in TCSR register Date: Thu, 2 Nov 2023 22:44:05 +0530 Message-ID: <1698945247-16033-3-git-send-email-quic_mojha@quicinc.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1698945247-16033-1-git-send-email-quic_mojha@quicinc.com> References: <1698945247-16033-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: nasanex01a.na.qualcomm.com (10.52.223.231) 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: Evrddl7H7SKBoQv5ja3QLfj_lldutvx8 X-Proofpoint-ORIG-GUID: Evrddl7H7SKBoQv5ja3QLfj_lldutvx8 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-11-02_07,2023-11-02_02,2023-05-22_02 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 lowpriorityscore=0 bulkscore=0 priorityscore=1501 mlxscore=0 phishscore=0 suspectscore=0 spamscore=0 adultscore=0 malwarescore=0 mlxlogscore=999 clxscore=1015 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2310240000 definitions=main-2311020139 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,T_SCC_BODY_TEXT_LINE, URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on fry.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 (fry.vger.email [0.0.0.0]); Thu, 02 Nov 2023 10:15:32 -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..4421f219fe9a 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