diff options
Diffstat (limited to 'meta-amdfalconx86/recipes-kernel/linux/linux-yocto/0944-drm-amd-dal-use-DRM-helper-to-update-legacy-state.patch')
-rw-r--r-- | meta-amdfalconx86/recipes-kernel/linux/linux-yocto/0944-drm-amd-dal-use-DRM-helper-to-update-legacy-state.patch | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/meta-amdfalconx86/recipes-kernel/linux/linux-yocto/0944-drm-amd-dal-use-DRM-helper-to-update-legacy-state.patch b/meta-amdfalconx86/recipes-kernel/linux/linux-yocto/0944-drm-amd-dal-use-DRM-helper-to-update-legacy-state.patch new file mode 100644 index 00000000..6d97a903 --- /dev/null +++ b/meta-amdfalconx86/recipes-kernel/linux/linux-yocto/0944-drm-amd-dal-use-DRM-helper-to-update-legacy-state.patch @@ -0,0 +1,70 @@ +From c1d89c1cb963963fddbd5da96bbe76804673085f Mon Sep 17 00:00:00 2001 +From: Mykola Lysenko <Mykola.Lysenko@amd.com> +Date: Thu, 10 Dec 2015 20:17:56 +0800 +Subject: [PATCH 0944/1050] drm/amd/dal: use DRM helper to update legacy state + +Although legacy state of DRM objects (e.g. crtc, connector etc.) +should not be used by atomic code, DRM code still uses it to report +information to userspace. + +Previously part of legacy state was updated by amdgpu atomic_commit. +It was found that dpms state was not updated, and drm provides helper +function to update legacy state. + +This change removes amdgpu atomic_commit code to update state and +start to use DRM helper function for this. + +Change-Id: I1c64ef0f56f703949de4ed64fb2e2214f95492a2 +Signed-off-by: Harry Wentland <harry.wentland@amd.com> +Acked-by: Harry Wentland<harry.wentland@amd.com> +--- + drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dm_types.c | 11 +++-------- + 1 file changed, 3 insertions(+), 8 deletions(-) + +diff --git a/drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dm_types.c b/drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dm_types.c +index caa7368..e073f20 100644 +--- a/drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dm_types.c ++++ b/drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dm_types.c +@@ -2114,6 +2114,8 @@ int amdgpu_dm_atomic_commit( + * wait_for_fences(dev, state); + */ + ++ drm_atomic_helper_update_legacy_modeset_state(dev, state); ++ + /* update changed items */ + for_each_crtc_in_state(state, crtc, old_crtc_state, i) { + struct amdgpu_crtc *acrtc; +@@ -2159,7 +2161,6 @@ int amdgpu_dm_atomic_commit( + switch (action) { + case DM_COMMIT_ACTION_DPMS_ON: + case DM_COMMIT_ACTION_SET: { +- const struct drm_connector_helper_funcs *connector_funcs; + struct dc_target *new_target = + create_target_for_sink( + aconnector, +@@ -2203,12 +2204,7 @@ int amdgpu_dm_atomic_commit( + + acrtc->target = new_target; + acrtc->enabled = true; +- acrtc->base.enabled = true; + +- connector_funcs = aconnector->base.helper_private; +- aconnector->base.encoder = +- connector_funcs->best_encoder( +- &aconnector->base); + down(&aconnector->mst_sem); + break; + } +@@ -2226,8 +2222,7 @@ int amdgpu_dm_atomic_commit( + dc_target_release(acrtc->target); + acrtc->target = NULL; + acrtc->enabled = false; +- acrtc->base.enabled = false; +- aconnector->base.encoder = NULL; ++ + up(&aconnector->mst_sem); + } + break; +-- +1.9.1 + |