aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-kernel/linux/linux-yocto-4.19.8/1633-drm-amd-display-Reset-alpha-state-for-planes-to-the-.patch
diff options
context:
space:
mode:
Diffstat (limited to 'common/recipes-kernel/linux/linux-yocto-4.19.8/1633-drm-amd-display-Reset-alpha-state-for-planes-to-the-.patch')
-rw-r--r--common/recipes-kernel/linux/linux-yocto-4.19.8/1633-drm-amd-display-Reset-alpha-state-for-planes-to-the-.patch47
1 files changed, 47 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.19.8/1633-drm-amd-display-Reset-alpha-state-for-planes-to-the-.patch b/common/recipes-kernel/linux/linux-yocto-4.19.8/1633-drm-amd-display-Reset-alpha-state-for-planes-to-the-.patch
new file mode 100644
index 00000000..0fa027e3
--- /dev/null
+++ b/common/recipes-kernel/linux/linux-yocto-4.19.8/1633-drm-amd-display-Reset-alpha-state-for-planes-to-the-.patch
@@ -0,0 +1,47 @@
+From efc6a9d1ee72f9879b439186615e26d14fe447e1 Mon Sep 17 00:00:00 2001
+From: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
+Date: Thu, 28 Feb 2019 12:57:59 -0500
+Subject: [PATCH 1633/2940] drm/amd/display: Reset alpha state for planes to
+ the correct values
+
+[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.
+
+Change-Id: I4ebfad24456f8a898cd36394e769a0d216549e92
+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>
+---
+ 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 b071b41fdc8a..3949d932e648 100644
+--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
++++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
+@@ -3781,6 +3781,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.17.1
+