diff --git a/drivers/amlogic/debug/meson_atrace.c b/drivers/amlogic/debug/meson_atrace.c index 28fe0694e177..f43c89a2399d 100644 --- a/drivers/amlogic/debug/meson_atrace.c +++ b/drivers/amlogic/debug/meson_atrace.c @@ -34,6 +34,8 @@ struct { TAG_INFO(TSYNC), TAG_INFO(IONVIDEO), TAG_INFO(AMLVIDEO), + TAG_INFO(VIDEO_COMPOSER), + TAG_INFO(V4L2), { NULL, 0 } }; diff --git a/drivers/amlogic/media/osd/osd_hw.c b/drivers/amlogic/media/osd/osd_hw.c index f88a4546bec0..d8581e8902a6 100644 --- a/drivers/amlogic/media/osd/osd_hw.c +++ b/drivers/amlogic/media/osd/osd_hw.c @@ -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", diff --git a/drivers/staging/android/ion/ion.c b/drivers/staging/android/ion/ion.c index ca3ecd797d1e..3e77167d75fe 100644 --- a/drivers/staging/android/ion/ion.c +++ b/drivers/staging/android/ion/ion.c @@ -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; diff --git a/include/trace/events/meson_atrace.h b/include/trace/events/meson_atrace.h index ec5d50255c95..cb277a4f28d6 100644 --- a/include/trace/events/meson_atrace.h +++ b/include/trace/events/meson_atrace.h @@ -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 };