summaryrefslogtreecommitdiffstats
path: root/arch/powerpc/include/asm/opal.h
diff options
context:
space:
mode:
authorNicholas Piggin <npiggin@gmail.com>2018-04-30 16:55:51 +0200
committerMichael Ellerman <mpe@ellerman.id.au>2018-07-24 14:09:57 +0200
commit17cc1dd4924391b54fb179d0868b89dc96f2ee80 (patch)
tree18aada7559529c711897037d94b316a6d26cfa63 /arch/powerpc/include/asm/opal.h
parentpowerpc/powernv: move opal console flushing to udbg (diff)
downloadlinux-17cc1dd4924391b54fb179d0868b89dc96f2ee80.tar.xz
linux-17cc1dd4924391b54fb179d0868b89dc96f2ee80.zip
powerpc/powernv: implement opal_put_chars_atomic
The RAW console does not need writes to be atomic, so relax opal_put_chars to be able to do partial writes, and implement an _atomic variant which does not take a spinlock. This API is used in xmon, so the less locking that is used, the better chance there is that a crash can be debugged. Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Nicholas Piggin <npiggin@gmail.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Diffstat (limited to 'arch/powerpc/include/asm/opal.h')
-rw-r--r--arch/powerpc/include/asm/opal.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/powerpc/include/asm/opal.h b/arch/powerpc/include/asm/opal.h
index 33ab95a4ac0f..cd1acc8be8ee 100644
--- a/arch/powerpc/include/asm/opal.h
+++ b/arch/powerpc/include/asm/opal.h
@@ -305,6 +305,7 @@ extern void opal_configure_cores(void);
extern int opal_get_chars(uint32_t vtermno, char *buf, int count);
extern int opal_put_chars(uint32_t vtermno, const char *buf, int total_len);
+extern int opal_put_chars_atomic(uint32_t vtermno, const char *buf, int total_len);
extern int opal_flush_console(uint32_t vtermno);
extern void hvc_opal_init_early(void);