From nobody Sat Feb 7 21:11:54 2026 Received: from mail-pl1-f173.google.com (mail-pl1-f173.google.com [209.85.214.173]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 75102258EF6 for ; Fri, 14 Nov 2025 06:59:10 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.173 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763103552; cv=none; b=lWD/Y3eDPvzbXazv/b7m3xWp5zK83Uj/JmyHYm4wcvKPj1SuPK9ci8/yKg3E00iz+L5x564to6RgyWq9bQYwH92D6lnRVvOHzmhMjiDmVhkygluuCnUdx8d0Ha9uaN73kCLBRsHfOYQ2Ke77VDIm6Q7HVh5q1e6RKyg+9y7ZuD4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763103552; c=relaxed/simple; bh=f9GrcC6/+65Hd5klT5sBO1uNnMCK3pDVO7IomBZABL0=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=d9gClJj/W5wX2la0CpDqNxS8Kxdzcrp4QAlkFcBmpjpNvVJJarN/w1imaajHySiAzT4uyNYH8MbhefiuhHSQYx3NX8DDR/16bC1Cpr06hwfiRk7b833r5ehvD+EQ0QiGnLCLabdEIsZjiGVmeYb4A3m+PBzyOIg4yaJJxTW/lOs= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=ventanamicro.com; spf=pass smtp.mailfrom=ventanamicro.com; dkim=pass (2048-bit key) header.d=ventanamicro.com header.i=@ventanamicro.com header.b=ZGOK+XMf; arc=none smtp.client-ip=209.85.214.173 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=ventanamicro.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ventanamicro.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=ventanamicro.com header.i=@ventanamicro.com header.b="ZGOK+XMf" Received: by mail-pl1-f173.google.com with SMTP id d9443c01a7336-297ef378069so15810345ad.3 for ; Thu, 13 Nov 2025 22:59:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ventanamicro.com; s=google; t=1763103550; x=1763708350; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=028lPzzOUZKFDf3wDAjheqfgxvf5fQ+P2U0oIP+JGuM=; b=ZGOK+XMfhkKxfSHufbjWhvA/UEKtMOkydNVdZXPxelU0VybuKJ7YvA0BZakY/t18eI 2tNdu47rqccWHQd9X3xWEqhsl6xiLSIXkioEivKwG71cZQXxUD05voJo5fBB4jSC4saT 8tqiFrmVWqJdwQJ4gshaOTyPrSAQ1MUNEaU2U/Rvq9j7sEeOrJp+poxdZDPadNUMU+Km XfxtY2OD3nTsUxWGGDWYryi3m61MXloFHfSP+0rssMGxH/1GAMH6C6qEKqsGOx3iQLld RqMIRYsHK4A8mpBEifB8FwusCWSGJOhY3YGKmxIatONxAeMLQsg49wR9EausB1/9FchS wDUg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1763103550; x=1763708350; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=028lPzzOUZKFDf3wDAjheqfgxvf5fQ+P2U0oIP+JGuM=; b=CX6Vqby/Teh52DRYTx172YIxjKdfG99VsALOP+ON/lSyosQfoh04JoP6e1oSkCGWjN 3xEVYuBpBKsxVXKBM6Qo4iEpr+6TnU44X4eeMBUMoNeCphf4l2zDBx4SUaOXvydwOWyq CTt8GZb1R52g+4eJDwhWOz2/nvGeLmS7fVFqSyOd74vBB0gFP/UhMrPSkNdACzajxSzd lUhFrkpIs1fIvU/hhB7KlU0LVJLW8GxNnt+ws41bBpad2xmZ/PRg6fJ/X3qRgtgtHTUq j3GX1dj7hfyFFOWHyOWILoY9chDIRZ439nmHVojJbq8WYjISGa0kqSnGJJlOwwtyZvbq LUQQ== X-Forwarded-Encrypted: i=1; AJvYcCUMaHXCi3PomTkTyPwDlncF5n/1JdrVXJ4WJO/cAARRyJ6hKTgj4OOxZdSxYSS6BQdKLjYWTu7TRhOwe20=@vger.kernel.org X-Gm-Message-State: AOJu0YyScAojf8cinJeEdJPAZ1q2SbGFawwfWf5IKq9L6WKR40xBnO7Y RxuDTU25avl40E+IH4qo+QQBL75PqMSF2KGffQaeq/qvvxAiSPO+SQLaCmpxjOMe1UM= X-Gm-Gg: ASbGncuTN1OTxbCadfNNtIAu827xr2oHRXDCfbBNOzhwW6kPif3dL/PdcWmO0YjXd/O Y2qLjJkO7bR7kWoKvJJ5OAJ6CYc9a1xJPAu0K0vj1IdvAFVtGMHybKfmrRjB5wigMIHSGyorxbG 8u0Y1BY5csGwnG8DcIlN/EUdK+JtLiqqYfoiHBIDB7ziEDzZ9YXcVeomJ77uF7KnitwrZFp5jgT J0kmwg+JQKzf+PGlXJ3rMfpupYYCTlsmINy9jRi5XQwypIyAtKqwl8J3Hvwbg0EQj3sev2Eg5cj /vSeIGUiOQhkU3fSpfV8rUgAZYhxIoFblaBz6BKWT4x9HBhEz3GPT3V3kBoQHalNMsCQHPtfkxy fU9WHzx2ezL2oWf8S1tgOx3LbpqBWqiZq9R72fKPfZYoTUI7yDhBkL5ubL+uR4AmvOcXEaFohpl +YzXVQ+V1QpVYRXnbHocM1nA== X-Google-Smtp-Source: AGHT+IGUE8wsbPFQ6BIL5ovlTSYUQjj3V+/cGNjSzG7NbBy1gxYwyfBVT6ezJnebJ+aKKIg7eCYgEQ== X-Received: by 2002:a17:903:40c9:b0:295:9b73:b161 with SMTP id d9443c01a7336-2986a74f569mr21401235ad.44.1763103549622; Thu, 13 Nov 2025 22:59:09 -0800 (PST) Received: from localhost.localdomain ([106.221.223.120]) by smtp.googlemail.com with ESMTPSA id d9443c01a7336-2985c1800ebsm46306665ad.0.2025.11.13.22.59.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 13 Nov 2025 22:59:09 -0800 (PST) From: Mayuresh Chitale To: Paul Walmsley , Palmer Dabbelt , Albert Ou , Alexandre Ghiti , Atish Patra , Andrew Jones , =?UTF-8?q?Cl=C3=A9ment=20L=C3=A9ger?= , Andrew Davis Cc: Mayuresh Chitale , linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH] riscv: sbi: Prefer SRST shutdown over legacy Date: Fri, 14 Nov 2025 06:58:06 +0000 Message-ID: <20251114065808.304430-1-mchitale@ventanamicro.com> X-Mailer: git-send-email 2.43.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Currently, the sbi_init() always attempts to register the legacy shutdown function as the sys-off handler which is fine when RISCV_SBI_V01 is not enabled. However, if RISCV_SBI_V01 is enabled in the kernel and the SBI v0.1 is not supported by the underlying SBI implementation then the legacy shutdown fails. Fix this by not registering the legacy shutdown when SRST shutdown is available. Fixes: 70ddf86d76c1 ("riscv: sbi: Switch to new sys-off handler API") Signed-off-by: Mayuresh Chitale Reviewed-by: Anup Patel --- arch/riscv/kernel/sbi.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/arch/riscv/kernel/sbi.c b/arch/riscv/kernel/sbi.c index 5e8cde055264..c443337056ab 100644 --- a/arch/riscv/kernel/sbi.c +++ b/arch/riscv/kernel/sbi.c @@ -648,9 +648,9 @@ int sbi_debug_console_read(char *bytes, unsigned int nu= m_bytes) =20 void __init sbi_init(void) { + bool srst_power_off =3D false; int ret; =20 - sbi_set_power_off(); ret =3D sbi_get_spec_version(); if (ret > 0) sbi_spec_version =3D ret; @@ -683,6 +683,7 @@ void __init sbi_init(void) sbi_probe_extension(SBI_EXT_SRST)) { pr_info("SBI SRST extension detected\n"); register_platform_power_off(sbi_srst_power_off); + srst_power_off =3D true; sbi_srst_reboot_nb.notifier_call =3D sbi_srst_reboot; sbi_srst_reboot_nb.priority =3D 192; register_restart_handler(&sbi_srst_reboot_nb); @@ -702,4 +703,7 @@ void __init sbi_init(void) __sbi_send_ipi =3D __sbi_send_ipi_v01; __sbi_rfence =3D __sbi_rfence_v01; } + + if (!srst_power_off) + sbi_set_power_off(); } --=20 2.43.0