Thread (15 messages) 15 messages, 4 authors, 2013-03-19

Re: Shifted framebuffer after X11 starts on mx28

From: Marek Vasut <marex@denx.de>
Date: 2013-03-16 21:00:38
Also in: linux-arm-kernel

Dear Marek Vasut,
Dear Fabio Estevam,
quoted
Hi,

I am running 3.8.2 kernel on a mx28evk and when I start X11 I get a
"shifted" framebuffer.

The framebuffer works well if X11 is not called.

There is no issue with X11 when running with Freescale  2.6.35 kernel.

Looking at drivers/video/mxsfb.c there is the following comment:
	/*
	
	 * It seems, you can't re-program the controller if it is still running.
	 * This may lead into shifted pictures (FIFO issue?).
	 * So, first stop the controller and drain its FIFOs
	 */

So, it looks like that I am still facing this issue when X11 starts.

If anyone has any suggestions, please let me know.
This is not it, I almost hunted the bug down. Hang on.

Basically check mxsfb_set_par() and observe fb_info->var.sync . It's set to
"something" during regular framebuffer operation and it's set to "something
else" during Xorg operation. And that's what causes it to get broken. I
forced fb_info->var.sync to the "something" value by hardcoding it in
kernel just now for a quick test and X works for me.
Uh, being in hacking-mode and replying to email doesn't work well together :-)

In my case, fb_info->var.sync is set to FB_SYNC_DATA_ENABLE_HIGH_ACT during 
regular operation (framebuffer console), but if X11 starts, this fb_info-
var.sync is forced to value 0 which causes the malfunction. Now back into 
hacking-mode ;-)

Best regards,
Marek Vasut
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help