diff options
Diffstat (limited to 'meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/0351-drm-amd-display-pull-commit_surfaces-out-of-atomic_c.patch')
-rw-r--r-- | meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/0351-drm-amd-display-pull-commit_surfaces-out-of-atomic_c.patch | 151 |
1 files changed, 0 insertions, 151 deletions
diff --git a/meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/0351-drm-amd-display-pull-commit_surfaces-out-of-atomic_c.patch b/meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/0351-drm-amd-display-pull-commit_surfaces-out-of-atomic_c.patch deleted file mode 100644 index 301437c6..00000000 --- a/meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/0351-drm-amd-display-pull-commit_surfaces-out-of-atomic_c.patch +++ /dev/null @@ -1,151 +0,0 @@ -From 9e87f12572e4ed00ca4fe0d17ed67adaef8246c4 Mon Sep 17 00:00:00 2001 -From: Harry Wentland <harry.wentland@amd.com> -Date: Thu, 6 Apr 2017 16:22:33 -0400 -Subject: [PATCH 0351/4131] drm/amd/display: pull commit_surfaces out of - atomic_commit into helper function - -This should make things simpler when we try to rework this later when we -pass validate_context from atomic_check to atomic_commit. - -Signed-off-by: Harry Wentland <harry.wentland@amd.com> -Acked-by: Harry Wentland <Harry.Wentland@amd.com> -Reviewed-by: Tony Cheng <Tony.Cheng@amd.com> -Signed-off-by: Alex Deucher <alexander.deucher@amd.com> ---- - .../drm/amd/display/amdgpu_dm/amdgpu_dm_types.c | 113 +++++++++++---------- - 1 file changed, 62 insertions(+), 51 deletions(-) - -diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_types.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_types.c -index 14800ba..dbeee59 100644 ---- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_types.c -+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_types.c -@@ -2531,6 +2531,67 @@ static void amdgpu_dm_do_flip( - acrtc->crtc_id); - } - -+void dc_commit_surfaces(struct drm_atomic_state *state, -+ struct drm_device *dev, struct amdgpu_display_manager *dm) -+{ -+ uint32_t i; -+ struct drm_plane *plane; -+ struct drm_plane_state *old_plane_state; -+ -+ /* update planes when needed */ -+ for_each_plane_in_state(state, plane, old_plane_state, i) { -+ struct drm_plane_state *plane_state = plane->state; -+ struct drm_crtc *crtc = plane_state->crtc; -+ struct drm_framebuffer *fb = plane_state->fb; -+ struct drm_connector *connector; -+ struct dm_connector_state *dm_state = NULL; -+ enum dm_commit_action action; -+ bool pflip_needed; -+ -+ if (!fb || !crtc || !crtc->state->active) -+ continue; -+ -+ action = get_dm_commit_action(crtc->state); -+ -+ /* Surfaces are created under two scenarios: -+ * 1. This commit is not a page flip. -+ * 2. This commit is a page flip, and streams are created. -+ */ -+ pflip_needed = !state->allow_modeset; -+ if (!pflip_needed || action == DM_COMMIT_ACTION_DPMS_ON -+ || action == DM_COMMIT_ACTION_SET) { -+ list_for_each_entry(connector, -+ &dev->mode_config.connector_list, -+ head) { -+ if (connector->state->crtc == crtc) { -+ dm_state = to_dm_connector_state( -+ connector->state); -+ break; -+ } -+ } -+ -+ /* -+ * This situation happens in the following case: -+ * we are about to get set mode for connector who's only -+ * possible crtc (in encoder crtc mask) is used by -+ * another connector, that is why it will try to -+ * re-assing crtcs in order to make configuration -+ * supported. For our implementation we need to make all -+ * encoders support all crtcs, then this issue will -+ * never arise again. But to guard code from this issue -+ * check is left. -+ * -+ * Also it should be needed when used with actual -+ * drm_atomic_commit ioctl in future -+ */ -+ if (!dm_state) -+ continue; -+ -+ dm_dc_surface_commit(dm->dc, crtc); -+ } -+ } -+} -+ - void amdgpu_dm_atomic_commit_tail( - struct drm_atomic_state *state) - { -@@ -2702,57 +2763,7 @@ void amdgpu_dm_atomic_commit_tail( - } - - /* update planes when needed */ -- for_each_plane_in_state(state, plane, old_plane_state, i) { -- struct drm_plane_state *plane_state = plane->state; -- struct drm_crtc *crtc = plane_state->crtc; -- struct drm_framebuffer *fb = plane_state->fb; -- struct drm_connector *connector; -- struct dm_connector_state *dm_state = NULL; -- enum dm_commit_action action; -- bool pflip_needed; -- -- if (!fb || !crtc || !crtc->state->active) -- continue; -- -- action = get_dm_commit_action(crtc->state); -- -- /* Surfaces are created under two scenarios: -- * 1. This commit is not a page flip. -- * 2. This commit is a page flip, and streams are created. -- */ -- pflip_needed = !state->allow_modeset; -- if (!pflip_needed || -- action == DM_COMMIT_ACTION_DPMS_ON || -- action == DM_COMMIT_ACTION_SET) { -- list_for_each_entry(connector, -- &dev->mode_config.connector_list, head) { -- if (connector->state->crtc == crtc) { -- dm_state = to_dm_connector_state( -- connector->state); -- break; -- } -- } -- -- /* -- * This situation happens in the following case: -- * we are about to get set mode for connector who's only -- * possible crtc (in encoder crtc mask) is used by -- * another connector, that is why it will try to -- * re-assing crtcs in order to make configuration -- * supported. For our implementation we need to make all -- * encoders support all crtcs, then this issue will -- * never arise again. But to guard code from this issue -- * check is left. -- * -- * Also it should be needed when used with actual -- * drm_atomic_commit ioctl in future -- */ -- if (!dm_state) -- continue; -- -- dm_dc_surface_commit(dm->dc, crtc); -- } -- } -+ dc_commit_surfaces(state, dev, dm); - - for (i = 0; i < new_crtcs_count; i++) { - /* --- -2.7.4 - |