do not commit when there is no vblank data 43/207843/2
authorSooChan Lim <sc1.lim@samsung.com>
Thu, 13 Jun 2019 07:21:10 +0000 (16:21 +0900)
committerSooChan Lim <sc1.lim@samsung.com>
Mon, 17 Jun 2019 06:45:35 +0000 (06:45 +0000)
Change-Id: Ib297d40f711c4d9450d42a6967f54ffbc930fae8

src/tdm_exynos_display.c

index 36f2903a426694d4b5aac2a9b2873334c732b59d..38cd9b53f750ff5ab991da89889b6a07dae0a173 100644 (file)
@@ -1403,14 +1403,14 @@ exynos_output_commit(tdm_output *output, int sync, void *user_data)
                }
        }
 
-       _tdm_exynos_display_do_commit(output_data);
-
-       if (sync)
+       if (sync) {
+               _tdm_exynos_display_do_commit(output_data);
                ret = _tdm_exynos_display_wait_sync(exynos_data->drm_fd, output_data->pipe);
-       else {
-               tdm_exynos_vblank_data *vblank_data = calloc(1, sizeof(tdm_exynos_vblank_data));
+       else {
+               tdm_exynos_vblank_data *vblank_data;
                uint target_msc;
 
+               vblank_data = calloc(1, sizeof(tdm_exynos_vblank_data));
                if (!vblank_data) {
                        TDM_ERR("alloc failed");
                        ret = TDM_ERROR_OUT_OF_MEMORY;
@@ -1424,6 +1424,8 @@ exynos_output_commit(tdm_output *output, int sync, void *user_data)
                        goto out;
                }
 
+               _tdm_exynos_display_do_commit(output_data);
+
                target_msc++;
 
                vblank_data->type = VBLANK_TYPE_COMMIT;