drm/sun4i: framebuffer: Add a custom atomic_check
authorMaxime Ripard <maxime.ripard@free-electrons.com>
Sun, 17 Dec 2017 17:06:05 +0000 (18:06 +0100)
committerMaxime Ripard <maxime.ripard@free-electrons.com>
Mon, 29 Jan 2018 13:02:36 +0000 (14:02 +0100)
In order to support normalized zpos, we need to call
drm_atomic_normalize_zpos in our driver's drm_mode_config_funcs'
atomic_check.

Let's duplicate the definition of drm_atomic_helper_check for now.

Acked-by: Chen-Yu Tsai <wens@csie.org>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Link: https://patchwork.freedesktop.org/patch/msgid/67cb4ca9889e6bf29314db37127ff15eed279c53.1516617243.git-series.maxime.ripard@free-electrons.com
drivers/gpu/drm/sun4i/sun4i_framebuffer.c

index cf52fa7f495e38d869f7d9ace6e7e181d4254fea..973ee1fc95c900ac896f1a5c7f3eb60e1f122b74 100644 (file)
 #include "sun4i_drv.h"
 #include "sun4i_framebuffer.h"
 
+static int sun4i_de_atomic_check(struct drm_device *dev,
+                                struct drm_atomic_state *state)
+{
+       int ret;
+
+       ret = drm_atomic_helper_check_modeset(dev, state);
+       if (ret)
+               return ret;
+
+       return drm_atomic_helper_check_planes(dev, state);
+}
+
 static const struct drm_mode_config_funcs sun4i_de_mode_config_funcs = {
        .output_poll_changed    = drm_fb_helper_output_poll_changed,
-       .atomic_check           = drm_atomic_helper_check,
+       .atomic_check           = sun4i_de_atomic_check,
        .atomic_commit          = drm_atomic_helper_commit,
        .fb_create              = drm_gem_fb_create,
 };