1 From b33793cbdf0b24f61398dfb98718ac9377e2b046 Mon Sep 17 00:00:00 2001
2 From: Liu Ying <Ying.Liu@freescale.com>
3 Date: Fri, 30 Sep 2011 16:00:09 +0800
4 Subject: [PATCH] ENGR00158480 IPUv3:Set IDMAC LOCK for SDC display channels
6 Set IDMAC_LOCK_EN_1 to make SDC display channels to generate
7 eight AXI bursts upon the assertion of the DMA request.
8 This change fixes the random garbage lines when showing
9 NV12 frames decoded by VPU with V4L2 output on
10 XGA@60 display's overlay framebuffer. V4L2 output uses
11 MEM_PP_MEM to do 180 degree rotation.
13 The issue can be reproduced by the following VPU unit test
15 /unit_tests/mxc_vpu_test.out -D
16 '-i /1920x1080_H264_AAC5.1ch.2.1ch_track1.h264 -f 2 -w 1024
17 -h 768 -r 180 -u 1 -t 1'
19 Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
20 (cherry picked from commit 50f969030c25bc33cf0f05a6a5cad98c52afd858)
22 drivers/mxc/ipu3/ipu_common.c | 3 +++
23 1 files changed, 3 insertions(+), 0 deletions(-)
25 diff --git a/drivers/mxc/ipu3/ipu_common.c b/drivers/mxc/ipu3/ipu_common.c
26 index 8dfa54f..4b12905 100644
27 --- a/drivers/mxc/ipu3/ipu_common.c
28 +++ b/drivers/mxc/ipu3/ipu_common.c
29 @@ -385,6 +385,9 @@ static int ipu_probe(struct platform_device *pdev)
30 /* Set sync refresh channels and CSI->mem channel as high priority */
31 __raw_writel(0x18800001L, IDMAC_CHA_PRI(0));
33 + /* AXI burst setting for sync refresh channels */
34 + __raw_writel(0x003F0000, IDMAC_CH_LOCK_EN_1);
36 /* Set MCU_T to divide MCU access window into 2 */
37 __raw_writel(0x00400000L | (IPU_MCU_T_DEFAULT << 18), IPU_DISP_GEN);