msm: camera: isp: Re-apply Bubble request
In certain scenario Buf_done failures are observed for the request which is in bubble state. Since we never get bufdone we inadvertently are stuck in Bubble state. This change will wait for a period of two frames to receive bufdone and recover from bubble state. If any bufdone IRQ is never generated within this time period, we remove the request from active list and add it back to pending request list. CRs-Fixed: 2506159 Change-Id: Ibcce21a1a87d0a64e49c6454391ca139fc7d1fa7 Signed-off-by: Vishalsingh Hajeri <vhajeri@codeaurora.org>
This commit is contained in:

committed by
Gerrit - the friendly Code Review server

parent
8c91109b74
commit
5c2bb43241
@@ -156,6 +156,7 @@ struct cam_isp_context_state_monitor {
|
||||
* @substate_actiavted: Current substate for the activated state.
|
||||
* @process_bubble: Atomic variable to check if ctx is still
|
||||
* processing bubble.
|
||||
* @bubble_frame_cnt: Count number of frames since the req is in bubble
|
||||
* @substate_machine: ISP substate machine for external interface
|
||||
* @substate_machine_irq: ISP substate machine for irq handling
|
||||
* @req_base: Common request object storage
|
||||
@@ -184,6 +185,7 @@ struct cam_isp_context {
|
||||
int64_t frame_id;
|
||||
uint32_t substate_activated;
|
||||
atomic_t process_bubble;
|
||||
uint32_t bubble_frame_cnt;
|
||||
struct cam_ctx_ops *substate_machine;
|
||||
struct cam_isp_ctx_irq_ops *substate_machine_irq;
|
||||
|
||||
|
Reference in New Issue
Block a user