Loading drivers/media/platform/msm/vidc/msm_vidc_common.c +6 −0 Original line number Diff line number Diff line Loading @@ -775,6 +775,7 @@ static void handle_sys_error(enum command_response cmd, void *data) mutex_lock(&core->lock); core->state = VIDC_CORE_INVALID; mutex_unlock(&core->lock); mutex_lock(&core->sync_lock); list_for_each_entry(inst, &core->instances, list) { mutex_lock(&inst->lock); Loading @@ -796,6 +797,7 @@ static void handle_sys_error(enum command_response cmd, void *data) msm_vidc_queue_v4l2_event(inst, V4L2_EVENT_MSM_VIDC_SYS_ERROR); } mutex_unlock(&core->sync_lock); } else { dprintk(VIDC_ERR, "Got SYS_ERR but unable to identify core"); Loading Loading @@ -823,6 +825,7 @@ static void handle_sys_watchdog_timeout(enum command_response cmd, void *data) mutex_lock(&core->lock); core->state = VIDC_CORE_INVALID; mutex_unlock(&core->lock); mutex_lock(&core->sync_lock); list_for_each_entry(inst, &core->instances, list) { if (inst) { msm_vidc_queue_v4l2_event(inst, Loading @@ -844,6 +847,7 @@ static void handle_sys_watchdog_timeout(enum command_response cmd, void *data) mutex_unlock(&inst->lock); } } mutex_unlock(&core->sync_lock); } static void handle_session_close(enum command_response cmd, void *data) Loading Loading @@ -3244,10 +3248,12 @@ static int msm_vidc_load_supported(struct msm_vidc_inst *inst) int num_mbs_per_sec = 0; if (inst->state == MSM_VIDC_OPEN_DONE) { mutex_lock(&inst->core->sync_lock); num_mbs_per_sec = msm_comm_get_load(inst->core, MSM_VIDC_DECODER); num_mbs_per_sec += msm_comm_get_load(inst->core, MSM_VIDC_ENCODER); mutex_unlock(&inst->core->sync_lock); if (num_mbs_per_sec > inst->core->resources.max_load) { dprintk(VIDC_ERR, "H/w is overloaded. needed: %d max: %d\n", Loading Loading
drivers/media/platform/msm/vidc/msm_vidc_common.c +6 −0 Original line number Diff line number Diff line Loading @@ -775,6 +775,7 @@ static void handle_sys_error(enum command_response cmd, void *data) mutex_lock(&core->lock); core->state = VIDC_CORE_INVALID; mutex_unlock(&core->lock); mutex_lock(&core->sync_lock); list_for_each_entry(inst, &core->instances, list) { mutex_lock(&inst->lock); Loading @@ -796,6 +797,7 @@ static void handle_sys_error(enum command_response cmd, void *data) msm_vidc_queue_v4l2_event(inst, V4L2_EVENT_MSM_VIDC_SYS_ERROR); } mutex_unlock(&core->sync_lock); } else { dprintk(VIDC_ERR, "Got SYS_ERR but unable to identify core"); Loading Loading @@ -823,6 +825,7 @@ static void handle_sys_watchdog_timeout(enum command_response cmd, void *data) mutex_lock(&core->lock); core->state = VIDC_CORE_INVALID; mutex_unlock(&core->lock); mutex_lock(&core->sync_lock); list_for_each_entry(inst, &core->instances, list) { if (inst) { msm_vidc_queue_v4l2_event(inst, Loading @@ -844,6 +847,7 @@ static void handle_sys_watchdog_timeout(enum command_response cmd, void *data) mutex_unlock(&inst->lock); } } mutex_unlock(&core->sync_lock); } static void handle_session_close(enum command_response cmd, void *data) Loading Loading @@ -3244,10 +3248,12 @@ static int msm_vidc_load_supported(struct msm_vidc_inst *inst) int num_mbs_per_sec = 0; if (inst->state == MSM_VIDC_OPEN_DONE) { mutex_lock(&inst->core->sync_lock); num_mbs_per_sec = msm_comm_get_load(inst->core, MSM_VIDC_DECODER); num_mbs_per_sec += msm_comm_get_load(inst->core, MSM_VIDC_ENCODER); mutex_unlock(&inst->core->sync_lock); if (num_mbs_per_sec > inst->core->resources.max_load) { dprintk(VIDC_ERR, "H/w is overloaded. needed: %d max: %d\n", Loading