aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/0351-drm-amd-display-pull-commit_surfaces-out-of-atomic_c.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/0351-drm-amd-display-pull-commit_surfaces-out-of-atomic_c.patch')
-rw-r--r--meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/0351-drm-amd-display-pull-commit_surfaces-out-of-atomic_c.patch151
1 files changed, 0 insertions, 151 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/0351-drm-amd-display-pull-commit_surfaces-out-of-atomic_c.patch b/meta-amd-bsp/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-amd-bsp/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
-