camera rk30 : fix erro when reinit work.
authorroot <root@zyc-desktop.(none)>
Sun, 1 Apr 2012 10:21:38 +0000 (18:21 +0800)
committerroot <root@zyc-desktop.(none)>
Sun, 1 Apr 2012 10:22:07 +0000 (18:22 +0800)
drivers/media/video/rk30_camera_oneframe.c

index 2ba591bd8a2b923da4a714f43ed411999518d2a9..70f6e8b372a1d95a4cda498de0b225868f33cc04 100755 (executable)
@@ -570,7 +570,8 @@ static void rk_camera_capture_process(struct work_struct *work)
 
     ipp_req.timeout = 100;
     ipp_req.flag = IPP_ROT_0; 
-   // ipp_req.store_clip_mode =1;
+ //   if(pcdev->icd->user_width != pcdev->zoominfo.vir_width)
+ //       ipp_req.store_clip_mode =1;
     ipp_req.src0.w = pcdev->zoominfo.a.c.width/scale_times;
     ipp_req.src0.h = pcdev->zoominfo.a.c.height/scale_times;
     //ipp_req.src_vir_w = pcdev->zoominfo.a.c.width; 
@@ -1272,7 +1273,7 @@ static int rk_camera_set_fmt(struct soc_camera_device *icd,
     
     /* ddl@rock-chips.com: sensor init code transmit in here after open */
     if (pcdev->icd_init == 0) {
-        v4l2_subdev_call(sd,core, init, (u32)pcdev->pdata);        
+        v4l2_subdev_call(sd,core, init, 0);        
         pcdev->icd_init = 1;
     }
     stream_on = read_cif_reg(pcdev->base,CIF_CIF_CTRL);
@@ -1917,6 +1918,7 @@ static int rk_camera_set_digit_zoom(struct soc_camera_device *icd,
     if (CAM_IPPWORK_IS_EN() && (stream_on & ENABLE_CAPTURE)){
         for(;work_index < pcdev->camera_work_count;work_index++)
             flush_work(&((pcdev->camera_work + work_index)->work));
+               pcdev->frame_inval = RK_CAM_FRAME_INVAL_DC;
         }
        //printk("host_left = %d , host_top = %d\n",pcdev->host_left,pcdev->host_top);