diff options
Diffstat (limited to 'drivers/media/video/s5k5ccgx.h')
-rw-r--r-- | drivers/media/video/s5k5ccgx.h | 38 |
1 files changed, 22 insertions, 16 deletions
diff --git a/drivers/media/video/s5k5ccgx.h b/drivers/media/video/s5k5ccgx.h index 09657b7..a8ac24c 100644 --- a/drivers/media/video/s5k5ccgx.h +++ b/drivers/media/video/s5k5ccgx.h @@ -245,6 +245,15 @@ struct s5k5ccgx_framesize { #define FRM_RATIO(framesize) \ (((framesize)->width) * 10 / ((framesize)->height)) +struct s5k5ccgx_interval { + struct timeval curr_time; + struct timeval before_time; +}; + +#define GET_ELAPSED_TIME(cur, before) \ + (((cur).tv_sec - (before).tv_sec) * USEC_PER_SEC \ + + ((cur).tv_usec - (before).tv_usec)) + struct s5k5ccgx_fps { u32 index; u32 fps; @@ -312,6 +321,8 @@ struct s5k5ccgx_gps_info { }; struct s5k5ccgx_focus { + struct s5k5ccgx_interval win_stable; + enum v4l2_focusmode mode; enum af_result_status status; enum preflash_status preflash; @@ -323,7 +334,8 @@ struct s5k5ccgx_focus { u32 ae_lock:1; u32 awb_lock:1; u32 touch:1; - u32 af_cancel:1; + u32 reset_done:1; + u32 cancel:1; }; struct s5k5ccgx_exif { @@ -337,8 +349,8 @@ struct s5k5ccgx_exif { /* EXIF - flash filed */ #define EXIF_FLASH_FIRED (0x01) -#define EXIF_FLASH_MODE_FIRING (0x01) -#define EXIF_FLASH_MODE_SUPPRESSION (0x01 << 1) +#define EXIF_FLASH_MODE_FIRING (0x01 << 3) +#define EXIF_FLASH_MODE_SUPPRESSION (0x02 << 3) #define EXIF_FLASH_MODE_AUTO (0x03 << 3) struct s5k5ccgx_regset { @@ -346,15 +358,6 @@ struct s5k5ccgx_regset { u8 *data; }; -struct s5k5ccgx_stream_time { - struct timeval curr_time; - struct timeval before_time; -}; - -#define GET_ELAPSED_TIME(cur, before) \ - (((cur).tv_sec - (before).tv_sec) * USEC_PER_SEC \ - + ((cur).tv_usec - (before).tv_usec)) - #ifdef CONFIG_LOAD_FILE #define DEBUG_WRITE_REGS struct s5k5ccgx_regset_table { @@ -476,7 +479,7 @@ struct s5k5ccgx_state { #if !defined(FEATURE_YUV_CAPTURE) struct s5k5ccgx_jpeg_param jpeg; #endif - struct s5k5ccgx_stream_time stream_time; + struct s5k5ccgx_interval stream_time; const struct s5k5ccgx_regs *regs; struct mutex ctrl_lock; struct mutex af_lock; @@ -555,9 +558,12 @@ static inline void debug_msleep(struct v4l2_subdev *sd, u32 msecs) #define FLASH_LOW_LIGHT_LEVEL 0x4A #endif /* CONFIG_VIDEO_S5K5CCGX_P2 */ -#define FIRST_AF_SEARCH_COUNT 80 -#define SECOND_AF_SEARCH_COUNT 80 -#define AE_STABLE_SEARCH_COUNT 7 /* 4->7. but ae-unstable still occurs. */ +#define FIRST_AF_SEARCH_COUNT 220 +#define SECOND_AF_SEARCH_COUNT 220 +#define AE_STABLE_SEARCH_COUNT 22 + +#define AF_SEARCH_DELAY 33 +#define AE_STABLE_SEARCH_DELAY 33 /* Sensor AF first,second window size. * we use constant values intead of reading sensor register */ |