summaryrefslogtreecommitdiffstats
path: root/include/drm/drm_simple_kms_helper.h
diff options
context:
space:
mode:
authorOleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>2018-02-12 10:52:51 +0200
committerDaniel Vetter <daniel.vetter@ffwll.ch>2018-02-22 17:58:59 +0100
commitac86cba96e2a439883d452772013049f54df2042 (patch)
tree478ba66d63cec1c24943430b141eeb15fa232981 /include/drm/drm_simple_kms_helper.h
parent588717061002778158f7e4772b3dfc645612983d (diff)
downloadlinux-ac86cba96e2a439883d452772013049f54df2042.tar.gz
linux-ac86cba96e2a439883d452772013049f54df2042.tar.bz2
linux-ac86cba96e2a439883d452772013049f54df2042.zip
drm/simple_kms_helper: Add {enable|disable}_vblank callback support
If simple_kms_helper based driver needs to work with vblanks, then it has to provide drm_driver.{enable|disable}_vblank callbacks, because drm_simple_kms_helper.drm_crtc_funcs does not provide any. At the same time drm_driver.{enable|disable}_vblank callbacks are marked as deprecated and shouldn't be used by new drivers. Fix this by extending drm_simple_kms_helper.drm_crtc_funcs to provide the missing callbacks. Signed-off-by: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> Link: https://patchwork.freedesktop.org/patch/msgid/1518425574-32671-2-git-send-email-andr2000@gmail.com
Diffstat (limited to 'include/drm/drm_simple_kms_helper.h')
-rw-r--r--include/drm/drm_simple_kms_helper.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/include/drm/drm_simple_kms_helper.h b/include/drm/drm_simple_kms_helper.h
index d9e4c3c3f009..c4e32c5a18fc 100644
--- a/include/drm/drm_simple_kms_helper.h
+++ b/include/drm/drm_simple_kms_helper.h
@@ -107,6 +107,24 @@ struct drm_simple_display_pipe_funcs {
*/
void (*cleanup_fb)(struct drm_simple_display_pipe *pipe,
struct drm_plane_state *plane_state);
+
+ /**
+ * @enable_vblank:
+ *
+ * Optional, called by &drm_crtc_funcs.enable_vblank. Please read
+ * the documentation for the &drm_crtc_funcs.enable_vblank hook for
+ * more details.
+ */
+ int (*enable_vblank)(struct drm_simple_display_pipe *pipe);
+
+ /**
+ * @disable_vblank:
+ *
+ * Optional, called by &drm_crtc_funcs.disable_vblank. Please read
+ * the documentation for the &drm_crtc_funcs.disable_vblank hook for
+ * more details.
+ */
+ void (*disable_vblank)(struct drm_simple_display_pipe *pipe);
};
/**