Commit Graph

429 Commits

Author SHA1 Message Date
a78229c9ed MLK-13134 video: epdc: retain working buffer content when enter/exit dsm
Since the eink panel will not be re-initialized after exit DSM(deep sleep mode),
it will depend on the last update content so we need keep the associated working
buffer content during DSM. The patch moves the initialization of working buffer
to probe() function and ensure it's just be initialized once and thus its
content will be kept.

The patch shall fix the following issue:
The codes as follows in unit test for clearing screen does not take effect
when enter/exit DSM.

---
printf("Blank screen\n");
memset(fb, 0xFE, screen_info.xres_virtual*screen_info.yres*screen_info.bits_per_pixel/8);
update_to_display(0, 0, screen_info.xres, screen_info.yres,
	wave_mode, TRUE, 0);
---

Signed-off-by: Robby Cai <robby.cai@nxp.com>
(cherry picked from commit 87ba6d771e028f7482019a3003965b029ec08c65)
2016-08-30 16:53:03 +08:00
2352d7c7b4 MLK-12980-3 video: mxsfb: free 'pseudo_palette' to avoid memory leak
The dynamicly allocated 'pseudo_palette' area should be
freed when unused to avoid memory leak.

Signed-off-by: Fancy Fang <chen.fang@nxp.com>
2016-07-14 09:02:40 +08:00
8d1764fb30 MLK-12980-2 video: mxsfb: change the 'fb_info' field of 'mxsfb_info' structure
Refine the 'fb_info' field in 'mxsfb_info' that change this
field to be a pointer which can reduce the 'mxsfb_info' size.
Besides, store the 'host' data to fb_info->par to replace the
unnecessary 'to_imxfb_host' macro.

Signed-off-by: Fancy Fang <chen.fang@nxp.com>
2016-07-14 09:02:34 +08:00
707f0f72bb MLK-12980-1 video: mxsfb: refine the driver data usage logic
The function 'platform_set_drvdata' will be called twice
during the probing stage. And the second calling is not
good and not necessary.

Signed-off-by: Fancy Fang <chen.fang@nxp.com>
2016-07-13 10:46:43 +08:00
a38924d350 MLK-12975-2 video: mxsfb: missing a 'break' in the case statement.
Missing the 'break' will cause the function return failure
when the 'bits_per_pixel' is 32 which should be supported.

Signed-off-by: Fancy Fang <chen.fang@nxp.com>
2016-07-11 08:37:58 +08:00
f8d10505b2 MLK-12975-1 video: mipi_dsi_samsung: set default bpp to 32 if not set
The default bpp should be set to a proper value if it is
not set yet during mipi panel display initialization.

Signed-off-by: Fancy Fang <chen.fang@nxp.com>
2016-07-11 08:37:58 +08:00
17a4dce7f9 MLK-12899-2 video: mipi_dsi_samsung: add panel 'TFT3P5581' driver.
Add the mipi panel 'TFT3P5581' driver.

Signed-off-by: Fancy Fang <chen.fang@nxp.com>
2016-06-14 09:52:02 +08:00
57d2d01a4f MLK-12901-3 video: mipi_dsi_samsung: alwasy use video mode to transfer data and cmds.
Since the lcdif uses RGB interface to transfer image data to
mipi dsi, video mode should be used to transfer the image data.
So, the commands transfer should also use video mode to avoid
unnecessary mode switches.

Signed-off-by: Fancy Fang <chen.fang@nxp.com>
2016-06-14 09:52:01 +08:00
f53d88d599 MLK-12901-2 video: mipi_dsi_samsung: add 10msec delay after all the pkt write operation.
Add 10msec delay after all the pkt write operations to let
the data to take effect on the panel's side.

Signed-off-by: Fancy Fang <chen.fang@nxp.com>
2016-06-14 09:52:01 +08:00
cfab3dd4f5 MLK-12901-1 video: mipi_dsi_samsung: correct the hardware reset calling position.
The hardware reset should be done on LP-11 mode which
is the data/clk stop state.

Signed-off-by: Fancy Fang <chen.fang@nxp.com>
2016-06-14 09:52:01 +08:00
3e1b050fd0 MLK_12886-2 video: mxsfb: handle the assert gpio in driver to support deferred probe
The assert gpio comes from 'gpio_spi' module, so the framebuffer
depends on the 'gpio_spi' driver loading. And in the case that
the framebuffer driver is loaded earlier than the 'gpio_spi'
driver, the gpio asserting will fail. So handle this gpio in
the framebuffer driver and add deferred probed support.

Signed-off-by: Fancy Fang <chen.fang@nxp.com>
2016-06-14 09:52:00 +08:00
84a7b5abf8 MLK-12509-3 video: mipi_dsi_samsung: add build support for TFT3P5079E panel.
The 'otm8018b' is the Source Driver IC which is used
by 'TFT3P5079E' panel. This patch is adding the build
support for the 'otm8018b' kernel driver.

Signed-off-by: Fancy Fang <chen.fang@nxp.com>
2016-03-10 18:23:47 +08:00
36d9e4d9b7 MLK-12509-2 video: mipi_dsi_samsung: add 'TFT3P5079E' panel driver.
The 'otm8018b' is the Source Driver IC for 'TFT3P5079E'
mipi panel. This patch is the kernel driver for 'otm8018b'.
No backlight brightness adjustment function, since this is
not supported by imx7d sdb revb board.

Signed-off-by: Fancy Fang <chen.fang@nxp.com>
Signed-off-by: Frank Li <frank.li@nxp.com>
2016-03-10 18:23:46 +08:00
9a4bce6b18 MLK-11438-4 lcdif: enable lpsr mode
restore the pinmux when resume from LPSR mode in suspend.

Signed-off-by: Robby Cai <r63905@freescale.com>
(cherry picked from commit 0462eb2cb8b64508260d9c6daa9f163d68ea6be0)

Conflicts:
	drivers/video/mxsfb.c

(cherry picked from commit 8ddaa850df8cc9fe4dda4f505053eaa3f704ef69)
2016-03-01 11:27:17 +08:00
7694464ae2 MLK-12364-1: HDMI: Add hdmi power supply management
Add HDMI power supply management in hdmi driver.

Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
2016-02-01 18:01:27 +08:00
1f62dd92bf MLK-12251 video: mipi_dsi: fix an unsigned compared against zero issue
Compared 'mux' against zero is meaningless. So correct this.

Signed-off-by: Fancy Fang <chen.fang@nxp.com>
2016-01-14 11:03:12 -06:00
87b4e9b8c6 MLK-12218 video: mxsfb: fix a potential unitialized pointer dereference
The 'rgb' pointer may be dereferenced before being initialized.
So correct this.

Signed-off-by: Fancy Fang <chen.fang@nxp.com>
2016-01-14 11:03:12 -06:00
5d6561968f MLK-12217 video: mxsfb: fix an uninitialized variable usage
The 'vmode' variable is used before it is initialized.
So initialize it before that.

Signed-off-by: Fancy Fang <chen.fang@nxp.com>
2016-01-14 11:03:12 -06:00
b3a6409e2b MLK-12216 video: mipi_dsi: fix the potential uninitalized variable usage
The 'val' variable may be used before uninitialized.
So initialize it at the begining.

Signed-off-by: Fancy Fang <chen.fang@nxp.com>
2016-01-14 11:03:12 -06:00
5a3f8d37d3 MLK-12215 video: mxsfb: free the 'timings' after using it to avoid resource leak
The 'timings' is allocated by 'of_get_display_timings()'
dynamically. So it should be freed when it is not used
anymore.

Signed-off-by: Fancy Fang <chen.fang@nxp.com>
2016-01-14 11:03:12 -06:00
d59e4e631f MLK-12179 epdc: use outer_flush_range instead of outer_flush_all
l2c210_flush_all, the underlying implementation of outer_flush_all() has the
constraint on 4.1 kernel that, it can not be called under interrupt context.
However the EPDC driver can not guarantee this condition at calling point, thus
it could cause kernel dump. This has been observed on i.MX6SL, and theorically
on other platforms like i.MX6DL (using PL310 L2 cache). So use outer_flush_range
to fix it.

Although we don't have such issue on i.MX7D (not PL310 L2), we still prefer to
use outer_flush_range() for legacy software dithering support and for easy
maintenance. Then we do the change in both EPDC driver.

------------[ cut here ]------------
Kernel BUG at 800204d8 [verbose debug info unavailable]
Internal error: Oops - BUG: 0 [#1] PREEMPT SMP ARM
Modules linked in: galcore(O) evbug
CPU: 0 PID: 842 Comm: kworker/u3:1 Tainted: G           O    4.1.8-1.0.0+ge352a0b #1
Hardware name: Freescale i.MX6 SoloLite (Device Tree)
Workqueue: EPDC Submit epdc_submit_work_func
task: a8a8f900 ti: a92a4000 task.ti: a92a4000
PC is at l2c210_flush_all+0x5c/0x60
LR is at epdc_submit_work_func+0x684/0xbf8
pc : [<800204d8>]    lr : [<8030702c>]    psr: 600b0013
sp : a92a5e90  ip : a9150c8c  fp : a8480518
r10: a84a28c0  r9 : 00000008  r8 : a9150644
r7 : a91512e0  r6 : 0000012c  r5 : a91512e0  r4 : a91512dc
r3 : a00b0013  r2 : 80b184a0  r1 : 701fe019  r0 : f4a02000
Flags: nZCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment kernel
Control: 10c53c7d  Table: a943404a  DAC: 00000015
Process kworker/u3:1 (pid: 842, stack limit = 0xa92a4210)
Stack: (0xa92a5e90 to 0xa92a6000)
5e80:                                     a92a5ed0 8005d058 0000bbc2 a851d4c0
5ea0: 00000000 a9150000 a8480000 a8480440 00000190 00000193 55555556 a84a28c0
5ec0: a8480518 a8500000 80b18088 a94f3900 00000000 00000000 00000190 0000012c
5ee0: a94f3900 a8480518 a87e8d80 a8479000 a845a200 00000020 00000000 a8479000
5f00: a8479000 80046458 a92a4000 a8479000 a8479014 a8479000 a87e8d98 a8479014

...

Signed-off-by: Robby Cai <robby.cai@nxp.com>
2016-01-14 11:03:11 -06:00
0b65da3ea2 MLK-12142 video: fbdev: mxc_ipuv3_fb: Set non-zero blank to FB_BLANK_POWERDOWN
We have implemented only two states for blank which are FB_BLANK_UNBLANK and
FB_BLANK_POWERDOWN.  Let's map all the other blank states(FB_BLANK_NORMAL,
FB_BLANK_VSYNC_SUSPEND and FB_BLANK_HSYNC_SUSPEND) to FB_BLANK_POWERDOWN,
since all of them make the screen be blanked.  This may avoid blanking a blanked
screen by setting the state to different non-zero values.

Signed-off-by: Liu Ying <victor.liu@nxp.com>
2016-01-14 11:03:08 -06:00
918e21fd79 MLK-12144 epdc: fix gpio active level to enable epdc signal
There's a GPIO pin to enable epdc signals on some platform like i.MX7D SDB.
However, it's changed from active-low to active-high on i.MX7D SDB RevB board.
Enhance the driver to handle the active level automatically,
then only need to adjust gpio as well as active level in dts file if necessary.

Signed-off-by: Robby Cai <robby.cai@nxp.com>
2016-01-14 11:03:07 -06:00
38d0e7490f MLK-12054-1 media: video: fix multiple definition error in MIPI DSI driver
When enable CONFIG_FB_MXC_MIPI_DSI, meet following compiling error.

drivers/video/fbdev/mxc/mipi_dsi_samsung.o: In function `mipi_dsi_pkt_write':
mipi_dsi_samsung.c:(.text+0x818): multiple definition of `mipi_dsi_pkt_write'
drivers/video/fbdev/mxc/mipi_dsi.o:mipi_dsi.c:(.text+0xa74): first defined here
drivers/video/fbdev/mxc/mipi_dsi_samsung.o: In function `mipi_dsi_pkt_read':
mipi_dsi_samsung.c:(.text+0x9d8): multiple definition of `mipi_dsi_pkt_read'
drivers/video/fbdev/mxc/mipi_dsi.o:mipi_dsi.c:(.text+0xc5c): first defined here
drivers/video/fbdev/mxc/mipi_dsi_samsung.o: In function `mipi_dsi_dcs_cmd':
mipi_dsi_samsung.c:(.text+0xa88): multiple definition of `mipi_dsi_dcs_cmd'
drivers/video/fbdev/mxc/mipi_dsi.o:mipi_dsi.c:(.text+0xdb0): first defined here
make[4]: *** [drivers/video/fbdev/mxc/built-in.o] Error 1
make[3]: *** [drivers/video/fbdev/mxc] Error 2
make[2]: *** [drivers/video/fbdev] Error 2
make[1]: *** [drivers/video] Error 2

move three dsi packet related functions to mipi_dsi_info
structure. This will avoid the multiple definition compiling
issue. This is what the commit f54c7527895575a2e474b17a4752724977b898ea does
in 3.14.y

Signed-off-by: Robby Cai <robby.cai@nxp.com>
2016-01-14 11:03:05 -06:00
4b006cd2aa MLK-12092: mxc_edid: Free mode buffer before function return
Free mode buffer before function return to avoid memory leak.

Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
2016-01-14 11:03:01 -06:00
338180cd24 MLK-11920 video: fbdev: mxc ipuv3 fb: Use fb_set_var() to unblank a framebuffer
The resolution of an overlay framebuffer could be at most the same to the
one of the relevant background framebuffer.  However, the resolution of a
HDMI monitor could be changed at runtime.  Thus, when we unblank the overlay
framebuffer, we should check it's resolution and start position in case it
exceeds the boundary of the background framebuffer.  This patch replaces
mxcfb_set_par() with fb_set_var() to implement the unblank operation so that
the logic contains the ->fb_check_var() path.

Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
2016-01-14 11:02:46 -06:00
e322550230 MLK-11992: MX6 HDMI: Active HDCP keepout window when HDCP enable
When HDCP running in repeater mode,
HDCP software workaround "HW_WA_HDCP_DC0" is working in
HDCP keepout window stop state.
It will cause HDCP compliance test 1B-01A failed.
So active HDCP keepout widows and 1B-01A is	passed.

Signed-off-by: Sandor Yu <R01008@freescale.com>
2016-01-14 11:02:42 -06:00
62e4b33a07 MLK-11932 video: fbdev: mxc: ldb: Do not touch fbi->modelist in ldb_init()
We don't have to touch fbi->modelist in ldb_init(), because mxcfb_register()
may initialize the list and add a video mode to the list for us.

This patch fixes the following issue reported by Coverity:
	INIT_LIST_HEAD(&fbi->modelist);
Uninitialized scalar variable (UNINIT)
uninit_use_in_call: Using uninitialized value fb_vm. Field fb_vm.name is
uninitialized when calling fb_add_videomode.
	fb_add_videomode(&fb_vm, &fbi->modelist);
	fb_videomode_to_var(&fbi->var, &fb_vm);

Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
2016-01-14 11:02:30 -06:00
880005d8e6 MLK-11918-4 video: mxc ipuv3 fb: Fix dangling pointer dereference in check_var
The function fbi_to_pixfmt() could access the pointer fbi->device provided
by it's input parameter fbi, so let's make sure the pointer isn't dangling.

This patch fixes the following issue reported by Coverity:
Uninitialized pointer read (UNINIT)
uninit_use_in_call: Using uninitialized value tmp_fbi.device when calling
fbi_to_pixfmt.
		switch (fbi_to_pixfmt(&tmp_fbi, true)) {
		case IPU_PIX_FMT_YUV420P2:
		case IPU_PIX_FMT_YVU420P:

Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
2016-01-14 11:02:30 -06:00
1409797155 MLK-11918-3 video: mxc ipuv3 fb: Fix bailout path for ioctrl FBIO_ALLOC
Resources(kmem and DMA) should be freed correctly in the bailout path of
ioctrl FBIO_ALLOC.  We should also delete mem->list from fb_alloc_list
in the bailout path if necessary.

The kmem leakage issue is reported by Coverity:
			if (get_user(size, argp))
Resource leak (RESOURCE_LEAK)
leaked_storage: Variable mem going out of scope leaks the storage it points to.
				return -EFAULT;

Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
2016-01-14 11:02:30 -06:00
84aebe528f MLK-11918-2 video: mxc ipuv3 fb: Return err in ->fb_check_var if fbi_tmp is NULL
It has to be successful to find a relevant background framebuffer for a
foreground framebuffer.  So, we should return error code if it happens
to fail.

This patch fixes the following issue reported by Coverity:
Dereference after null check (FORWARD_NULL)
var_deref_op: Dereferencing null pointer fbi_tmp.
		if (fbi_tmp->var.vmode & FB_VMODE_INTERLACED)
			var->vmode |= FB_VMODE_INTERLACED;
		else
			var->vmode &= ~FB_VMODE_INTERLACED;

Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
2016-01-14 11:02:30 -06:00
ceccfd2e18 MLK-11918-1 video: fbdev: mxc ipuv3 fb: Remove fbi NULL pointer check in ->remove()
The driver takes the pointer fbi as the driver data, so fbi cannot be a NULL
pointer in ->remove().  Let's remove the unnecessary NULL pointer check on
fbi.

This patch fixes the following issue reported by Coverity:
deref_ptr: Directly dereferencing pointer fbi.
	struct mxcfb_info *mxc_fbi = fbi->par;

Dereference before null check (REVERSE_INULL)
check_after_deref: Null-checking fbi suggests that it may be null, but it has
already been dereferenced on all paths leading to the check.
	if (!fbi)
		return 0;

Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
2016-01-14 11:02:29 -06:00
6f857b8b40 MLK-11914-2 video: mipi_dsi: add the missing error code check
Add the missing error code check just as the others which
have the check.

Signed-off-by: Fancy Fang <chen.fang@freescale.com>
2016-01-14 11:02:25 -06:00
0a5e0b394a MLK-11914-1 video: mipi_dsi: correct wrong buf index usage
The 'buf' index loop is obviously wrong. So correct
it.

Signed-off-by: Fancy Fang <chen.fang@freescale.com>
2016-01-14 11:02:25 -06:00
0b205e3665 MLK-11881 video: fbdev: mxc ipuv3 fb: Correct ->prefetch in ioctrl SET_PREFETCH
When a framebuffer is blanked, the user may call the MXCFB_SET_PREFETCH ioctrl
to enable or disable the prefetch engine.  After sanity check, the cached
->prefetch should reflect the user's intention for next unblank operation
any way instead of checking ->cur_prefetch first.

Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
2016-01-14 11:02:23 -06:00
2c8c39a135 MLK-11765 video: mxsfb: change the fb buffer managment
The previous fb buffer management has two problems:

1. After reallocate a bigger buffer and free the old buffer,
   user space app doesn't know this and may continue accessing
   the old buffer.
2. The freed buffer contents will be lost.

So, this patch allocates a big enough fb buffer(32MB) from the
beginning and never reallocates it.

Signed-off-by: Fancy Fang <chen.fang@freescale.com>
(cherry picked from commit c76a37e342369675aa9ef2efde6373d288c2f013)

Conflicts:
	drivers/video/mxsfb.c
2016-01-14 11:02:21 -06:00
065b9db09b MLK-11842 video: epdc: change 'CONFIG_PM_RUNTIME' to 'CONFIG_PM'
The 'CONFIG_PM_RUNTIME' has been eliminated and all the users
should use 'CONFIG_PM' directly. So do this change for epdc and
epdc-v2.

Signed-off-by: Fancy Fang <chen.fang@freescale.com>
2016-01-14 11:02:20 -06:00
fe6101e42c MLK-11840 video: mxsfb: change 'CONFIG_PM_RUNTIME' to 'CONFIG_PM'
The 'CONFIG_PM_RUNTIME' has been eliminated and all the users
should use 'CONFIG_PM' directly. So do this change for mxsfb.

Signed-off-by: Fancy Fang <chen.fang@freescale.com>
2016-01-14 11:02:19 -06:00
717be96814 MLK-11700 video: mxsfb: correct the fb pan display ret value
The fb_pan_display() return value should be corrected
according to the wait_for_completion_timeout() return
value.

Signed-off-by: Fancy Fang <chen.fang@freescale.com>
(cherry picked from commit 459d01cbda39e51029c55e583909ef645037b7f3)

Conflicts:
	drivers/video/mxsfb.c
2016-01-14 11:02:18 -06:00
53d23330cf MLK-11687 video: mxsfb: remove timestamp in wait for vsync ioctl
Remove the timestamp usage in the 'MXCFB_WAIT_FOR_VSYNC'
ioctl handler, since the 64 bit timestamp would cause
data overflow when writing it to user memory.

Signed-off-by: Fancy Fang <chen.fang@freescale.com>
(cherry picked from commit 4bfbf67a384f1292d217769b77858c08f38fe658)

Conflicts:
	drivers/video/mxsfb.c
2016-01-14 11:01:54 -06:00
96f61447e2 MLK-11684: mipi dsi: Porting mxc mipi dsi driver from 3.14.y
Initial the mxc mipi dsi driver.
Baseline copied from imx_3.14.y branch.

Signed-off-by: Sandor Yu <R01008@freescale.com>
2016-01-14 11:01:49 -06:00
0e4bdb1ccf MLK-11606-01: dcic: Porting dcic driver from 3.14.y
Initial the mxc dcic driver.
Baseline copied from imx_3.14.y branch.

Signed-off-by: Sandor Yu <R01008@freescale.com>
2016-01-14 11:01:49 -06:00
552d3a4d7e MLK-11316-4 video: mxc ipuv3 fb: Change on-the-fly switch mechanism for PRE workaround
In order to workaround the PRE SoC bug recorded by errata ERR009624, the
software cannot write the PRE_CTRL register when the PRE writes the PRE_CTRL
register automatically to set the ENABLE bit(bit0) to 1 in the PRE repeat mode.

Instead of setting the PRE_CTRL register any time we want to do on-the-fly
switch(PRE keeps working before and after the switch), we change to set the
register in the on-the-fly configuration interrupt(EOF) handler.  This way,
we may avoid encountering the problematic PRE automatic writing cycle for sure.

Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
(cherry picked from commit 6218cbcf34f5fb7910a824a8d31cc58819d0bd00)
2016-01-14 11:01:47 -06:00
a04c581248 MLK-11316-3 video: mxc ipuv3 fb: Change pan display mechanism for PRE workaround
In order to workaround the PRE SoC bug recorded by errata ERR009624, the
software cannot write the PRE_CTRL register when the PRE writes the PRE_CTRL
register automatically to set the ENABLE bit(bit0) to 1 in the PRE repeat mode.

The software mechanism to set the PRE_CTRL register is different for PRE Y
resolution higher than 9 lines and lower than or equal to 9 lines.

For cases in which Y resolution is higher than 9 lines, before we update PRE
shadow, we just need to wait until the PRE store engine status runs out of
the problematic PRE automatic writing window.

While for cases in which Y resolutin is lower than or equal to 9 lines, we
have to update PRE shadow in the buffer flip interrupt handler.

Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
(cherry picked from commit bd9c14e24aaf67926dfd31bd819ab0c87129fe4b)
2016-01-14 11:01:47 -06:00
ddc8d0d199 MLK-11316-1 mxc IPUv3: PRE: Export a function to set PRE_CTRL register
In order to workaround the PRE SoC bug recorded by errata ERR009624, the
software cannot write the PRE_CTRL register when the PRE writes the PRE_CTRL
register automatically to set the ENABLE bit(bit0) to 1 in the PRE repeat mode.

This patch exports a function to set the PRE_CTRL register so that it could be
used by the software when the PRE automatic writing doesn't happen for sure.

Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
(cherry picked from commit e64bbcd9243a17f9eba9cb3abb6f2c1939eae110)
2016-01-14 11:01:46 -06:00
d98b30e859 MLK-11536 video: mxc ipuv3 fb: Fix pan-disp frame drop issue when PRE is enabled
There could be frame drop issue when we do pan display if we update PRE next
buffer address before waiting for the flip completion, because we may hold
the flip completion already and then two continuous pan display operations may
happen quickly within one active period of frame scanning - the first PRE next
buffer address is overriden.  To fix this issue, this patch updates the buffer
address after the flip completion.

Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
(cherry picked from commit d0126e42f46f6dad9ae8c6aa390b0e1bea76492e)
2016-01-14 11:01:46 -06:00
802a6fff6b MLK-11556-3 epdc: add EPDC driver
mxc_epdc_fb.c for i.MX6SoloLite, and i.MX6DualLite (and i.MX50 as well),
mxc_epdc_v2_fb.c for i.MX7D.

Signed-off-by: Robby Cai <r63905@freescale.com>
2016-01-14 11:01:42 -06:00
6d36d19a65 MLK-11603-2: video: forward mxc video drivers to 4.1 kernel
Forward imx_3.14.y mxc video drivers to 4.1 kernel.

Signed-off-by: Sandor Yu <R01008@freescale.com>
2016-01-14 11:01:40 -06:00
9fcbf53d8f MLK-11608 video: mxsfb: add parameter equal bypass count
This parameter bypass count is used to make sure the mipi
dsi be initialized correctly without any display error.
In the mipi dsi initialization, it requires the first
two parameter setting operations should be done really.

Signed-off-by: Fancy Fang <chen.fang@freescale.com>
(cherry picked from commit 969122c2f4363dee4cf489b87984c4d85dcd89ce)

Conflicts:
	drivers/video/mxsfb.c
2016-01-14 11:01:35 -06:00
9b62d9b88a MLK-11594 video: mxsfb: correct the pm runtime logic
The pm power's usage_count should be first added by
one before putting it into suspend state. Otherwise
the usage_count will be negative and the power cannot
be put into suspend state correctly.

Signed-off-by: Fancy Fang <chen.fang@freescale.com>
(cherry picked from commit a48460b41399112f5d3ae03b30e3f9e885346ff7)

Conflicts:
	drivers/video/mxsfb.c
2016-01-14 11:01:32 -06:00