From nobody Mon Feb 9 16:12:29 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 49979346A14 for ; Tue, 23 Dec 2025 17:08:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766509687; cv=none; b=BbTr5RXpPt2OsHQtvBPCmb6CEjWoQAUluGkAfGVdMx5SaiavK5UvZiTU0oUynJOv02H9kNIGZi6+UVu9X59JhTL75KHdu3nvu8/mbdULDoKXeUjAKFSWsxKrOMSUii5Ke7pe0YYXDRBgvLE4C7MxFtlB/7qfLkP9cPmc6kjB4pA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766509687; c=relaxed/simple; bh=PN8XgGtqW6YgfHr48yEyP7m5MdenrdUHWGoWarnZY1Y=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=mF+wxUsJuXxt8lR8E/PZiLVJNK9BrlTo3RZTFPrq/oIFzYQ8J2N1QIFWEkHAUuuGN01SP/SRYgxxYUBD7zQiBS6a07ZPoXusmh2TFyT4ULBLKr5S8CQ37i1GsIIMYUkJj5pH4rzpf24HHtnmzoqwiXeNVy+9KhMneMzzRKVE30Q= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=Z4HDq0tT; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=aXQ7f54P; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="Z4HDq0tT"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="aXQ7f54P" Received: from pps.filterd (m0279862.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 5BNAAYTc1568865 for ; Tue, 23 Dec 2025 17:08:05 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= BuJzfruUe3GRTHem0CZT3bmLDfnPw1fzYeLWKqeqq9k=; b=Z4HDq0tTHyRZcQul eGnegLNHouBadD0uwEWvImFKSYkryEFUBZgjlEVV9OyK/pInNCS+ow55edHoxHhy 8T4cpVGebhej3OwEI5tRUsNOgER2wDwWy3fENnvld7UPLf5dlUh4UF6xWMbadoPd 1dLpHy9hAG7QvZfAIYpjlE2tcCUihUL3HYaVR/EOvBTo3qfh9JFp2ujHhz2JA8o7 aks06gGT/DVPLat20Cdg3k1gJ7yjhb869O0BZUXPzAkTXFybRuDFGuBs94TzNViL EavKkml7cO7lyea9YwSi8DKX5ZnsxsnQDvNEmavTiT84LaQCCsiBUNY7nYI9Dd1f kVfcMA== Received: from mail-pl1-f200.google.com (mail-pl1-f200.google.com [209.85.214.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4b76yy4dk9-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 23 Dec 2025 17:08:05 +0000 (GMT) Received: by mail-pl1-f200.google.com with SMTP id d9443c01a7336-29f25a008dbso47506365ad.1 for ; Tue, 23 Dec 2025 09:08:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1766509685; x=1767114485; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=BuJzfruUe3GRTHem0CZT3bmLDfnPw1fzYeLWKqeqq9k=; b=aXQ7f54PR30geol0ywmMRJYIxK/BXwrk1rS70dgmR8OGQCbnYP3I84Aa+cz5QMmTP/ x2RB8u5xUXcuA7l/r/qx+mZ0YHAM8sn85HZcGGl0sZ87YsJJsTTO+Q7Q4C2qkcuc/MUh 8rWxlf7ncSrqGNnhMXYvIT80bYGc5JehE7EXKEcken64UvH37mOaiXl+AGaqu3AhgdoQ q3kXnoCSzMlBT8/IofQ9QkugWeBGMd9XKm1WMEeLZfQxyJJnTK4EuNBRWONZRx5h7LS2 L1tVlrs7GMC7budylR33cbu2ZL/jvlHYCOvVDFELL8BpQ8s3LWvmmnSlJw9A9Qk/GkDT rxDg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1766509685; x=1767114485; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=BuJzfruUe3GRTHem0CZT3bmLDfnPw1fzYeLWKqeqq9k=; b=qR9kD4Pu7EA+/vexgpmS/rjSSMUF18emsjIW7C0l+Md44QJb2zCzLkyoLhQOTva3Cs yPac+pguwQv9Ca6sBMVbMIJB5X2WHm81ajIpFVEjSJvw8iTZdc/1Rlk+10s36mXo296v HZRYhQK6g8of+P4MJ7i7O7nQEurmc6bJx1UnrlyWrlEs4b/9XbKB2ehf/YwTZpHQiuJL MpS4ENsIgqtDUL7pU5LRmrmu2+PIgFmjgsxU72rSaps5KMf7oxd1LBLKrl3X2oGwVrI2 YLDwMEKsSwFC1MUHJsSB7n2Nwjzx2sZAyzZJbXXiK/ttGwOaC6Wi33KrXqzc5nH8fcN0 ApSw== X-Forwarded-Encrypted: i=1; AJvYcCU+UVFkktIy4zmqiAsn9XOJJKN7xpKXSemjvE1VZjs0+eJCNW+prIeK3bCzGHbVgpCfOYVKy122p/ds36o=@vger.kernel.org X-Gm-Message-State: AOJu0YyIgvjooFHkEYcPj+FDaBuktRNrVt4rO+1OOgaCKTmFoi+oAima lLDu1yhioQGCmrhlGED3TR5UDLAOPNAyUWgIlJe640F1vp8E6YR907ATMUNvfLE1TcNGaP3TwA5 FQ9B8kBOJnI3JY1Q9krl83bvmgd1z4Hhk5k0MuV/sBBpJYE9xwepLzov9jooJG/GFOKQ= X-Gm-Gg: AY/fxX7SuQzUuDH5C7SCl4fslnYnmRosNAGOYqMUt1YpvqDkBbrzodDZJz9r++4DNXX ONNM2L/mE3I1izMeQqZ9hRciTstOWlXRsMe4rnacg51BJWnpLWiFc7kLNUjv1vJo25QrIoG2lpo sg4dUSa0/GCnJi3CdgxnuSjDxic81Uua+2Yr8DhHfQmcuZ2bdkIQMZlm8m+sUn3X8NCiK1+4rp/ W4iCj3mfML1185WaPFZi396kTP9K2r0QIIdvy15dB4QIqdFXYMh6o/e4hGbp2laJEQhOFyeE434 24hY/81OvmFZb+Q2xWPGJsy2BDKSnnIzmfl+S+/esUc6WAi12CgY/nms8GmsDPj5b7l48SgaJ1V cfmwI5AcJmLwgspjDzLGVRiTC5UiBb0FOYONxQFiFBCirjA== X-Received: by 2002:a17:902:be0a:b0:2a0:e5da:febf with SMTP id d9443c01a7336-2a2f283de4bmr95817345ad.46.1766509684541; Tue, 23 Dec 2025 09:08:04 -0800 (PST) X-Google-Smtp-Source: AGHT+IGU2BHLXju0TwubxmcjP35lXQk0iO7RIkXm4wYR+cd3MUQx04iH8XUNtFvswH3MksQD9yYDlw== X-Received: by 2002:a17:902:be0a:b0:2a0:e5da:febf with SMTP id d9443c01a7336-2a2f283de4bmr95816865ad.46.1766509684008; Tue, 23 Dec 2025 09:08:04 -0800 (PST) Received: from hu-spratap-hyd.qualcomm.com ([202.46.22.19]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2a2f3d5d863sm130019325ad.80.2025.12.23.09.07.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 23 Dec 2025 09:08:03 -0800 (PST) From: Shivendra Pratap Date: Tue, 23 Dec 2025 22:37:32 +0530 Subject: [PATCH v18 01/10] power: reset: reboot-mode: Remove devres based allocations Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20251223-arm-psci-system_reset2-vendor-reboots-v18-1-32fa9e76efc3@oss.qualcomm.com> References: <20251223-arm-psci-system_reset2-vendor-reboots-v18-0-32fa9e76efc3@oss.qualcomm.com> In-Reply-To: <20251223-arm-psci-system_reset2-vendor-reboots-v18-0-32fa9e76efc3@oss.qualcomm.com> To: Lorenzo Pieralisi , Arnd Bergmann , Bjorn Andersson , Sebastian Reichel , Rob Herring , Sudeep Holla , Souvik Chakravarty , Krzysztof Kozlowski , Andy Yan , Bartosz Golaszewski Cc: Florian Fainelli , Krzysztof Kozlowski , Dmitry Baryshkov , Mukesh Ojha , Andre Draszik , Kathiravan Thirumoorthy , linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-arm-msm@vger.kernel.org, Shivendra Pratap , Srinivas Kandagatla X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1766509672; l=3584; i=shivendra.pratap@oss.qualcomm.com; s=20250710; h=from:subject:message-id; bh=PN8XgGtqW6YgfHr48yEyP7m5MdenrdUHWGoWarnZY1Y=; b=0m1D2Z2VqYUtb58Jr5qq5+QFqF7zQVLl0MIKYRgyGEScmJsdxNQ7obTCiuD9ICuyXEpMer/7r 8fzGy1I+5KXAlnJ3EIWW93HGxOjOOaMi3ojDNjX2ng3aE4DguLHklRM X-Developer-Key: i=shivendra.pratap@oss.qualcomm.com; a=ed25519; pk=CpsuL7yZ8NReDPhGgq6Xn/SRoa59mAvzWOW0QZoo4gw= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMjIzMDE0MiBTYWx0ZWRfX5hwmIqM+WE0A 3hKDzUgONFsFWw5Jgg/+8uvsOSeUIN5N0pQvJ0C9BM+CZEO4wPTS8b2c7wgCbH9iG9SI0Ts4+8n 5dSxMdoqeJMlfedht7vRNga+Dz7pmWgD2YfGlEHOcy9wh5SDWspojZ6lMQPM0pDx530QHWEfg2u JecKC21DGMxPH3Y08YQISER+miQ4+ji90jqh9q16V6r4850wEaFkYDJq6AYGoHr1VkjvQuOHgC1 2rLXQF7e7HwWJ3uk++uSLbe4AJYYA814NlnTwDZf8m6Q7e4b8w+0SdS8KnY4Kwcp0EVzuj6SsjZ zwm3KZZbVXM94iugzkTkKyUvRPgQcjUiqawe+8GB5zlraRd8FTVV51QXep81E/Nui/1kCaWwRbw fthWJ2hH14w5d0AmjMOC/caBMkfmMELEIcIcQt4RrHHKiRYuHUJ2oycXJisaJMzZup68JNhgag2 j2KGScuO2HRpplOReQA== X-Authority-Analysis: v=2.4 cv=Zb0Q98VA c=1 sm=1 tr=0 ts=694acc75 cx=c_pps a=IZJwPbhc+fLeJZngyXXI0A==:117 a=fChuTYTh2wq5r3m49p7fHw==:17 a=IkcTkHD0fZMA:10 a=wP3pNCr1ah4A:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=QIdouwm7mKRySFGJXRQA:9 a=QEXdDO2ut3YA:10 a=uG9DUKGECoFWVXl0Dc02:22 X-Proofpoint-ORIG-GUID: BWjVpNqFQOnBdPOYpEW7hxOp6adTKacK X-Proofpoint-GUID: BWjVpNqFQOnBdPOYpEW7hxOp6adTKacK X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2025-12-23_04,2025-12-22_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 priorityscore=1501 malwarescore=0 impostorscore=0 phishscore=0 spamscore=0 bulkscore=0 adultscore=0 suspectscore=0 clxscore=1015 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2512120000 definitions=main-2512230142 Devres APIs are intended for use in drivers, where the managed lifetime of resources is tied directly to the driver attach/detach cycle. In shared subsystem code, there is no guarantee that the subsystem functions will only be called after a driver has been attached, nor that they will not be referenced after the managed resources have been released during driver detach. To ensure correct lifetime handling, avoid using devres-based allocations in the reboot-mode and explicitly handle allocation and cleanup of resources. Fixes: 4fcd504edbf7 ("power: reset: add reboot mode driver") Signed-off-by: Shivendra Pratap --- drivers/power/reset/reboot-mode.c | 33 +++++++++++++++++++++------------ 1 file changed, 21 insertions(+), 12 deletions(-) diff --git a/drivers/power/reset/reboot-mode.c b/drivers/power/reset/reboot= -mode.c index fba53f638da04655e756b5f8b7d2d666d1379535..4b6ae4007c4f6fb7d51520b4be2= bf3cb1dff518e 100644 --- a/drivers/power/reset/reboot-mode.c +++ b/drivers/power/reset/reboot-mode.c @@ -3,6 +3,8 @@ * Copyright (c) 2016, Fuzhou Rockchip Electronics Co., Ltd */ =20 +#define pr_fmt(fmt) "reboot-mode: " fmt + #include #include #include @@ -71,9 +73,11 @@ static int reboot_mode_notify(struct notifier_block *thi= s, int reboot_mode_register(struct reboot_mode_driver *reboot) { struct mode_info *info; + struct mode_info *next; struct property *prop; struct device_node *np =3D reboot->dev->of_node; size_t len =3D strlen(PREFIX); + u32 magic; int ret; =20 INIT_LIST_HEAD(&reboot->head); @@ -82,19 +86,17 @@ int reboot_mode_register(struct reboot_mode_driver *reb= oot) if (strncmp(prop->name, PREFIX, len)) continue; =20 - info =3D devm_kzalloc(reboot->dev, sizeof(*info), GFP_KERNEL); + if (of_property_read_u32(np, prop->name, &magic)) { + pr_err("reboot mode %s without magic number\n", prop->name); + continue; + } + + info =3D kzalloc(sizeof(*info), GFP_KERNEL); if (!info) { ret =3D -ENOMEM; goto error; } =20 - if (of_property_read_u32(np, prop->name, &info->magic)) { - dev_err(reboot->dev, "reboot mode %s without magic number\n", - info->mode); - devm_kfree(reboot->dev, info); - continue; - } - info->mode =3D kstrdup_const(prop->name + len, GFP_KERNEL); if (!info->mode) { ret =3D -ENOMEM; @@ -102,8 +104,7 @@ int reboot_mode_register(struct reboot_mode_driver *reb= oot) } else if (info->mode[0] =3D=3D '\0') { kfree_const(info->mode); ret =3D -EINVAL; - dev_err(reboot->dev, "invalid mode name(%s): too short!\n", - prop->name); + pr_err("invalid mode name(%s): too short!\n", prop->name); goto error; } =20 @@ -116,8 +117,12 @@ int reboot_mode_register(struct reboot_mode_driver *re= boot) return 0; =20 error: - list_for_each_entry(info, &reboot->head, list) + kfree(info); + list_for_each_entry_safe(info, next, &reboot->head, list) { + list_del(&info->list); kfree_const(info->mode); + kfree(info); + } =20 return ret; } @@ -130,11 +135,15 @@ EXPORT_SYMBOL_GPL(reboot_mode_register); int reboot_mode_unregister(struct reboot_mode_driver *reboot) { struct mode_info *info; + struct mode_info *next; =20 unregister_reboot_notifier(&reboot->reboot_notifier); =20 - list_for_each_entry(info, &reboot->head, list) + list_for_each_entry_safe(info, next, &reboot->head, list) { + list_del(&info->list); kfree_const(info->mode); + kfree(info); + } =20 return 0; } --=20 2.34.1 From nobody Mon Feb 9 16:12:29 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 36017346A1F for ; Tue, 23 Dec 2025 17:08:12 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766509694; cv=none; b=c9I7c61VebAsDlbnOLLn9BzRukbO+yc4gzOTNcy8Pd2XopKdzi+Pe8awag5Gm3FFE3C4j39Sx66wm0XoCeqL65NAiW4I3tVdE54w2zV3CtLrWgCByLb3o1LtaoT6IBCMeMH+zJU14rKpBuM1ifRgq89yicadoZ324XYdSg1vvv4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766509694; c=relaxed/simple; bh=2o2cT38Ly46xd/419lqAtzNeNc4dO02E+TShPOPKLWU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Tcu/MnMifh1cz4wCaGQEViGhO2LzqMTdl0vG9N+FxZr8jS4i42cRulApTUb/8Ni0ARNCS4yZ7h0ZUdhn5Yydp2FK6zILBcyex/mSSFTLEHHmyzPRQMJactKJ3icHkbjGof4dNt2lNkUXX9dwL20J1R7gbHC/Vi+VqWdbrLsBmOc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=KJW59uGp; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=FhR7mswz; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="KJW59uGp"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="FhR7mswz" Received: from pps.filterd (m0279862.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 5BNAlrt91569209 for ; Tue, 23 Dec 2025 17:08:11 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= 7mc3GOn350tsV5ROq6wQgRZLIh0hhlkh6WOkw1l+Vmk=; b=KJW59uGpb8HkkLVK xDoavrn4MmeLJb+PXS0aMTmD105NuKRIRhuMJXXJ88k5I20iGy98cfm9pu1cLNEp r5Th+IFHeMFZ+XxFQy5FovEEooftgnFr4tNojHWbEfmq3sU+/e7razRdqO53YORY ow2q7Lv4zy0Iv7v600styZbeIVlOTUWXNL1vFRHpaceZwy4PR0earaGHH5DeOipc eMkHNsDGBVuyY9cwZFFqU2rPpLCTfAzGq4xQhPt4GJW0tJn+QC17kY+2BUmIiSJC StkG23iQYhqctdzgZV3qJQZqfvNWOsaMkUAfdibJCGJSlQuYzwslIux0pvNzAtvy jM41GQ== Received: from mail-pl1-f197.google.com (mail-pl1-f197.google.com [209.85.214.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4b76yy4dkx-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 23 Dec 2025 17:08:11 +0000 (GMT) Received: by mail-pl1-f197.google.com with SMTP id d9443c01a7336-2a0dabc192eso114294335ad.0 for ; Tue, 23 Dec 2025 09:08:11 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1766509691; x=1767114491; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=7mc3GOn350tsV5ROq6wQgRZLIh0hhlkh6WOkw1l+Vmk=; b=FhR7mswzBlXO6z933RUQVlzGPq+QRFOCQRRwpaKHsD9iAnjEIgERryJH3Av6wJczIj aZbTk3fXwbBZS60e776IkAHMa8Aj8zzEGlsk+3u9BQxnvtDbmbtBSe7ilTv55mc3d0FN Mgml6Bk9i7x5quXYWdCUljr8qvtNwXZfaWs27Cz7qONNmnpfL/JvMkNHChOMll1ByZ5K 8WF8qTC1qAgy8CP1NeCxoIb3al9JL/B2T+zteon60DhTUmK/ZJRzhdoI/6XCvax9HA72 s2zfLX0EFr5ULVYNbn2e+iRm2BCpaZ7/ECXNCkVw7AQBZhHhksE9uv797ahvXsxwjmx3 z+hQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1766509691; x=1767114491; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=7mc3GOn350tsV5ROq6wQgRZLIh0hhlkh6WOkw1l+Vmk=; b=n2EWwl/50borApm53tJtBaNgZfKwS5dXVrLve9yJM1GPGhlxEZWpmXNKOstVFrexG9 rlu1yb580Uoa+M5MoI8MUAltuPGoS+U5dEHzrdTu+trqSuuHhQkYrkXWidHwp+VTh9rJ LiOJn6aS7oLu4U/Q05lCDVxIebys+vuBms3UmkT0tAds09y7sBr/6mkvDVl/79EGa40U pBiwN2X/WtHS4zJVjIH5GDPHZP+ZSn/H0Kghbra5injtfUPG7XyxN9hCCo9zc+oyn3Qd M86UOFZiOxEiGG8u/i9sWR2hLC2AzActXkcawkNJNGQGw3kEIEk48/P/VbFxw5SVXKp8 1LKQ== X-Forwarded-Encrypted: i=1; AJvYcCUInRH3q3E4UVuy8N17h9fM7R8+ORRDWQrCaKceeKbq4q+fNMPqu23aAimzgbGoz63lVktMdBHf2EqjLUs=@vger.kernel.org X-Gm-Message-State: AOJu0Yxs3FVMaPPgZ1daH0CI1RZXqNzFddRgvvlj1tgxishzNrv3DAuY Gjbc+QFovi4PszvAJbtKAmMbIn+MJ14hxJho8PmlOSyweJezT4Ygi+z1eVs0edQ2jkkTLLBD5My fRXRwfBD2gNQgpultaNtlVj5KhMktJhwRreXFTw2YfDYJPA7iZauDW3K52DKVQY+rMwU= X-Gm-Gg: AY/fxX5zxvvKRs80Kabcx6HZjag57eObSEJrEnbXijLunDbROI1NBZlhllNHdJRLijp 241Y+4q5mEk2ZYWTcEdQtfNLvMFvzObayptMVp/AJCHkjK+VsLpWX6hvLWFWnE5r2az8fE4o+ZA 7t3vqf0ZZU0SmSKXogRJ22u9hvB6Pn9+Ok/hDbOH7p5i7PpHrAHlwCKUP8cdvQf/ukItnkYDQDa Mm2ftmX9WlcrO/h1P0/ObtncTLcAR9rP6tADftK7Oe0Yn85eQHyrOj0txCzuzU2Y/Nwtbi/r7f+ xOXzQSWxBGBR7NlhhArp9UQMeuc2hxNQsFhwPPvk0Ow+BVEzgHo+wHBS2RObXy32XCRbf3kvg1V nNNBrlMOFoXnCOMKp5Jp/Yrtlm7NIyRa6WemdJVNGhyfQiA== X-Received: by 2002:a17:902:ec8b:b0:2a0:d436:e7ad with SMTP id d9443c01a7336-2a2f2832c51mr157278005ad.49.1766509690524; Tue, 23 Dec 2025 09:08:10 -0800 (PST) X-Google-Smtp-Source: AGHT+IGQ4aOnLvyrVaT66N/eDSlqnerZMeyA1rrRBgGG9I3JAKDcbQUsSMiZ5xQmSXBqsbJ2CmnO9w== X-Received: by 2002:a17:902:ec8b:b0:2a0:d436:e7ad with SMTP id d9443c01a7336-2a2f2832c51mr157277475ad.49.1766509689927; Tue, 23 Dec 2025 09:08:09 -0800 (PST) Received: from hu-spratap-hyd.qualcomm.com ([202.46.22.19]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2a2f3d5d863sm130019325ad.80.2025.12.23.09.08.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 23 Dec 2025 09:08:09 -0800 (PST) From: Shivendra Pratap Date: Tue, 23 Dec 2025 22:37:33 +0530 Subject: [PATCH v18 02/10] power: reset: reboot-mode: Add support for 64 bit magic Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20251223-arm-psci-system_reset2-vendor-reboots-v18-2-32fa9e76efc3@oss.qualcomm.com> References: <20251223-arm-psci-system_reset2-vendor-reboots-v18-0-32fa9e76efc3@oss.qualcomm.com> In-Reply-To: <20251223-arm-psci-system_reset2-vendor-reboots-v18-0-32fa9e76efc3@oss.qualcomm.com> To: Lorenzo Pieralisi , Arnd Bergmann , Bjorn Andersson , Sebastian Reichel , Rob Herring , Sudeep Holla , Souvik Chakravarty , Krzysztof Kozlowski , Andy Yan , Bartosz Golaszewski Cc: Florian Fainelli , Krzysztof Kozlowski , Dmitry Baryshkov , Mukesh Ojha , Andre Draszik , Kathiravan Thirumoorthy , linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-arm-msm@vger.kernel.org, Shivendra Pratap , Srinivas Kandagatla , Umang Chheda , Nirmesh Kumar Singh X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1766509672; l=7589; i=shivendra.pratap@oss.qualcomm.com; s=20250710; h=from:subject:message-id; bh=2o2cT38Ly46xd/419lqAtzNeNc4dO02E+TShPOPKLWU=; b=ErA8eTOuOFOVhrWwNxeIIP8Srfsn/pUO1IpTWe2NedElfQ2IN4YB6eCoG1OL1KxxLRWA2O5U9 jE3AMKHa3WXBeBut/eiy7DVsRaP290clHrPDEVmXVTJPn/xTrYR/pwP X-Developer-Key: i=shivendra.pratap@oss.qualcomm.com; a=ed25519; pk=CpsuL7yZ8NReDPhGgq6Xn/SRoa59mAvzWOW0QZoo4gw= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMjIzMDE0MiBTYWx0ZWRfX363JrB2jtUJ9 C7KSJavjEMHAHMx01Oyo4zFplQdsHp/NWRcE3DtuWgj4i4HFuu9EtZr2ff59SQ8vH+/xHQ2hOPN DN7kHk2lXydJTUOE3RldrrikXzSHCpIFAlFmj/EgoPkyvlD3qz+PExejRXPlSxMFf8Od2TDmdbD tcETXgCdPZmfK+2tTglrAKmRGWnLy5S3LgFmef45r34+g9meEWo5SJGejR03wQQ0enIIK0Gr/qF 4ofVFtUqjqbO31HLG+PX8oVLQUpf+m/0Uk/kjPRdcgnRJkeM9rE9tjnYga6XbgFwpY3y7J3Qsa4 eC2/A4xjnHHV3J5AJXoERGx/U81AM/e8pmBDz1xu8gTmfMREntevf3CsH8N9wJ8hhy0E/138JW4 lZnZ5z7ojtpG1lVwpaErH6l4rGEe0XiyiYMVfH1i6Z+ZUmq6Pzrdtfa3ejk6SIx+8b2l1xB1DSf iyUpi6ar7equhmX2ZKg== X-Authority-Analysis: v=2.4 cv=Zb0Q98VA c=1 sm=1 tr=0 ts=694acc7b cx=c_pps a=cmESyDAEBpBGqyK7t0alAg==:117 a=fChuTYTh2wq5r3m49p7fHw==:17 a=IkcTkHD0fZMA:10 a=wP3pNCr1ah4A:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=MO_J9Aa4ypbE8kPWTcIA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=1OuFwYUASf3TG4hYMiVC:22 X-Proofpoint-ORIG-GUID: nsSucrd7cq-fPri7YCiQYUTm7RZO1lOQ X-Proofpoint-GUID: nsSucrd7cq-fPri7YCiQYUTm7RZO1lOQ X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2025-12-23_04,2025-12-22_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 priorityscore=1501 malwarescore=0 impostorscore=0 phishscore=0 spamscore=0 bulkscore=0 adultscore=0 suspectscore=0 clxscore=1015 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2512120000 definitions=main-2512230142 Current reboot-mode supports a single 32-bit argument for any supported mode. Some reboot-mode based drivers may require passing two independent 32-bit arguments during a reboot sequence, for uses-cases, where a mode requires an additional argument. Such drivers may not be able to use the reboot-mode driver. For example, ARM PSCI vendor-specific resets, need two arguments for its operation =E2=80=93 reset_type and cookie, to complete the reset operation. If a driver wants to implement this firmware-based reset, it cannot use reboot-mode framework. Introduce 64-bit magic values in reboot-mode driver to accommodate up-to two 32-bit arguments. u64 magic Reviewed-by: Nirmesh Kumar Singh Reviewed-by: Umang Chheda -------------------------------------------- | Higher 32 bit | Lower 32 bit | | arg2 | arg1 | -------------------------------------------- Update current reboot-mode drivers for 64-bit magic. Reviewed-by: Umang Chheda Reviewed-by: Nirmesh Kumar Singh Signed-off-by: Shivendra Pratap --- drivers/power/reset/nvmem-reboot-mode.c | 10 ++++++---- drivers/power/reset/qcom-pon.c | 8 +++++--- drivers/power/reset/reboot-mode.c | 24 ++++++++++++++++++------ drivers/power/reset/syscon-reboot-mode.c | 8 +++++--- include/linux/reboot-mode.h | 6 +++++- 5 files changed, 39 insertions(+), 17 deletions(-) diff --git a/drivers/power/reset/nvmem-reboot-mode.c b/drivers/power/reset/= nvmem-reboot-mode.c index 41530b70cfc48c2a83fbbd96f523d5816960a0d1..b3d21d39b0f732254c40103db1b= 51fb7045ce344 100644 --- a/drivers/power/reset/nvmem-reboot-mode.c +++ b/drivers/power/reset/nvmem-reboot-mode.c @@ -16,15 +16,17 @@ struct nvmem_reboot_mode { struct nvmem_cell *cell; }; =20 -static int nvmem_reboot_mode_write(struct reboot_mode_driver *reboot, - unsigned int magic) +static int nvmem_reboot_mode_write(struct reboot_mode_driver *reboot, u64 = magic) { - int ret; struct nvmem_reboot_mode *nvmem_rbm; + u32 magic_arg1; + int ret; =20 + /* Use low 32 bits of magic for argument_1 */ + magic_arg1 =3D FIELD_GET(GENMASK_ULL(31, 0), magic); nvmem_rbm =3D container_of(reboot, struct nvmem_reboot_mode, reboot); =20 - ret =3D nvmem_cell_write(nvmem_rbm->cell, &magic, sizeof(magic)); + ret =3D nvmem_cell_write(nvmem_rbm->cell, &magic_arg1, sizeof(magic_arg1)= ); if (ret < 0) dev_err(reboot->dev, "update reboot mode bits failed\n"); =20 diff --git a/drivers/power/reset/qcom-pon.c b/drivers/power/reset/qcom-pon.c index 7e108982a582e8243c5c806bd4a793646b87189f..ccce1673b2ec47d02524edd4481= 1d4f528c243e8 100644 --- a/drivers/power/reset/qcom-pon.c +++ b/drivers/power/reset/qcom-pon.c @@ -27,17 +27,19 @@ struct qcom_pon { long reason_shift; }; =20 -static int qcom_pon_reboot_mode_write(struct reboot_mode_driver *reboot, - unsigned int magic) +static int qcom_pon_reboot_mode_write(struct reboot_mode_driver *reboot, u= 64 magic) { struct qcom_pon *pon =3D container_of (reboot, struct qcom_pon, reboot_mode); + u32 magic_arg1; int ret; =20 + /* Use low 32 bits of magic for argument_1 */ + magic_arg1 =3D FIELD_GET(GENMASK_ULL(31, 0), magic); ret =3D regmap_update_bits(pon->regmap, pon->baseaddr + PON_SOFT_RB_SPARE, GENMASK(7, pon->reason_shift), - magic << pon->reason_shift); + magic_arg1 << pon->reason_shift); if (ret < 0) dev_err(pon->dev, "update reboot mode bits failed\n"); =20 diff --git a/drivers/power/reset/reboot-mode.c b/drivers/power/reset/reboot= -mode.c index 4b6ae4007c4f6fb7d51520b4be2bf3cb1dff518e..54adcda57e44edf2fd2cda0f752= 226f747aa72d7 100644 --- a/drivers/power/reset/reboot-mode.c +++ b/drivers/power/reset/reboot-mode.c @@ -17,12 +17,11 @@ =20 struct mode_info { const char *mode; - u32 magic; + u64 magic; struct list_head list; }; =20 -static unsigned int get_reboot_mode_magic(struct reboot_mode_driver *reboo= t, - const char *cmd) +static u64 get_reboot_mode_magic(struct reboot_mode_driver *reboot, const = char *cmd) { const char *normal =3D "normal"; struct mode_info *info; @@ -54,7 +53,7 @@ static int reboot_mode_notify(struct notifier_block *this, unsigned long mode, void *cmd) { struct reboot_mode_driver *reboot; - unsigned int magic; + u64 magic; =20 reboot =3D container_of(this, struct reboot_mode_driver, reboot_notifier); magic =3D get_reboot_mode_magic(reboot, cmd); @@ -77,7 +76,8 @@ int reboot_mode_register(struct reboot_mode_driver *reboo= t) struct property *prop; struct device_node *np =3D reboot->dev->of_node; size_t len =3D strlen(PREFIX); - u32 magic; + u32 magic_arg1; + u32 magic_arg2; int ret; =20 INIT_LIST_HEAD(&reboot->head); @@ -86,10 +86,13 @@ int reboot_mode_register(struct reboot_mode_driver *reb= oot) if (strncmp(prop->name, PREFIX, len)) continue; =20 - if (of_property_read_u32(np, prop->name, &magic)) { + if (of_property_read_u32(np, prop->name, &magic_arg1)) { pr_err("reboot mode %s without magic number\n", prop->name); continue; } + /* Default magic_arg2 to zero */ + if (of_property_read_u32_index(np, prop->name, 1, &magic_arg2)) + magic_arg2 =3D 0; =20 info =3D kzalloc(sizeof(*info), GFP_KERNEL); if (!info) { @@ -97,6 +100,15 @@ int reboot_mode_register(struct reboot_mode_driver *reb= oot) goto error; } =20 + /** + * Format of u64 magic + *------------------------------------------- + *| Higher 32 bit | Lower 32 bit | + *| arg2 | arg1 | + *------------------------------------------- + */ + info->magic =3D FIELD_PREP(GENMASK_ULL(63, 32), magic_arg2) | + FIELD_PREP(GENMASK_ULL(31, 0), magic_arg1); info->mode =3D kstrdup_const(prop->name + len, GFP_KERNEL); if (!info->mode) { ret =3D -ENOMEM; diff --git a/drivers/power/reset/syscon-reboot-mode.c b/drivers/power/reset= /syscon-reboot-mode.c index e0772c9f70f7a19cd8ec8a0b7fdbbaa7ba44afd0..eb7fc5b7d6a7ed8a833d4920991= c4c40b5b13ca7 100644 --- a/drivers/power/reset/syscon-reboot-mode.c +++ b/drivers/power/reset/syscon-reboot-mode.c @@ -20,16 +20,18 @@ struct syscon_reboot_mode { u32 mask; }; =20 -static int syscon_reboot_mode_write(struct reboot_mode_driver *reboot, - unsigned int magic) +static int syscon_reboot_mode_write(struct reboot_mode_driver *reboot, u64= magic) { struct syscon_reboot_mode *syscon_rbm; + u32 magic_arg1; int ret; =20 + /* Use low 32 bits of magic for argument_1 */ + magic_arg1 =3D FIELD_GET(GENMASK_ULL(31, 0), magic); syscon_rbm =3D container_of(reboot, struct syscon_reboot_mode, reboot); =20 ret =3D regmap_update_bits(syscon_rbm->map, syscon_rbm->offset, - syscon_rbm->mask, magic); + syscon_rbm->mask, magic_arg1); if (ret < 0) dev_err(reboot->dev, "update reboot mode bits failed\n"); =20 diff --git a/include/linux/reboot-mode.h b/include/linux/reboot-mode.h index 4a2abb38d1d612ec0fdf05eb18c98b210f631b7f..a359dc0c6dede0ac5ce67190a00= d46a7e7856707 100644 --- a/include/linux/reboot-mode.h +++ b/include/linux/reboot-mode.h @@ -2,10 +2,14 @@ #ifndef __REBOOT_MODE_H__ #define __REBOOT_MODE_H__ =20 +#include +#include +#include + struct reboot_mode_driver { struct device *dev; struct list_head head; - int (*write)(struct reboot_mode_driver *reboot, unsigned int magic); + int (*write)(struct reboot_mode_driver *reboot, u64 magic); struct notifier_block reboot_notifier; }; =20 --=20 2.34.1 From nobody Mon Feb 9 16:12:29 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 55B8A2D0C8F for ; Tue, 23 Dec 2025 17:08:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766509699; cv=none; b=LSZw9vr38WJXyODS+m5GjABmURYOEbOLU9WxGIDXJRzRRo7mPdBYuPGbx4WC0KnrRP8mNE0zY0dSWwk9URx3Yk3CXKYieeX9DThJvhyjHgdOCpoab+UcNFk/aYFdPuyopV8ZMkWKnQhoV0YZNDqgO7UEG2CfvRXASseqrSOP5kY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766509699; c=relaxed/simple; bh=EwcxR/RujuDEpRybikjE1BbpDVQI9UxyV0ysyUeOLxE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=d7I2k7VjQZ/6MGRM1y8XUUgK154TEEPUHTpCBXsL1r0/dUa+VJV/aM/qDKbFVWJ9rQ9QC+sgHXeEk/O7wKF/yFS/cmKvuHCTBy9sSRr+TNGYd07Q1v4E3Jdt1RVrGYjDzP6oOzAntCM+avyUgVD093tsFEYeTE77UVGxuNWZMSI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=HH9NnO8m; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=HVL3E4dk; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="HH9NnO8m"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="HVL3E4dk" Received: from pps.filterd (m0279866.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 5BNFr3Gv4134142 for ; Tue, 23 Dec 2025 17:08:16 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= ATmBcvdi0ZM8QoG3QXHD/flqNJmgCDsENr6fJV3JS3U=; b=HH9NnO8mW92oPOiM fQyYZmS/UYALFDf62pRwRkp/yXzyI4p9u4LraYVQktx1jq2Z7JY/nvTyXWBZ8N8T f0l/M3yByd4M6RSFar2vUtHZmC1ZDMPRmLk4xTjVygZW951NE77tXHz1cjFeG99X 6I0yBE9tzuRjPjxujiT6u/NZMDe1+ft1CHEscs0SXP64n3YVbPCktZzvOADaEeeN zrBrew/Z6HDV4CyomtSjP1+aDB8GEBQPoO/drAHKeoyc3Dtd2j7RJq7YSPecpxjc 7nX7ZGk/bSIe+seEYrI7Y0fVqNxG5obXFXxR1rmd7mMBE9xLFumqlblW9pIb0KGQ 7Lfm5Q== Received: from mail-pl1-f200.google.com (mail-pl1-f200.google.com [209.85.214.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4b7x46r89b-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 23 Dec 2025 17:08:16 +0000 (GMT) Received: by mail-pl1-f200.google.com with SMTP id d9443c01a7336-2a0e952f153so157617945ad.0 for ; Tue, 23 Dec 2025 09:08:16 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1766509696; x=1767114496; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=ATmBcvdi0ZM8QoG3QXHD/flqNJmgCDsENr6fJV3JS3U=; b=HVL3E4dkg4GdlCw1YBwDA+rUi8UzSVzr+i/OUqGyIo+Ywp+/eiTJKKchT9cdAJxG/+ ScwyTEss4c/LVk8CwXK/Fl6a5DvS6T0cFJQ5pX4PJfvY0L7C11ckNXG64zA8MrZ6zVlh mXhKcGLP17JcT1f6Jp5bQmUTYinpw0vC+QgimGYBoe2hW8ctYQOcSZdTQFNJ4QRA/TcX 94Kn8/jz8ISVgV64DmPgoic2sTjRrsEgKA9NWV2DQTkrKI10GoVVwoKS7XIM4pSjSC0m PWY6HZM/9m9cnYmudDX5ycGD3ybPckemrcUyrBH17sAP3CoYVKCcIPb0IdkeAkVZODPq gInQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1766509696; x=1767114496; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=ATmBcvdi0ZM8QoG3QXHD/flqNJmgCDsENr6fJV3JS3U=; b=P+R64nutotsCotjoBjhueGMKYYmljqFs0GujGpYHdYSJOSnJT3ccrN9ijN7w2s7YTm q3/JtKb90wTkkW3iDThI792gvofqs6azg3tBDF0yXRKosw+23dTRP5rizV6SyZTRFGF1 qPLVHtS9IedO3fgHQM35Nf9Nlb0UH3Ll1y7us2XcMKpTe3ClAB7W8x72hZjsfTSgt52e ei8XVf7cwYpXVp42ktO6XgLNtqk/aH8jSmdcOj5o52RFnk/j8bz0t+029wAcIXyDgKVK HjRlDtXu0Pq9N/3GoGMcboy4avNtFPo8hnqiIxKq0zIV/e7V+iT/eBKwND/nup7BOfdG xIKQ== X-Forwarded-Encrypted: i=1; AJvYcCWJ8+bJP3pGJ268uRmm3EtKJ8CJlYNmsMNj7nrfO53P5+m88whfsAhYVbVitoVdQJ8b1NtTDFVbT4T9c6o=@vger.kernel.org X-Gm-Message-State: AOJu0YyYIoGf734kqVBImq8Xjl+2uSrlj6pYfMI0hIVKU+48dIsNw2C9 vQP45edgBbTKeJKbWCpiie/qZrO8bRk2pSFQ6kKbKCOvLIBHZ769j96+qtmeBptlV92plQEo4UN R5FPl9KPiboIJdYj+zWOixPCT3MHRPbjq5QuJJbd6KqN6XZuwbHKwZ2Xc2/S93aASfx4= X-Gm-Gg: AY/fxX6lNkOPCSEkB5zKstqkl0q0Td/GHeQ3j05O+oQy8s/CTPOpLRFfgDtlO8+n/mm POcH1Gi+cSasjFhLsDomx2bAHdxZRFGMoW1Ae+k7RacrM7+6F53nbhFOSmlFyKc8nQqmnDAed66 LvA1l5KL3M9ZWe3nl9xCh837q3AESVy8rHe+3Kt4V/5c70l8575HHxlxrDn6z91DGjjrVIp54kH Sm6OV28LKLnXB/6Wn+mou0BwZt4xqR26RtBAFpZ0uLGlmBCE1UTu44sFMUUmAqgVpX1qef6Fnog GNWYnHrCApQ9NotVlFwFRrkgIAavsc3VQ0icCc02+qQ9CE0A+H5fKsFlG/53AgatJDqm/MeqIGq i70u1GeQnPyUEDKY/0i/3Ugj5jFAxhY4EVIRk3ATkppq2+g== X-Received: by 2002:a17:903:22d2:b0:2a0:de4f:c96 with SMTP id d9443c01a7336-2a2f22290bfmr155876055ad.18.1766509695870; Tue, 23 Dec 2025 09:08:15 -0800 (PST) X-Google-Smtp-Source: AGHT+IGLK98y9AUy+4JNxavuFk4mRdGfVbrYe9HdiVU9bqvyrNEVl99KZev10YEXapHKTBkUt9/3bw== X-Received: by 2002:a17:903:22d2:b0:2a0:de4f:c96 with SMTP id d9443c01a7336-2a2f22290bfmr155875775ad.18.1766509695401; Tue, 23 Dec 2025 09:08:15 -0800 (PST) Received: from hu-spratap-hyd.qualcomm.com ([202.46.22.19]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2a2f3d5d863sm130019325ad.80.2025.12.23.09.08.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 23 Dec 2025 09:08:15 -0800 (PST) From: Shivendra Pratap Date: Tue, 23 Dec 2025 22:37:34 +0530 Subject: [PATCH v18 03/10] power: reset: reboot-mode: Add support for predefined reboot modes Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20251223-arm-psci-system_reset2-vendor-reboots-v18-3-32fa9e76efc3@oss.qualcomm.com> References: <20251223-arm-psci-system_reset2-vendor-reboots-v18-0-32fa9e76efc3@oss.qualcomm.com> In-Reply-To: <20251223-arm-psci-system_reset2-vendor-reboots-v18-0-32fa9e76efc3@oss.qualcomm.com> To: Lorenzo Pieralisi , Arnd Bergmann , Bjorn Andersson , Sebastian Reichel , Rob Herring , Sudeep Holla , Souvik Chakravarty , Krzysztof Kozlowski , Andy Yan , Bartosz Golaszewski Cc: Florian Fainelli , Krzysztof Kozlowski , Dmitry Baryshkov , Mukesh Ojha , Andre Draszik , Kathiravan Thirumoorthy , linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-arm-msm@vger.kernel.org, Shivendra Pratap , Srinivas Kandagatla X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1766509672; l=5544; i=shivendra.pratap@oss.qualcomm.com; s=20250710; h=from:subject:message-id; bh=EwcxR/RujuDEpRybikjE1BbpDVQI9UxyV0ysyUeOLxE=; b=k0L6kc/W6ljfBJPxAe+iBCBIK2dumAtN+LIGDVzfVBr87lfwWKHECVyHSAazU5HMEKCsxDTqJ 8W2Eiwi72HnB2I0oUhcB8wVNTPjEOpMwbzeoBYJv0zY0ko6WlRNP0Vb X-Developer-Key: i=shivendra.pratap@oss.qualcomm.com; a=ed25519; pk=CpsuL7yZ8NReDPhGgq6Xn/SRoa59mAvzWOW0QZoo4gw= X-Proofpoint-ORIG-GUID: hVRrTLxWONT7EfkjF_y4XFij2iSWCZrm X-Proofpoint-GUID: hVRrTLxWONT7EfkjF_y4XFij2iSWCZrm X-Authority-Analysis: v=2.4 cv=aOf9aL9m c=1 sm=1 tr=0 ts=694acc80 cx=c_pps a=IZJwPbhc+fLeJZngyXXI0A==:117 a=fChuTYTh2wq5r3m49p7fHw==:17 a=IkcTkHD0fZMA:10 a=wP3pNCr1ah4A:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=UVh4EkS4hOj72C4E1asA:9 a=QEXdDO2ut3YA:10 a=uG9DUKGECoFWVXl0Dc02:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMjIzMDE0MiBTYWx0ZWRfX4r6yb1Jqe2mP 4XSoMHxMT+Nq4rfH2Ty9LgjlGq1+XpwG3mp6tx742Z08p3qClon+TVhIZsEe67lsinmfWKU86AU zekY+hMlh2ljQihZiZcHKWs6qVJNaN0927WZ1wfT3+B0xYDq152wR9GL8v/ledsFqkFEoTRUay/ TOCR+k0SqJt4Z47b0kLdKVNAeknG03+qEJfp5fw/aUgMjwHrfqIn4Vc8YQnNbX7CzGUuoogX2Sg /Rrl72hgCOCYqptSujmEBocl0fcoyKOiA6d+PQpIT2MmCBDZM8skh8yuXrPWMSXqQLCf5BSrq5f t9BQOC876BLREsbQ6qLWM7FcP/8tFEQWsHFPJ43t6c0kn9GD+TuMfSwPGpV7n8aXeKBue+NoUk0 pNo3YQcinGeJySaXEm5Ev42rEkOeoomo46qsKAS35twSysJSw8yAhwKSDK7qg6bDrkFODJGFkCa gzaOGeoTCBAFHhzTqZg== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2025-12-23_04,2025-12-22_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 phishscore=0 suspectscore=0 spamscore=0 bulkscore=0 lowpriorityscore=0 malwarescore=0 priorityscore=1501 impostorscore=0 adultscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2512120000 definitions=main-2512230142 reboot-mode based drivers can define a reboot-mode by adding it under the reboot-mode node in device tree. This limits such drivers, to define any predefined reboot-modes statically within the driver and creates a dependency on device-tree. Introduce a list for predefined modes in the reboot-mode framework and process the predefined reboot-modes along with the device-tree defined reboot-modes. Modify existing reboot-mode based drivers to initialize the predefined list-head as empty. This patch enables a reboot mode driver to define reboot-modes through a predefined static list, in addition to the device-tree based reboot-modes. Signed-off-by: Shivendra Pratap --- drivers/power/reset/nvmem-reboot-mode.c | 1 + drivers/power/reset/qcom-pon.c | 1 + drivers/power/reset/reboot-mode.c | 28 ++++++++++++++++++++++------ drivers/power/reset/syscon-reboot-mode.c | 1 + include/linux/reboot-mode.h | 9 +++++++++ 5 files changed, 34 insertions(+), 6 deletions(-) diff --git a/drivers/power/reset/nvmem-reboot-mode.c b/drivers/power/reset/= nvmem-reboot-mode.c index b3d21d39b0f732254c40103db1b51fb7045ce344..b02a2af31aac52cb0ab19cf5d4d= 315d17c208f6e 100644 --- a/drivers/power/reset/nvmem-reboot-mode.c +++ b/drivers/power/reset/nvmem-reboot-mode.c @@ -44,6 +44,7 @@ static int nvmem_reboot_mode_probe(struct platform_device= *pdev) =20 nvmem_rbm->reboot.dev =3D &pdev->dev; nvmem_rbm->reboot.write =3D nvmem_reboot_mode_write; + INIT_LIST_HEAD(&nvmem_rbm->reboot.predefined_modes); =20 nvmem_rbm->cell =3D devm_nvmem_cell_get(&pdev->dev, "reboot-mode"); if (IS_ERR(nvmem_rbm->cell)) { diff --git a/drivers/power/reset/qcom-pon.c b/drivers/power/reset/qcom-pon.c index ccce1673b2ec47d02524edd44811d4f528c243e8..bf7b9f0bcdcc4c168aa7ff8d649= 4122d898814b5 100644 --- a/drivers/power/reset/qcom-pon.c +++ b/drivers/power/reset/qcom-pon.c @@ -75,6 +75,7 @@ static int qcom_pon_probe(struct platform_device *pdev) pon->reboot_mode.dev =3D &pdev->dev; pon->reason_shift =3D reason_shift; pon->reboot_mode.write =3D qcom_pon_reboot_mode_write; + INIT_LIST_HEAD(&pon->reboot_mode.predefined_modes); error =3D devm_reboot_mode_register(&pdev->dev, &pon->reboot_mode); if (error) { dev_err(&pdev->dev, "can't register reboot mode\n"); diff --git a/drivers/power/reset/reboot-mode.c b/drivers/power/reset/reboot= -mode.c index 54adcda57e44edf2fd2cda0f752226f747aa72d7..c17c61f47f069b96a9b38699de7= 1dc1f30a807c5 100644 --- a/drivers/power/reset/reboot-mode.c +++ b/drivers/power/reset/reboot-mode.c @@ -15,12 +15,6 @@ =20 #define PREFIX "mode-" =20 -struct mode_info { - const char *mode; - u64 magic; - struct list_head list; -}; - static u64 get_reboot_mode_magic(struct reboot_mode_driver *reboot, const = char *cmd) { const char *normal =3D "normal"; @@ -71,6 +65,7 @@ static int reboot_mode_notify(struct notifier_block *this, */ int reboot_mode_register(struct reboot_mode_driver *reboot) { + struct mode_info *info_predef; struct mode_info *info; struct mode_info *next; struct property *prop; @@ -82,6 +77,9 @@ int reboot_mode_register(struct reboot_mode_driver *reboo= t) =20 INIT_LIST_HEAD(&reboot->head); =20 + if (!np) + goto predefined_modes; + for_each_property_of_node(np, prop) { if (strncmp(prop->name, PREFIX, len)) continue; @@ -123,6 +121,24 @@ int reboot_mode_register(struct reboot_mode_driver *re= boot) list_add_tail(&info->list, &reboot->head); } =20 +predefined_modes: + list_for_each_entry(info_predef, &reboot->predefined_modes, list) { + info =3D kzalloc(sizeof(*info), GFP_KERNEL); + if (!info) { + ret =3D -ENOMEM; + goto error; + } + + info->mode =3D kstrdup_const(info_predef->mode, GFP_KERNEL); + if (!info->mode) { + ret =3D -ENOMEM; + goto error; + } + + info->magic =3D info_predef->magic; + list_add_tail(&info->list, &reboot->head); + } + reboot->reboot_notifier.notifier_call =3D reboot_mode_notify; register_reboot_notifier(&reboot->reboot_notifier); =20 diff --git a/drivers/power/reset/syscon-reboot-mode.c b/drivers/power/reset= /syscon-reboot-mode.c index eb7fc5b7d6a7ed8a833d4920991c4c40b5b13ca7..74e2e14c5d87c54ac24ef63c790= 5b3266d736439 100644 --- a/drivers/power/reset/syscon-reboot-mode.c +++ b/drivers/power/reset/syscon-reboot-mode.c @@ -50,6 +50,7 @@ static int syscon_reboot_mode_probe(struct platform_devic= e *pdev) syscon_rbm->reboot.dev =3D &pdev->dev; syscon_rbm->reboot.write =3D syscon_reboot_mode_write; syscon_rbm->mask =3D 0xffffffff; + INIT_LIST_HEAD(&syscon_rbm->reboot.predefined_modes); =20 syscon_rbm->map =3D syscon_node_to_regmap(pdev->dev.parent->of_node); if (IS_ERR(syscon_rbm->map)) diff --git a/include/linux/reboot-mode.h b/include/linux/reboot-mode.h index a359dc0c6dede0ac5ce67190a00d46a7e7856707..bddec9b7f94187dcb056540df79= eea34c25b1d0d 100644 --- a/include/linux/reboot-mode.h +++ b/include/linux/reboot-mode.h @@ -4,11 +4,20 @@ =20 #include #include +#include #include =20 +struct mode_info { + const char *mode; + u64 magic; + struct list_head list; +}; + struct reboot_mode_driver { struct device *dev; struct list_head head; + /* List of predefined reboot-modes, a reboot-mode-driver may populate. */ + struct list_head predefined_modes; int (*write)(struct reboot_mode_driver *reboot, u64 magic); struct notifier_block reboot_notifier; }; --=20 2.34.1 From nobody Mon Feb 9 16:12:29 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9BD7F33A9C4 for ; Tue, 23 Dec 2025 17:08:27 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766509709; cv=none; b=DnE5SFsuaG1KvUNozslkkC0vN8I9URSATuEWo9S51g+XML7xJ3KCno1ei8V8H2RmBprk0Pi3BUNXHkqXchSy44JDZNimjLqM5w1VCbcyiJQcOQAJ972CwSc2JxPFj5EyB06GDyjc964baicjflC479d1FsY4AIABSroHd+bwuww= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766509709; c=relaxed/simple; bh=LHOC90yAoiwemIEAKL3+u1kkTKM+A1ZqtQ5uNG8qwD8=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=JcojaHq3LtM/EiI1ceodBHmImgV+NMic+jFVuFSSQ2Cc44PdL6nQlSBZF/orFa6zGFbUk3uE+4jUuqjQsVdiL+kpIuFcae/HmpOLF7hJ+VhwUqe3eyfCMTesSTi0gSGQr6nYnENooDpVsaynpNA3ngCxyoYqic/8g5YOhnjC9lU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=eaSiNtgJ; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=UJRQSQ5U; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="eaSiNtgJ"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="UJRQSQ5U" Received: from pps.filterd (m0279864.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 5BNFR9hM4044571 for ; Tue, 23 Dec 2025 17:08:26 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= IVcTn3KqGR/L4VgGa1zjn9+vt8y24OHnRTPtAi2BpJg=; b=eaSiNtgJDlycVQhV X864m3O1qGZG4dgcW40DVaZCLClXe8nItZxOImLijanlTPZffDsM3yLMCgQUmk20 +PJfa2bpCVtHlB2GUhdgaMEwhBOdqgfIjNH6xrXkw6lqcCQ61+MKz9CFzQ7GqZuR XwTAtnwkJAFT2IS0uRK/nkJryOzDALooUm1vAibwr+Rtl38RCbkX+2sKxWc+7eV/ CYn24VR8thvP3bSZgh/xNxKn34c8l02xhd1eFGJCMaEjaE47vrqczpG5EEXTQLK5 Z09bsd7v0hJN/rZskLbKtxBUi7gMZTWk0jWfdfrGmX0rTCCoZ7g1YTJW/9rW6dK2 8ETyrQ== Received: from mail-pl1-f200.google.com (mail-pl1-f200.google.com [209.85.214.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4b7cuhbead-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 23 Dec 2025 17:08:26 +0000 (GMT) Received: by mail-pl1-f200.google.com with SMTP id d9443c01a7336-2a0f4822f77so136594055ad.2 for ; Tue, 23 Dec 2025 09:08:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1766509706; x=1767114506; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=IVcTn3KqGR/L4VgGa1zjn9+vt8y24OHnRTPtAi2BpJg=; b=UJRQSQ5U1jayrDiKdcb3MMPOHLpmZngHI0NkdVA7iJpc44RTffyXTTnnEfcy1OmbiT /IiRyeqWzNOYCM9FioufOOlcdzcYuS/cpTM4629AUvpnq/9P/iLxcSvzIl7iUshvMQ+v 18gfbJuPOOMcAIcvZsiE3vk8feaUNYqhwdpMbJDQvAQ+ybTBIClNMXDhXng/IfMBhyZ6 G8u/aqDqopxHIvRrlwHqNAWWfVHKC5XLPMNq2zErShHfVYhDeCD3Xvvxr3c9FuQjwxwC NfwAZx45kU0cTcQAIN41+t2UjHU9FKday+8umLhf8c/mBtCuXzZFqKRmmgxM2nCppik1 C0cg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1766509706; x=1767114506; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=IVcTn3KqGR/L4VgGa1zjn9+vt8y24OHnRTPtAi2BpJg=; b=YxuLQuqUKVPZHH37eU9eaPH1Izbc+F4htwEcm8aWfpA5Sd7FwATSwZ6y5GY8ko0zJR 75RKT0Gn0qGPX+/rtd8m1vKioqtr7Dt19J81cqUCUMksbrNVXdqVzcmOygU40gzvT/Jv i/aCVX7QMzm4oZFxAn6T8txEtnYlHUQDGxmKoJUW7nGXzOkOrt+lhA8cxS8yRIw1dGYk Gfo5XRMKrPEDhzEIbODEqCbLVXIFfw2vpnSO30MwtExlTStBKU001gn70uqBIGQsAI09 wFjkyAUYdSA2NrUD8sJ/Sk7axW+/LY++XYTKXcbmaEXm4EAN5Mbm04uTYFQ3za4ud6Cn LZlQ== X-Forwarded-Encrypted: i=1; AJvYcCVCyCWdPraDlxfoj1PuPq4/Ax+IZFx+Cf2FXmP83TLAlCnS1HYeTMhEvWIG/mmWXUym3hFIcjN4QES9lYk=@vger.kernel.org X-Gm-Message-State: AOJu0Yy+ehomrn6oLhV13kuttyQC+bZXEnrcmL3FVGrZudHLt4+YtwfV hyg7tjul/n9n9LKDrijhNskmghMyRHtQ9wrYcWVBOXLcj9EbSqdoX/snn9f4uK0z9UauC9wkIRy 40zfeqpUoLxlQUrpodG+1MFcRT7BSGgQv8+RuuyPI8Y5+rHv7lOlAzJQ6TWwq4X+ZI3o= X-Gm-Gg: AY/fxX58/n03426cwhXZuhBTCH7P6qzyDtO0sngYsFgFhW4L+3ixvhcaPse4EhOQoFd CKIAVqAHlfZhGKAXmG10WvsVhiGcnCWgSmmG1d2JCbaF9tzYBY4oMXwY7LQi1BWSPlqFD4qTZwc ALaVcK9UpJpZcLMRQEAdGL6/rCFS94/r11dbXwkmPZJS5/71icNsMwsYDe4Puk0KWB0qebz53nS jQsYATpR46csJX/KpEF/K5x240LSW92n4+nrL/hOu7fOKaoZZAF9Zoy3aZfknMAxWsKAGmd582k yCFUR5bXCxd7JXoC97YccPPe40BENAMQPiq3HjTMzZLWZfMSOvhwt5cFJOoE6AxNuvYiHxHM/Qs 5d4qI3bXjrL+zi5jFnOcAPELWeDAQPrg3F1UIRYmMc0eRHg== X-Received: by 2002:a17:903:22c8:b0:295:425a:350e with SMTP id d9443c01a7336-2a2f220d13dmr134704405ad.8.1766509706041; Tue, 23 Dec 2025 09:08:26 -0800 (PST) X-Google-Smtp-Source: AGHT+IFk26fhnYgDTEBsdmUUC/AAEsrc3ujLIZgh5oYX7oAw9+/sEzso+1u3bhLOC4iE24161w5pTg== X-Received: by 2002:a17:903:22c8:b0:295:425a:350e with SMTP id d9443c01a7336-2a2f220d13dmr134701475ad.8.1766509700852; Tue, 23 Dec 2025 09:08:20 -0800 (PST) Received: from hu-spratap-hyd.qualcomm.com ([202.46.22.19]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2a2f3d5d863sm130019325ad.80.2025.12.23.09.08.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 23 Dec 2025 09:08:20 -0800 (PST) From: Shivendra Pratap Date: Tue, 23 Dec 2025 22:37:35 +0530 Subject: [PATCH v18 04/10] firmware: psci: Introduce command-based reset in psci_sys_reset Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20251223-arm-psci-system_reset2-vendor-reboots-v18-4-32fa9e76efc3@oss.qualcomm.com> References: <20251223-arm-psci-system_reset2-vendor-reboots-v18-0-32fa9e76efc3@oss.qualcomm.com> In-Reply-To: <20251223-arm-psci-system_reset2-vendor-reboots-v18-0-32fa9e76efc3@oss.qualcomm.com> To: Lorenzo Pieralisi , Arnd Bergmann , Bjorn Andersson , Sebastian Reichel , Rob Herring , Sudeep Holla , Souvik Chakravarty , Krzysztof Kozlowski , Andy Yan , Bartosz Golaszewski Cc: Florian Fainelli , Krzysztof Kozlowski , Dmitry Baryshkov , Mukesh Ojha , Andre Draszik , Kathiravan Thirumoorthy , linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-arm-msm@vger.kernel.org, Shivendra Pratap , Srinivas Kandagatla X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1766509672; l=4358; i=shivendra.pratap@oss.qualcomm.com; s=20250710; h=from:subject:message-id; bh=LHOC90yAoiwemIEAKL3+u1kkTKM+A1ZqtQ5uNG8qwD8=; b=G2fEOckFFDds6XCzFZhwADptUUMnJ0eihB+skHyOzPygTJJ3xdGdKn34L+Hlizn54f63bVHQz E+QxO/wmQH4CxHYMORTMG69KwQN1FeBJPNFCbu3mRinGjzOiMVdoFHb X-Developer-Key: i=shivendra.pratap@oss.qualcomm.com; a=ed25519; pk=CpsuL7yZ8NReDPhGgq6Xn/SRoa59mAvzWOW0QZoo4gw= X-Proofpoint-ORIG-GUID: 7VEokKUNSmvSk2QD_iBktovpDK8f4agA X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMjIzMDE0MiBTYWx0ZWRfXwIGnc1UiJrOw fanH320m6LbUndztmEWHm5c5FCiBWHTWhQcAHSpBkx714QgUvKsXKBOHL14wfwe08FG/MVbcCSX rFFO79YXokvLJfIHb5ljsu6GdCoPO4CHfSqKsETFSLdc/CQJEfoyRtUP/XsI745Zl4X81z0xstf CoX72I1t2AUczVG4cti/3BlTa6NC04YCoo1knFRxsvfrfI1ZdsbDE5ic1hss4MVA6Ks2qgbpqWV 0SlHY5I1cy2QcRCfQwD6sSCWgKcXsE1cXbPGe2+nMFooNZETTwRXyMNecCLmZ95DDXyvPz3n6Zy UddTA5TF/E/K4ZRkJJAtsnYBoPrV3R2sGaUJB2z51UgtSUxAEW7Qsm0iaVJzA4oEI0Qx6kauJoV xbBaiPr5e0iW32/7Rzp3w72eDY4GhGE0iCJT6192V4AaPvWLNwLpm2XexlUWaVruruPFEgjcs5M yG8JxEAEeDsXcQYyTkg== X-Proofpoint-GUID: 7VEokKUNSmvSk2QD_iBktovpDK8f4agA X-Authority-Analysis: v=2.4 cv=NZDrFmD4 c=1 sm=1 tr=0 ts=694acc8a cx=c_pps a=IZJwPbhc+fLeJZngyXXI0A==:117 a=fChuTYTh2wq5r3m49p7fHw==:17 a=IkcTkHD0fZMA:10 a=wP3pNCr1ah4A:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=eczEI0HPkUfQIoTEgvMA:9 a=QEXdDO2ut3YA:10 a=uG9DUKGECoFWVXl0Dc02:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2025-12-23_04,2025-12-22_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 spamscore=0 clxscore=1015 impostorscore=0 malwarescore=0 suspectscore=0 phishscore=0 bulkscore=0 adultscore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2512120000 definitions=main-2512230142 PSCI currently supports only COLD reset and ARCH WARM reset based on the Linux reboot_mode variable. The PSCI specification now includes SYSTEM_RESET2 for vendor-specific resets, but there's no mechanism to issue these through psci_sys_reset. Add a command-based reset mechanism that allows external drivers to set the psci reset command via a new psci_set_reset_cmd() function. The psci command-based reset is disabled by default and the psci_sys_reset follows its original flow until a psci_reset command is set or a kernel panic is in progress. Signed-off-by: Shivendra Pratap --- drivers/firmware/psci/psci.c | 46 ++++++++++++++++++++++++++++++++++++++++= ++-- include/linux/psci.h | 2 ++ 2 files changed, 46 insertions(+), 2 deletions(-) diff --git a/drivers/firmware/psci/psci.c b/drivers/firmware/psci/psci.c index 38ca190d4a22d6e7e0f06420e8478a2b0ec2fe6f..ad7a3267276f9e26740aea99c11= f171ac715f9ba 100644 --- a/drivers/firmware/psci/psci.c +++ b/drivers/firmware/psci/psci.c @@ -51,6 +51,15 @@ static int resident_cpu =3D -1; struct psci_operations psci_ops; static enum arm_smccc_conduit psci_conduit =3D SMCCC_CONDUIT_NONE; =20 +struct psci_sys_reset_params { + u32 system_reset; + u32 reset_type; + u32 cookie; + bool cmd; +}; + +static struct psci_sys_reset_params psci_reset; + bool psci_tos_resident_on(int cpu) { return cpu =3D=3D resident_cpu; @@ -80,6 +89,29 @@ static u32 psci_cpu_suspend_feature; static bool psci_system_reset2_supported; static bool psci_system_off2_hibernate_supported; =20 +/** + * psci_set_reset_cmd - Sets the psci_reset_cmd for command-based + * reset which will be used in psci_sys_reset call. + * + * @cmd_sys_rst2: Set to true for SYSTEM_RESET2 based resets. + * @cmd_reset_type: Set the reset_type argument for psci_sys_reset. + * @cmd_cookie: Set the cookie argument for psci_sys_reset. + */ +void psci_set_reset_cmd(bool cmd_sys_rst2, u32 cmd_reset_type, u32 cmd_coo= kie) +{ + if (cmd_sys_rst2 && psci_system_reset2_supported) { + psci_reset.system_reset =3D PSCI_FN_NATIVE(1_1, SYSTEM_RESET2); + psci_reset.reset_type =3D cmd_reset_type; + psci_reset.cookie =3D cmd_cookie; + } else { + psci_reset.system_reset =3D PSCI_0_2_FN_SYSTEM_RESET; + psci_reset.reset_type =3D 0; + psci_reset.cookie =3D 0; + } + psci_reset.cmd =3D true; +} +EXPORT_SYMBOL_GPL(psci_set_reset_cmd); + static inline bool psci_has_ext_power_state(void) { return psci_cpu_suspend_feature & @@ -309,14 +341,24 @@ static int get_set_conduit_method(const struct device= _node *np) static int psci_sys_reset(struct notifier_block *nb, unsigned long action, void *data) { - if ((reboot_mode =3D=3D REBOOT_WARM || reboot_mode =3D=3D REBOOT_SOFT) && - psci_system_reset2_supported) { + if (((reboot_mode =3D=3D REBOOT_WARM || reboot_mode =3D=3D REBOOT_SOFT) && + psci_system_reset2_supported) && (panic_in_progress() || !psci_reset= .cmd)) { /* * reset_type[31] =3D 0 (architectural) * reset_type[30:0] =3D 0 (SYSTEM_WARM_RESET) * cookie =3D 0 (ignored by the implementation) */ invoke_psci_fn(PSCI_FN_NATIVE(1_1, SYSTEM_RESET2), 0, 0, 0); + } else if (!panic_in_progress() && psci_reset.cmd) { + /* + * Commands are being set in psci_set_reset_cmd + * This issues, SYSTEM_RESET2 arch warm reset or + * SYSTEM_RESET2 vendor-specific reset or + * a SYSTEM_RESET cold reset in accordance with + * the reboot-mode command. + */ + invoke_psci_fn(psci_reset.system_reset, psci_reset.reset_type, + psci_reset.cookie, 0); } else { invoke_psci_fn(PSCI_0_2_FN_SYSTEM_RESET, 0, 0, 0); } diff --git a/include/linux/psci.h b/include/linux/psci.h index 4ca0060a3fc42ba1ca751c7862fb4ad8dda35a4c..d13ceca88eab8932894051e7c86= e806c2ad8a73a 100644 --- a/include/linux/psci.h +++ b/include/linux/psci.h @@ -45,8 +45,10 @@ struct psci_0_1_function_ids get_psci_0_1_function_ids(v= oid); =20 #if defined(CONFIG_ARM_PSCI_FW) int __init psci_dt_init(void); +void psci_set_reset_cmd(bool cmd_sys_rst2, u32 cmd_reset_type, u32 cmd_coo= kie); #else static inline int psci_dt_init(void) { return 0; } +static inline void psci_set_reset_cmd(bool cmd_sys_rst2, u32 cmd_reset_typ= e, u32 cmd_cookie) { } #endif =20 #if defined(CONFIG_ARM_PSCI_FW) && defined(CONFIG_ACPI) --=20 2.34.1 From nobody Mon Feb 9 16:12:29 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 728BB2D0C8F for ; Tue, 23 Dec 2025 17:08:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766509710; cv=none; b=B9jMCwCwZUiTX3OJD9mDXg0rGULD51CviKEHVL1Uh8WTzikxWwfW48G5zkWeMqkRY3xZU9RmmcAg+u1sDOgmjZWJ7w1Ap5mCNC9MnO+yAPtrs/BWEdI93SX+bZsFlJ3szfZ5ucmoYUC0nJErCdG6WLabAUcnoOfHMqV+jGULwro= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766509710; c=relaxed/simple; bh=yBVN4FEHADdTSQ++LEmhmTEyByZ3pz1DEJtf2+BqO1w=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=fKSt1OqQkgk91HoQtbuQ3LkLhMJyoQy7p6e9K039IN2Dt5UkXcgyKEgxRTPYib2QbuQag0rLq4eDB1ooRJ8n9ogTBEXFc1zAsm1cfkzJR8d3LSDnN4E4j/EJTv/RcubX6pVc2+v0rFbLmX3Bg6XhLfSur6MqD+guXEm6uqlb7n0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=IFTHkIP4; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=GFfSsI1K; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="IFTHkIP4"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="GFfSsI1K" Received: from pps.filterd (m0279864.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 5BNFR9hO4044571 for ; Tue, 23 Dec 2025 17:08:27 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= PO6gg0/IWEmCTv8xrfB/fKl5SzRNa5BhzNOETtSDJoo=; b=IFTHkIP4gCO+iCZQ esD2VfxvcdCzb0Qo5iM8UyRDdyoZs5+2GRuA21JG5HRUvPRNFUCI7J2bWmmteioc 5CcLxPYMbE8vra3Mb7UQehJGpwqOMto2u8YdVEzlle0KubBRzhaxnBSYrcZgcDc7 qJCniMtQBqM10SdehfWMGBSdRlOLfzMn9sZzJeBfJi1f7Uv1YlLKFL5lMNmq6XuU GlY3Mg5F7/PaWcQLntvnuOSms+13/j+K5s2yEBqzW9GJMW55t5IkHx5yQsMVGkpo 4FsMqd4Z1uIeJ2byNmX3ghxw/a6M5F+I9A6Bb5S1hpUlx3mZKHsbwVUJzrMHrFGr OFtroQ== Received: from mail-pl1-f199.google.com (mail-pl1-f199.google.com [209.85.214.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4b7cuhbeaf-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 23 Dec 2025 17:08:27 +0000 (GMT) Received: by mail-pl1-f199.google.com with SMTP id d9443c01a7336-29f177f4d02so115501155ad.2 for ; Tue, 23 Dec 2025 09:08:27 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1766509707; x=1767114507; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=PO6gg0/IWEmCTv8xrfB/fKl5SzRNa5BhzNOETtSDJoo=; b=GFfSsI1KrnPGeLPuth9IVgzvZ0hmDOjWG49Z2FecQ58NAYwde9/nAuIdnFqfren4NJ Aq3BYqQwV25bb0ros4kYQjBvnbKNbraeBMh7U7bHvX60N3I3y/aX+xENZ0tSUVTzRCn1 sG0IcUzZVuyZTfy8ibHXPuJbCL6ND+yVOhzJdwsXguoI4hrSTLb5K/Ag50ArARlOZiYQ LXF1VRh3JavPCcn8P/4mH6+kkTSz2nOW6QY1vRTvXM/uVk5drQScTema7g2s0S+NlX2M /OmGt1Lds7s8UcheE2KmBiQyZ8blJ+2d6Z+sVEX2kOau0O0ZtB/lJXIwXDYUy866ylgf Bsbw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1766509707; x=1767114507; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=PO6gg0/IWEmCTv8xrfB/fKl5SzRNa5BhzNOETtSDJoo=; b=mawilaxCvikA0fsJw41mVFflDFPMVWCHu8iC/73FO1+b2IxHVLV2n0jwNImblEb82r xFfrm2POA98ujp2GuDG77KBWH4HQQMtRz5fnc7CxBOJWHZyR72Z4xkidpB/rhFH/dqAg 5WvDV7Ux+fvGh9J5uy8BHq9FJu0vXT/MGLFMzeOKmjjstit4ErxhqGAcW0UZGAaLXboy lYWtM8oX5LMxDeIm55Mt7uMYwH3kkxq7dpBsmECIM3Oz7CIzRjD37/nJzv50dIIcFbNV dHSpSWDM5YFgW4NFvYC7EQXNteJIovqWhiESZ7L4cAK0Z+y+zLFel5aep9nRVHZeFK8o lPiw== X-Forwarded-Encrypted: i=1; AJvYcCVj4PPvMecN88fJkgt/3DtEcnkIywnXkHeK+iJBE2DWTd04d7by44Me5tL6pB0tCbRdIIKuPZz2+W08DB0=@vger.kernel.org X-Gm-Message-State: AOJu0Yy3QC7uYiWg7kg4v3aUykxNGJ3YmRqjJ0Jut6Nci2DJStakMjpf 4fn5Zes4bXvVZiN5Fh8+Y29mhOy+42wIrFOVZvZW1nux56KxK7F9JzInszYdY0G3tjsoEcIekVo Nq3ah1c3M02FgxBxelHL5k7vlZp3L8DIZp0kOlxOEW1UeJXIWvuB7wg2T2WDeOd8TTks= X-Gm-Gg: AY/fxX7vJJO70uqFhl6UrbqmMFwn8WgWvdGmsHcVIji7qung4ixevsnFXl4jmMvedop r9EGLLd7Mg+L2R7lnFqk7d54vRe5HchUxPIo05gKlfVQ1CFCs3hmDlTylsDniMZV5835wBnac/1 jTMzVIivBZ80z0F+2ELjzshontvZtFMMIiZ8gMJphtnBYr3lqsb4Eb/syOsuL+jXoY3bzHMk+iK Xep/hG+4Z7iROj6nqwS3eEM+yD7Ib6Kbn++P4LaX8Fd0ur1Oy4DKELNIY26Xe3u2u9ctLoZQ8i8 dA/owf9vamWrcVlU22Gc3bCryZLYfFcDA3ZmnGswiLtd/gynFgVr2jvBaJgRZtkQiXkC489gyYQ BDIhx3C9G2ofr3MhP9oQRVtiQAM2hduGBOcdbvl8t86PuCQ== X-Received: by 2002:a17:902:d547:b0:2a2:acc5:7a42 with SMTP id d9443c01a7336-2a2f2833082mr153857825ad.48.1766509706778; Tue, 23 Dec 2025 09:08:26 -0800 (PST) X-Google-Smtp-Source: AGHT+IFzbQHGQiGNm8TT1s7wytBJ19OTYg4PZTrG+p6fVpioUAHdizIi5FXebJN3u7utRL4JFRecTg== X-Received: by 2002:a17:902:d547:b0:2a2:acc5:7a42 with SMTP id d9443c01a7336-2a2f2833082mr153857415ad.48.1766509706317; Tue, 23 Dec 2025 09:08:26 -0800 (PST) Received: from hu-spratap-hyd.qualcomm.com ([202.46.22.19]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2a2f3d5d863sm130019325ad.80.2025.12.23.09.08.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 23 Dec 2025 09:08:26 -0800 (PST) From: Shivendra Pratap Date: Tue, 23 Dec 2025 22:37:36 +0530 Subject: [PATCH v18 05/10] dt-bindings: arm: Document reboot mode magic Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20251223-arm-psci-system_reset2-vendor-reboots-v18-5-32fa9e76efc3@oss.qualcomm.com> References: <20251223-arm-psci-system_reset2-vendor-reboots-v18-0-32fa9e76efc3@oss.qualcomm.com> In-Reply-To: <20251223-arm-psci-system_reset2-vendor-reboots-v18-0-32fa9e76efc3@oss.qualcomm.com> To: Lorenzo Pieralisi , Arnd Bergmann , Bjorn Andersson , Sebastian Reichel , Rob Herring , Sudeep Holla , Souvik Chakravarty , Krzysztof Kozlowski , Andy Yan , Bartosz Golaszewski Cc: Florian Fainelli , Krzysztof Kozlowski , Dmitry Baryshkov , Mukesh Ojha , Andre Draszik , Kathiravan Thirumoorthy , linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-arm-msm@vger.kernel.org, Shivendra Pratap , Srinivas Kandagatla X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1766509672; l=2477; i=shivendra.pratap@oss.qualcomm.com; s=20250710; h=from:subject:message-id; bh=yBVN4FEHADdTSQ++LEmhmTEyByZ3pz1DEJtf2+BqO1w=; b=q8FNumK28qbLcXa8ZM4rvWLCTPDJr/novRp+CoyeNvg8BIzOUYt8Xni8SOmjIpKt2fOpnc3Hp D1GAhEWVvrcBDsBp7kMNU46hERQA9K1RY55AeSGyg60UWowaC1sAFLB X-Developer-Key: i=shivendra.pratap@oss.qualcomm.com; a=ed25519; pk=CpsuL7yZ8NReDPhGgq6Xn/SRoa59mAvzWOW0QZoo4gw= X-Proofpoint-ORIG-GUID: yJ5KyVS0DogM8v8pGmfsiHLvFwVoaNW1 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMjIzMDE0MiBTYWx0ZWRfX8AYhTdbTHoV9 DKmd1BMECF2fGeAGYeCvaA9sb3QewLf5TBnWJ3XCmu76d7vVweG1smJmPL0JQtlH+liQ7JHRnMg tt+nHS7nQ5Sp/cBnHoXT84M5y2Qzaxsru/MM5XRDUYxlWzDrynpX3hxhaU8B8CyDeJMVdxUAmHR rdt87x8Aju+7eQK8LjofFTo6y3EODmldI2MPlTNW7AxD5Ej/oaAZ9rxf7nSLWCcQij5I48V+INW A+jHCYG39CjE4SuVifKR80XWuMquhvXRF5NFS2cEhP7gWb7s0n+FR8OQagk+eSEMEEoTkYmN7W8 Us16l5qA9iWe/jnckdjWqMc+wAP0BizI3J9bgrIKW3TGVdpEpg8fGfgK6J4VyDnjIXuu4CFhrMu uw96g5Dr8txfvyKBvCJOcPGpsUS8Tkoa7w68O8L02GJYkxMIsIEJsvQSiJsGnqC9NS91kBgAXwF kcyKyunW/GpsCwocpsw== X-Proofpoint-GUID: yJ5KyVS0DogM8v8pGmfsiHLvFwVoaNW1 X-Authority-Analysis: v=2.4 cv=NZDrFmD4 c=1 sm=1 tr=0 ts=694acc8b cx=c_pps a=JL+w9abYAAE89/QcEU+0QA==:117 a=fChuTYTh2wq5r3m49p7fHw==:17 a=IkcTkHD0fZMA:10 a=wP3pNCr1ah4A:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=Z1E3qa2j_4PWJv3PNLYA:9 a=QEXdDO2ut3YA:10 a=324X-CrmTo6CU4MGRt3R:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2025-12-23_04,2025-12-22_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 spamscore=0 clxscore=1015 impostorscore=0 malwarescore=0 suspectscore=0 phishscore=0 bulkscore=0 adultscore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2512120000 definitions=main-2512230142 Add bindings to describe vendor-specific reboot modes. Values here correspond to valid parameters to vendor-specific reset types in PSCI SYSTEM_RESET2 call. Reviewed-by: Rob Herring (Arm) Signed-off-by: Shivendra Pratap --- Documentation/devicetree/bindings/arm/psci.yaml | 42 +++++++++++++++++++++= ++++ 1 file changed, 42 insertions(+) diff --git a/Documentation/devicetree/bindings/arm/psci.yaml b/Documentatio= n/devicetree/bindings/arm/psci.yaml index 6e2e0c551841111fbb0aa8c0951dca411b94035c..5fdcbf331ea5620363638feb6f8= 105427a87c00f 100644 --- a/Documentation/devicetree/bindings/arm/psci.yaml +++ b/Documentation/devicetree/bindings/arm/psci.yaml @@ -98,6 +98,26 @@ properties: [1] Kernel documentation - ARM idle states bindings Documentation/devicetree/bindings/cpu/idle-states.yaml =20 + reboot-mode: + type: object + $ref: /schemas/power/reset/reboot-mode.yaml# + unevaluatedProperties: false + properties: + # "mode-normal" is just SYSTEM_RESET + mode-normal: false + patternProperties: + "^mode-.*$": + minItems: 1 + maxItems: 2 + description: | + Describes a vendor-specific reset type. The string after "mode-" + maps a reboot mode to the parameters in the PSCI SYSTEM_RESET2 c= all. + + Parameters are named mode-xxx =3D , where xxx is= the + name of the magic reboot mode, type corresponds to the reset_type + and the values should be provided as per the PSCI SYSTEM_RESET2 + specs. The cookie value is optional and defaulted to zero. + patternProperties: "^power-domain-": $ref: /schemas/power/power-domain.yaml# @@ -137,6 +157,15 @@ allOf: required: - cpu_off - cpu_on + - if: + not: + properties: + compatible: + contains: + const: arm,psci-1.0 + then: + properties: + reboot-mode: false =20 additionalProperties: false =20 @@ -260,4 +289,17 @@ examples: domain-idle-states =3D <&cluster_ret>, <&cluster_pwrdn>; }; }; + + - |+ + + // Case 5: SYSTEM_RESET2 vendor resets + psci { + compatible =3D "arm,psci-1.0"; + method =3D "smc"; + + reboot-mode { + mode-edl =3D <0x80000000 1>; + mode-bootloader =3D <0x80010001 2>; + }; + }; ... --=20 2.34.1 From nobody Mon Feb 9 16:12:29 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id F332F33A9C4 for ; Tue, 23 Dec 2025 17:08:33 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766509716; cv=none; b=IsIK9yOqOp1qGXYbbeNaeCuqZwFBYSOoTF87ZsYXLYBpcq748eLojPtR2FC5agtaIXY+g8vKQA0R5SfpqeLA2XnAub6nGBmr0VyFqzADcqvpgqyq2iLqD0J6l+S/miYStpVFs2EWkByMTNgYfZ+XF03LOqdw5rtG9ThEuVz8i/o= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766509716; c=relaxed/simple; bh=r+dClbF+NRAB6/JduYUiH5LaoOpV4jm0Feyp3PXQ6Ss=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=savWCtNYy3pgV2WsmRv2KC6DpHeqeFbTG8zeEsPzquMAaeVaNlm/D6Oti76xs/0EeUz3bwfOZg4nUznb88CUyKAoVigX5lDzuecT9d8HH7L7lgjljSUKQPhvRs5Ga7S2uXJSeYZXZNggkeQ50Dc7EnxNrXHXOlUyk7dxIJSuV0k= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=Ri3GIgfU; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=KYrBL2fi; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="Ri3GIgfU"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="KYrBL2fi" Received: from pps.filterd (m0279865.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 5BNErtB2461351 for ; Tue, 23 Dec 2025 17:08:33 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= r831Wd4WfqmDnI6RCOW6V71GyT3JAOrlUY36xWWaPTo=; b=Ri3GIgfUjCRNAkLb dQ6q2+iSFQfLIFnWHovJK+zjDmxFULErFFy5HbLh79B9bRLWnGsZwMsnz7n6yum1 Gddd04L0m801OelnTqSnUBuuKhq9uzNnPm1tTPIXFMsGjVyVAtEEVs1xlFMu9vWT y+sdrj3WCdUKx9EUXCDeNpEvxUsB2yrhk1/RHNiXu4v7e+FjnMmX/TD5SX1iWXjZ AYfhFlC3LvN6wyMeIFlEzqcL3Qvcill7GYR88HzbHmSFVAKvmQ+nl8kTaX5JJfO7 wZ4LtPUTNp6o8p7a8kN3q0xe/5m+ujJjotYnquF7J8aqZJJs0j0CCoW2QXCf3l+k ZKjzIA== Received: from mail-pl1-f199.google.com (mail-pl1-f199.google.com [209.85.214.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4b7w8frech-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 23 Dec 2025 17:08:33 +0000 (GMT) Received: by mail-pl1-f199.google.com with SMTP id d9443c01a7336-2a351686c17so1105425ad.0 for ; Tue, 23 Dec 2025 09:08:33 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1766509713; x=1767114513; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=r831Wd4WfqmDnI6RCOW6V71GyT3JAOrlUY36xWWaPTo=; b=KYrBL2fiNnYkYmdBHt3aRXJDv7n6j+XsECm201i7TF9Vx48AnxvA0cdlboJ8KrNp2/ ZVBoj1J4ixSUIrxcm5zwmjQj/z1dxKyW1YCpCosZDt/dkHtakqIWKRvhnruPZ9CD7NFr 2jGv9518cz+PKnW6sjXcFLOut/PLfvJtdbEcOPCXcdm6Xa3Wswg7GZ02MWdmSlkZUAE6 rC5Qr/1hbXKz5Xb7smZ+B0GXlIp7N0sD5kvnVGZ+t1W8I/l0klM5PowUxeC0WVHeJ7vW o+Fgvb6Gr8FytLmjB3te7mDqOFXvW+zA1ZxvmkleRzALu21igSyfAPv+X6ocXi0EqCFW 0VeQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1766509713; x=1767114513; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=r831Wd4WfqmDnI6RCOW6V71GyT3JAOrlUY36xWWaPTo=; b=wESawnaqsv/E8cnae82+Q91iDI/6B22xvsSoTs5ubZmjg2/LXagw/+hWVmTID3nI67 HQNE2VofJ0U1oARKiYQL+T1wpMK2EWoi+cr8V7finkri0acxLshj0tD4ojVsASA0yfrU w6WV4vfjQ3KLnYlrDT1zD/lVJKPJwyvbXBSydA1Zc3IKu9fGk3koKLd6BP0IQSSkjR4+ PXOXkJE+ezrxKQ1On5vuzMYEa11aCNtAcDgqr62gBMQ55jxcCxLV8v6DHLrb543fJt0h tlIbqPEqBlyY//hlX48Ztf1yaLtTM1g4eNmkuVQaj90xP2N+TxIc4t3bToC5RIwUbnbV HmSg== X-Forwarded-Encrypted: i=1; AJvYcCUDnS/uc59jh5eHoPDqsWfj/bR+Z7wLRfV/P+gn4VCPQfDT2TgumTLyWXWemxiSChG0Xj2hnO0gFo/GyjI=@vger.kernel.org X-Gm-Message-State: AOJu0YxQ/j/6Z+sHlTWOyr2h84awdVNJVQBl6QiNMh1zfufPXNQmbHWR v++WTbt3V8T3EYRDgdrnBFduPIkIcIP709sf3kqwh+0ptzJ7X6sozPGkfJjvCTGk31ZeVIlC7bM vnjEesV1cXCYfvBds4OiyHCJA6tU50Wq1JWNR9K/2ZrfJuIdvYkgNd7YXmV06QcRiOug= X-Gm-Gg: AY/fxX5ODw2T7th9L4R4aTbiwZDG1nEpGUfwjFq3hCxk/lIE4vENrshmuM94CsmNk7J vRRTzxTVxqQTLSTsFOOfhDI6W0koLaPM3gCHBv9LdxA0LYyFWoFsIrbe4C3eyoPEfUVL2rhsiyc yfB5Gz/saED0bkrvTLxPuH3xFtYnzMU5qVjTpSNFRNZEr2JIgcunuoX2ymwyvbAr1vZTjMZ06ne NKYmwPYX6lqm3te8i/v2xKG+YadKmQVPJ0BeJCt/G6jmxrT6rLUCa+d09eqfpEbjSr2EGZCxpp+ aZdvlAJ6Z78W8s2ktRyjLH2TjLscFYZmpOZXaEkig69BCRzm5ytHLeqy7KA0WlG/igKiyvg+tGu cAQSRyv3Jf+ySenuKjxMUoRJc0LcIfbU+MdWbj9A1X3Ebxg== X-Received: by 2002:a17:903:2b04:b0:2a0:d46d:f990 with SMTP id d9443c01a7336-2a2f2736e52mr159189045ad.31.1766509712347; Tue, 23 Dec 2025 09:08:32 -0800 (PST) X-Google-Smtp-Source: AGHT+IGrQog1VHIkGG+EnkxQZPPrzkqb+aSWUlvAc+fbV4yVB71uMgrSalEFFWa7D8otCTGnxzqucA== X-Received: by 2002:a17:903:2b04:b0:2a0:d46d:f990 with SMTP id d9443c01a7336-2a2f2736e52mr159188575ad.31.1766509711815; Tue, 23 Dec 2025 09:08:31 -0800 (PST) Received: from hu-spratap-hyd.qualcomm.com ([202.46.22.19]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2a2f3d5d863sm130019325ad.80.2025.12.23.09.08.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 23 Dec 2025 09:08:31 -0800 (PST) From: Shivendra Pratap Date: Tue, 23 Dec 2025 22:37:37 +0530 Subject: [PATCH v18 06/10] power: reset: Add psci-reboot-mode driver Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20251223-arm-psci-system_reset2-vendor-reboots-v18-6-32fa9e76efc3@oss.qualcomm.com> References: <20251223-arm-psci-system_reset2-vendor-reboots-v18-0-32fa9e76efc3@oss.qualcomm.com> In-Reply-To: <20251223-arm-psci-system_reset2-vendor-reboots-v18-0-32fa9e76efc3@oss.qualcomm.com> To: Lorenzo Pieralisi , Arnd Bergmann , Bjorn Andersson , Sebastian Reichel , Rob Herring , Sudeep Holla , Souvik Chakravarty , Krzysztof Kozlowski , Andy Yan , Bartosz Golaszewski Cc: Florian Fainelli , Krzysztof Kozlowski , Dmitry Baryshkov , Mukesh Ojha , Andre Draszik , Kathiravan Thirumoorthy , linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-arm-msm@vger.kernel.org, Shivendra Pratap , Srinivas Kandagatla X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1766509672; l=6151; i=shivendra.pratap@oss.qualcomm.com; s=20250710; h=from:subject:message-id; bh=r+dClbF+NRAB6/JduYUiH5LaoOpV4jm0Feyp3PXQ6Ss=; b=ywL7AR34h/F5vPYXYHRoR5r4E5A0R6/OCTRjTLWkgDzQjyLz3DmASCMeZ0R0ceNKdHAEiZa3X gr8qdWhZzEiA0EkTSVa1wnnqVsmMrF1/yOOYTuodbz6IP0gziePP3MP X-Developer-Key: i=shivendra.pratap@oss.qualcomm.com; a=ed25519; pk=CpsuL7yZ8NReDPhGgq6Xn/SRoa59mAvzWOW0QZoo4gw= X-Proofpoint-GUID: DeuOfdh1jTQGUSOdGIVhSmlhlez3CkAD X-Proofpoint-ORIG-GUID: DeuOfdh1jTQGUSOdGIVhSmlhlez3CkAD X-Authority-Analysis: v=2.4 cv=QutTHFyd c=1 sm=1 tr=0 ts=694acc91 cx=c_pps a=JL+w9abYAAE89/QcEU+0QA==:117 a=fChuTYTh2wq5r3m49p7fHw==:17 a=IkcTkHD0fZMA:10 a=wP3pNCr1ah4A:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=y0Vp-ry0QnGiofiFOe0A:9 a=QEXdDO2ut3YA:10 a=324X-CrmTo6CU4MGRt3R:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMjIzMDE0MiBTYWx0ZWRfX9YPVgKxYk7+r nlRk9LBjPFzayVIaXiZrwcTaqb4As5XkIrGG1DrLpggdGbJUC5bAeTVim0/eZivmNKpxBhdPqzh e877f9x+lKXDS/5t62XXtHpWGQDOBXo37RzmvM5kJSCZYMu0yk+qxOEg8Chj8Srp7J15QmKiw1t mqehV3BgbXtFqjBIwq3d/dFEvObUVgcpji1nbwxVvs0lp2JrLSDIeM0gHUtto0q6X1KUr17VlOS J324sT1EF2x84Z8V0oyIGfFdP/Hf2/cWfBp8uN7i7vUpjEYPnej1VJW46ASSgo3wnhCvWyJozkz gUC7YmixLTtuXdcDlbpoOHxpRkMFOCiAMfW5Lr+fk6y11VFaCZwy5V8iB0chQJkJPwhYF6Nd57u cGP1aikwjHpvwEyrHH3e0yt4JZpfKq6dkv7Qn+FaL/ZwsyzjOMQK0pwJnZCkEvjfWIKEe54lYOH YHiCxXKoZIBvdsswSqA== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2025-12-23_04,2025-12-22_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 phishscore=0 bulkscore=0 impostorscore=0 spamscore=0 malwarescore=0 clxscore=1015 lowpriorityscore=0 priorityscore=1501 adultscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2512120000 definitions=main-2512230142 PSCI supports different types of resets like COLD reset, ARCH WARM reset, vendor-specific resets. Currently there is no common driver that handles all supported psci resets at one place. Additionally, there is no common mechanism to issue the supported psci resets from userspace. Add a PSCI reboot mode driver and define two types of PSCI resets in the driver as reboot-modes: predefined resets controlled by Linux reboot_mode and customizable resets defined by SoC vendors in their device tree under the psci:reboot-mode node. Register the driver with the reboot-mode framework to interface these resets to userspace. When userspace initiates a supported command, pass the reset arguments to the PSCI driver to enable command-based reset. This change allows userspace to issue supported PSCI reset commands using the standard reboot system calls while enabling SoC vendors to define their specific resets for PSCI. Signed-off-by: Shivendra Pratap --- drivers/power/reset/Kconfig | 10 +++ drivers/power/reset/Makefile | 1 + drivers/power/reset/psci-reboot-mode.c | 111 +++++++++++++++++++++++++++++= ++++ 3 files changed, 122 insertions(+) diff --git a/drivers/power/reset/Kconfig b/drivers/power/reset/Kconfig index f6c1bcbb57deff3568d6b1b326454add3b3bbf06..529d6c7d3555601f7b7e6199acd= 29838030fcef2 100644 --- a/drivers/power/reset/Kconfig +++ b/drivers/power/reset/Kconfig @@ -348,6 +348,16 @@ config NVMEM_REBOOT_MODE then the bootloader can read it and take different action according to the mode. =20 +config PSCI_REBOOT_MODE + bool "PSCI reboot mode driver" + depends on OF && ARM_PSCI_FW + select REBOOT_MODE + help + Say y here will enable PSCI reboot mode driver. This gets + the PSCI reboot mode arguments and passes them to psci + driver. psci driver uses these arguments for issuing + device reset into different boot states. + config POWER_MLXBF tristate "Mellanox BlueField power handling driver" depends on (GPIO_MLXBF2 || GPIO_MLXBF3) && ACPI diff --git a/drivers/power/reset/Makefile b/drivers/power/reset/Makefile index 0e4ae6f6b5c55729cf60846d47e6fe0fec24f3cc..49774b42cdf61fd57a5b70f286c= 65c9d66bbc0cb 100644 --- a/drivers/power/reset/Makefile +++ b/drivers/power/reset/Makefile @@ -40,4 +40,5 @@ obj-$(CONFIG_REBOOT_MODE) +=3D reboot-mode.o obj-$(CONFIG_SYSCON_REBOOT_MODE) +=3D syscon-reboot-mode.o obj-$(CONFIG_POWER_RESET_SC27XX) +=3D sc27xx-poweroff.o obj-$(CONFIG_NVMEM_REBOOT_MODE) +=3D nvmem-reboot-mode.o +obj-$(CONFIG_PSCI_REBOOT_MODE) +=3D psci-reboot-mode.o obj-$(CONFIG_POWER_MLXBF) +=3D pwr-mlxbf.o diff --git a/drivers/power/reset/psci-reboot-mode.c b/drivers/power/reset/p= sci-reboot-mode.c new file mode 100644 index 0000000000000000000000000000000000000000..499cf504071e88022fa5b5b32e2= 6b7a674da8691 --- /dev/null +++ b/drivers/power/reset/psci-reboot-mode.c @@ -0,0 +1,111 @@ +// SPDX-License-Identifier: GPL-2.0-only +/* + * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries. + */ + +#include +#include +#include +#include +#include +#include +#include +#include + +/* + * Predefined reboot-modes: + * reset_type(arg1) is zero; cookie(arg2) is stored in magic. + * psci_reboot_mode_set_predefined_modes to move values to higher 32 bit o= f magic. + */ +static struct mode_info psci_resets[] =3D { + { .mode =3D "warm", .magic =3D REBOOT_WARM}, + { .mode =3D "soft", .magic =3D REBOOT_SOFT}, + { .mode =3D "cold", .magic =3D REBOOT_COLD}, +}; + +static void psci_reboot_mode_set_predefined_modes(struct reboot_mode_drive= r *reboot) +{ + INIT_LIST_HEAD(&reboot->predefined_modes); + for (u32 i =3D 0; i < ARRAY_SIZE(psci_resets); i++) { + /* Move values to higher 32 bit of magic */ + psci_resets[i].magic =3D FIELD_PREP(GENMASK_ULL(63, 32), psci_resets[i].= magic); + INIT_LIST_HEAD(&psci_resets[i].list); + list_add_tail(&psci_resets[i].list, &reboot->predefined_modes); + } +} + +/* + * magic is 64 bit. + * arg1 - reset_type(Low 32 bit of magic). + * arg2 - cookie(High 32 bit of magic). + * arg2(cookie) decides the mode, If arg1(reset_type) is 0; + */ +static int psci_reboot_mode_write(struct reboot_mode_driver *reboot, u64 m= agic) +{ + u32 reset_type =3D FIELD_GET(GENMASK_ULL(31, 0), magic); + u32 cookie =3D FIELD_GET(GENMASK_ULL(63, 32), magic); + + if (reset_type =3D=3D 0) { + if (cookie =3D=3D REBOOT_WARM || cookie =3D=3D REBOOT_SOFT) + psci_set_reset_cmd(true, 0, 0); + else + psci_set_reset_cmd(false, 0, 0); + } else { + psci_set_reset_cmd(true, reset_type, cookie); + } + + return NOTIFY_DONE; +} + +static int psci_reboot_mode_probe(struct faux_device *fdev) +{ + struct reboot_mode_driver *reboot; + struct device_node *psci_np; + struct device_node *np; + int ret; + + psci_np =3D of_find_compatible_node(NULL, NULL, "arm,psci-1.0"); + if (!psci_np) + return -ENODEV; + + /* + * Find the psci:reboot-mode node. + * If NULL, continue to register predefined modes. + * np refcount to be handled by dev; + * psci_np refcount is decremented by of_find_node_by_name; + */ + np =3D of_find_node_by_name(psci_np, "reboot-mode"); + fdev->dev.of_node =3D np; + + reboot =3D devm_kzalloc(&fdev->dev, sizeof(*reboot), GFP_KERNEL); + if (!reboot) + return -ENOMEM; + + psci_reboot_mode_set_predefined_modes(reboot); + reboot->write =3D psci_reboot_mode_write; + reboot->dev =3D &fdev->dev; + + ret =3D devm_reboot_mode_register(&fdev->dev, reboot); + if (ret) { + dev_err(&fdev->dev, "devm_reboot_mode_register failed %d\n", ret); + return ret; + } + + return 0; +} + +static struct faux_device_ops psci_reboot_mode_ops =3D { + .probe =3D psci_reboot_mode_probe, +}; + +static int __init psci_reboot_mode_init(void) +{ + struct faux_device *fdev; + + fdev =3D faux_device_create("psci-reboot-mode", NULL, &psci_reboot_mode_o= ps); + if (!fdev) + return -ENODEV; + + return 0; +} +device_initcall(psci_reboot_mode_init); --=20 2.34.1 From nobody Mon Feb 9 16:12:29 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 511D233F363 for ; Tue, 23 Dec 2025 17:08:39 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766509721; cv=none; b=QiaRlnXz+/QpZUSpio9yfLPj2KVLTddN8SqBh1rhdO4PFgfnz6NxpnzlAk8CWpzrUA5C/o6AJX2lYuMjpxlzJKcMRXr/Y5bB+3ojfYqOI1DA0zup7yhcWbeTjQnpLYp9mkunvKmZ7pLHKsyTNCN6cxPfNzqOQ5uKck98bpwdjPs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766509721; c=relaxed/simple; bh=Uo7klXz4CKVLIAFhyMsmgHyzo6vZoHcxyIjPIsWKeLY=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=eFoKQENwzesuWQwvcO53GW21V3jiwJDj/laT90yH44INsoCT3sVS85GNXUx/atwdlkBfMZlw52u2COJ+BFwR2g49dNwukJj86TAsItn31Tak98bRLyooIfe2WMbdvcjqL+QVTz3lnT72QSQXIMcWtx62TLUs0vcucCK6u73hUmQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=PA6Q+Mgq; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=W102x9Y/; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="PA6Q+Mgq"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="W102x9Y/" Received: from pps.filterd (m0279867.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 5BNFvWAg2747756 for ; Tue, 23 Dec 2025 17:08:38 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= ppJ9L8xk1apLAmwIJtT0Qc7Ciy7FBPgdY26Q+dCWm5A=; b=PA6Q+Mgqq3E6f5TB m3GVbyTcNZEGixMWmuAM88Q+QEo7u7GXc8/1pYrpj1jfhwu9AEnOgLHpgkcYzt3Q k/QzCw/EhZzROCe41uAclvRqbSE2ZWwCgsMBLw9Qwidk4hN/uP1pi4sN8OucuPeI P27Jl7L2LVV3/Imgr41xmgyS2AoPJaoRFyRVwfawWZg5/grnSUeeyXXP4vHNzbgb 6NahDkT6spxNz77gCKopEGPWvCoQ7r6KefQAqyrI5ZCAPqvhltSPZ1eYvMR1ZcSd j8T+a7V/0nJ81zjbFzQiG5Q3oI0+0Dj6EFZMDA15GB1r44x2CPNbWNF/dnOgTaIk Y+HDaQ== Received: from mail-pf1-f199.google.com (mail-pf1-f199.google.com [209.85.210.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4b7h5ctvfj-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 23 Dec 2025 17:08:38 +0000 (GMT) Received: by mail-pf1-f199.google.com with SMTP id d2e1a72fcca58-7b90740249dso8967263b3a.0 for ; Tue, 23 Dec 2025 09:08:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1766509718; x=1767114518; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=ppJ9L8xk1apLAmwIJtT0Qc7Ciy7FBPgdY26Q+dCWm5A=; b=W102x9Y/DVRPMjI/ErDYknAeyVlpZ7yIPRa4FkyuGvAZZJt1zOeAgJoNzTjiYG5dwk LVB8fPioCD6M/KQ2tR870DUkQNx8/1Pmi1b7cmSWgK7vAWOwYC1U8UyL0W+UOjf67C65 sjyTgA7kb9VkK9s/izi0F+sLtaKw5/iSXa8l1yjJ10GrGBUwhei7g4NaenYxctyeiJq5 z7AV3nQRGEmCiRu+xvA/I0uwM5APq2Jhmrfn+xegwTYIEJ4T5ZhZ+FtYMdxs/cHzDU1x HIAZi7HCPm0iY4Dfau23RIM/gjB/K8mCuvHiay+LNKaJeK/U6Zv5P93+AltV6ZgL+9jO RVNg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1766509718; x=1767114518; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=ppJ9L8xk1apLAmwIJtT0Qc7Ciy7FBPgdY26Q+dCWm5A=; b=Zof+bp5RD0IcJeoNUDUCOPuPMTaPUg9mm+XVpI5gE4lX8wnW25vu6O0ypu0eRBab6O XnlfXIa+2zg4e8BGrFLYO2oWW/XZUctHmwQ0L5tbvIzfsWMO3Pz5lqPp4PfCwParRjCE AJlnSNpbDGubH8hsaFN48Ww5VWA+LXpi/e3UdC041nWTeUB9Ksqp69x+uYJFKNwuRF2c jfLh4ZgICqBwehu2XD7NaO+/K2XxNE6idufM6VKu/pZvsWlilyw7nZl/mJMXtRsGHEBj GN+cIWEbMyarcASk2JfQgm3D23UzQfZXEGiulrtlH9+ut0nopBBFafjHS7VxC2jnqvCw /i7Q== X-Forwarded-Encrypted: i=1; AJvYcCVWK3DdZ1xUkJt5pHJbsFynZN1vtPQ+XgWTV/+wyPXcnhGEM3kqZPulBqUn2CaTfN9SITpkLeE9pQxuxz0=@vger.kernel.org X-Gm-Message-State: AOJu0YzUx74b+31yBrp0rO46FC+ejpSuKmoFBcMZGaG0v90tuBf9u98t 67Sp/BjlNC8uGw+NxJS2i0Rfhe/e+ZEnlHc4e2pVfbh6Wv/VhjYW+qYZupb6fbwy4Ra0WovXqkz iWoJxkWwx3mZBr87WpNIC8+5WhPRAONKY0/MyZ+KBd6jWPwD7T9qzqZ+pcci6kgJPND4= X-Gm-Gg: AY/fxX5DjugWpoEtocJgVuNP4Vfag50IqafVC0KgFBmoFGYMPTCy7Dx9wr9dOZhspcJ wRAjr7XVPCPFdhBRvVRdyMtBkYCHBTyUCw0R2+trPMt6QtxtQTbgP6qA4Chwyzj6HWqIXlUclhj ifg6UzzUEmK36tnCBoXvzYmo/w6T/frMKDOGzgb5AzbasOcUmSLcFDhhXb9ex5qes0UqfshOeOQ nlW+jGzSdxk84onqIgmaIo8Hw+q/1dLPLVQnOrmYIFlFjOQiiX34/TZ/cwArpNqCfu+hnk7tSX4 O3jU10VtDojxJWl/pyGTSJ9mQrftLai0GLtGnw6nUZ8VuBbMyJW70VTM9rI4rZiopWmJX3k3FW3 ASnsoIVJepU/u8tVOiOJDlbJqB/rGiI/pj3gNNt3yhSOBrA== X-Received: by 2002:a05:6a20:9392:b0:34e:be9b:b67f with SMTP id adf61e73a8af0-376a9eda02emr14169117637.49.1766509717741; Tue, 23 Dec 2025 09:08:37 -0800 (PST) X-Google-Smtp-Source: AGHT+IEDPsmvLjxgTLHJmtjhdUkmH9fNkZmVphr+AfeK0f30Iygo4+BHC2YUjESeFt6TJsQwor0DGQ== X-Received: by 2002:a05:6a20:9392:b0:34e:be9b:b67f with SMTP id adf61e73a8af0-376a9eda02emr14169076637.49.1766509717256; Tue, 23 Dec 2025 09:08:37 -0800 (PST) Received: from hu-spratap-hyd.qualcomm.com ([202.46.22.19]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2a2f3d5d863sm130019325ad.80.2025.12.23.09.08.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 23 Dec 2025 09:08:37 -0800 (PST) From: Shivendra Pratap Date: Tue, 23 Dec 2025 22:37:38 +0530 Subject: [PATCH v18 07/10] arm64: dts: qcom: qcm6490: Add psci reboot-modes Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20251223-arm-psci-system_reset2-vendor-reboots-v18-7-32fa9e76efc3@oss.qualcomm.com> References: <20251223-arm-psci-system_reset2-vendor-reboots-v18-0-32fa9e76efc3@oss.qualcomm.com> In-Reply-To: <20251223-arm-psci-system_reset2-vendor-reboots-v18-0-32fa9e76efc3@oss.qualcomm.com> To: Lorenzo Pieralisi , Arnd Bergmann , Bjorn Andersson , Sebastian Reichel , Rob Herring , Sudeep Holla , Souvik Chakravarty , Krzysztof Kozlowski , Andy Yan , Bartosz Golaszewski Cc: Florian Fainelli , Krzysztof Kozlowski , Dmitry Baryshkov , Mukesh Ojha , Andre Draszik , Kathiravan Thirumoorthy , linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-arm-msm@vger.kernel.org, Shivendra Pratap , Srinivas Kandagatla X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1766509672; l=2238; i=shivendra.pratap@oss.qualcomm.com; s=20250710; h=from:subject:message-id; bh=Uo7klXz4CKVLIAFhyMsmgHyzo6vZoHcxyIjPIsWKeLY=; b=UyCKsyR+zpqEekSnr5zk9LECTpKfqgJ2q0uGOYOICyyRGufhh9JWaPmDMoxP2tI3u/Pf5cG2o hK4Agq99Pi1AhS2aP3Nr7p9qo6s4YH4vVWalpNtExTQXArG5Yvl89zR X-Developer-Key: i=shivendra.pratap@oss.qualcomm.com; a=ed25519; pk=CpsuL7yZ8NReDPhGgq6Xn/SRoa59mAvzWOW0QZoo4gw= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMjIzMDE0MiBTYWx0ZWRfX/ZqOJad5DmdI qfgiayVVDyImMyhAiJgN5KphMHrpr1VkN+EdIFGP6rvEj44GPKaAJ+AdCRk+tKSGzYI87XwHAaC lgndeUmdbWmKDCDyRaBjCkhwGxax1KF3DCbuqIGXok0Z9KJaWg9+1wEC98cIPh2rKl5g0K8WDQ6 Lk+tCK3V3bIi1KNpRkpOOQ/ptvxJH1kqwJdXtE6Lwdr0svElsBpzguJATmZRyX9Krl9RpBuHxww yVd/hCYudaQZDb78tBx6m/5jK5rVDUVT6l5ocMFhEusnM8JfInZ2/dg5AajKZ5dTB6/15ffHznC IZpDqs10p+79ZW+2uN94xkY6exYhDEtMuw5O7MVs2mZcT/OyaP0o2e0+TLX+tOFKR0aO7eA+ZoO tDVBzBqulAwjWrRcFRT/+wewxZhGK1teMDcN3dq3WE3Vbr0Uk/Gxgq+0hnjpGTE5LiigOzws0B8 aB9H+7bemg405LXIWfg== X-Proofpoint-ORIG-GUID: TepaPWjTODxj7A1kE-05_7rnKYD12kkO X-Authority-Analysis: v=2.4 cv=LeUxKzfi c=1 sm=1 tr=0 ts=694acc96 cx=c_pps a=WW5sKcV1LcKqjgzy2JUPuA==:117 a=fChuTYTh2wq5r3m49p7fHw==:17 a=IkcTkHD0fZMA:10 a=wP3pNCr1ah4A:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=t9IVmYW30V31rltyR78A:9 a=QEXdDO2ut3YA:10 a=OpyuDcXvxspvyRM73sMx:22 X-Proofpoint-GUID: TepaPWjTODxj7A1kE-05_7rnKYD12kkO X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2025-12-23_04,2025-12-22_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 suspectscore=0 phishscore=0 priorityscore=1501 lowpriorityscore=0 clxscore=1015 impostorscore=0 adultscore=0 bulkscore=0 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2512120000 definitions=main-2512230142 Add PSCI SYSTEM_RESET2 reboot-modes for qcm6490-idp and qcs6490-rb3gen2 for use by the psci_reboot_mode driver. The following modes are defined: - bootloader: reboot into fastboot mode for fastboot flashing. - edl: reboot into emergency download mode for image loading via the Firehose protocol. Support for these modes is firmware dependent and not available across all sc7280 based boards. Signed-off-by: Shivendra Pratap --- arch/arm64/boot/dts/qcom/kodiak.dtsi | 2 +- arch/arm64/boot/dts/qcom/qcm6490-idp.dts | 7 +++++++ arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts | 7 +++++++ 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/arch/arm64/boot/dts/qcom/kodiak.dtsi b/arch/arm64/boot/dts/qco= m/kodiak.dtsi index c2ccbb67f800cb9927627f991e3d97174cc73c64..e319a1894901cc9c56a89cb8b8a= d0acb7a18dc99 100644 --- a/arch/arm64/boot/dts/qcom/kodiak.dtsi +++ b/arch/arm64/boot/dts/qcom/kodiak.dtsi @@ -858,7 +858,7 @@ pmu-a78 { interrupts =3D ; }; =20 - psci { + psci: psci { compatible =3D "arm,psci-1.0"; method =3D "smc"; =20 diff --git a/arch/arm64/boot/dts/qcom/qcm6490-idp.dts b/arch/arm64/boot/dts= /qcom/qcm6490-idp.dts index 089a027c57d5caed103f41f20c01fe1294b4c950..5816cc1c033c396f49fddbbcd4b= 09e5a633bc804 100644 --- a/arch/arm64/boot/dts/qcom/qcm6490-idp.dts +++ b/arch/arm64/boot/dts/qcom/qcm6490-idp.dts @@ -695,6 +695,13 @@ &pon_resin { status =3D "okay"; }; =20 +&psci { + reboot-mode { + mode-bootloader =3D <0x80010001 0x2>; + mode-edl =3D <0x80000000 0x1>; + }; +}; + &qupv3_id_0 { status =3D "okay"; }; diff --git a/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts b/arch/arm64/boot= /dts/qcom/qcs6490-rb3gen2.dts index f29a352b0288e9ef554ecfff59820ba39bf2cdb1..6e836e476d595b7e1b69a0859cf= 2f697c529cbfa 100644 --- a/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts +++ b/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts @@ -935,6 +935,13 @@ &pon_resin { status =3D "okay"; }; =20 +&psci { + reboot-mode { + mode-bootloader =3D <0x80010001 0x2>; + mode-edl =3D <0x80000000 0x1>; + }; +}; + &qup_uart7_cts { /* * Configure a bias-bus-hold on CTS to lower power --=20 2.34.1 From nobody Mon Feb 9 16:12:29 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A3338346AEE for ; Tue, 23 Dec 2025 17:08:44 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766509726; cv=none; b=ZkUltHJ27uF3L9fsUfighxRMTe+s3+rOGfJL8FDMP8L2Ic81oXJzat6uag0oRjjapgRhLlqSA1zykhfhJlXO2FHpovQrQuemDgW8MMayl8xiK5Rt+mBPSWNXal6lDQbr9ervb/99PWa4wAydNFXe8ydB3hXc5vQ5l9Kn9p+v65s= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766509726; c=relaxed/simple; bh=zyaMjYOjFDa2SPj03vZF0IuCzZxO/R2dcgFXOkM351U=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=PiNQC9QBlQod3/Yv0I2ARVoivtAA4AmDmjdjg1ybdQ340eTmwdOXlFGC4IbLjefz+mgRWX9k6/bhyTvYGvQyF0HbVYVF0Dp3BPZNw+g6Wk3txSvir7KSu0wF7/V8CvinKqccD8dmwkL/LIIuwSOAQpGgz1ZfmnwBLhf9B8gSyAQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=HRQ94JdC; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=kugtp5Da; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="HRQ94JdC"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="kugtp5Da" Received: from pps.filterd (m0279863.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 5BNE49JU2115196 for ; Tue, 23 Dec 2025 17:08:44 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= 4yj3uTrVzY91o9UvaViQBsZAb2B7yFqWeP8MulTCY84=; b=HRQ94JdC/hefFDBW iPfjuxwzKQK4WWDPHUStzcw0jG0SS/3p6dePwPKdrnLb7uevq/bTf4RE4a7V4o7l 15FgRsJj9+oL7ntE8LJAm1Dh5VQXY5cqqeAwuHvo9YDPBZMdSvOAmrdkFzuE1+Jn YS4xgic1/ZLEjQ03grjHb3t1rVL18wSFv2KnW+RSZAV3Wv4z8kbfQ8pCpWwOWYn+ i0QoZXVfXP/cK6hAoRh8j0GOhFYrn/jFTWUOgVbFNfkNV/VXyyIHBPsc5RVeBazN WpjRF8KN3P6TVgppW32Hp4dyZc5aRoBYAItphLf8HQWJYJoGjJ9T5PR8pZHztIJX JMmZSQ== Received: from mail-pl1-f199.google.com (mail-pl1-f199.google.com [209.85.214.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4b7cudkfbx-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 23 Dec 2025 17:08:43 +0000 (GMT) Received: by mail-pl1-f199.google.com with SMTP id d9443c01a7336-2a0d43fcb2fso165201825ad.3 for ; Tue, 23 Dec 2025 09:08:43 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1766509723; x=1767114523; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=4yj3uTrVzY91o9UvaViQBsZAb2B7yFqWeP8MulTCY84=; b=kugtp5DaIbNCGzbw7lHrhGa8jTHFCWuk7TwOUTvP8ay7sYnayQsw2k2bEO5QewlQ9B jX6Pk+IRWMCwa6dk2hA2bTuNtiQO084fNT9CKwTLC+FhIDDVRKuFF2leK6CaLVl7P0Em 78LbS9xHloPMgwFXw24mQkVYbthC5kdbzPNcF15O16UbiHmIlp20mPpUye6oKJNxswq/ ALkMusAcZTCeVFe/kihuASl7Ho8trLJTt92SMiGrKzC0YAoa8OmO2m7+ThvH/wnEBzsD of7nIJDUv3JTDIhYgI5Vqtnyvw4uErl2NWGo6fDz7lzBeRjDZCU/QtU3qxMa0hGCXGXp exGQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1766509723; x=1767114523; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=4yj3uTrVzY91o9UvaViQBsZAb2B7yFqWeP8MulTCY84=; b=NY6tORJbD+RS9mUrc3ALcrkWrF7I9BXopY9Oq5YPUuQg2ykuDH++8MQt3CBPP+jPve O7A8iKf6aQQBR1ZWqntXcfluK7jAG1nWwFdZf92lksJmlAgTouGA4FBWtbDJV4s1ugz9 5LfzjT9hv/3ES7D16kEl1RXnE/Yq7D5GsKeRM9g8mR+PkQ1G1/K3XUnLyzBnc0l3Y9LC +FV1BqzodFhGAPuzD8p5d7H6ae1zd2ABLMzr0qYYus/YlHnrytHR3YSj8EvOzS6Jla6G 4pefPY3H3o2iSCrV57xomvyo8/UMVy7Im1S6+szYoXKRSr3thWvCeIgSbZ18EaZtgCDV 2G0g== X-Forwarded-Encrypted: i=1; AJvYcCU4fH+2ZoyujFJGMHnNx3razRliK+vPURYfHqIt+rMuYLpRljZ8KBCfDM3X/9smSJluDAC4Bn0gdC0Zdmg=@vger.kernel.org X-Gm-Message-State: AOJu0YyPcCrk3NWeWRZKTn+u1HhtCWq7rsgEGqLSQ+MpxqoNB+57vJGg W9Y6iWU30dU7GC4wzigbXtJ0st41jEWMD1Qg4drJ9i6L9qcXCVqGt0hCaRt8Wk/vV7/7mwM5kQu VqPavGnjGAdcxweQdwBm7T2ajhl42GWJG+fh8UBRtqZ2r1REvIMg64tOhIaH1cOAxcEskC1yfou c= X-Gm-Gg: AY/fxX4F5RRzxwZBIRgtoZzztI89zFKqVJtd0ELENm6TlLJi4bhoQ1oYVvMeMrcZ0Fv TvhDCg/L+5fiSqikdOjCGo4YPAnKiHaqBulE2ibJi1kpe1KItgDNAezzrPdDMBA25zj7jS8KI+0 tIREEDS6rAkzPDnLfEqJDM1DZxxRJM1Y/sNpgx2RyN6mPSopcqD50tlsL6Ny7PszB5T4zYYyh9t D8zaqDXoneIJQfoOnhAzmKVU7f60VXjxBGZ/sPmWbX+hfVi7kSyHgs2sl7haSKeSwqK3ZgafJfd BnuU7tN2RNjKhcwMFXwZDuQKgmQY7UY2bLpRlVLIsE+L6Z59CowkgfhhHdWEmV9+so2nwYULiaD 2Fx8TNv8a613VhgGoJrR1JQkV/qRXUNcIhIE7nLXAWjJL3A== X-Received: by 2002:a17:903:40cb:b0:295:9e4e:4092 with SMTP id d9443c01a7336-2a2f2a41a37mr134505475ad.56.1766509723265; Tue, 23 Dec 2025 09:08:43 -0800 (PST) X-Google-Smtp-Source: AGHT+IGJ1Fj4uQ2liIo6VAlU6QcFtiDsvDxHyH17s8W+Y7L2nFddhJNPJyS/P7f69uV1PpHS/k1faQ== X-Received: by 2002:a17:903:40cb:b0:295:9e4e:4092 with SMTP id d9443c01a7336-2a2f2a41a37mr134505105ad.56.1766509722777; Tue, 23 Dec 2025 09:08:42 -0800 (PST) Received: from hu-spratap-hyd.qualcomm.com ([202.46.22.19]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2a2f3d5d863sm130019325ad.80.2025.12.23.09.08.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 23 Dec 2025 09:08:42 -0800 (PST) From: Shivendra Pratap Date: Tue, 23 Dec 2025 22:37:39 +0530 Subject: [PATCH v18 08/10] arm64: dts: qcom: lemans: Add psci reboot-modes Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20251223-arm-psci-system_reset2-vendor-reboots-v18-8-32fa9e76efc3@oss.qualcomm.com> References: <20251223-arm-psci-system_reset2-vendor-reboots-v18-0-32fa9e76efc3@oss.qualcomm.com> In-Reply-To: <20251223-arm-psci-system_reset2-vendor-reboots-v18-0-32fa9e76efc3@oss.qualcomm.com> To: Lorenzo Pieralisi , Arnd Bergmann , Bjorn Andersson , Sebastian Reichel , Rob Herring , Sudeep Holla , Souvik Chakravarty , Krzysztof Kozlowski , Andy Yan , Bartosz Golaszewski Cc: Florian Fainelli , Krzysztof Kozlowski , Dmitry Baryshkov , Mukesh Ojha , Andre Draszik , Kathiravan Thirumoorthy , linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-arm-msm@vger.kernel.org, Shivendra Pratap , Srinivas Kandagatla X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1766509672; l=1079; i=shivendra.pratap@oss.qualcomm.com; s=20250710; h=from:subject:message-id; bh=zyaMjYOjFDa2SPj03vZF0IuCzZxO/R2dcgFXOkM351U=; b=Fc6RcorlMm2rMSuJrm8pkanAycaULDpxTiofIummpRV1QoobrxYOeY1At7M9D+rjT5F7WnjZ3 v2UfekVvNiMCKud9qP77Krs9vT9ns3zLwBMv4XgHL8PEmD1/jZ2sRZ6 X-Developer-Key: i=shivendra.pratap@oss.qualcomm.com; a=ed25519; pk=CpsuL7yZ8NReDPhGgq6Xn/SRoa59mAvzWOW0QZoo4gw= X-Authority-Analysis: v=2.4 cv=ebkwvrEH c=1 sm=1 tr=0 ts=694acc9c cx=c_pps a=JL+w9abYAAE89/QcEU+0QA==:117 a=fChuTYTh2wq5r3m49p7fHw==:17 a=IkcTkHD0fZMA:10 a=wP3pNCr1ah4A:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=Ld_RF3OM1xByVwKNVVYA:9 a=QEXdDO2ut3YA:10 a=324X-CrmTo6CU4MGRt3R:22 X-Proofpoint-GUID: lad353t0vvVxLeTFDjiLJw0I89-hlqqh X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMjIzMDE0MiBTYWx0ZWRfX8NRGDxY3zk1A N4t/O6hymDIa6/Qas/xAShTCMO9gHrPdxt1dzcx/gzwaTS0t16+afwD4ZATLfiAGG0wA1/GggGO dH0NfmUpt60K/gsK6yaJw7bZBirg8COL+5KAbdvFlso0sU4Fpm3okYdSIRQ7DF92/f13V/3XAKn sW4pDct+5SBoS86BatjxHNJRtK0HsUFhIqVrElRJcZ/k4bAkj+wHA4v2PuRJAnL/dc4cH8jsI6X b1QU9wiCuW/z5pA+8frpJlWZx1gqPhiN3otzf39aqHRrjF+mDHkV7mPvz69uBYMeX4n6BiCAqMm veOc0lHJN4m7GcqDXDLG+xPeRwZeDQZdl82kUU4KYQip4mg3TTZUagRBwcraWUVNJMPpU32DRp4 VRTXvZRsjYEqEtQnD37gyBo8hiT9EcCUEDIOowIm/OMSe8ec+jebfZVBaIWoNiDreM+f44N6Ryt r1UIH2vCIsSKjg5SY8w== X-Proofpoint-ORIG-GUID: lad353t0vvVxLeTFDjiLJw0I89-hlqqh X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2025-12-23_04,2025-12-22_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 malwarescore=0 adultscore=0 suspectscore=0 clxscore=1015 priorityscore=1501 bulkscore=0 spamscore=0 impostorscore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2512120000 definitions=main-2512230142 Add PSCI SYSTEM_RESET2 reboot-modes for lemans based boards, for use by the psci_reboot_mode driver. The following modes are defined: - bootloader: reboot into fastboot mode for fastboot flashing. - edl: reboot into emergency download mode for image loading via the Firehose protocol. Support for these modes is firmware dependent. Signed-off-by: Shivendra Pratap --- arch/arm64/boot/dts/qcom/lemans.dtsi | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/arch/arm64/boot/dts/qcom/lemans.dtsi b/arch/arm64/boot/dts/qco= m/lemans.dtsi index 0b154d57ba24e69a9d900f06bbb22baa2781cc3f..cc70316d6949c8a36280b85931c= 4adec9cd60f62 100644 --- a/arch/arm64/boot/dts/qcom/lemans.dtsi +++ b/arch/arm64/boot/dts/qcom/lemans.dtsi @@ -698,6 +698,11 @@ system_pd: power-domain-system { #power-domain-cells =3D <0>; domain-idle-states =3D <&cluster_sleep_apss_rsc_pc>; }; + + reboot-mode { + mode-bootloader =3D <0x80010001 0x2>; + mode-edl =3D <0x80000000 0x1>; + }; }; =20 reserved-memory { --=20 2.34.1 From nobody Mon Feb 9 16:12:29 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 29BF22D0C8F for ; Tue, 23 Dec 2025 17:08:50 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766509731; cv=none; b=h6gqKSErLJEnKtBN0kcdIRO/eSSZ+GjjRdSbcU/uISrR5uJX9cQz5QrVncE2H4nfud8xMLdFzNegEVvp0vjKyOqVXGFIT3nVtGSN99O9JNkN57q8lIY1wsiJqGBPHpIi/+nPU6V0QrQ+OUsfqV+ruEFBETfJxce//GbTZU8g4OM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766509731; c=relaxed/simple; bh=djZF5UFBEvnca6xGc5FxK/x9Ur59exsc3OaeKnFwerY=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ruO4pbUsvhwotzgfM9F0s5qAzsOb6qtCeEotOP15zGnTcCWVfhOdNsWD0by1ZfWCZNfDj60QyBukij5Vg225tjgoK1UDFHbPJ/gJ9JwF/Bzq6cKYMaMRF2va1BxEe7rc//cmFVFmOhaBy7cebD/OXnwZA69BRuVwokZPHKHtjCA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=KXVpmBMF; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=fyaE2wrR; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="KXVpmBMF"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="fyaE2wrR" Received: from pps.filterd (m0279864.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 5BNF691r4044367 for ; Tue, 23 Dec 2025 17:08:49 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= pQNl6k9FVRxiRZu36Ul1H7qw6ya4whFcoD1DtYOJAek=; b=KXVpmBMFRvDzraWy FbO4NFJq2kfKoyUZpreawPEnEJn9egJWvU3Kk+tgbfjL0vxV9pHMj7ul5sDX+I/I PkZYsLHGz5CUv4+f3T94zQ1loDaG1ZH54vuANduNpY5hHZStDt3B745rrAkp1Daw rcVnEN1PK+jK4gSuNwlZFkWnrd2vix+Roq2koaqMmZrN0z8uwIxrkVMtZIDfbESv actDg2pJKGVMpzamXrpFyBOe0gJ4L4BQKJdA56AZTRHeZ5jH7hKaiU3kP/sGKRXA J16LGO5mr4FvTXNwCteCLFkTl0UZn75kmaJ3J1lGFhyh1rdqeaw9iYPjZbDnSxdw jHToVA== Received: from mail-pl1-f200.google.com (mail-pl1-f200.google.com [209.85.214.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4b7cuhbecp-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 23 Dec 2025 17:08:49 +0000 (GMT) Received: by mail-pl1-f200.google.com with SMTP id d9443c01a7336-2a0e9e0fd49so60598165ad.0 for ; Tue, 23 Dec 2025 09:08:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1766509729; x=1767114529; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=pQNl6k9FVRxiRZu36Ul1H7qw6ya4whFcoD1DtYOJAek=; b=fyaE2wrR5uI/U6iJjM2IpIRTXppX930vrpwtZ5o0qp27LiXp6U/MEjadCBi99vmyso zI2ek86UsIYDfRM2YQON7khkwn0pKsyDe+GiQq69AnHy7nHLyPTWgWt6feT+7JBLjn/J Chyxi7Avhis+1Qai2Fkm07xBU6rI5CzWSx/HjigDoYNj7/3alkLxENKkrf0/9Nagdeq+ 2SmcKaxoOJrGpifhzk4zDmbcoWZwk47eRSSX60WnoK0xj1adgEyNcha2+5KKVn6b7lBq ugvunGWnQT8yslTX/03L9EaR572nXpDtWDw5CQXno9j9WwGVPUwk671GzPb8kSYPoueN 6uTw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1766509729; x=1767114529; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=pQNl6k9FVRxiRZu36Ul1H7qw6ya4whFcoD1DtYOJAek=; b=UrokrWZv1o8WI+H3HcNH+Qg0mbUgD9JpQH/Envkb2r/EiNd3Jau0UVOSOM6zZjq2fq ptI3u00s7pBZbstE74NSSkn635W3i97/pKrSS6vDyCzAuQGyoa4VpDGp47ahyNfFmipx OQfhhHt7G0Xtf9Yv9tRTqNPVgvIVeHVVpJHUsqZr1HTfCsTXaSfPUgKjwXfUs7euxuyc CHwytFG9oNyFlY5yt2dJxHIV5mhEHFkw5m8eWr/We4+lA9widJIYKfF2qQq3tz2qb3r1 A0gqhWTESYGmiHcAwizG61kB5fazw5asHL0rQprpPt3WpRk/P5LCpPd5R0YVHPLND3lx qUtg== X-Forwarded-Encrypted: i=1; AJvYcCUgB6ivH24oCkhxY/pY5uYLWkCMVr8UJJUuMqQ+lNIhqJyWZGAZLekESFF9TUW0xjDz+9mb8xDWP8ElxKI=@vger.kernel.org X-Gm-Message-State: AOJu0Yym8bab5GiSncK0AxuMuD1zuRhKtP9YVuUMf+hdDlusITepb4V5 L9+icT6K345E07/RzSsERJl1MF+8KS1bWBvI7yYos7rHKUz3p9O9wIOXP+SrCSKLMR2mg8pOfce 128mcAYHpZYydrwLMacJKcaLLuOtvhZdYcFl3MhNwIsr2cd+xywZiEjII0TVdPrEBGSs= X-Gm-Gg: AY/fxX6l5E9urVEY0jJ15YAuau8lNWBUJiaBgYPwMw4mtItVOY2ZjCsLcxrDB3TAk5C 3rTYZwY17zOVazRJIWl/TVYWuVcEQWK9m1EgyUAYMbkGEQyBLArnQjRSDuukbr/XhkCbLVu25Tp +ufhNBPzFLrPdRCTYS8m6BSchsskcu/80bZgyZDKHqFoerY3oUJIF6Y4uJkfp5px51MWxkFFt0D wWnof/2Glc6C94yZbG9H8Kk9WgEcYR8g7dCYhg4ET9JHHrdrwoHbgatxN5/i/F+SbNnRWPpX7ZH rbIDu8C2tyN+9/g/YGYee762ZhebmlZysHTzni4u/CCE3Aeikqc7qty1J45zRafhrDuH/16v8Hz PDrNol1KOwECVZ9zoa0mxcBEWl5zqSfYCswySV3CxhauQWg== X-Received: by 2002:a17:903:94c:b0:2a2:b620:12d9 with SMTP id d9443c01a7336-2a2f0caa70amr189654735ad.5.1766509728845; Tue, 23 Dec 2025 09:08:48 -0800 (PST) X-Google-Smtp-Source: AGHT+IGnGtVcBotVXJAPKzHeYTY5P1Q/ScCn+k8fMmJH94TyRGtDjnZNOLRhMrDflhFYB1wXqlZYtQ== X-Received: by 2002:a17:903:94c:b0:2a2:b620:12d9 with SMTP id d9443c01a7336-2a2f0caa70amr189654225ad.5.1766509728309; Tue, 23 Dec 2025 09:08:48 -0800 (PST) Received: from hu-spratap-hyd.qualcomm.com ([202.46.22.19]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2a2f3d5d863sm130019325ad.80.2025.12.23.09.08.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 23 Dec 2025 09:08:48 -0800 (PST) From: Shivendra Pratap Date: Tue, 23 Dec 2025 22:37:40 +0530 Subject: [PATCH v18 09/10] arm64: dts: qcom: monaco: Add psci reboot-modes Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20251223-arm-psci-system_reset2-vendor-reboots-v18-9-32fa9e76efc3@oss.qualcomm.com> References: <20251223-arm-psci-system_reset2-vendor-reboots-v18-0-32fa9e76efc3@oss.qualcomm.com> In-Reply-To: <20251223-arm-psci-system_reset2-vendor-reboots-v18-0-32fa9e76efc3@oss.qualcomm.com> To: Lorenzo Pieralisi , Arnd Bergmann , Bjorn Andersson , Sebastian Reichel , Rob Herring , Sudeep Holla , Souvik Chakravarty , Krzysztof Kozlowski , Andy Yan , Bartosz Golaszewski Cc: Florian Fainelli , Krzysztof Kozlowski , Dmitry Baryshkov , Mukesh Ojha , Andre Draszik , Kathiravan Thirumoorthy , linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-arm-msm@vger.kernel.org, Shivendra Pratap , Srinivas Kandagatla X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1766509672; l=1066; i=shivendra.pratap@oss.qualcomm.com; s=20250710; h=from:subject:message-id; bh=djZF5UFBEvnca6xGc5FxK/x9Ur59exsc3OaeKnFwerY=; b=fmzIoBglPR6F2b9xO27gFGHEzXk6aliiIcIYRLz28MY/i0vm6glGgNgEGEYz0Cax97UIEIO9P coj/ZXRR+w3CIw5VLyIQLGln2qGDYB9897apH0CN3f9wWSXNzpmz9ZN X-Developer-Key: i=shivendra.pratap@oss.qualcomm.com; a=ed25519; pk=CpsuL7yZ8NReDPhGgq6Xn/SRoa59mAvzWOW0QZoo4gw= X-Proofpoint-ORIG-GUID: 2LMjV8OvMvbchtH5V7yltddljS4HRcNH X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMjIzMDE0MiBTYWx0ZWRfX6b2zbPa1jHqG TB7JzVttNEp2LGdV/XXVb+FbEwcZ0R+DWlSY0ei+aB/RB+ERZS28WreicXSoMt03yKvYP97qM3O +wfBHwjHffRXpSjurkRo9g5q5X7BcwFZaO/eSWSNAQVzQ9FLJ3WlE41aCSmxPgJxzmFgpvcSDyO c6+6/cJzoaoMkBzi/Y96jREenST6uzIEm3x07bGdXwgmogqniJvAePi32OHMt0uhLwUafifARVn KMgp+7hyoe5NXwI3+iEP5e8Xi1sRdMarJnw/M5RuHAQ5esRYJyA+qCmS7xgfPccCclXjJeoU+vp RwEsPP4c/cEtn1dEVs7xq5BgmU+JCifboryXiHWXdiw6gY6wh6cb3f2/3piNQRO1h3s64FSjjPN v0ZUnl4lIqELSmQGo4fjB+/bNrrneKSccGdaSumXYw/P5+QJWyxNiVOMxP8w8P+aGqe2cOvnbEl ROiqcJZceuPcxvkaHdg== X-Proofpoint-GUID: 2LMjV8OvMvbchtH5V7yltddljS4HRcNH X-Authority-Analysis: v=2.4 cv=NZDrFmD4 c=1 sm=1 tr=0 ts=694acca1 cx=c_pps a=IZJwPbhc+fLeJZngyXXI0A==:117 a=fChuTYTh2wq5r3m49p7fHw==:17 a=IkcTkHD0fZMA:10 a=wP3pNCr1ah4A:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=_PJuSq69R3b4qrRYkJAA:9 a=QEXdDO2ut3YA:10 a=uG9DUKGECoFWVXl0Dc02:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2025-12-23_04,2025-12-22_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 spamscore=0 clxscore=1015 impostorscore=0 malwarescore=0 suspectscore=0 phishscore=0 bulkscore=0 adultscore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2512120000 definitions=main-2512230142 Add PSCI SYSTEM_RESET2 reboot-modes for monaco based boards, for use by the psci_reboot_mode driver. The following modes are defined: - bootloader: reboot into fastboot mode for fastboot flashing. - edl: reboot into emergency download mode for image loading via the Firehose protocol. Support for these modes is firmware dependent. Signed-off-by: Shivendra Pratap --- arch/arm64/boot/dts/qcom/monaco.dtsi | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/arch/arm64/boot/dts/qcom/monaco.dtsi b/arch/arm64/boot/dts/qco= m/monaco.dtsi index 816fa2af8a9a663b8ad176f93d2f18284a08c3d1..9c8087f870fc8889edffda63c62= f4d5167729cbc 100644 --- a/arch/arm64/boot/dts/qcom/monaco.dtsi +++ b/arch/arm64/boot/dts/qcom/monaco.dtsi @@ -732,6 +732,11 @@ system_pd: power-domain-system { #power-domain-cells =3D <0>; domain-idle-states =3D <&system_sleep>; }; + + reboot-mode { + mode-bootloader =3D <0x80010001 0x2>; + mode-edl =3D <0x80000000 0x1>; + }; }; =20 reserved-memory { --=20 2.34.1 From nobody Mon Feb 9 16:12:29 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A9574347FD1 for ; Tue, 23 Dec 2025 17:08:55 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766509737; cv=none; b=vCKQKNZyGZkH2xa/7R7v3o3qNfJqjP4a6MpHrWrervu20QcET25piFhgSAvcp/y64SQfP0fYymncaCOkCLIbGwU0FMsbFqbGEICRTFM8je0fKpUO9MJ+5P/oAAWfRvlcQbNr0kduSwEE+5xhOvG3YiNj1mnKdcBCiTHHzJ0OeUU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766509737; c=relaxed/simple; bh=0rsUdCdVzH+igD6u68w9uIiPh6ggbgRgiwDr1wBAjm4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=VxrtbtXxi8u88MFc+dtJdTIr260tdForqK/nObjLxpg/Gi4uKEndeyUnY2fhoT8OKp7z5y2ZsuWxSQo8XwoHFwSlvxqzso9FCsadUi5zd2H8iSqoNtb4cwEHUmwNLk4FRqwQnIYFIxxq0pAoqnDcnlTj2r3D8Skuv3T3gtI+Oo4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=djir0/sr; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=VoVh02mm; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="djir0/sr"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="VoVh02mm" Received: from pps.filterd (m0279866.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 5BNFrHLQ4134347 for ; Tue, 23 Dec 2025 17:08:55 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= kWKchhYmME2TIdgWLH1Giry57SQALMGVaYfhAJiBNzg=; b=djir0/srkYtHhMZy PbTFSV+M1L/GEqN6mMAh6j6dyBY4DcYdLwvhpoyjz2zIm/D0K4l+2FI2NRcMvWHV h2miwNwtXuRIvxXly/jgJOaErGWQKvluSOHwapE+Q+DgaOACx26Tx6LVrCpz2IPw sxu5eK0GlZ2e4xj6vZSOzsa2kevbimgd4pJTzO+WIYwiR9ScRfTR31Mdpq3vByn6 iE9bNzg5B8rP/bZbxbu5DqbtqpoTBDiYRr9vetkqyKb2dKIjLoWYUBV8Hp3izTaf 6kfCsKIl+zdYj6QRC8McdtwE91DJmhLMXr2J/sQwpmrkLWhtTu+6y8aIzXrueGzc VWSwDg== Received: from mail-pl1-f200.google.com (mail-pl1-f200.google.com [209.85.214.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4b7x46r8cx-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 23 Dec 2025 17:08:55 +0000 (GMT) Received: by mail-pl1-f200.google.com with SMTP id d9443c01a7336-2a0dabc192eso114305775ad.0 for ; Tue, 23 Dec 2025 09:08:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1766509734; x=1767114534; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=kWKchhYmME2TIdgWLH1Giry57SQALMGVaYfhAJiBNzg=; b=VoVh02mmq6JcwyJgv2TKuuwgGEyNPdzTgnwqQbeqhO0voHHBhcP0+S9Io+sDO1kjKz Pj3+sONdZPJv6FMH9PBRp7aXNSykEAZXtXKvHAH/MXyx8LeIuOINa0rfyY0Ei8PgNPgT S74lz66mRb3RH9ApmbDPjjjjLYBIEaS9AuNXVVY2qA1NCl7I7zOO9r30jNMkuyBTPhWv rnqo8ya8SPY3c+qADXK0WW5NYnCCqTAmV0GAW/pxdNP88GK00YIPnXR4dbtyRX3MiKE8 XePEPVZpKV2nOQ2S95c9578wpEaWfBANa+3cSE3p1GMaXGlSah/C3N6QmEhMohoYapTk d+vg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1766509734; x=1767114534; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=kWKchhYmME2TIdgWLH1Giry57SQALMGVaYfhAJiBNzg=; b=TAF0GqeU2VQEtF5XYt1mGw4Irq4Xu5shnTg+LE+lO/JQ5VVdvs1HE4qyWgalz9DK/X Bw5evArF9Y/mlLt4AnPNXhM3ZejY9hZFJeEHPkwncdMzLhNKs5seg6oiN2chEkpnJuHv CSKjMafIla6hLIXaRL74T5aO8jhPK6w2f6cQdwxcQJYS/W15Y2q+8T/kHeFnf64tBbLY PmP7rC60nEnaITmh9OWq5F9QdBbDYj/tN5qPxhfjin/YAct8u7OEuqbl7a6US3X2ExDf pTAxXT42BawWIU3tVcNOXVGpmCsLmunqgvQC4IOH0YBPXYPrS0+54FLY5jskA97QXJyv X3Cw== X-Forwarded-Encrypted: i=1; AJvYcCVzWgkx8Oye2320jgMBpNSYEMcr0VYuReY2DntHGRXSaT42ch2a/ZnBDg4aPYYl5PTbwdKWukZ8vbbYEo0=@vger.kernel.org X-Gm-Message-State: AOJu0Yw+V+jVROf5/ZwsWvx4LPnVh2L/qaDJ2qYW/MqZyFhWIxIFl2Tv Qlmt2HHDU7iEJ7ODwm931wiA0DO0RTzYKAHqVBPzlf4szVOFrafKzwSy/h1ZKwh9X4WbhmX8jXn YicnARXtrr4k9EnvKQwCM4S/GNYvaz+qlHJu+8gjgCs/2h3ihx2rtO0X1zAb091k2HGY= X-Gm-Gg: AY/fxX7kNJDwbjgX7SgO7lKK/oTv1ki41oFTPXW+gEYbUxGO4VNKtHoHb/TVKv5U67D UkY5q/5htLY7k245BRFlXqxOwDbdjmSIxLJLUImt423xBp1XauKeu23iDsr33U40ex5/N8omIyW mVtXHLYMpEu3boLtam2bdsUscLyVjI5yz5ZLhkAewv4uxFcsYfynAXbRkTueqQZ/erjSL9bOzMO 12AFUCgFsy3wKSevy09cBcmAtgQZx+w2rH1GGdsU4SCqmZpKmLjZqKkNl2AWe/IEX3smjQK5ZSp D579CUlXgUQ9zG3DtNU5c/unil6jb/GaeB4SgE0Xu4oGXUn2oPn99SJvVnOb0mNV2TqwuXf6BfH 7Ujkc61/DNBlHnr5hbZrq12bk4osy2cklYlKGLgBvSiViRQ== X-Received: by 2002:a17:902:d547:b0:2a2:acc5:7a42 with SMTP id d9443c01a7336-2a2f2833082mr153875725ad.48.1766509734466; Tue, 23 Dec 2025 09:08:54 -0800 (PST) X-Google-Smtp-Source: AGHT+IE3BOO29YtCZeSocm5bw4OEe5WRvx83A2dEk1ULNixXLH3yXehKh2ztNeHGe61KoH5qcRQlmw== X-Received: by 2002:a17:902:d547:b0:2a2:acc5:7a42 with SMTP id d9443c01a7336-2a2f2833082mr153875355ad.48.1766509734023; Tue, 23 Dec 2025 09:08:54 -0800 (PST) Received: from hu-spratap-hyd.qualcomm.com ([202.46.22.19]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2a2f3d5d863sm130019325ad.80.2025.12.23.09.08.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 23 Dec 2025 09:08:53 -0800 (PST) From: Shivendra Pratap Date: Tue, 23 Dec 2025 22:37:41 +0530 Subject: [PATCH v18 10/10] arm64: dts: qcom: talos: Add psci reboot-modes Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20251223-arm-psci-system_reset2-vendor-reboots-v18-10-32fa9e76efc3@oss.qualcomm.com> References: <20251223-arm-psci-system_reset2-vendor-reboots-v18-0-32fa9e76efc3@oss.qualcomm.com> In-Reply-To: <20251223-arm-psci-system_reset2-vendor-reboots-v18-0-32fa9e76efc3@oss.qualcomm.com> To: Lorenzo Pieralisi , Arnd Bergmann , Bjorn Andersson , Sebastian Reichel , Rob Herring , Sudeep Holla , Souvik Chakravarty , Krzysztof Kozlowski , Andy Yan , Bartosz Golaszewski Cc: Florian Fainelli , Krzysztof Kozlowski , Dmitry Baryshkov , Mukesh Ojha , Andre Draszik , Kathiravan Thirumoorthy , linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-arm-msm@vger.kernel.org, Shivendra Pratap , Srinivas Kandagatla , Song Xue X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1766509672; l=1101; i=shivendra.pratap@oss.qualcomm.com; s=20250710; h=from:subject:message-id; bh=0rsUdCdVzH+igD6u68w9uIiPh6ggbgRgiwDr1wBAjm4=; b=M6t2WQm+DfzWeVcmizN6fQJnXCGH5hGQ4Q/0xf5/jF/Oal8bkHcXh2BlAuR++9oa67NuXqXLn M2qwoeEe7ByDSYZkJJ/S7BvqYMDmGpBhjYqKOV+vY7OoleP0iESUs+z X-Developer-Key: i=shivendra.pratap@oss.qualcomm.com; a=ed25519; pk=CpsuL7yZ8NReDPhGgq6Xn/SRoa59mAvzWOW0QZoo4gw= X-Proofpoint-ORIG-GUID: nItLZH_Ec3rcWA9ItK9kS4rSTJ5nqYyd X-Proofpoint-GUID: nItLZH_Ec3rcWA9ItK9kS4rSTJ5nqYyd X-Authority-Analysis: v=2.4 cv=aOf9aL9m c=1 sm=1 tr=0 ts=694acca7 cx=c_pps a=IZJwPbhc+fLeJZngyXXI0A==:117 a=fChuTYTh2wq5r3m49p7fHw==:17 a=IkcTkHD0fZMA:10 a=wP3pNCr1ah4A:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=COk6AnOGAAAA:8 a=EUspDBNiAAAA:8 a=4cuBwC7xTQKafrdxVH8A:9 a=QEXdDO2ut3YA:10 a=uG9DUKGECoFWVXl0Dc02:22 a=TjNXssC_j7lpFel5tvFf:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMjIzMDE0MiBTYWx0ZWRfX91Z2BNzGWQMV lXK8AiwXgAEz1MLDt1Fx8RK+/Bx8mM0lfYNO14Nt2TGq4ZhKsPjV+G/xn2cTwsfTRr0BAvy9qFb lvj5kFzzFi/sbTyI5gjqNNAenq4Fh3JNh+udbRkfVyFxmgmzoecrZXqioOGxOU74LC/2ov52i7L XWEOVqedwDEWuTRJNZMP5O8mr/cGzLo12BFtxWlzmCK9DFvdjp1LXVndDCZKjlkJRd3kCKPbx0l M/urf1f6CUxuHnfTPoO4CBvN3zYhk49J76SowfvCFyPcHKiTRMGrgtSZsX8UzBudnFsycqy1JUY 9jhhMtgHhG9Xcf5/rwYrzPG4rZCqQtSyy7CfcPcxh996I2oLJGYiK0PluuUk9EwKGxXqRjTcIvY Wu96PPAVC75xVziZSP4aU3LfCJF7ML50VaQjYKP+4WbLTkdaKs9Dq/XJIkF9yEbr5lxITJPgP7t YsbTNvFb9PDmHhw6jMQ== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2025-12-23_04,2025-12-22_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 phishscore=0 suspectscore=0 spamscore=0 bulkscore=0 lowpriorityscore=0 malwarescore=0 priorityscore=1501 impostorscore=0 adultscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2512120000 definitions=main-2512230142 Add PSCI SYSTEM_RESET2 reboot-modes for talos based boards, for use by the psci_reboot_mode driver. The following modes are defined: - bootloader: reboot into fastboot mode for fastboot flashing. - edl: reboot into emergency download mode for image loading via the Firehose protocol. Support for these modes is firmware dependent. Signed-off-by: Song Xue Signed-off-by: Shivendra Pratap --- arch/arm64/boot/dts/qcom/talos.dtsi | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/arch/arm64/boot/dts/qcom/talos.dtsi b/arch/arm64/boot/dts/qcom= /talos.dtsi index 95d26e3136229f9015d49e2be22f6b28f1e842f4..11a2cfa209065776a8ae61c6e66= 1c09bb871c400 100644 --- a/arch/arm64/boot/dts/qcom/talos.dtsi +++ b/arch/arm64/boot/dts/qcom/talos.dtsi @@ -613,6 +613,11 @@ cluster_pd: power-domain-cluster { &cluster_sleep_1 &cluster_sleep_2>; }; + + reboot-mode { + mode-bootloader =3D <0x80010001 0x2>; + mode-edl =3D <0x80000000 0x1>; + }; }; =20 reserved-memory { --=20 2.34.1