video: driver: restructure video state machine

Re-structure video driver statemachine to use
event handler. Added event handler support for
event states.

Added change to handle event depending on the
underlying state implementation.

Change-Id: Ib55c12c6cadc4d780797a5aee75d5ea61e95c94f
Signed-off-by: Govindaraj Rajagopal <quic_grajagop@quicinc.com>
This commit is contained in:
Govindaraj Rajagopal
2022-11-25 21:28:41 +05:30
orang tua 68df0645ec
melakukan 7c365bdb94
19 mengubah file dengan 1174 tambahan dan 458 penghapusan

Melihat File

@@ -35,14 +35,15 @@ int msm_vb2_map_dmabuf(void *buf_priv);
void msm_vb2_unmap_dmabuf(void *buf_priv);
/* vb2_ops */
int msm_vidc_queue_setup(struct vb2_queue *q,
int msm_vb2_queue_setup(struct vb2_queue *q,
unsigned int *num_buffers, unsigned int *num_planes,
unsigned int sizes[], struct device *alloc_devs[]);
int msm_vidc_start_streaming(struct vb2_queue *q, unsigned int count);
void msm_vidc_stop_streaming(struct vb2_queue *q);
void msm_vidc_buf_queue(struct vb2_buffer *vb2);
void msm_vidc_buf_cleanup(struct vb2_buffer *vb);
int msm_vidc_buf_out_validate(struct vb2_buffer *vb);
void msm_vidc_buf_request_complete(struct vb2_buffer *vb);
int msm_vidc_start_streaming(struct msm_vidc_inst *inst, struct vb2_queue *q);
int msm_vidc_stop_streaming(struct msm_vidc_inst *inst, struct vb2_queue *q);
int msm_vb2_start_streaming(struct vb2_queue *q, unsigned int count);
void msm_vb2_stop_streaming(struct vb2_queue *q);
void msm_vb2_buf_queue(struct vb2_buffer *vb2);
void msm_vb2_buf_cleanup(struct vb2_buffer *vb);
int msm_vb2_buf_out_validate(struct vb2_buffer *vb);
void msm_vb2_request_complete(struct vb2_buffer *vb);
#endif // _MSM_VIDC_VB2_H_