summaryrefslogtreecommitdiffstats
path: root/drivers/tty/hvc
diff options
context:
space:
mode:
authorNicholas Piggin <npiggin@gmail.com>2018-05-01 00:55:50 +1000
committerMichael Ellerman <mpe@ellerman.id.au>2018-07-24 22:09:57 +1000
commitac4ac788fdadc6b703ff3322de07dee442e08e1c (patch)
treeea1fbf4f4ec19a771adf1c7ce42272cd12aea3ab /drivers/tty/hvc
parentb74d2807ae0cdb17ccc45d22260fc151a1b2d46b (diff)
downloadlinux-ac4ac788fdadc6b703ff3322de07dee442e08e1c.tar.bz2
powerpc/powernv: move opal console flushing to udbg
OPAL console writes do not have to synchronously flush firmware / hardware buffers unless they are going through the udbg path. Remove the unconditional flushing from opal_put_chars. Flush if there was no space in the buffer as an optimisation (callers loop waiting for success in that case). udbg flushing is moved to udbg_opal_putc. Signed-off-by: Nicholas Piggin <npiggin@gmail.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Diffstat (limited to 'drivers/tty/hvc')
-rw-r--r--drivers/tty/hvc/hvc_opal.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/tty/hvc/hvc_opal.c b/drivers/tty/hvc/hvc_opal.c
index 9645c0062a90..958c61c8f35a 100644
--- a/drivers/tty/hvc/hvc_opal.c
+++ b/drivers/tty/hvc/hvc_opal.c
@@ -275,6 +275,11 @@ static void udbg_opal_putc(char c)
count = hvc_opal_hvsi_put_chars(termno, &c, 1);
break;
}
+
+ /* This is needed for the cosole to flush
+ * when there aren't any interrupts.
+ */
+ opal_flush_console(termno);
} while(count == 0 || count == -EAGAIN);
}