From: Jian Cao Date: Mon, 24 Jun 2019 11:04:18 +0000 (+0800) Subject: osd: modify VPP_OSD_SC_DUMMY_DATA alpha conditions [1/1] X-Git-Tag: hardkernel-4.9.236-104~1022 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=2b44f29a9d7fe2ad761b96494bb3080cb9f50e42;p=platform%2Fkernel%2Flinux-amlogic.git osd: modify VPP_OSD_SC_DUMMY_DATA alpha conditions [1/1] PD#TV-6994 Problem: When ATV Mode has no signal the bright line interference at the bottom Solution: modify VPP_OSD_SC_DUMMY_DATA alpha value Verify: verified on txlx-r311 Change-Id: Icc5039f80bd794ed5adb98e22fbf41f52758ef83 Signed-off-by: Jian Cao --- diff --git a/drivers/amlogic/media/osd/osd_hw.c b/drivers/amlogic/media/osd/osd_hw.c index a6f003c..cd3819c 100644 --- a/drivers/amlogic/media/osd/osd_hw.c +++ b/drivers/amlogic/media/osd/osd_hw.c @@ -2789,7 +2789,8 @@ void osd_set_free_scale_enable_hw(u32 index, u32 enable) osd_hw.free_dst_data[index].y_start + 1; height_src = osd_hw.free_src_data[index].y_end - osd_hw.free_src_data[index].y_start + 1; - if (height_dst != height_src) + if (height_dst != height_src && + osd_hw.free_dst_data[index].y_end < 2159) osd_set_dummy_data(index, 0); else osd_set_dummy_data(index, 0xff); @@ -4180,8 +4181,9 @@ static bool osd_direct_compose_pan_display(struct osd_fence_map_s *fence_map) sizeof(struct pandata_s)); freescale_update = true; - if ((height_dst != height_src) || - (width_dst != width_src)) + if (((height_dst != height_src) || + (width_dst != width_src)) && + osd_hw.free_dst_data[index].y_end < 2159) osd_set_dummy_data(index, 0); else osd_set_dummy_data(index, 0xff); @@ -6817,7 +6819,8 @@ static void osd_set_freescale(u32 index, osd_hw.free_src_data[index].x_start + 1; if ((osd_hw.osd_meson_dev.cpu_id == __MESON_CPU_MAJOR_ID_G12A) && - (height != src_height)) + (height != src_height) && + osd_hw.free_dst_data[index].y_end < 2159) osd_set_dummy_data(index, 0); else osd_set_dummy_data(index, 0xff); @@ -8478,7 +8481,8 @@ static bool set_old_hwc_freescale(u32 index) osd_hw.free_dst_data[index].y_start + 1; height_src = osd_hw.free_src_data[index].y_end - osd_hw.free_src_data[index].y_start + 1; - if (height_dst != height_src) + if (height_dst != height_src && + osd_hw.free_dst_data[index].y_end < 2159) osd_set_dummy_data(index, 0); else osd_set_dummy_data(index, 0xff); @@ -10487,8 +10491,9 @@ static bool osd_direct_render(struct osd_plane_map_s *plane_map) osd_hw.free_dst_data[index].y_end - osd_hw.free_dst_data[index].y_start + 1; - if ((height_dst != height_src) || - (width_dst != width_src)) + if (((height_dst != height_src) || + (width_dst != width_src)) && + osd_hw.free_dst_data[index].y_end < 2159) osd_set_dummy_data(index, 0); else osd_set_dummy_data(index, 0xff);