drm/amd/display: Reset alpha state for planes to the correct values
authorNicholas Kazlauskas <nicholas.kazlauskas@amd.com>
Thu, 28 Feb 2019 17:57:59 +0000 (12:57 -0500)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 21 Mar 2019 04:39:47 +0000 (23:39 -0500)
[Why]
The plane_reset callback is subclassed but hasn't been updated since
the drm helper got updated to include resetting alpha related state
(state->alpha and state->pixel_blend_mode). The overlay planes
exposed by amdgpu_dm were therefore being rendered as invisible by
default ever since supported was exposed for alpha blending properties
on overlays.

This caused regressions in igt@kms_plane_multiple@atomic-tiling-none
and igt@kms_plane@plane-position-covered-pipe tests.

[How]
Reset the plane state values to their correct values as defined in
the drm helper.

This fixes the IGT test regression.

Signed-off-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
Reviewed-by: Harry Wentland <Harry.Wentland@amd.com>
Acked-by: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c

index 6f9eed9808e9aec3a3a3f919303a7759e61c5ae7..3769e0598130d3fee22ab143d0f88d547bd4f227 100644 (file)
@@ -3661,6 +3661,8 @@ static void dm_drm_plane_reset(struct drm_plane *plane)
                plane->state = &amdgpu_state->base;
                plane->state->plane = plane;
                plane->state->rotation = DRM_MODE_ROTATE_0;
+               plane->state->alpha = DRM_BLEND_ALPHA_OPAQUE;
+               plane->state->pixel_blend_mode = DRM_MODE_BLEND_PREMULTI;
        }
 }