diff --git a/drivers/amlogic/display/osd/osd_hw.c b/drivers/amlogic/display/osd/osd_hw.c index 82af2cc23f9866..c34c3bc2619f28 100644 --- a/drivers/amlogic/display/osd/osd_hw.c +++ b/drivers/amlogic/display/osd/osd_hw.c @@ -1484,8 +1484,9 @@ void osd_pan_display_hw(unsigned int xoffset, unsigned int yoffset,int index ) osd_hw.pandata[index].x_end += diff_x; osd_hw.pandata[index].y_start += diff_y; osd_hw.pandata[index].y_end += diff_y; -#if 0 + add_to_update_list(index,DISP_GEOMETRY); +#if 0 #ifdef CONFIG_AM_FB_EXT osd_ext_clone_pan(index); diff --git a/drivers/amlogic/display/osd/osd_main.c b/drivers/amlogic/display/osd/osd_main.c index cb2ec31d818c16..d11cf7e00aadad 100644 --- a/drivers/amlogic/display/osd/osd_main.c +++ b/drivers/amlogic/display/osd/osd_main.c @@ -53,6 +53,11 @@ #include #ifdef CONFIG_HAS_EARLYSUSPEND #include + +// This is not in osd_hw.h private or public header +void osd_wait_vsync_hw(void); + + static struct early_suspend early_suspend; static int early_suspend_flag = 0; #endif @@ -381,6 +386,14 @@ osd_ioctl(struct fb_info *info, unsigned int cmd, ret = osddev_copy_data_tocursor(fbdev, ¶); } break; + + case FBIO_WAITFORVSYNC: + { + osd_wait_vsync_hw(); + ret = 0; + } + break; + default : amlog_mask_level(LOG_MASK_IOCTL,LOG_LEVEL_HIGH,"command not supported\r\n "); return -1;