Thread (7 messages) 7 messages, 3 authors, 2005-11-24

Re: Console rotation problems

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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help