mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-10 21:07:02 +09:00
viafb: use proper register for colour when doing fill ops
commit efd4f6398d upstream.
The colour was written to a wrong register for fillrect operations.
This sometimes caused empty console space (for example after 'clear')
to have a different colour than desired. Fix this by writing to the
correct register.
Many thanks to Daniel Drake and Jon Nettleton for pointing out this
issue and pointing me in the right direction for the fix.
Fixes http://dev.laptop.org/ticket/9323
Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
Cc: Joseph Chan <JosephChan@via.com.tw>
Cc: Daniel Drake <dsd@laptop.org>
Cc: Jon Nettleton <jon.nettleton@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
90b2e2755f
commit
c01412aa43
@@ -283,11 +283,12 @@ static int hw_bitblt_2(void __iomem *engine, u8 op, u32 width, u32 height,
|
||||
writel(tmp, engine + 0x1C);
|
||||
}
|
||||
|
||||
if (op != VIA_BITBLT_COLOR)
|
||||
if (op == VIA_BITBLT_FILL) {
|
||||
writel(fg_color, engine + 0x58);
|
||||
} else if (op == VIA_BITBLT_MONO) {
|
||||
writel(fg_color, engine + 0x4C);
|
||||
|
||||
if (op == VIA_BITBLT_MONO)
|
||||
writel(bg_color, engine + 0x50);
|
||||
}
|
||||
|
||||
if (op == VIA_BITBLT_FILL)
|
||||
ge_cmd |= fill_rop << 24 | 0x00002000 | 0x00000001;
|
||||
|
||||
Reference in New Issue
Block a user