Re: Regression: radeonfb: No synchronisation on CRT with linux-2.6.13-rc5

From: Kyle Moffett
Date: Sun Aug 07 2005 - 08:46:17 EST


On Aug 7, 2005, at 03:51:07, Benjamin Herrenschmidt wrote:
On Fri, 2005-08-05 at 19:38 +0200, Bodo Eggert wrote:
On Fri, 5 Aug 2005, Benjamin Herrenschmidt wrote:

On Fri, 2005-08-05 at 00:03 +0200, Bodo Eggert wrote:
My CRT is out of sync after radeonfb from 2.6.13-rc5 is initialized.
2.6.12 does not show this behaviour.

I'm out of town at the moment, could you maybe diff radeonfb between
working & non-working and CC me the diff ? I don't have my work stuff at
hand not my kernel images so...

There were no changes in radeonfb.c, but I could trace to to
CONFIG_PREEMPT. With _NONE, it works as expected.

Ah ! Interesting... I don't see why PREEMPT would affect radeonfb
though ... Can you try something like wrapper radeon_write_mode() with
preempt_disable()/preempt_enable() and tell me if it makes a
difference ?

I'm having a similar issue with my shiny new 17" Powerbook G4. The
radeon chip works fine with framebuffer in 2.6.12.4 _with_ PREEMPT,
but not in 2.6.13-rc5 _with_ PREEMPT (configs are virtually identical).
I'll try your idea this afternoon when I get the chance.

I wonder if perhaps some code in radeonfb is used under the BKL, which
is now preemptable (Or maybe an ordinary spinlock changed or went
away?), because I also set PREEMPT_BKL. I've got an LCD, and on mine
it looks like every third pixel-line gets shifted about 32-64 pixels to
the left, and they move with display refresh. My guess is that
something is interrupting radeonfb during a critical time in display
syncing and forcing the video card to wait too far into the next line
before sending pixels.

One other data point, I've seen something like this, except not nearly
as bad, is stock debian 2.6.8 vs. stock debian 2.6.11 on powerpc. The
former exhibits some similar (but not nearly as bad) symptoms. (Same
Powerbook), whereas 2.6.11 doesn't. In that case, neither has PREEMPT.
I'll run more tests this afternoon/evening, to try to track it down.

Cheers,
Kyle Moffett

--
There are two ways of constructing a software design. One way is to make it so
simple that there are obviously no deficiencies. And the other way is to make
it so complicated that there are no obvious deficiencies. The first method is
far more difficult.
-- C.A.R. Hoare


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/