diff options
Diffstat (limited to 'common/recipes-kernel/linux/linux-yocto-4.14.71/4377-drm-amd-display-remove-need-of-modeset-flag-for-over.patch')
-rw-r--r-- | common/recipes-kernel/linux/linux-yocto-4.14.71/4377-drm-amd-display-remove-need-of-modeset-flag-for-over.patch | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.14.71/4377-drm-amd-display-remove-need-of-modeset-flag-for-over.patch b/common/recipes-kernel/linux/linux-yocto-4.14.71/4377-drm-amd-display-remove-need-of-modeset-flag-for-over.patch new file mode 100644 index 00000000..604db2ac --- /dev/null +++ b/common/recipes-kernel/linux/linux-yocto-4.14.71/4377-drm-amd-display-remove-need-of-modeset-flag-for-over.patch @@ -0,0 +1,63 @@ +From df4cd0a954c56baeaf26a80f135ad012e68212e8 Mon Sep 17 00:00:00 2001 +From: Shirish S <shirish.s@amd.com> +Date: Fri, 27 Apr 2018 15:47:21 +0530 +Subject: [PATCH 4377/5725] drm/amd/display: remove need of modeset flag for + overlay planes (V2) + +This patch is in continuation to the +"843e3c7 drm/amd/display: defer modeset check in dm_update_planes_state" +where we started to eliminate the dependency on +DRM_MODE_ATOMIC_ALLOW_MODESET to be set by the user space, +which as such is not mandatory. + +After deferring, this patch eliminates the dependency on the flag +for overlay planes. + +This has to be done in stages as its a pretty complex and requires thorough +testing before we free primary planes as well from dependency on modeset +flag. + +V2: Simplified the plane type check. + +Signed-off-by: Shirish S <shirish.s@amd.com> +Reviewed-by: Harry Wentland <harry.wentland@amd.com> +--- + drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 8 +++++--- + 1 file changed, 5 insertions(+), 3 deletions(-) + +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 17d9675..be3200c 100644 +--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c ++++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +@@ -4291,7 +4291,7 @@ static void amdgpu_dm_commit_planes(struct drm_atomic_state *state, + } + spin_unlock_irqrestore(&crtc->dev->event_lock, flags); + +- if (!pflip_needed) { ++ if (!pflip_needed || plane->type == DRM_PLANE_TYPE_OVERLAY) { + WARN_ON(!dm_new_plane_state->dc_state); + + plane_states_constructed[planes_count] = dm_new_plane_state->dc_state; +@@ -5001,7 +5001,8 @@ static int dm_update_planes_state(struct dc *dc, + + /* Remove any changed/removed planes */ + if (!enable) { +- if (pflip_needed) ++ if (pflip_needed && ++ plane->type != DRM_PLANE_TYPE_OVERLAY) + continue; + + if (!old_plane_crtc) +@@ -5048,7 +5049,8 @@ static int dm_update_planes_state(struct dc *dc, + if (!dm_new_crtc_state->stream) + continue; + +- if (pflip_needed) ++ if (pflip_needed && ++ plane->type != DRM_PLANE_TYPE_OVERLAY) + continue; + + WARN_ON(dm_new_plane_state->dc_state); +-- +2.7.4 + |