Merge "video: driver: new workhandler for inst events"
This commit is contained in:

committed by
Gerrit - the friendly Code Review server

commit
f6936f65e8
@@ -60,6 +60,18 @@ enum msm_vidc_core_state {
|
||||
MSM_VIDC_CORE_ERROR = 2,
|
||||
};
|
||||
|
||||
enum work_type {
|
||||
MSM_VIDC_INST_WORK_PSC = 1,
|
||||
};
|
||||
|
||||
struct work_header {
|
||||
void *data;
|
||||
struct list_head list;
|
||||
enum work_type type;
|
||||
u32 session_id;
|
||||
u32 data_size;
|
||||
};
|
||||
|
||||
struct msm_vidc_core {
|
||||
struct platform_device *pdev;
|
||||
struct msm_video_device vdev[2];
|
||||
@@ -108,6 +120,9 @@ struct msm_vidc_core {
|
||||
u32 header_id;
|
||||
u32 packet_id;
|
||||
struct completion init_done;
|
||||
struct list_head inst_works; /* list of struct work_header */
|
||||
struct delayed_work inst_work;
|
||||
struct workqueue_struct *inst_workq;
|
||||
};
|
||||
|
||||
#endif // _MSM_VIDC_CORE_H_
|
||||
|
@@ -179,6 +179,8 @@ int v4l2_type_to_driver_port(struct msm_vidc_inst *inst, u32 type,
|
||||
const char *func);
|
||||
int msm_vidc_change_inst_state(struct msm_vidc_inst *inst,
|
||||
enum msm_vidc_inst_state state, const char *func);
|
||||
int msm_vidc_get_input_internal_buffers(struct msm_vidc_inst *inst,
|
||||
enum msm_vidc_buffer_type buffer_type);
|
||||
int msm_vidc_create_internal_buffers(struct msm_vidc_inst *inst,
|
||||
enum msm_vidc_buffer_type buffer_type);
|
||||
int msm_vidc_queue_internal_buffers(struct msm_vidc_inst *inst,
|
||||
|
@@ -705,6 +705,7 @@ struct msm_vidc_buffers {
|
||||
u32 extra_count;
|
||||
u32 actual_count;
|
||||
u32 size;
|
||||
bool reuse;
|
||||
};
|
||||
|
||||
struct msm_vidc_ssr {
|
||||
|
@@ -71,6 +71,7 @@ int venus_hfi_scale_buses(struct msm_vidc_inst* inst, u64 bw_ddr, u64 bw_llcc);
|
||||
|
||||
void venus_hfi_work_handler(struct work_struct *work);
|
||||
void venus_hfi_pm_work_handler(struct work_struct *work);
|
||||
void venus_hfi_inst_work_handler(struct work_struct *work);
|
||||
irqreturn_t venus_hfi_isr(int irq, void *data);
|
||||
|
||||
void __write_register(struct msm_vidc_core *core,
|
||||
|
Viittaa uudesa ongelmassa
Block a user