fb:src_vir_w and dst_vir_w of ipp request must be setted.
authorzyc <zyc@rock-chips.com>
Tue, 26 Jul 2011 08:01:08 +0000 (01:01 -0700)
committerzyc <zyc@rock-chips.com>
Tue, 26 Jul 2011 08:01:08 +0000 (01:01 -0700)
drivers/video/rk29_fb.c [changed mode: 0755->0644]

old mode 100755 (executable)
new mode 100644 (file)
index ec35995..a2eb88e
@@ -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;