From patchwork Wed Oct 4 17:25:36 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mukesh Ojha X-Patchwork-Id: 148434 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:612c:254a:b0:403:3b70:6f57 with SMTP id hf10csp290996vqb; Wed, 4 Oct 2023 10:27:24 -0700 (PDT) X-Google-Smtp-Source: AGHT+IG3i4BzLXPQmJmEvBPWk6/eBYvsrTOY7VjzMSSoKgZHX4v4Or29RyWEsdFfbaUbi9lXaa9I X-Received: by 2002:a05:6a21:338c:b0:159:e0b9:bd25 with SMTP id yy12-20020a056a21338c00b00159e0b9bd25mr3243896pzb.57.1696440444265; Wed, 04 Oct 2023 10:27:24 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1696440444; cv=none; d=google.com; s=arc-20160816; b=cZvhCmrlR0qiehsN3iSGdcFxIMTlPJ3mbMFu7G4OwRsPqYPQ+mmOqZTYRPMSuy6xO3 qJft3Cu1LTZwX1mlFp0XJrJJs4YleIBg2uS/tV1F8muageMvhDWFZ6DdtOfcGwB1Sv9x vUSplvP6toIznlYStUpFRVtu7KvaSCobpFoY46MeLh65Lkm2deQuqSGwXf/uAuuqNWp5 NoJN6XzzJf4EXfzdULRDDynuF8grooKYRbXQor9Dxsi35CQqyDQBAAREPD+pTnFA70W4 lci9DR2+byPiKiP48bDUBLjomcLFDXwjYowyySQMeiEMjzRHuyQSneSlorFf+IjrnFW4 ZfWQ== 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=udksEDtj6tpSf6VcBThoP4ijMd42NX2dUjB/b8ZB+3U=; fh=F2+qJULQX8NHn6WiZYf/DRm+khqt2kgWSdsqJRFQMnE=; b=V3TkEGbTRr32iMg3ul74iov4hb8shmCAixBs/wUQXJ5E/UD0ETQd7xH9qwBIjReqso 3goUrgTqIwA0pjcPj2jMVQjSjV3N5X/1GK0gBYizrYXbHLpR/0BAIRXctGgulu5ciPXv BS1m7JNO1/hut5QRS18u1SMFMWlMuEC9OyKiNdRp/pAV4Sc0dN3qVcYaCMdnftwEbis/ O2upCj5JEM8uulyT2VoE7sXMZYOa4Wp5qJG63emGWvJqdpo5cuPNpYK7Rtm7CUozd0kB Xdl5U6emtoEe7QxKBJk/06ProLh2bQiM230dK4Qvf+4DVSHmjLUSb0jMxN/sYFiLeJHP iMFg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcppdkim1 header.b=bT9gFztC; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:6 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 pete.vger.email (pete.vger.email. [2620:137:e000::3:6]) by mx.google.com with ESMTPS id q5-20020a170902a3c500b001c3e9b0bae1si3914461plb.443.2023.10.04.10.27.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Oct 2023 10:27:24 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:6 as permitted sender) client-ip=2620:137:e000::3:6; Authentication-Results: mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcppdkim1 header.b=bT9gFztC; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:6 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 pete.vger.email (Postfix) with ESMTP id 191A981C4A88; Wed, 4 Oct 2023 10:27:22 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at pete.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S243498AbjJDR0N (ORCPT + 19 others); Wed, 4 Oct 2023 13:26:13 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51916 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233420AbjJDR0J (ORCPT ); Wed, 4 Oct 2023 13:26:09 -0400 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 297B6A7; Wed, 4 Oct 2023 10:26:06 -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 394FBGFH029355; Wed, 4 Oct 2023 17:25:58 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=udksEDtj6tpSf6VcBThoP4ijMd42NX2dUjB/b8ZB+3U=; b=bT9gFztC/etdrNP7x5WY7Z3jtk58nChNaueaYBm699Rh5mwm7cokmk1DrB0K5FuxaHJ+ UFXmvsewPRe6YzJUDnWLXj4+E/2xGYKRADnWb1NH0hcTubC5yQWNZIyH+MIG8lDPmKXR LButcrwlwGZ9YkGijE5dN0+ZHiJPabEjBxKCawQYlEa7JqneNJ+My8EBtppLQOtLvP1o GbPjlC6Qa2ILKbfWzkIt1lZ4jxOb4XQAHkYSmVfQ2NQ5Sb0DCC/kSTtnZQXKGK4o3Qga DVJRwbND5eS6CMnMmIAZEu38DSaXcEnBUVQY+xZvlRuqlWnqo0iSlAaQOFX0IrG234TK Sg== Received: from nasanppmta02.qualcomm.com (i-global254.qualcomm.com [199.106.103.254]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 3th18jhpxw-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 04 Oct 2023 17:25:58 +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 394HPvBu003442 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 4 Oct 2023 17:25:57 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.36; Wed, 4 Oct 2023 10:25:54 -0700 From: Mukesh Ojha To: , , , , CC: , , , Mukesh Ojha Subject: [PATCH v7 1/3] firmware: qcom_scm: provide a read-modify-write function Date: Wed, 4 Oct 2023 22:55:36 +0530 Message-ID: <1696440338-12561-2-git-send-email-quic_mojha@quicinc.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1696440338-12561-1-git-send-email-quic_mojha@quicinc.com> References: <1696440338-12561-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: Wd_RnHT76n3u-0IoKo-fPi1uxm4gCooJ X-Proofpoint-ORIG-GUID: Wd_RnHT76n3u-0IoKo-fPi1uxm4gCooJ X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.267,Aquarius:18.0.980,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2023-10-04_08,2023-10-02_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 mlxlogscore=769 bulkscore=0 spamscore=0 priorityscore=1501 lowpriorityscore=0 mlxscore=0 adultscore=0 malwarescore=0 suspectscore=0 clxscore=1015 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2309180000 definitions=main-2310040125 X-Spam-Status: No, score=-0.8 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on pete.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 (pete.vger.email [0.0.0.0]); Wed, 04 Oct 2023 10:27:22 -0700 (PDT) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1778846735355819163 X-GMAIL-MSGID: 1778846735355819163 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_update_field() 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_scm.c | 20 ++++++++++++++++++++ include/linux/firmware/qcom/qcom_scm.h | 2 ++ 2 files changed, 22 insertions(+) diff --git a/drivers/firmware/qcom_scm.c b/drivers/firmware/qcom_scm.c index 520de9b5633a..084e4782b88d 100644 --- a/drivers/firmware/qcom_scm.c +++ b/drivers/firmware/qcom_scm.c @@ -122,6 +122,7 @@ static const char * const qcom_scm_convention_names[] = { }; static struct qcom_scm *__scm; +static DEFINE_SPINLOCK(lock); static int qcom_scm_clk_enable(void) { @@ -481,6 +482,25 @@ static int qcom_scm_disable_sdi(void) return ret ? : res.result[0]; } +int qcom_scm_io_update_field(phys_addr_t addr, unsigned int mask, unsigned int val) +{ + unsigned int old, new; + int ret; + + spin_lock(&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(&lock); + return ret; +} +EXPORT_SYMBOL_GPL(qcom_scm_io_update_field); + static int __qcom_scm_set_dload_mode(struct device *dev, bool enable) { struct qcom_scm_desc desc = { diff --git a/include/linux/firmware/qcom/qcom_scm.h b/include/linux/firmware/qcom/qcom_scm.h index ccaf28846054..5497eaf9c7b5 100644 --- a/include/linux/firmware/qcom/qcom_scm.h +++ b/include/linux/firmware/qcom/qcom_scm.h @@ -82,6 +82,8 @@ 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_update_field(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 Wed Oct 4 17:25:37 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mukesh Ojha X-Patchwork-Id: 148433 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:612c:254a:b0:403:3b70:6f57 with SMTP id hf10csp290686vqb; Wed, 4 Oct 2023 10:26:46 -0700 (PDT) X-Google-Smtp-Source: AGHT+IE+3k4ei000+WktK1Q6RfUl0Hc4FvuVy1F+RMhafBhmC42T7UOjMkip/Vffd4DAp4U83DRt X-Received: by 2002:a17:902:d902:b0:1c6:1901:ed26 with SMTP id c2-20020a170902d90200b001c61901ed26mr2470562plz.69.1696440406515; Wed, 04 Oct 2023 10:26:46 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1696440406; cv=none; d=google.com; s=arc-20160816; b=m5IytP58jh6Z7lTiXmYCZzz+Njr82dkzD7VdwRK5RjEdK6rWiiFupvuVw0tyQgrHuv cM/bs6j7GGNjRUajJKZtuyKBxg2dJVs9hpHrVyRJdigoZ+KWjHWZQOyOjc0RwlaTzyTX laob8v5bXsCI3fgOH9eLH0uhLeakjWKNC1AQcaVWv+YiRs0XqviMWy3DveExZFLaOog6 eJoGHgqVanIevdQjAU60Wl91O+2mScWDuweQqn9Z110wwNay8FlFIaz8J9eyaqrv01vT l7LWuMkWaI4xfkWwvlLOCfS9KwSMYgRKLKTAoCz2N0OyBcjUXdl/hmffOuotmi8uUeGO ozyA== 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=+ZYy2bM5oeH3W7q7bq+ndll2yLlWy216z4alDtacXqs=; fh=F2+qJULQX8NHn6WiZYf/DRm+khqt2kgWSdsqJRFQMnE=; b=XZALNo9PC0cp0IrUQAqXQXoM2pghuGgYPlYyVu+t9x+95q8lPT0Buo6DaFH4fPwI30 B9fOrqU3ZfWdSdgEb2uCQlVGY9LDopFRds5vEwqY+4oKbtuYSOfatWcrwu7hpWuBEXfw iD2/T0rrOF9uRJbd4tpjPMMrXAihCfEKZUQWEaYHMLN5cdO31atyzaqL7uqhqJksrYG7 iVDIdZJeASYyRe0AsBCAQtJ5pmZTBJya0HqoL/ZaJ1ZaxBE3pVHU4fzm/nPljwI+OHKw wOUEwFi+KIkDuEMJA522JTOx58i8COh5x448SiSLaTuN3U5sY0IHG7xWTShkemQSTNrY QSGA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcppdkim1 header.b=VeElnysU; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.36 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 pete.vger.email (pete.vger.email. [23.128.96.36]) by mx.google.com with ESMTPS id y2-20020a17090322c200b001c3a05b0b67si4471146plg.566.2023.10.04.10.26.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Oct 2023 10:26:46 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.36 as permitted sender) client-ip=23.128.96.36; Authentication-Results: mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcppdkim1 header.b=VeElnysU; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.36 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 pete.vger.email (Postfix) with ESMTP id 5586E81C4AAE; Wed, 4 Oct 2023 10:26:35 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at pete.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S243504AbjJDR0Q (ORCPT + 19 others); Wed, 4 Oct 2023 13:26:16 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51932 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S243435AbjJDR0L (ORCPT ); Wed, 4 Oct 2023 13:26:11 -0400 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 06EBE9E; Wed, 4 Oct 2023 10:26:07 -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 394F9Vbq027003; Wed, 4 Oct 2023 17:26:01 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=+ZYy2bM5oeH3W7q7bq+ndll2yLlWy216z4alDtacXqs=; b=VeElnysUcT4LygSDiNks4Konu14/eP5FuS8v0VZjFWeLAEiEkjokAPkwVXxV5YSoAwsH OhO9lRYRSER/ebnhMPVS4t2rjKyv25SBVlTFMbp40Q1TF46b3C+EC7/Ce4iiSojMuk6E 6fiAie+H8Pk15ElB8TSJzDNKrPha0/NZ769+0TPj1EMmCev/IzOCIIQv16TCMZZNgLk7 FZ+ki4g/dUOi/bMSI3j6etr1y6yXfLg9g+YpUd283rr2hFkhb8h+X/hPQPLA0mUIzquC SlXAkSMg9CfjDFc2tHndjLDecro8S46hRgwROS3Ni/kfnN3lclixoZh5OWnfrmU3eyYv SQ== Received: from nasanppmta03.qualcomm.com (i-global254.qualcomm.com [199.106.103.254]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 3th18jhpy1-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 04 Oct 2023 17:26: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 394HQ0ac012569 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 4 Oct 2023 17:26:00 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.36; Wed, 4 Oct 2023 10:25:57 -0700 From: Mukesh Ojha To: , , , , CC: , , , Mukesh Ojha Subject: [PATCH v7 2/3] pinctrl: qcom: Use qcom_scm_io_update_field() Date: Wed, 4 Oct 2023 22:55:37 +0530 Message-ID: <1696440338-12561-3-git-send-email-quic_mojha@quicinc.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1696440338-12561-1-git-send-email-quic_mojha@quicinc.com> References: <1696440338-12561-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: qRcZ_pZyTwUIxP-nMWef5siopvO6bZwi X-Proofpoint-ORIG-GUID: qRcZ_pZyTwUIxP-nMWef5siopvO6bZwi X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.267,Aquarius:18.0.980,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2023-10-04_08,2023-10-02_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 mlxlogscore=735 bulkscore=0 spamscore=0 priorityscore=1501 lowpriorityscore=0 mlxscore=0 adultscore=0 malwarescore=0 suspectscore=0 clxscore=1015 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2309180000 definitions=main-2310040125 X-Spam-Status: No, score=-0.8 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on pete.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 (pete.vger.email [0.0.0.0]); Wed, 04 Oct 2023 10:26:35 -0700 (PDT) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1778846695187800807 X-GMAIL-MSGID: 1778846695187800807 Use qcom_scm_io_update_field() 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 115b83e2d8e6..2b9182375702 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_update_field(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); } From patchwork Wed Oct 4 17:25: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: 148432 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:612c:254a:b0:403:3b70:6f57 with SMTP id hf10csp290589vqb; Wed, 4 Oct 2023 10:26:38 -0700 (PDT) X-Google-Smtp-Source: AGHT+IG6clDWfOnFP8debVyKma+M0DOZ9qYt2YvLQ0wnd8ZPFpn1p8xuvToHfhiF9bZiy9v2A+tL X-Received: by 2002:a17:903:11c6:b0:1c0:ad3c:c723 with SMTP id q6-20020a17090311c600b001c0ad3cc723mr3609768plh.10.1696440397550; Wed, 04 Oct 2023 10:26:37 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1696440397; cv=none; d=google.com; s=arc-20160816; b=Pukkf0MgkUYYwlgkxtmrEcVwMDKF+D0h5DENgN9cfYSjNPK0p5daMnGFLn/ZydDH7/ X6BGa7PS1x3J0keg0kkd0XXcGLrGH1k++wUE57Y7TFBtVDq7MPnEprlKPLhBFx9wIQ7K zj9NIa0ecaIMTeYwLTvEKCpe3Sdw+CceQW37TYgoQ8ysu4ecVfci3p3ualj5xIXmK6ef R2RZg+s7KM7xveySpRrt5Upbw+pFv/gbp4Ffl0ejQPVsOzIuXPFfj9r1FDmWDnHy1065 05BGkDJrPZO0AQb0CLUjdWOewdTVnvAp6MpsyqoLVzfnr5kuFz0y6lilkfynh4Cv5Ggf i0vg== 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=TNus+WyEPPAM4ApHnIG0b4ppmXi2u90fh5BMwyWbLes=; fh=JX0l+3T73QUN/4SHUUfu21PqgE5M57P43EeY/eep9Es=; b=k5yGMgFqqf8ELhZeJD0kHVqXT3kh8lK4mkr1XH0Q8j+0vFEcSCwCJWD93iL/goQotL XNIrRnsLxoXKcnW7e0F/+EoJIeBhjZo5ggbNKVmaVLPEzz8eM2ARojZ0Xyl8BYzjNM4q iw5b6yVhICE1Y8ojpdlsOBmUnpMT17VM0LEWTY1rwmFJoThKE/c2zcQKFZK8PogSZ/UJ tNW/GHD8KB0wFFVJSM9oeIIoLtLndEcWvijNJvsp7OMNgtoAj4+pHTONidmwuZAe/IpI UvYMDZm3xZfMOwZ24qgYsc8oty62Ui2/Jh9b9rXcENAkrsX+CnksP4c2DNtDFqnVr/Vy VsXA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcppdkim1 header.b=lavwh1KP; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:4 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 howler.vger.email (howler.vger.email. [2620:137:e000::3:4]) by mx.google.com with ESMTPS id l13-20020a170902f68d00b001b8b4330585si4411800plg.510.2023.10.04.10.26.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Oct 2023 10:26:37 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:4 as permitted sender) client-ip=2620:137:e000::3:4; Authentication-Results: mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcppdkim1 header.b=lavwh1KP; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:4 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 howler.vger.email (Postfix) with ESMTP id C30AC8373831; Wed, 4 Oct 2023 10:26:36 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at howler.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S243695AbjJDR0Z (ORCPT + 19 others); Wed, 4 Oct 2023 13:26:25 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60424 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S243630AbjJDR0X (ORCPT ); Wed, 4 Oct 2023 13:26:23 -0400 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 2F22DC9; Wed, 4 Oct 2023 10:26:13 -0700 (PDT) Received: from pps.filterd (m0279867.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 394FA2KA028553; Wed, 4 Oct 2023 17:26: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=TNus+WyEPPAM4ApHnIG0b4ppmXi2u90fh5BMwyWbLes=; b=lavwh1KPe2bf5rZhEHjinJ7DreqFh7gkfY8YFFksXY81gk07WK+aYDUoVuFIrughFLxu BxP3bdQfnnFeEoXkO5yKvOsPwMdMXCKsWQvQ++Bn3D6vdsfng3UH9GBJlR9oaZjHXTX9 sZDijhJm8hTBUBVFz6y1doaMyN8VTl+/BqVbRwsGqIajxZyWPI/vLyrA/SbZfaC6LUuQ OVG9+D5lT7LxouKLphc5S9X5oaxeePOg6m6/byM2UAO2mrFVVmToCcGc8X3YwNA1onow LoaAi8pUXDGWD/VPSNxTd6XN3mTLWvKI5eYJQXSF6sZ5gJRJqr6CWMo4hl7+UFXU4wWl ew== Received: from nasanppmta02.qualcomm.com (i-global254.qualcomm.com [199.106.103.254]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 3tgxrjt345-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 04 Oct 2023 17:26:04 +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 394HQ38p003666 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 4 Oct 2023 17:26: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.1118.36; Wed, 4 Oct 2023 10:26:00 -0700 From: Mukesh Ojha To: , , , , CC: , , , Mukesh Ojha , Poovendhan Selvaraj Subject: [PATCH v7 3/3] firmware: scm: Modify only the download bits in TCSR register Date: Wed, 4 Oct 2023 22:55:38 +0530 Message-ID: <1696440338-12561-4-git-send-email-quic_mojha@quicinc.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1696440338-12561-1-git-send-email-quic_mojha@quicinc.com> References: <1696440338-12561-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: 2zDRKGbJcVPRRNiFHdheXzVUwDXlN75R X-Proofpoint-ORIG-GUID: 2zDRKGbJcVPRRNiFHdheXzVUwDXlN75R X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.267,Aquarius:18.0.980,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2023-10-04_09,2023-10-02_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 malwarescore=0 clxscore=1015 suspectscore=0 phishscore=0 mlxlogscore=999 impostorscore=0 priorityscore=1501 lowpriorityscore=0 spamscore=0 mlxscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2309180000 definitions=main-2310040125 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_BLOCKED, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED 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 X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (howler.vger.email [0.0.0.0]); Wed, 04 Oct 2023 10:26:36 -0700 (PDT) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1778846686450414018 X-GMAIL-MSGID: 1778846686450414018 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 Tested-by: Kathiravan Thirumoorthy # IPQ9574 and IPQ5332 Reviewed-by: Dmitry Baryshkov --- drivers/firmware/qcom_scm.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/drivers/firmware/qcom_scm.c b/drivers/firmware/qcom_scm.c index 084e4782b88d..da3d028f6451 100644 --- a/drivers/firmware/qcom_scm.c +++ b/drivers/firmware/qcom_scm.c @@ -4,6 +4,8 @@ */ #include +#include +#include #include #include #include @@ -27,6 +29,10 @@ static bool download_mode = IS_ENABLED(CONFIG_QCOM_SCM_DOWNLOAD_MODE_DEFAULT); module_param(download_mode, bool, 0); +#define QCOM_DLOAD_MASK GENMASK(5, 4) +#define QCOM_DLOAD_FULLDUMP 0x1 +#define QCOM_DLOAD_NODUMP 0x0 + struct qcom_scm { struct device *dev; struct clk *core_clk; @@ -518,6 +524,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; @@ -527,8 +534,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_update_field(__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");