{"id":2223753,"url":"http://patchwork.ozlabs.org/api/1.1/patches/2223753/?format=json","web_url":"http://patchwork.ozlabs.org/project/uboot/patch/20260416070330.3006528-2-varadarajan.narayanan@oss.qualcomm.com/","project":{"id":18,"url":"http://patchwork.ozlabs.org/api/1.1/projects/18/?format=json","name":"U-Boot","link_name":"uboot","list_id":"u-boot.lists.denx.de","list_email":"u-boot@lists.denx.de","web_url":null,"scm_url":null,"webscm_url":null},"msgid":"<20260416070330.3006528-2-varadarajan.narayanan@oss.qualcomm.com>","date":"2026-04-16T07:03:26","name":"[v7,1/5] arm: psci: Add API to check for support of specific PSCI function","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"c3ab5db4c402f2793b2e268f5e41a82ac4382a21","submitter":{"id":92283,"url":"http://patchwork.ozlabs.org/api/1.1/people/92283/?format=json","name":"Varadarajan Narayanan","email":"varadarajan.narayanan@oss.qualcomm.com"},"delegate":{"id":151538,"url":"http://patchwork.ozlabs.org/api/1.1/users/151538/?format=json","username":"kcxt","first_name":"Casey","last_name":"Connolly","email":"casey.connolly@linaro.org"},"mbox":"http://patchwork.ozlabs.org/project/uboot/patch/20260416070330.3006528-2-varadarajan.narayanan@oss.qualcomm.com/mbox/","series":[{"id":500084,"url":"http://patchwork.ozlabs.org/api/1.1/series/500084/?format=json","web_url":"http://patchwork.ozlabs.org/project/uboot/list/?series=500084","date":"2026-04-16T07:03:25","name":"Implement reset to EDL for qcs9100","version":7,"mbox":"http://patchwork.ozlabs.org/series/500084/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/2223753/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/2223753/checks/","tags":{},"headers":{"Return-Path":"<u-boot-bounces@lists.denx.de>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=qualcomm.com header.i=@qualcomm.com header.a=rsa-sha256\n header.s=qcppdkim1 header.b=cG1TFVhr;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com\n header.a=rsa-sha256 header.s=google header.b=U0yJYHwW;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de\n (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de;\n envelope-from=u-boot-bounces@lists.denx.de; receiver=patchwork.ozlabs.org)","phobos.denx.de;\n dmarc=none (p=none dis=none) header.from=oss.qualcomm.com","phobos.denx.de;\n spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de","phobos.denx.de;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=qualcomm.com header.i=@qualcomm.com\n header.b=\"cG1TFVhr\";\n\tdkim=pass (2048-bit key;\n unprotected) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com\n header.b=\"U0yJYHwW\";\n\tdkim-atps=neutral","phobos.denx.de; dmarc=none (p=none dis=none)\n header.from=oss.qualcomm.com","phobos.denx.de; spf=pass\n smtp.mailfrom=varadarajan.narayanan@oss.qualcomm.com"],"Received":["from phobos.denx.de (phobos.denx.de\n [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fx8BQ3S49z1yDF\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 16 Apr 2026 17:03:58 +1000 (AEST)","from h2850616.stratoserver.net (localhost [IPv6:::1])\n\tby phobos.denx.de (Postfix) with ESMTP id A660684206;\n\tThu, 16 Apr 2026 09:03:55 +0200 (CEST)","by phobos.denx.de (Postfix, from userid 109)\n id 51179841D5; Thu, 16 Apr 2026 09:03:54 +0200 (CEST)","from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com\n [205.220.168.131])\n (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits))\n (No client certificate requested)\n by phobos.denx.de (Postfix) with ESMTPS id 1058F84201\n for <u-boot@lists.denx.de>; Thu, 16 Apr 2026 09:03:51 +0200 (CEST)","from pps.filterd (m0279863.ppops.net [127.0.0.1])\n by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id\n 63G4TvF11554426\n for <u-boot@lists.denx.de>; Thu, 16 Apr 2026 07:03:50 GMT","from mail-pl1-f199.google.com (mail-pl1-f199.google.com\n [209.85.214.199])\n by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4djrsn8fbb-1\n (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT)\n for <u-boot@lists.denx.de>; Thu, 16 Apr 2026 07:03:50 +0000 (GMT)","by mail-pl1-f199.google.com with SMTP id\n d9443c01a7336-2b4654f9bb6so43951445ad.2\n for <u-boot@lists.denx.de>; Thu, 16 Apr 2026 00:03:50 -0700 (PDT)","from hu-varada-blr.qualcomm.com\n (blr-bdr-fw-01_GlobalNAT_AllZones-Outside.qualcomm.com. [103.229.18.19])\n by smtp.gmail.com with ESMTPSA id\n d9443c01a7336-2b4782b1174sm54195255ad.70.2026.04.16.00.03.38\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Thu, 16 Apr 2026 00:03:43 -0700 (PDT)"],"X-Spam-Checker-Version":"SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de","X-Spam-Level":"","X-Spam-Status":"No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED,\n DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_BLOCKED,\n RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,\n SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.2","DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h=\n cc:content-transfer-encoding:date:from:in-reply-to:message-id\n :mime-version:references:subject:to; s=qcppdkim1; bh=QBoDv6QJK6d\n aOftuHlCid1YB4lmL83N0uWw/Zsq3n1Y=; b=cG1TFVhrDlK417OKpxcIuwEKWCJ\n DXcQDrl+Mg1Dt2hM64wTSJzK5F9n02vw06BJZZIr2vROWedKHjlSVCp2gLRrOk01\n IOqkSAoNST4NP3OEj/tBA6JJJlBU2Jhc5pVUVkbZSEqxSgNc4hoDjvgn6+bRMjBm\n spanLaUkhAxUianugS2AmO3RRvb1FZ50TDRLQXX02/26fUpkFQcU9Z3xERl/lBaz\n QV9wTBZNVBgaZe3iL5SfvBlzcLtbgMCkwo2HpOAxeyO13EeemSFWXnHgjUvxswvp\n v3APcK/n5k4F02wpcZnrNwuigqa6+oXvM5MndBZlczGJ++k6JF7kXOGu56Q==","v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=oss.qualcomm.com; s=google; t=1776323029; x=1776927829; darn=lists.denx.de;\n h=content-transfer-encoding:mime-version:references:in-reply-to\n :message-id:date:subject:cc:to:from:from:to:cc:subject:date\n :message-id:reply-to;\n bh=QBoDv6QJK6daOftuHlCid1YB4lmL83N0uWw/Zsq3n1Y=;\n b=U0yJYHwWciIwTMlbFJJQV2uN6b3zK90jogZBoBgtfu+PsLL+O7Fe7XS7ZwrtgnRDRT\n kP0dCp7o71b+aVajDDYrinMprpppSchUPx7g3BpaAlj+8hRXwXz7PMmQ5XaoGZzlAGov\n AHO6D8/mkyKsFiOQYvt5hSaWisRkNmapCr2JxOen3l5TPvkPfoJZ/M2jNW8B0ponS0Kk\n P3BrofABAfwckl+EViekge8rLEqbAwTSlk+9OPzboAUEl0gd42sCaU2ZFGO/X0uEPXmj\n tuktXQVYCq6oNIBAqq3bJ0++IiUyYDvHLdX43eEHpNQryAe7klo8yFDFMDVAdUo5rYKp\n rvQw=="],"X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1776323029; x=1776927829;\n h=content-transfer-encoding:mime-version:references:in-reply-to\n :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from\n :to:cc:subject:date:message-id:reply-to;\n bh=QBoDv6QJK6daOftuHlCid1YB4lmL83N0uWw/Zsq3n1Y=;\n b=F1OxJdQPiABWKPBQHcq62JtbiGmuJo+pTg9yw0o95gZY5otVl7nVi3mdDfU/6VrBMK\n QVN04VKYafhatRsfsLAMoSDtGrF9qunzn6bv6zXDwSYyMdGFxtQ5vwnHWeEWCCxg4uRS\n H8gOXACgTp5H/B/ro8ygtVm4UMlLhUCRGpL2pQ8VT4HUqBNAaZO3UWVejFlPOPA2ecUE\n +m5sa90UPTyk8INKdZycGtUe6T5QYW3/XazcM8xIrvPTtHztO1nIGKzlwh8jmje3GKOd\n KktEiNX7V1fiBqhLvExUIMHH2mRrIX20VSwVsVGncoYTrCY13p1W67E1sCanVjZxCAKh\n PreQ==","X-Forwarded-Encrypted":"i=1;\n AFNElJ9tDngmsFUgmu98XO9bvV6ALZCgPzNFSu0vOACY6YlMXa+deAfiqJOLDhk1aG7uFVim2ZSVfhE=@lists.denx.de","X-Gm-Message-State":"AOJu0Yy3tAuOPolu9218GaFIX6BpCQOrfNGt1hlBFFyByZ/eSD757PgC\n l7al3Bprm3lSqJxTFwXyRoRuEDJ3iBO4OjvSt7iE1L4S9JFnhDniHFDvXnFeDJobyRvNUQo8GPO\n vUsvO36sseEiasuWE75k5D+L8ivTTj89rOrKgU+mUboYTPrZ0I8hJpo+b","X-Gm-Gg":"AeBDiesigyLX6C3AU9eSk7KGUQJbs9I7Bpi48TJz0KphHsa0QmSQR7IRqsL9yxwivKv\n OsKOkagBc1AYZxPqOrRLyoGKYAmtqB5MMWdwYX26gm9VrtEDpV3DgNU6LOO4GVBjnCY8wtJBx0q\n 3NR908iNZ1KBoRTDRVB3T0qqoqzXJL1YAMIwGLBmFyDA3vLq+Q0u1/xmKZltdjhwX4Q7wM93xkN\n 8JGRdRCkt3rkOsX+cXMwFVhepLbfa6ShnvNpvLaQLYNjZzZ0BMNF4Rxq/3jVSAm1UfcA+9FddSE\n cgYH5BBySs6osBIlt4Ihnw6nCAsN1We4yGq65vrqncNxQmBiglIw4JPzKCkeN2vPtGRHNUVKz7i\n R9y1xglraAyzOEFoF5TyNTx3M1mcunsP2WnE2WnDER4Ksmn/tsNQek8KuZJX8RReZ5a7VLPOlCn\n lJMEQW4XJCfld7cuLb+k7zm5mFq36F3mIldLB4l7qvh4viYInVn3o=","X-Received":["by 2002:a17:902:cf12:b0:2b0:6df2:8cd2 with SMTP id\n d9443c01a7336-2b2d59b92a5mr250875985ad.19.1776323029418;\n Thu, 16 Apr 2026 00:03:49 -0700 (PDT)","by 2002:a17:902:cf12:b0:2b0:6df2:8cd2 with SMTP id\n d9443c01a7336-2b2d59b92a5mr250872115ad.19.1776323023603;\n Thu, 16 Apr 2026 00:03:43 -0700 (PDT)"],"From":"Varadarajan Narayanan <varadarajan.narayanan@oss.qualcomm.com>","To":"trini@konsulko.com, casey.connolly@linaro.org, neil.armstrong@linaro.org,\n sumit.garg@kernel.org, varadarajan.narayanan@oss.qualcomm.com,\n marek.vasut+renesas@mailbox.org, aswin.murugan@oss.qualcomm.com,\n simon.glass@canonical.com, tien.fong.chee@altera.com,\n michal.simek@amd.com, visitorckw@gmail.com, clamor95@gmail.com,\n u-boot@lists.denx.de, u-boot-qcom@groups.io","Cc":"Sumit Garg <sumit.garg@oss.qualcomm.com>","Subject":"[PATCH v7 1/5] arm: psci: Add API to check for support of specific\n PSCI function","Date":"Thu, 16 Apr 2026 12:33:26 +0530","Message-Id":"<20260416070330.3006528-2-varadarajan.narayanan@oss.qualcomm.com>","X-Mailer":"git-send-email 2.34.1","In-Reply-To":"<20260416070330.3006528-1-varadarajan.narayanan@oss.qualcomm.com>","References":"<20260416070330.3006528-1-varadarajan.narayanan@oss.qualcomm.com>","MIME-Version":"1.0","Content-Transfer-Encoding":"8bit","X-Proofpoint-ORIG-GUID":"ONoZDzZPkPJWPfE-UV54yhGRhFoN7psf","X-Proofpoint-GUID":"ONoZDzZPkPJWPfE-UV54yhGRhFoN7psf","X-Proofpoint-Spam-Details-Enc":"AW1haW4tMjYwNDE2MDA2NCBTYWx0ZWRfX/zFQsKIENx8U\n WgWsrQjjOiYP+Icq6MZuG5yqEiMz2+Sjxr9IvOkq6zoJp4E4dqaRW4+PU1YM7cVqVw2r8OIsAhq\n p3dUvaIqcfPPIvB5DYQP9wrV8ej7EZZj1mavqbdzSVLbeWfrfJUDDuyVHXZ7WCtPGXpDIEMipsu\n 3/1A9Aih30bQPqneCl4VjaFbpbavKJ9fQn+pwXenAb2OqDx3YvrImjvk0CF0O0K7N1lc2rgQ+2p\n pw6LePWgb5Izc+B7JV2rhQMNs/Im6+0SbvybltTOw15yIyexi7Iejt6n5v0q7EY5UWtgef536Wy\n blAHNQTdJl0bJ4mBbSJNhFkw4YhQvS1cSnS/dRlMSDpCMxamSNvfP/mQO11POpIsK/w7YtXWywx\n ODJHVvzXdDDJuCmN6nMPv5jZtiNBk9Y6+mDRJEHIKrYZ+ICdaJg116JQF/0toUENLL61clXdmeb\n KbtVM0P0tdMPx9UTwrg==","X-Authority-Analysis":"v=2.4 cv=EojiaycA c=1 sm=1 tr=0 ts=69e089d6 cx=c_pps\n a=JL+w9abYAAE89/QcEU+0QA==:117 a=Ou0eQOY4+eZoSc0qltEV5Q==:17\n a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22\n a=u7WPNUs3qKkmUXheDGA7:22 a=yOCtJkima9RkubShWh1s:22 a=KKAkSRfTAAAA:8\n a=EUspDBNiAAAA:8 a=B_h1StgqK4FeiTQRNJUA:9 a=324X-CrmTo6CU4MGRt3R:22\n a=cvBusfyB2V15izCimMoJ:22","X-Proofpoint-Virus-Version":"vendor=baseguard\n engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49\n definitions=2026-04-16_02,2026-04-13_04,2025-10-01_01","X-Proofpoint-Spam-Details":"rule=outbound_notspam policy=outbound score=0\n priorityscore=1501 bulkscore=0 adultscore=0 spamscore=0 phishscore=0\n impostorscore=0 suspectscore=0 lowpriorityscore=0 malwarescore=0\n clxscore=1015 classifier=typeunknown authscore=0 authtc= authcc=\n route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604070000\n definitions=main-2604160064","X-BeenThere":"u-boot@lists.denx.de","X-Mailman-Version":"2.1.39","Precedence":"list","List-Id":"U-Boot discussion <u-boot.lists.denx.de>","List-Unsubscribe":"<https://lists.denx.de/options/u-boot>,\n <mailto:u-boot-request@lists.denx.de?subject=unsubscribe>","List-Archive":"<https://lists.denx.de/pipermail/u-boot/>","List-Post":"<mailto:u-boot@lists.denx.de>","List-Help":"<mailto:u-boot-request@lists.denx.de?subject=help>","List-Subscribe":"<https://lists.denx.de/listinfo/u-boot>,\n <mailto:u-boot-request@lists.denx.de?subject=subscribe>","Errors-To":"u-boot-bounces@lists.denx.de","Sender":"\"U-Boot\" <u-boot-bounces@lists.denx.de>","X-Virus-Scanned":"clamav-milter 0.103.8 at phobos.denx.de","X-Virus-Status":"Clean"},"content":"Add an API to check if a specific PSCI function is supported or not.\nThis is based on the psci_features() function present in Linux kernel\n(drivers/firmware/psci/psci.c).\n\nReviewed-by: Casey Connolly <casey.connolly@linaro.org>\nReviewed-by: Sumit Garg <sumit.garg@oss.qualcomm.com>\nSigned-off-by: Varadarajan Narayanan <varadarajan.narayanan@oss.qualcomm.com>\n---\n arch/arm/cpu/armv8/fwcall.c   | 15 +++++++++++++++\n arch/arm/include/asm/system.h |  1 +\n 2 files changed, 16 insertions(+)","diff":"diff --git a/arch/arm/cpu/armv8/fwcall.c b/arch/arm/cpu/armv8/fwcall.c\nindex 87de09979b1..f834d770dd6 100644\n--- a/arch/arm/cpu/armv8/fwcall.c\n+++ b/arch/arm/cpu/armv8/fwcall.c\n@@ -129,3 +129,18 @@ void __noreturn psci_system_off(void)\n \twhile (1)\n \t\t;\n }\n+\n+int psci_features(u32 psci_func_id)\n+{\n+\tstruct pt_regs regs;\n+\n+\tregs.regs[0] = ARM_PSCI_1_0_FN_PSCI_FEATURES;\n+\tregs.regs[1] = psci_func_id;\n+\n+\tif (use_smc_for_psci)\n+\t\tsmc_call(&regs);\n+\telse\n+\t\thvc_call(&regs);\n+\n+\treturn regs.regs[0];\n+}\ndiff --git a/arch/arm/include/asm/system.h b/arch/arm/include/asm/system.h\nindex 9e3ad57073d..5ed6833c155 100644\n--- a/arch/arm/include/asm/system.h\n+++ b/arch/arm/include/asm/system.h\n@@ -342,6 +342,7 @@ void smc_call(struct pt_regs *args);\n void __noreturn psci_system_reset(void);\n void __noreturn psci_system_reset2(u32 reset_level, u32 cookie);\n void __noreturn psci_system_off(void);\n+int psci_features(u32 psci_func_id);\n \n #ifdef CONFIG_ARMV8_PSCI\n extern char __secure_start[];\n","prefixes":["v7","1/5"]}