Thread (2 messages) 2 messages, 2 authors, 2013-03-19
DORMANTno replies

Re: [PATCH] ARM: video: mxs: Fix mxsfb misconfiguring VDCTRL0

From: Shawn Guo <hidden>
Date: 2013-03-19 05:51:19
Also in: linux-arm-kernel

On Mon, Mar 18, 2013 at 07:24:02PM +0100, Marek Vasut wrote:
The issue fixed by this patch manifests only then using X11
with mxsfb driver. The X11 will display either shifted image
or otherwise distorted image on the LCD.

The problem is that the X11 tries to reconfigure the framebuffer
and along the way calls fb_ops.fb_set_par() with X11's desired
configuration values. The field of particular interest is
fb_info->var.sync which contains non-standard values if
configured by kernel. These are either FB_SYNC_DATA_ENABLE_HIGH_ACT,
FB_SYNC_DOTCLK_FAILING_ACT or both, depending on the platform
configuration. Both of these values are defined in the
include/linux/mxsfb.h file.

The driver interprets these values and configures the LCD controller
accordingly. Yet X11 only has access to the standard values for this
field defined in include/uapi/linux/fb.h and thus, unlike kernel,
omits these special values. This results in distorted image on the
LCD.

This patch moves these non-standard values into new field of the
mxsfb_platform_data structure so the driver can in turn check this
field instead of the video mode field for these specific portions.

Moreover, this patch prefixes these values with MXSFB_SYNC_ prefix
instead of FB_SYNC_ prefix to prevent confusion of subsequent users.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Fabio Estevam <redacted>
Cc: Linux ARM <redacted>
Cc: Linux FBDEV <redacted>
Cc: Lothar Waßmann <redacted>
Cc: Sascha Hauer <kernel@pengutronix.de>
Cc: Shawn Guo <redacted>
Tested-by: Fabio Estevam <redacted>
Applied with one trivial change below.

...
quoted hunk ↗ jump to hunk
@@ -407,6 +404,8 @@ static void __init cfa10049_init(void)
 	mxsfb_pdata.mode_count = ARRAY_SIZE(cfa10049_video_modes);
 	mxsfb_pdata.default_bpp = 32;
 	mxsfb_pdata.ld_intf_width = STMLCDIF_18BIT;
+	mxsfb_pdata.sync = MXSFB_SYNC_DATA_ENABLE_HIGH_ACT;
+
I removed this unnecessary new line.

Shawn
 }
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help