drm/omap: Use normalized zpos for plane placement
Planes with identical zpos value will result undefined behavior: disappearing planes, screen flickering and it is not supported by the hardware. Use normalized zpos to make sure that we don't encounter invalid configuration. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com> CC: Tomi Valkeinen <tomi.valkeinen@ti.com> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> Reviewed-by: Tomi Valkeinen <tomi.valkeinen@ti.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com> Link: https://patchwork.freedesktop.org/patch/msgid/20180321102029.15248-7-peter.ujfalusi@ti.com
This commit is contained in:
parent
75def7785f
commit
23936ba940
|
@ -319,6 +319,9 @@ static int omap_modeset_init(struct drm_device *dev)
|
|||
dev->mode_config.max_width = 8192;
|
||||
dev->mode_config.max_height = 8192;
|
||||
|
||||
/* We want the zpos to be normalized */
|
||||
dev->mode_config.normalize_zpos = true;
|
||||
|
||||
dev->mode_config.funcs = &omap_mode_config_funcs;
|
||||
dev->mode_config.helper_private = &omap_mode_config_helper_funcs;
|
||||
|
||||
|
|
|
@ -65,7 +65,7 @@ static void omap_plane_atomic_update(struct drm_plane *plane,
|
|||
info.rotation_type = OMAP_DSS_ROT_NONE;
|
||||
info.rotation = DRM_MODE_ROTATE_0;
|
||||
info.global_alpha = 0xff;
|
||||
info.zorder = state->zpos;
|
||||
info.zorder = state->normalized_zpos;
|
||||
|
||||
/* update scanout: */
|
||||
omap_framebuffer_update_scanout(state->fb, state, &info);
|
||||
|
|
Loading…
Reference in New Issue