msm: camera: reqmgr: Add provision to obtain exposure time
Currently CRM watchdog timer expiry is fixed at 1 second. This will not hold good if the sensor exposure time is increased beyond 1 second. In such situations obtain the time from userspace, and modify the CRM watchdog timer accordingly. CRs-Fixed: 2530691 Change-Id: I6251bcb2b915a9e317caffd350220e249214c8b2 Signed-off-by: Karthik Anantha Ram <kartanan@codeaurora.org> Signed-off-by: Mukund Madhusudan Atre <matre@codeaurora.org>
This commit is contained in:

committed by
Gerrit - the friendly Code Review server

parent
e2085ffb7f
commit
17ea11cdec
@@ -183,6 +183,11 @@ struct cam_req_mgr_flush_info {
|
|||||||
* @bubble_enable: Input Param - Cam req mgr will do bubble recovery if this
|
* @bubble_enable: Input Param - Cam req mgr will do bubble recovery if this
|
||||||
* flag is set.
|
* flag is set.
|
||||||
* @sync_mode: Type of Sync mode for this request
|
* @sync_mode: Type of Sync mode for this request
|
||||||
|
* @additional_timeout: Additional timeout value (in ms) associated with
|
||||||
|
* this request. This value needs to be 0 in cases where long exposure is
|
||||||
|
* not configured for the sensor.The max timeout that will be supported
|
||||||
|
* is 50000 ms
|
||||||
|
* @reserved: Reserved
|
||||||
* @req_id: Input Param - Request Id from which all requests will be flushed
|
* @req_id: Input Param - Request Id from which all requests will be flushed
|
||||||
*/
|
*/
|
||||||
struct cam_req_mgr_sched_request {
|
struct cam_req_mgr_sched_request {
|
||||||
@@ -190,6 +195,8 @@ struct cam_req_mgr_sched_request {
|
|||||||
int32_t link_hdl;
|
int32_t link_hdl;
|
||||||
int32_t bubble_enable;
|
int32_t bubble_enable;
|
||||||
int32_t sync_mode;
|
int32_t sync_mode;
|
||||||
|
int32_t additional_timeout;
|
||||||
|
int32_t reserved;
|
||||||
int64_t req_id;
|
int64_t req_id;
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -406,11 +413,13 @@ struct cam_mem_cache_ops_cmd {
|
|||||||
* @CAM_REQ_MGR_ERROR_TYPE_REQUEST: Error on a single request, not fatal
|
* @CAM_REQ_MGR_ERROR_TYPE_REQUEST: Error on a single request, not fatal
|
||||||
* @CAM_REQ_MGR_ERROR_TYPE_BUFFER: Buffer was not filled, not fatal
|
* @CAM_REQ_MGR_ERROR_TYPE_BUFFER: Buffer was not filled, not fatal
|
||||||
* @CAM_REQ_MGR_ERROR_TYPE_RECOVERY: Fatal error, can be recovered
|
* @CAM_REQ_MGR_ERROR_TYPE_RECOVERY: Fatal error, can be recovered
|
||||||
|
* @CAM_REQ_MGR_ERROR_TYPE_SOF_FREEZE: SOF freeze, can be recovered
|
||||||
*/
|
*/
|
||||||
#define CAM_REQ_MGR_ERROR_TYPE_DEVICE 0
|
#define CAM_REQ_MGR_ERROR_TYPE_DEVICE 0
|
||||||
#define CAM_REQ_MGR_ERROR_TYPE_REQUEST 1
|
#define CAM_REQ_MGR_ERROR_TYPE_REQUEST 1
|
||||||
#define CAM_REQ_MGR_ERROR_TYPE_BUFFER 2
|
#define CAM_REQ_MGR_ERROR_TYPE_BUFFER 2
|
||||||
#define CAM_REQ_MGR_ERROR_TYPE_RECOVERY 3
|
#define CAM_REQ_MGR_ERROR_TYPE_RECOVERY 3
|
||||||
|
#define CAM_REQ_MGR_ERROR_TYPE_SOF_FREEZE 4
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* struct cam_req_mgr_error_msg
|
* struct cam_req_mgr_error_msg
|
||||||
|
Reference in New Issue
Block a user