mirror of
https://github.com/hardkernel/linux.git
synced 2026-03-25 03:50:24 +09:00
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:
@@ -34,6 +34,8 @@ struct {
|
||||
TAG_INFO(TSYNC),
|
||||
TAG_INFO(IONVIDEO),
|
||||
TAG_INFO(AMLVIDEO),
|
||||
TAG_INFO(VIDEO_COMPOSER),
|
||||
TAG_INFO(V4L2),
|
||||
{ NULL, 0 }
|
||||
};
|
||||
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user