Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

vt_buffer: drop console buffer copying optimisations

These two copy to/from VGA memory, however on the Silicon
Motion SMI750 VGA card on a 64-bit system cause console corruption.

This is due to the hw being buggy and not handling a 64-bit transaction
correctly.

We could try and create a 32-bit version of these routines,
but I'm not sure the optimisation is worth much today.

Fixes https://bugzilla.redhat.com/show_bug.cgi?id=1132826

Tested-by: Huawei engineering.
Signed-off-by: Dave Airlie <airlied@redhat.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Hurley <peter@hurleysoftware.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

authored by

Dave Airlie and committed by
Greg Kroah-Hartman
67dc0d47 61b6b7fb

-4
-4
include/linux/vt_buffer.h
··· 21 21 #ifndef VT_BUF_HAVE_RW 22 22 #define scr_writew(val, addr) (*(addr) = (val)) 23 23 #define scr_readw(addr) (*(addr)) 24 - #define scr_memcpyw(d, s, c) memcpy(d, s, c) 25 - #define scr_memmovew(d, s, c) memmove(d, s, c) 26 - #define VT_BUF_HAVE_MEMCPYW 27 - #define VT_BUF_HAVE_MEMMOVEW 28 24 #endif 29 25 30 26 #ifndef VT_BUF_HAVE_MEMSETW