video: driver: optimize buffer pool implementation
- Maintain free & busy pool to track buffers separately - track double-free cases during msm_memory_free() - track memory leak, by checking busy pool buffer count. it is expected to be zero at the end of a session. - maintain common api's to init, alloc, free, destroy for all below buffer types. - struct msm_vidc_buffer - struct msm_vidc_alloc - struct msm_vidc_map - struct msm_vidc_timestamp. Change-Id: Ib8655047c3883ea6601344661058d7a629ffd5bd Signed-off-by: Govindaraj Rajagopal <grajagop@codeaurora.org>
This commit is contained in:
@@ -290,18 +290,6 @@ int msm_vidc_release_internal_buffers(struct msm_vidc_inst *inst,
|
||||
enum msm_vidc_buffer_type buffer_type);
|
||||
int msm_vidc_vb2_buffer_done(struct msm_vidc_inst *inst,
|
||||
struct msm_vidc_buffer *buf);
|
||||
struct msm_vidc_buffer *msm_vidc_get_vidc_buffer(struct msm_vidc_inst *inst);
|
||||
struct msm_vidc_alloc *msm_vidc_get_alloc_buffer(struct msm_vidc_inst *inst);
|
||||
struct msm_vidc_map *msm_vidc_get_map_buffer(struct msm_vidc_inst *inst);
|
||||
struct msm_vidc_timestamp *msm_vidc_get_ts(struct msm_vidc_inst *inst);
|
||||
int msm_vidc_put_vidc_buffer(struct msm_vidc_inst *inst, struct msm_vidc_buffer *buf);
|
||||
int msm_vidc_put_alloc_buffer(struct msm_vidc_inst *inst, struct msm_vidc_alloc *alloc);
|
||||
int msm_vidc_put_map_buffer(struct msm_vidc_inst *inst, struct msm_vidc_map *map);
|
||||
int msm_vidc_put_ts(struct msm_vidc_inst *inst, struct msm_vidc_timestamp *ts);
|
||||
int msm_vidc_destroy_vidc_buffer(struct msm_vidc_inst *inst);
|
||||
int msm_vidc_destroy_alloc_buffer(struct msm_vidc_inst *inst);
|
||||
int msm_vidc_destroy_map_buffer(struct msm_vidc_inst *inst);
|
||||
int msm_vidc_destroy_ts(struct msm_vidc_inst *inst);
|
||||
int msm_vidc_remove_session(struct msm_vidc_inst *inst);
|
||||
int msm_vidc_add_session(struct msm_vidc_inst *inst);
|
||||
int msm_vidc_session_open(struct msm_vidc_inst *inst);
|
||||
|
Reference in New Issue
Block a user