From patchwork Thu Nov 2 17:14:04 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mukesh Ojha X-Patchwork-Id: 160995 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:8f47:0:b0:403:3b70:6f57 with SMTP id j7csp509218vqu; Thu, 2 Nov 2023 10:15:56 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHbBHYoPuKbqJC13Q03ZNwWc0QJ8Ll797WXh6jjKMjdzUSLWklQLL1XruiSikkk4Fvm94fO X-Received: by 2002:a17:902:fb8c:b0:1cc:51b8:8102 with SMTP id lg12-20020a170902fb8c00b001cc51b88102mr9548212plb.2.1698945356304; Thu, 02 Nov 2023 10:15:56 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1698945356; cv=none; d=google.com; s=arc-20160816; b=d3sif8oG4A29vybK6SOetADEYHcmBGj1uYiF0EV4nmf5xk8svXU6VHRUzFc0WQugNv K2W6WcSXiLP/xxPuqkn/MrHlzMHLn8Enlhwza7dk+bcBWIMtRBS+02+LtP8bd6SGD8H4 m5wHodA437EsE3vxKoLrAi1GlSm7AUylMvjH+4XYMJ8qJWDCUxd0vviT4E/Eh21XJizc 9coV3wsR5tUB8PL0y2b2d4+1o6grW2TaZg0bj877goD48za+Ef6Lw4764TwA5U02lqEw G9i6ARs6MoB5LyuuBlTVnPoXJ3FJIHUjxrFyDWjFvuQyiI4iN5WHBPDQJ+dgbWOeAv5A kxng== 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=vyQecuOeIjnpfvPPigrXzUOcLJ/f+FhVUGhffoBskJg=; fh=n1jCgmvYznWjY2tnHhnN4ckYen+DlETSt4C8QFLral4=; b=qv5rzawPmRCzDiXic4JOji1AUMjrKy4+hNZ5m6PQDQlrLoMqfrBbis/hUfwGFgqwaQ KlcgLXp2HEOQQUDC+dQJ3O6Ho9iD2R5HFRU9ZPOB+TY1HQ+JkRuhOvCPnvljnycpH5MB ndej8M+Bo4cKIRn6qC3yd+lOqxmjwK9QDBfhDBt9FOIlNDQ0GBNGFVU0CO44W2UiyWAU 47YYSUM7M1N2cATl7w0jy8GrPd6rk4zKcb84hG3CAbDh89MRe7gLtl8wpLlahd4Yh14s LZ52LcEVKoZ1vm3eVKuwYEShtLiMbrstciSMmXVVBjHXc6a2/pYBcHDEydEN/mqklLnv kwVw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcppdkim1 header.b=ZALcb+5d; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.35 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 groat.vger.email (groat.vger.email. [23.128.96.35]) by mx.google.com with ESMTPS id l184-20020a6391c1000000b005aaefc07ccfsi19188pge.36.2023.11.02.10.15.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 02 Nov 2023 10:15:56 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.35 as permitted sender) client-ip=23.128.96.35; Authentication-Results: mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcppdkim1 header.b=ZALcb+5d; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.35 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 groat.vger.email (Postfix) with ESMTP id 438FD8088A72; Thu, 2 Nov 2023 10:15:27 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at groat.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1377148AbjKBRPE (ORCPT + 35 others); Thu, 2 Nov 2023 13:15:04 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:58704 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235575AbjKBRO7 (ORCPT ); Thu, 2 Nov 2023 13:14:59 -0400 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 98939B7; Thu, 2 Nov 2023 10:14:53 -0700 (PDT) Received: from pps.filterd (m0279873.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 3A2FT38u021351; Thu, 2 Nov 2023 17:14:46 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=vyQecuOeIjnpfvPPigrXzUOcLJ/f+FhVUGhffoBskJg=; b=ZALcb+5dMfS/NffVLa599L76xMFGZoC39WSbZ7mItGWmOQQ/dGQKFo1+8AscWykpU97C ocfVMTDXiPdN7wJamG60ei3otobvyIpKTPyX07oqgkCRJdrDFzhuT8Od+cC6Up8gHIbM LHFopLLCsaK+cPpKAkI+SZYkKAdV9hzZ9uddnyaggTBi7FZI2yX4zi30marrxzbmgNhv 3egBFVH1WmlzOsh/FGCv1cXXrKKKperfTRIFjKu+cfE+bMVN4ADlLWGsppyG7SAnmdMb qmu00oFXAcI1dmW1Z9gEuZLWybrNc/ytMlES/7BZYf3rajSDr3nWYXfI6QxxER3vr5nS Ww== Received: from nasanppmta02.qualcomm.com (i-global254.qualcomm.com [199.106.103.254]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 3u47dy14q4-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 02 Nov 2023 17:14:45 +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 3A2HEieM013515 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 2 Nov 2023 17:14:44 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:42 -0700 From: Mukesh Ojha To: , , , CC: , , "Mukesh Ojha" Subject: [PATCH v10 1/4] firmware: qcom: scm: provide a read-modify-write function Date: Thu, 2 Nov 2023 22:44:04 +0530 Message-ID: <1698945247-16033-2-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 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: kpdTL1FTAjkKS9qmwh-HZ608NgXWER5G X-Proofpoint-ORIG-GUID: kpdTL1FTAjkKS9qmwh-HZ608NgXWER5G 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 spamscore=0 clxscore=1015 lowpriorityscore=0 bulkscore=0 malwarescore=0 priorityscore=1501 suspectscore=0 phishscore=0 impostorscore=0 mlxscore=0 mlxlogscore=849 adultscore=0 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 groat.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 (groat.vger.email [0.0.0.0]); Thu, 02 Nov 2023 10:15:27 -0700 (PDT) X-Spam-Level: * X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1781473325642287341 X-GMAIL-MSGID: 1781473325642287341 It was realized by Srinivas K. that there is a need of read-modify-write scm exported function so that it can be used by multiple clients. Let's introduce qcom_scm_io_rmw() which masks out the bits and write the passed value to that bit-offset. Suggested-by: Srinivas Kandagatla Signed-off-by: Mukesh Ojha Tested-by: Kathiravan Thirumoorthy # IPQ9574 and IPQ5332 --- drivers/firmware/qcom/qcom_scm.c | 26 ++++++++++++++++++++++++++ include/linux/firmware/qcom/qcom_scm.h | 1 + 2 files changed, 27 insertions(+) diff --git a/drivers/firmware/qcom/qcom_scm.c b/drivers/firmware/qcom/qcom_scm.c index 520de9b5633a..25549178a30f 100644 --- a/drivers/firmware/qcom/qcom_scm.c +++ b/drivers/firmware/qcom/qcom_scm.c @@ -19,6 +19,7 @@ #include #include #include +#include #include #include @@ -41,6 +42,8 @@ struct qcom_scm { int scm_vote_count; u64 dload_mode_addr; + /* Atomic context only */ + spinlock_t lock; }; struct qcom_scm_current_perm_info { @@ -481,6 +484,28 @@ static int qcom_scm_disable_sdi(void) return ret ? : res.result[0]; } +int qcom_scm_io_rmw(phys_addr_t addr, unsigned int mask, unsigned int val) +{ + unsigned int old, new; + int ret; + + if (!__scm) + return -EINVAL; + + spin_lock(&__scm->lock); + ret = qcom_scm_io_readl(addr, &old); + if (ret) + goto unlock; + + new = (old & ~mask) | (val & mask); + + ret = qcom_scm_io_writel(addr, new); +unlock: + spin_unlock(&__scm->lock); + return ret; +} +EXPORT_SYMBOL_GPL(qcom_scm_io_rmw); + static int __qcom_scm_set_dload_mode(struct device *dev, bool enable) { struct qcom_scm_desc desc = { @@ -1824,6 +1849,7 @@ static int qcom_scm_probe(struct platform_device *pdev) return ret; mutex_init(&scm->scm_bw_lock); + spin_lock_init(&scm->lock); scm->path = devm_of_icc_get(&pdev->dev, NULL); if (IS_ERR(scm->path)) diff --git a/include/linux/firmware/qcom/qcom_scm.h b/include/linux/firmware/qcom/qcom_scm.h index ccaf28846054..3a8bb2e603b3 100644 --- a/include/linux/firmware/qcom/qcom_scm.h +++ b/include/linux/firmware/qcom/qcom_scm.h @@ -82,6 +82,7 @@ bool qcom_scm_pas_supported(u32 peripheral); int qcom_scm_io_readl(phys_addr_t addr, unsigned int *val); int qcom_scm_io_writel(phys_addr_t addr, unsigned int val); +int qcom_scm_io_rmw(phys_addr_t addr, unsigned int mask, unsigned int val); bool qcom_scm_restore_sec_cfg_available(void); int qcom_scm_restore_sec_cfg(u32 device_id, u32 spare); From patchwork Thu Nov 2 17:14:05 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mukesh Ojha X-Patchwork-Id: 160994 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:8f47:0:b0:403:3b70:6f57 with SMTP id j7csp508985vqu; Thu, 2 Nov 2023 10:15:36 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFJFvarXbBleEBu3K3YwtBWwEbpwupPoQxOWQi03DBqgaJzLOOzYNJGXQ8OGcasRa2XV63e X-Received: by 2002:a05:6a00:9a6:b0:693:4143:5145 with SMTP id u38-20020a056a0009a600b0069341435145mr20469306pfg.31.1698945336233; Thu, 02 Nov 2023 10:15:36 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1698945336; cv=none; d=google.com; s=arc-20160816; b=AUfPNqlwHFmNLNq5eueMLZx0f2Y3rvB9EGIa/H7xKopPjcq5TVmDT2gdu/jZ57c0vl 86QrDuZGsTPN6jI+VlYAohHJy1lv9IEQz/xrwAmaul3FBM+fyF+TBn9WsiVJEQEfO3kK R5vIONl8wU+/atJiWTubNHCGVms05uqaF3Tcko0FNAZfUvtfDtaSmlcB95ZYL5rGqncu n3kVs11bl1MxPWs7WitlApZ7LrPx8ryHGZWCSb87BVGl4kj6WZZ9qZq2wrS077wcu6A+ /WeH8s2RhjoK191WTYABsXEGXlSuO+jpBGRYRV8Y3i2N0CPF4Vp7Cao6vTJuYT+bkw9i 1pHw== 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 23.128.96.37 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 snail.vger.email (snail.vger.email. [23.128.96.37]) by mx.google.com with ESMTPS id gu2-20020a056a004e4200b0068e380c3654si10285pfb.395.2023.11.02.10.15.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 02 Nov 2023 10:15:36 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) client-ip=23.128.96.37; 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 23.128.96.37 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 snail.vger.email (Postfix) with ESMTP id 15CA9829588E; Thu, 2 Nov 2023 10:15:07 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at snail.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1376852AbjKBRPC (ORCPT + 35 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 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=0.4 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_BLOCKED, 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 lindbergh.monkeyblade.net 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 (snail.vger.email [0.0.0.0]); Thu, 02 Nov 2023 10:15:07 -0700 (PDT) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1781473304782994094 X-GMAIL-MSGID: 1781473304782994094 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"); From patchwork Thu Nov 2 17:14:06 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mukesh Ojha X-Patchwork-Id: 160996 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:8f47:0:b0:403:3b70:6f57 with SMTP id j7csp509220vqu; Thu, 2 Nov 2023 10:15:56 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGl63++PNokGvOXXvlF18aycKu5a+doRvsEdMrRD753hitReSV+ldNOwEJ8+z0vJU7FYUA6 X-Received: by 2002:a05:6e02:969:b0:359:42cd:1417 with SMTP id q9-20020a056e02096900b0035942cd1417mr5326973ilt.17.1698945356702; Thu, 02 Nov 2023 10:15:56 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1698945356; cv=none; d=google.com; s=arc-20160816; b=ht/PGsfG4j5BcFg0S/JQOnzIlELcP4wkLSodybqqn/Ru/lJf0hbVckA67pGemIblhm hDYNTuI+aPHjO9k1QxBBBSp+3CHKEO60d1p1XC9PsN77A+ONLcqdKq2vnkbW+jmRfkgj ufAC3QdftKqMGU/3q9416wD4RbwmW/b3G35AeQJBgQ+PxaVNlxmFBl4Nwkd5AsQbiJld a0eejazJKSWKlz12UK52Z6kn4rSEN1AFwtNympKeWP6Y5YCBcohjPTo4s3DAeC3MWWcX HGhYvF09HSDVvcc+4DghkpFJSBWhxgMb2z3Wd3U3dCh0PDKhozYpFkET72Wkqx0zRS1+ /ToQ== 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=UoSATDI0JClWkWGMLQJA2GrcmBkv8AT6PNP7LUJlb8I=; fh=n1jCgmvYznWjY2tnHhnN4ckYen+DlETSt4C8QFLral4=; b=YTMykaAT3Jyrv7cTCgF8t8VXT+2OFub0IPTFBBYH8s3IQqhPF4uKoahlzTVZOLu84y 8Je3yMCvtD93KGD1pgCJF6l9eGyJJgObK0AEqTiloc4tMqb6JeWnwls1k+sYd1KQPMy9 oXeXrxbFssPcBixTndha1z7S3BCiFgg+hTwYfGo1nvHZt2TPrFyu0I0pzHwp0NQLQzCX sAG0qhhJcmJ5AAo0n/8r2m1DSTku79wyKgxxM4BDalFGHvaeKIeyNmL2YyhA6mw/d0uN TJgr3UsURp3Cw6UPRoNTi8YAYyOlHytFWE2Hu82qx0cXZ9ldW19R/t3URuq2tnps10HS qfkg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcppdkim1 header.b=ptHvLNnj; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:5 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 groat.vger.email (groat.vger.email. [2620:137:e000::3:5]) by mx.google.com with ESMTPS id s17-20020a656911000000b0058572c8d5d5si18289pgq.233.2023.11.02.10.15.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 02 Nov 2023 10:15:56 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:5 as permitted sender) client-ip=2620:137:e000::3:5; Authentication-Results: mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcppdkim1 header.b=ptHvLNnj; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:5 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 groat.vger.email (Postfix) with ESMTP id 968BA804EE6C; Thu, 2 Nov 2023 10:15:35 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at groat.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1377162AbjKBRPH (ORCPT + 35 others); Thu, 2 Nov 2023 13:15:07 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:58714 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235554AbjKBRPA (ORCPT ); Thu, 2 Nov 2023 13:15:00 -0400 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9CD78184; Thu, 2 Nov 2023 10:14:57 -0700 (PDT) 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 3A2CoMAq001237; Thu, 2 Nov 2023 17:14:51 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=UoSATDI0JClWkWGMLQJA2GrcmBkv8AT6PNP7LUJlb8I=; b=ptHvLNnjfN1xQMUTH3yiuXExGMleIDevFjhUtMYBnvUXsLiXhuHjnGiRBhrgvTQb7lZg 8JSD/ukKFR7XvEUVRJM0ECT9cWgBCMlfpTJeqcSNXfRj9/CQp8KrMBCv258oA8udFBLj VY/VRthPjrsjsdPQDKcNn+KmZGoZlsBY1ANb5vg5Sbafpu+1d+gVgHLMTb06LJu22Oba v5QY5JhKotR+d55Wi+sp9Kk2FnANGrT5py6e1aehnWGu7+BCrp44vDHO8jfo5BQMgq9f PD9rduvrWqPsGcVIK9AgDs9YHhQsGvILqrsUGzDO39DBum4O4pLLOsoXWF8rldC3pybo 1w== Received: from nasanppmta04.qualcomm.com (i-global254.qualcomm.com [199.106.103.254]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 3u477ps4xw-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 02 Nov 2023 17:14:51 +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 3A2HEoZs001550 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 2 Nov 2023 17:14:50 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:48 -0700 From: Mukesh Ojha To: , , , CC: , , "Mukesh Ojha" Subject: [PATCH v10 3/4] firmware: qcom: scm: Rework dload mode availability check Date: Thu, 2 Nov 2023 22:44:06 +0530 Message-ID: <1698945247-16033-4-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 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: jJJVNY03oNNsavL4_QnOMsUR5KpCJGki X-Proofpoint-ORIG-GUID: jJJVNY03oNNsavL4_QnOMsUR5KpCJGki 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_03,2023-05-22_02 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 malwarescore=0 phishscore=0 adultscore=0 clxscore=1015 priorityscore=1501 mlxscore=0 mlxlogscore=999 bulkscore=0 impostorscore=0 lowpriorityscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2310240000 definitions=main-2311020141 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 groat.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 (groat.vger.email [0.0.0.0]); Thu, 02 Nov 2023 10:15:35 -0700 (PDT) X-Spam-Level: * X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1781473326148721741 X-GMAIL-MSGID: 1781473326148721741 QCOM_SCM_BOOT_SET_DLOAD_MODE was only valid for very older target and firmware and for recent targets there is dload mode tcsr registers is available to set the download mode. So, it is better to keep it as fallback check instead of checking its availability and failing it always. Signed-off-by: Mukesh Ojha --- drivers/firmware/qcom/qcom_scm.c | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/drivers/firmware/qcom/qcom_scm.c b/drivers/firmware/qcom/qcom_scm.c index 4421f219fe9a..87bcd5c02f2b 100644 --- a/drivers/firmware/qcom/qcom_scm.c +++ b/drivers/firmware/qcom/qcom_scm.c @@ -532,18 +532,16 @@ 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; - avail = __qcom_scm_is_call_available(__scm->dev, - QCOM_SCM_SVC_BOOT, - QCOM_SCM_BOOT_SET_DLOAD_MODE); - if (avail) { - ret = __qcom_scm_set_dload_mode(__scm->dev, enable); - } else if (__scm->dload_mode_addr) { + if (__scm->dload_mode_addr) { ret = qcom_scm_io_rmw(__scm->dload_mode_addr, QCOM_DLOAD_MASK, FIELD_PREP(QCOM_DLOAD_MASK, val)); + } else if (__qcom_scm_is_call_available(__scm->dev, + QCOM_SCM_SVC_BOOT, + QCOM_SCM_BOOT_SET_DLOAD_MODE)) { + ret = __qcom_scm_set_dload_mode(__scm->dev, enable); } else { dev_err(__scm->dev, "No available mechanism for setting download mode\n"); From patchwork Thu Nov 2 17:14:07 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mukesh Ojha X-Patchwork-Id: 160997 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:8f47:0:b0:403:3b70:6f57 with SMTP id j7csp509668vqu; Thu, 2 Nov 2023 10:16:41 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGYyEwLOjsao9aBMlw5WmLO2KNw3FJSDYCarm4mvpP9EdSq5PFU/+Wk8ctl5GPQ2Hh05+XF X-Received: by 2002:a17:90a:ead7:b0:27d:3073:88fc with SMTP id ev23-20020a17090aead700b0027d307388fcmr15667918pjb.41.1698945401388; Thu, 02 Nov 2023 10:16:41 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1698945401; cv=none; d=google.com; s=arc-20160816; b=Y7hauV1DMTiJiJqGVWG0GWkNGq872GOKwuyuC76HQl3ZlkrpM0j6tJcBFdbzQu3vhn oFfA1VLRw65hJV/ns94JhVt34v+h7fWHNcPG4VnK25VLXaIgk/xkWbBndJnAe0UamnEX MxKyNJ39DfdIWIPyTPjnSVnDn/0S+f/nUcJWR+5NthZYLpTP+XTG+yxOsH8yhk8z5nWU jZFP9ZKaxWFF6xAnjaW/Bn7c45B+F7X6Kgx/W8CE0y9d+q8DPpxOQa9iMJrxRkGXXvEY JaKKmbvG8rQrwD0J9yziQg6zX4HwauLSkA4ku7DDeHGbGorM9CNDaNVSKe0/yHzZJ3BH ALww== 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=o8EiwvG5EpeclZ0ydgq4Pl+Rn+5NagwHWfLIAQpsoFI=; fh=n1jCgmvYznWjY2tnHhnN4ckYen+DlETSt4C8QFLral4=; b=DJno0XdQEZm7i1cLBCHW4oCN529DQ+2DFNFDuA6Nepy5ibk8ulTMRMOpxRBMYD0uRJ Zaf8686WDm7gK/zFuejVQgDrLM+iG2bnVTdL1VmXI55Ows5J/ai0zntjJZoBHRT2pzJV 2cBs0CTkxbpVh89HgGyXzxZcFpzZFG7ub7DLUmNdldBAedgK6GYpTNMxKshBbuCV+uhX UCBD97pqEVYS1erGnRz+Wgj7PgWMVb9Ev6XXSft1Dv2fqrm9SNFj6zN84E7wvKbDoUP4 BXk5t2e6p3h24tLrRU9R6W4EC2aT4NApjJNmlpfI1v+iOmlOswka6eaRTD9xEQlI2QLn 42zg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcppdkim1 header.b="iC2/D3J1"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 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 snail.vger.email (snail.vger.email. [2620:137:e000::3:7]) by mx.google.com with ESMTPS id l20-20020a17090b079400b0027717627cf6si179489pjz.41.2023.11.02.10.16.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 02 Nov 2023 10:16:41 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) client-ip=2620:137:e000::3:7; Authentication-Results: mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcppdkim1 header.b="iC2/D3J1"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 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 snail.vger.email (Postfix) with ESMTP id E9C88804868A; Thu, 2 Nov 2023 10:15:22 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at snail.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1377163AbjKBRPP (ORCPT + 35 others); Thu, 2 Nov 2023 13:15:15 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52078 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235593AbjKBRPH (ORCPT ); Thu, 2 Nov 2023 13:15:07 -0400 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 397F3B7; Thu, 2 Nov 2023 10:15:01 -0700 (PDT) Received: from pps.filterd (m0279866.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 3A2FxSXG015665; Thu, 2 Nov 2023 17:14:54 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=o8EiwvG5EpeclZ0ydgq4Pl+Rn+5NagwHWfLIAQpsoFI=; b=iC2/D3J1rkIELoH3FssNx0Zej4Od/7RRWyyxZWmJ8z8uYFT1VikW6DOIg26NpokMUso4 nz+Ob9sFdkI6vKMDyK794HnfxZyq4MyEpUe33B03PXqzkTkdiOnQ3vgRJNFNWUZy00gq U/AOo2zXxX+J/KQaI0GkAHaiMFCJxGd785L2aNOHdjCtfFHOSmfaPp2lfd3Ncz93+1M2 ks5bM5jGxmc/ssglj4gntVgkBqVmHDtGtOxQ8YNJW59FZG5KdmObEAAaYfp6oNeD7Jy8 43zfnT39/forWs0pq7vX5zD4Do8z1yVIEcK3MmwDmoekZhD32dbq2v5ar1ffGrlMRCRF RQ== Received: from nasanppmta01.qualcomm.com (i-global254.qualcomm.com [199.106.103.254]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 3u3mbf3px8-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 02 Nov 2023 17:14:53 +0000 Received: from nasanex01c.na.qualcomm.com (nasanex01c.na.qualcomm.com [10.45.79.139]) by NASANPPMTA01.qualcomm.com (8.17.1.5/8.17.1.5) with ESMTPS id 3A2HErbB013007 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 2 Nov 2023 17:14:53 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:50 -0700 From: Mukesh Ojha To: , , , CC: , , "Mukesh Ojha" Subject: [PATCH v10 4/4] pinctrl: qcom: Use qcom_scm_io_rmw() function Date: Thu, 2 Nov 2023 22:44:07 +0530 Message-ID: <1698945247-16033-5-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 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: 4l1T0D1u1rciqCJzp1jYEYvtBLHtoxYC X-Proofpoint-ORIG-GUID: 4l1T0D1u1rciqCJzp1jYEYvtBLHtoxYC 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_03,2023-05-22_02 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 mlxlogscore=708 suspectscore=0 lowpriorityscore=0 mlxscore=0 phishscore=0 priorityscore=1501 clxscore=1015 adultscore=0 spamscore=0 bulkscore=0 impostorscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2310240000 definitions=main-2311020141 X-Spam-Status: No, score=0.4 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_BLOCKED, 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 lindbergh.monkeyblade.net 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 (snail.vger.email [0.0.0.0]); Thu, 02 Nov 2023 10:15:23 -0700 (PDT) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1781473373593222467 X-GMAIL-MSGID: 1781473373593222467 Use qcom_scm_io_rmw() exported function in pinctrl-msm driver. Signed-off-by: Mukesh Ojha Acked-by: Linus Walleij --- drivers/pinctrl/qcom/pinctrl-msm.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/drivers/pinctrl/qcom/pinctrl-msm.c b/drivers/pinctrl/qcom/pinctrl-msm.c index 395040346d0f..9323b916cd7c 100644 --- a/drivers/pinctrl/qcom/pinctrl-msm.c +++ b/drivers/pinctrl/qcom/pinctrl-msm.c @@ -1078,22 +1078,20 @@ static int msm_gpio_irq_set_type(struct irq_data *d, unsigned int type) if (g->intr_target_width) intr_target_mask = GENMASK(g->intr_target_width - 1, 0); + intr_target_mask <<= g->intr_target_bit; if (pctrl->intr_target_use_scm) { u32 addr = pctrl->phys_base[0] + g->intr_target_reg; int ret; - qcom_scm_io_readl(addr, &val); - val &= ~(intr_target_mask << g->intr_target_bit); - val |= g->intr_target_kpss_val << g->intr_target_bit; - - ret = qcom_scm_io_writel(addr, val); + val = g->intr_target_kpss_val << g->intr_target_bit; + ret = qcom_scm_io_rmw(addr, intr_target_mask, val); if (ret) dev_err(pctrl->dev, "Failed routing %lu interrupt to Apps proc", d->hwirq); } else { val = msm_readl_intr_target(pctrl, g); - val &= ~(intr_target_mask << g->intr_target_bit); + val &= ~intr_target_mask; val |= g->intr_target_kpss_val << g->intr_target_bit; msm_writel_intr_target(val, pctrl, g); }