drm/omap: plane: Fix zpos initial value mismatch
While the omap_plane_init() function calls drm_plane_create_zpos_property() with an initial value of 0, omap_plane_reset() will force it to another value depending on the plane type. Fix the discrepancy by setting the initial zpos value to the same value in the drm_plane_create_zpos_property() call. Reviewed-by: Tomi Valkeinen <tomba@kernel.org> Signed-off-by: Maxime Ripard <maxime@cerno.tech> Link: https://patchwork.freedesktop.org/patch/msgid/20220221095918.18763-5-maxime@cerno.tech
This commit is contained in:
parent
80253168db
commit
f6e63222c0
@ -533,6 +533,7 @@ struct drm_plane *omap_plane_init(struct drm_device *dev,
|
||||
unsigned int num_planes = dispc_get_num_ovls(priv->dispc);
|
||||
struct drm_plane *plane;
|
||||
struct omap_plane *omap_plane;
|
||||
unsigned int zpos;
|
||||
int ret;
|
||||
u32 nformats;
|
||||
const u32 *formats;
|
||||
@ -564,7 +565,16 @@ struct drm_plane *omap_plane_init(struct drm_device *dev,
|
||||
drm_plane_helper_add(plane, &omap_plane_helper_funcs);
|
||||
|
||||
omap_plane_install_properties(plane, &plane->base);
|
||||
drm_plane_create_zpos_property(plane, 0, 0, num_planes - 1);
|
||||
|
||||
/*
|
||||
* Set the zpos default depending on whether we are a primary or overlay
|
||||
* plane.
|
||||
*/
|
||||
if (plane->type == DRM_PLANE_TYPE_PRIMARY)
|
||||
zpos = 0;
|
||||
else
|
||||
zpos = omap_plane->id;
|
||||
drm_plane_create_zpos_property(plane, zpos, 0, num_planes - 1);
|
||||
drm_plane_create_alpha_property(plane);
|
||||
drm_plane_create_blend_mode_property(plane, BIT(DRM_MODE_BLEND_PREMULTI) |
|
||||
BIT(DRM_MODE_BLEND_COVERAGE));
|
||||
|
Loading…
Reference in New Issue
Block a user