osd: call osd_update_enable directly if osd cursor [1/1]
authorpengcheng chen <pengcheng.chen@amlogic.com>
Mon, 3 Dec 2018 06:09:00 +0000 (14:09 +0800)
committerLuan Yuan <luan.yuan@amlogic.com>
Tue, 4 Dec 2018 02:29:49 +0000 (10:29 +0800)
PD#SWPL-2744

Problem:
osd mouse can't see before platform g12a

Solution:
call osd_update_enable directly if osd cursor

Verify:
verify by p212

Change-Id: Ia8488a5bd0f707de2a02aa2b74e4a07582ef7f60
Signed-off-by: pengcheng chen <pengcheng.chen@amlogic.com>
drivers/amlogic/media/osd/osd_hw.c

index f23fbc1..cb84eea 100644 (file)
@@ -1259,15 +1259,20 @@ void osd_set_enable_hw(u32 index, u32 enable)
        if (osd_hw.hwc_enable) {
                if (index > OSD_MAX)
                        return;
+               if ((osd_hw.osd_meson_dev.osd_ver < OSD_HIGH_ONE)
+                       && (index == OSD2))
+                       osd_enable_hw(index, enable);
+               else {
 #ifdef CONFIG_AMLOGIC_MEDIA_FB_OSD_SYNC_FENCE
-               mutex_lock(&post_fence_list_lock);
-               map_layers.layer_map[index].fb_index = index;
-               map_layers.layer_map[index].enable = enable;
-               map_layers.cmd = BLANK_CMD;
-               mutex_unlock(&post_fence_list_lock);
-               osd_log_dbg("osd_set_enable_hw: osd%d,enable=%d\n",
-                       index, enable);
+                       mutex_lock(&post_fence_list_lock);
+                       map_layers.layer_map[index].fb_index = index;
+                       map_layers.layer_map[index].enable = enable;
+                       map_layers.cmd = BLANK_CMD;
+                       mutex_unlock(&post_fence_list_lock);
+                       osd_log_dbg("osd_set_enable_hw: osd%d,enable=%d\n",
+                               index, enable);
 #endif
+               }
        } else
                osd_enable_hw(index, enable);
 }