Samsung VZW MB1 update
/drivers/video/msm/vidc/common/vcd/vcd_sub.c
blob:759989d305577b554cc865da7134246c0e3cf048 -> blob:54735b35849463f9b43e257054805cf622b47b04
--- drivers/video/msm/vidc/common/vcd/vcd_sub.c
+++ drivers/video/msm/vidc/common/vcd/vcd_sub.c
@@ -782,7 +782,11 @@ u32 vcd_free_one_buffer_internal(
buf_pool->allocated--;
}
- memset(buf_entry, 0, sizeof(struct vcd_buffer_entry));
+ buf_entry->valid = buf_entry->allocated = buf_entry->in_use = 0;
+ buf_entry->alloc = buf_entry->virtual = buf_entry->physical = NULL;
+ buf_entry->sz = 0;
+ memset(&buf_entry->frame, 0, sizeof(struct vcd_frame_data));
+
buf_pool->validated--;
if (buf_pool->validated == 0)
vcd_free_buffer_pool_entries(buf_pool);
@@ -3034,6 +3038,7 @@ u32 vcd_req_perf_level(
{
u32 rc;
u32 res_trk_perf_level;
+ u32 turbo_perf_level;
if (!perf_level) {
VCD_MSG_ERROR("Invalid parameters\n");
return -EINVAL;
@@ -3043,10 +3048,13 @@ u32 vcd_req_perf_level(
rc = -ENOTSUPP;
goto perf_level_not_supp;
}
+ turbo_perf_level = get_res_trk_perf_level(VCD_PERF_LEVEL_TURBO);
rc = vcd_set_perf_level(cctxt->dev_ctxt, res_trk_perf_level);
if (!rc) {
cctxt->reqd_perf_lvl = res_trk_perf_level;
cctxt->perf_set_by_client = 1;
+ if (res_trk_perf_level == turbo_perf_level)
+ cctxt->is_turbo_enabled = true;
}
perf_level_not_supp:
return rc;