linux/arch/arm/mach-mxs
Marek Vasut 6a15075ece ARM: video: mxs: Fix mxsfb misconfiguring VDCTRL0
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 <fabio.estevam@freescale.com>
Cc: Linux ARM <linux-arm-kernel@lists.infradead.org>
Cc: Linux FBDEV <linux-fbdev@vger.kernel.org>
Cc: Lothar Waßmann <LW@karo-electronics.de>
Cc: Sascha Hauer <kernel@pengutronix.de>
Tested-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2013-03-19 11:07:58 +08:00
..
include/mach ARM: remove unused arch_decomp_wdog() 2013-01-11 10:54:03 +08:00
icoll.c ARM: mxs: icoll: Fix sparse warning 2013-03-04 10:07:20 +08:00
Kconfig ARM: mxs: remove platform device codes 2012-08-17 12:35:45 +08:00
mach-mxs.c ARM: video: mxs: Fix mxsfb misconfiguring VDCTRL0 2013-03-19 11:07:58 +08:00
Makefile ARM: mxs: remove iomux driver 2012-08-17 12:35:55 +08:00
Makefile.boot ARM: move all dtb targets out of Makefile.boot 2012-09-14 09:22:04 -05:00
mm.c ARM: mxs: mm: Fix sparse warning 2013-03-04 10:07:13 +08:00
ocotp.c ARM: mxs: ocotp: Fix sparse warning 2013-03-04 10:07:28 +08:00
pm.c ARM: substitute arch_idle() 2012-01-20 18:55:19 -05:00
system.c ARM: mxs: remove old clock support 2012-05-09 00:02:42 +08:00
timer.c ARM: mxs: decrease mxs_clockevent_device.min_delta_ns to 2 clock cycles 2013-02-05 11:27:49 +08:00