drm/exynos: Let core take care of normalizing the zpos
Instead of re-implementing the drm_atomic_helper_check() locally with just adding drm_atomic_normalize_zpos() into it, set the drm_mode_config->normalize_zpos. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com> CC: Inki Dae <inki.dae@samsung.com> CC: Joonyoung Shim <jy0922.shim@samsung.com> CC: Seung-Woo Kim <sw0312.kim@samsung.com> CC: Kyungmin Park <kyungmin.park@samsung.com> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> Acked-by: Inki Dae <inki.dae@samsung.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com> Link: https://patchwork.freedesktop.org/patch/msgid/20180321102029.15248-3-peter.ujfalusi@ti.com
This commit is contained in:

committed by
Tomi Valkeinen

parent
49efffc7fb
commit
a7da5cfe0c
@@ -37,26 +37,6 @@
|
|||||||
#define DRIVER_MAJOR 1
|
#define DRIVER_MAJOR 1
|
||||||
#define DRIVER_MINOR 0
|
#define DRIVER_MINOR 0
|
||||||
|
|
||||||
int exynos_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;
|
|
||||||
|
|
||||||
ret = drm_atomic_normalize_zpos(dev, state);
|
|
||||||
if (ret)
|
|
||||||
return ret;
|
|
||||||
|
|
||||||
ret = drm_atomic_helper_check_planes(dev, state);
|
|
||||||
if (ret)
|
|
||||||
return ret;
|
|
||||||
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
static int exynos_drm_open(struct drm_device *dev, struct drm_file *file)
|
static int exynos_drm_open(struct drm_device *dev, struct drm_file *file)
|
||||||
{
|
{
|
||||||
struct drm_exynos_file_private *file_priv;
|
struct drm_exynos_file_private *file_priv;
|
||||||
|
@@ -275,7 +275,6 @@ static inline int exynos_dpi_bind(struct drm_device *dev,
|
|||||||
|
|
||||||
int exynos_atomic_commit(struct drm_device *dev, struct drm_atomic_state *state,
|
int exynos_atomic_commit(struct drm_device *dev, struct drm_atomic_state *state,
|
||||||
bool nonblock);
|
bool nonblock);
|
||||||
int exynos_atomic_check(struct drm_device *dev, struct drm_atomic_state *state);
|
|
||||||
|
|
||||||
|
|
||||||
extern struct platform_driver fimd_driver;
|
extern struct platform_driver fimd_driver;
|
||||||
|
@@ -206,7 +206,7 @@ static struct drm_mode_config_helper_funcs exynos_drm_mode_config_helpers = {
|
|||||||
static const struct drm_mode_config_funcs exynos_drm_mode_config_funcs = {
|
static const struct drm_mode_config_funcs exynos_drm_mode_config_funcs = {
|
||||||
.fb_create = exynos_user_fb_create,
|
.fb_create = exynos_user_fb_create,
|
||||||
.output_poll_changed = drm_fb_helper_output_poll_changed,
|
.output_poll_changed = drm_fb_helper_output_poll_changed,
|
||||||
.atomic_check = exynos_atomic_check,
|
.atomic_check = drm_atomic_helper_check,
|
||||||
.atomic_commit = drm_atomic_helper_commit,
|
.atomic_commit = drm_atomic_helper_commit,
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -227,4 +227,6 @@ void exynos_drm_mode_config_init(struct drm_device *dev)
|
|||||||
dev->mode_config.helper_private = &exynos_drm_mode_config_helpers;
|
dev->mode_config.helper_private = &exynos_drm_mode_config_helpers;
|
||||||
|
|
||||||
dev->mode_config.allow_fb_modifiers = true;
|
dev->mode_config.allow_fb_modifiers = true;
|
||||||
|
|
||||||
|
dev->mode_config.normalize_zpos = true;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user