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
This commit is contained in:
Oleksandr Andrushchenko
2018-02-12 10:52:51 +02:00
committed by Daniel Vetter
parent 5887170610
commit ac86cba96e
2 changed files with 42 additions and 0 deletions

View File

@@ -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);
};
/**