| From 7653fd13b952ad03f2e79c2c464f9ed0f07f4506 Mon Sep 17 00:00:00 2001 |
| From: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com> |
| Date: Thu, 28 Feb 2019 12:57:59 -0500 |
| Subject: drm/amd/display: Reset alpha state for planes to the correct values |
| |
| [ Upstream commit eec3d5efd16d13984a88396b685ae17462fb6d87 ] |
| |
| [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> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 2 ++ |
| 1 file changed, 2 insertions(+) |
| |
| diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c |
| index c212bff457eec..b14369ab151f6 100644 |
| --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c |
| +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c |
| @@ -3587,6 +3587,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; |
| } |
| } |
| |
| -- |
| 2.20.1 |
| |