[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20190624054311.30256-9-hch@lst.de>
Date: Mon, 24 Jun 2019 07:43:02 +0200
From: Christoph Hellwig <hch@....de>
To: Palmer Dabbelt <palmer@...ive.com>,
Paul Walmsley <paul.walmsley@...ive.com>
Cc: Damien Le Moal <damien.lemoal@....com>,
linux-riscv@...ts.infradead.org, linux-mm@...ck.org,
linux-kernel@...r.kernel.org
Subject: [PATCH 08/17] riscv: improve the default power off implementation
Only call the SBI code if we are not running in M mode, and if we didn't
do the SBI call, or it didn't succeed call wfi in a loop to at least
save some power.
Signed-off-by: Christoph Hellwig <hch@....de>
---
arch/riscv/kernel/reset.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/arch/riscv/kernel/reset.c b/arch/riscv/kernel/reset.c
index d0fe623bfb8f..2f5ca379747e 100644
--- a/arch/riscv/kernel/reset.c
+++ b/arch/riscv/kernel/reset.c
@@ -8,8 +8,11 @@
static void default_power_off(void)
{
+#ifndef CONFIG_M_MODE
sbi_shutdown();
- while (1);
+#endif
+ while (1)
+ wait_for_interrupt();
}
void (*pm_power_off)(void) = default_power_off;
--
2.20.1
Powered by blists - more mailing lists