--- 9d4f3a49ba4a5038a333c940351dd85cf5df0deb +++ 12b5990bf456fdf7e04b9311cc2b3552b1127e68 @@ -277,11 +277,12 @@ static int hw_bitblt_2(void __iomem *eng 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;