summaryrefslogtreecommitdiffstats
path: root/drivers/tty/hvc/hvc_opal.c
diff options
context:
space:
mode:
authorNicholas Piggin <npiggin@gmail.com>2018-04-30 16:55:49 +0200
committerMichael Ellerman <mpe@ellerman.id.au>2018-07-24 14:09:56 +0200
commitb74d2807ae0cdb17ccc45d22260fc151a1b2d46b (patch)
treeb4f8659b0e1d45279535cd1a4db6fcb6dada559d /drivers/tty/hvc/hvc_opal.c
parentpowerpc/powernv: Implement and use opal_flush_console (diff)
downloadlinux-b74d2807ae0cdb17ccc45d22260fc151a1b2d46b.tar.xz
linux-b74d2807ae0cdb17ccc45d22260fc151a1b2d46b.zip
powerpc/powernv: Remove OPALv1 support from opal console driver
opal_put_chars deals with partial writes because in OPALv1, opal_console_write_buffer_space did not work correctly. That firmware is not supported. This reworks the opal_put_chars code to no longer deal with partial writes by turning them into full writes. Partial write handling is still supported in terms of what gets returned to the caller, but it may not go to the console atomically. A warning message is printed in this case. This allows console flushing to be moved out of the opal_write_lock spinlock. That could cause the lock to be held for long periods if the console is busy (especially if it was being spammed by firmware), which is dangerous because the lock is taken by xmon to debug the system. Flushing outside the lock improves the situation a bit. 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 'drivers/tty/hvc/hvc_opal.c')
0 files changed, 0 insertions, 0 deletions