Re: Console rotation problems
From: "Antonino A. Daplas" <adaplas@gmail.com>
Date: 2005-11-24 06:30:19
Also in:
lkml
From: "Antonino A. Daplas" <adaplas@gmail.com>
Date: 2005-11-24 06:30:19
Also in:
lkml
Benjamin Herrenschmidt wrote:
Remove bogus usage of test/set_bit() from fbcon rotation code and just manipulate the bits directly. This fixes an oops on powerpc among others and should be faster. Seems to work fine on the G5 here.
Thanks, I reached a point when my head became muddled with bit manipulations, so I used arch-specific bitops but complete forgot that they were atomic :-)
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Acked-by: Antonino Daplas <redacted>
--- And here is the fix. Tony, did I miss something ?
Works in little-endian too, so thank you very much. cfbimageblit may also suffer from this same mistake (mine). So can you test with 12x22 fonts at rotate 1 or 3 with acceleration off? This particular line in cfbimgblit.c:slow_imageblit() is definitely questionable. - color = (*s & 1 << (BIT_NR(l))) ? fgcolor : bgcolor; + color = (*s & (1 << l)) ? fgcolor : bgcolor; Tony