From 4c2b4f3d42728dec7506a6c805f35ec783feb095 Mon Sep 17 00:00:00 2001 From: zyc Date: Tue, 26 Jul 2011 01:01:08 -0700 Subject: [PATCH] fb:src_vir_w and dst_vir_w of ipp request must be setted. --- drivers/video/rk29_fb.c | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) mode change 100755 => 100644 drivers/video/rk29_fb.c diff --git a/drivers/video/rk29_fb.c b/drivers/video/rk29_fb.c old mode 100755 new mode 100644 index ec359950cfb2..a2eb88e28c53 --- a/drivers/video/rk29_fb.c +++ b/drivers/video/rk29_fb.c @@ -1932,6 +1932,9 @@ static int fb1_set_par(struct fb_info *info) ipp_req.src0.CbrMst = yuv_phy[1]; ipp_req.src0.w = var->xres; ipp_req.src0.h = var->yres; + + ipp_req.src_vir_w= (var->xres + 15) & (~15); + ipp_req.dst_vir_w=screen->x_res; ipp_req.dst0.fmt = 3; ipp_req.dst0.YrgbMst = inf->fb0->fix.mmio_start + screen->x_res*screen->y_res*2*dstoffset; @@ -1944,8 +1947,8 @@ static int fb1_set_par(struct fb_info *info) // ipp_req.dst0.w = var->yres; // ipp_req.dst0.h = var->xres; // } - ipp_req.src_vir_w = ipp_req.src0.w; - ipp_req.dst_vir_w = ipp_req.dst0.w; + //ipp_req.src_vir_w = ipp_req.src0.w; + //ipp_req.dst_vir_w = ipp_req.dst0.w; ipp_req.timeout = 100; if(var->rotate == 90) ipp_req.flag = IPP_ROT_90; @@ -2127,8 +2130,10 @@ static int fb1_ioctl(struct fb_info *info, unsigned int cmd, unsigned long arg) ipp_req.src0.fmt = 3; ipp_req.src0.YrgbMst = yuv_phy[0]; ipp_req.src0.CbrMst = yuv_phy[1]; - ipp_req.src0.w = var->xres; - ipp_req.src0.h = var->yres; + ipp_req.src0.w = var->xres ; + ipp_req.src0.h = var->yres ; + ipp_req.src_vir_w= (var->xres + 15) & (~15); + ipp_req.dst_vir_w=screen->x_res; ipp_req.dst0.fmt = 3; ipp_req.dst0.YrgbMst = inf->fb0->fix.mmio_start + screen->x_res*screen->y_res*2*dstoffset; @@ -2141,8 +2146,8 @@ static int fb1_ioctl(struct fb_info *info, unsigned int cmd, unsigned long arg) // ipp_req.dst0.w = var->yres; // ipp_req.dst0.h = var->xres; // } - ipp_req.src_vir_w = ipp_req.src0.w; - ipp_req.dst_vir_w = ipp_req.dst0.w; + // ipp_req.src_vir_w = ipp_req.src0.w; + // ipp_req.dst_vir_w = ipp_req.dst0.w; ipp_req.timeout = 100; if(var->rotate == 90) ipp_req.flag = IPP_ROT_90; -- 2.34.1