[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20190610221621.10938-10-hch@lst.de>
Date: Tue, 11 Jun 2019 00:16:13 +0200
From: Christoph Hellwig <hch@....de>
To: Palmer Dabbelt <palmer@...ive.com>
Cc: Damien Le Moal <damien.lemoal@....com>,
linux-riscv@...ts.infradead.org, uclinux-dev@...inux.org,
linux-mm@...ck.org, linux-kernel@...r.kernel.org
Subject: [PATCH 09/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 cfb6eb1d762d..17c810985ad0 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