diff options
author | Gary Fitzer <gfitzer@nvidia.com> | 2014-02-13 12:57:51 -0800 |
---|---|---|
committer | Bharat Nihalani <bnihalani@nvidia.com> | 2014-03-05 00:18:15 -0800 |
commit | a85e28eade8ccf36c75f9b81cf9edc8223d3f167 (patch) | |
tree | c6c1a551323e8aa6276c716994043aecaf5e5f04 /include/media | |
parent | fa0784a13a3e08f64a50513b411380f5d43cd349 (diff) |
media: tegra: i2c frame interrupt callback
Switch focuser position writes to a synchronize mechanism
with isp frame triggers to improve auto focusing algorithms.
Bug 1441127.
Change-Id: I323e997aed6412b5b4719a16727d1d14c9d29adc
Signed-off-by: Gary Fitzer <gfitzer@nvidia.com>
Reviewed-on: http://git-master/r/374485
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
Diffstat (limited to 'include/media')
-rw-r--r-- | include/media/camera.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/include/media/camera.h b/include/media/camera.h index 6727c8e803e8..1ae0e06227eb 100644 --- a/include/media/camera.h +++ b/include/media/camera.h @@ -188,6 +188,7 @@ struct cam_device_layout { #define NUM_OF_SEQSTACK 16 #define SIZEOF_I2C_BUF 32 +#define CAMERA_REGCACHE_MAX (128) struct camera_device; @@ -261,8 +262,24 @@ struct camera_chip { struct cam_update *upd, int num); }; +struct camera_sync_dev { + char name[CAMERA_MAX_NAME_LENGTH]; + struct regmap *regmap; + struct camera_reg reg[CAMERA_REGCACHE_MAX]; + u32 num_used; + struct list_head list; +}; + extern int camera_chip_add(struct camera_chip *chip); +int camera_dev_sync_init(void); +void camera_dev_sync_cb(void *stub); +extern int camera_dev_sync_clear(struct camera_sync_dev *csyncdev); +extern int camera_dev_sync_wr_add( + struct camera_sync_dev *csyncdev, u32 offset, u32 val); +extern int camera_dev_add_regmap( + struct camera_sync_dev **csyncdev, u8 *name, struct regmap *regmap); + #ifdef CAMERA_DEVICE_INTERNAL struct camera_info { |