return -EPERM;
 }
+
+void exynos_drm_crtc_te_handler(struct drm_crtc *crtc)
+{
+       struct exynos_drm_manager *manager = to_exynos_crtc(crtc)->manager;
+
+       if (manager->ops->te_handler)
+               manager->ops->te_handler(manager);
+}
 
 int exynos_drm_crtc_get_pipe_from_type(struct drm_device *drm_dev,
                                        unsigned int out_type);
 
+/*
+ * This function calls the crtc device(manager)'s te_handler() callback
+ * to trigger to transfer video image at the tearing effect synchronization
+ * signal.
+ */
+void exynos_drm_crtc_te_handler(struct drm_crtc *crtc);
+
 #endif
 
  * @win_commit: apply hardware specific overlay data to registers.
  * @win_enable: enable hardware specific overlay.
  * @win_disable: disable hardware specific overlay.
+ * @te_handler: trigger to transfer video image at the tearing effect
+ *     synchronization signal if there is a page flip request.
  */
 struct exynos_drm_manager;
 struct exynos_drm_manager_ops {
        void (*win_commit)(struct exynos_drm_manager *mgr, int zpos);
        void (*win_enable)(struct exynos_drm_manager *mgr, int zpos);
        void (*win_disable)(struct exynos_drm_manager *mgr, int zpos);
+       void (*te_handler)(struct exynos_drm_manager *mgr);
 };
 
 /*