v4l2: drop frames [1/3]

PD#SWPL-17328

Problem:
drop frames

Solution:
1. add trace for debug
2. less than 256K, do not use codec_mm allocation
3. osd fence crash

Verify:
local

Change-Id: Ibc0fe63b73cf20359bda1d743dfc6a14dc82c03f
Signed-off-by: rongrong zhou <rongrong.zhou@amlogic.com>
This commit is contained in:
rongrong zhou
2019-12-13 14:14:30 +08:00
committed by Chris
parent af0f5ac26f
commit 68f65aeaa4
4 changed files with 10 additions and 0 deletions

View File

@@ -34,6 +34,8 @@ struct {
TAG_INFO(TSYNC),
TAG_INFO(IONVIDEO),
TAG_INFO(AMLVIDEO),
TAG_INFO(VIDEO_COMPOSER),
TAG_INFO(V4L2),
{ NULL, 0 }
};

View File

@@ -1530,6 +1530,9 @@ static int osd_wait_buf_ready_combine(struct layer_fence_map_s *layer_map)
if (layer_map->in_fd <= 0)
return -1;
buf_ready_fence = layer_map->in_fence;
if (buf_ready_fence == NULL) {
return -1;/* no fence ,output directly. */
}
ret = osd_wait_fenceobj(buf_ready_fence, 4000);
if (ret < 0)
osd_log_err("osd%d: Sync Fence wait error:%d\n",

View File

@@ -433,6 +433,9 @@ struct ion_handle *ion_alloc(struct ion_client *client, size_t len,
/* if the caller didn't specify this heap id */
if (!((1 << heap->id) & heap_id_mask))
continue;
if (len < SZ_256K && heap->id == ION_HEAP_TYPE_CUSTOM &&
heap_id_mask == -1)
continue;
buffer = ion_buffer_create(heap, dev, len, align, flags);
if (!IS_ERR(buffer))
break;

View File

@@ -44,6 +44,8 @@ enum {
KERNEL_ATRACE_TAG_TSYNC,
KERNEL_ATRACE_TAG_IONVIDEO,
KERNEL_ATRACE_TAG_AMLVIDEO,
KERNEL_ATRACE_TAG_VIDEO_COMPOSER,
KERNEL_ATRACE_TAG_V4L2,
KERNEL_ATRACE_TAG_MAX = 64,
KERNEL_ATRACE_TAG_ALL
};