aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-kernel/linux/files/0709-drm-amd-dal-Add-PreModeChange-event-to-PPLIB.patch
diff options
context:
space:
mode:
Diffstat (limited to 'common/recipes-kernel/linux/files/0709-drm-amd-dal-Add-PreModeChange-event-to-PPLIB.patch')
-rw-r--r--common/recipes-kernel/linux/files/0709-drm-amd-dal-Add-PreModeChange-event-to-PPLIB.patch116
1 files changed, 0 insertions, 116 deletions
diff --git a/common/recipes-kernel/linux/files/0709-drm-amd-dal-Add-PreModeChange-event-to-PPLIB.patch b/common/recipes-kernel/linux/files/0709-drm-amd-dal-Add-PreModeChange-event-to-PPLIB.patch
deleted file mode 100644
index 8cbf3b98..00000000
--- a/common/recipes-kernel/linux/files/0709-drm-amd-dal-Add-PreModeChange-event-to-PPLIB.patch
+++ /dev/null
@@ -1,116 +0,0 @@
-From c3eeb9ac6864b945dcb60a84847d1afe9ef59776 Mon Sep 17 00:00:00 2001
-From: Anthony Koo <Anthony.Koo@amd.com>
-Date: Thu, 14 Jan 2016 14:49:08 -0500
-Subject: [PATCH 0709/1110] drm/amd/dal: Add PreModeChange event to PPLIB
-
-[Description]
-Before this change, we only send PostModeChange event.
-What happens is that PPLIB does not know we are changing
-display configuration beforehand. By the time we send Post
-event, it is already too late, and this may cause soft hang
-waiting on SMU to transition power states.
-
-This issues was found specifically during S3 resume tests,
-when we commit 0 targets while entering S3 state. On
-resume, we re-enable the display without first telling PPLIB.
-
-This change adds a PreModeChange notification at the start
-of dc_commit_targets.
-
-Signed-off-by: Anthony Koo <Anthony.Koo@amd.com>
-Acked-by: Harry Wentland <harry.wentland@amd.com>
----
- drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dal_services.c | 16 ++++++++++++++++
- drivers/gpu/drm/amd/dal/dc/core/dc.c | 2 ++
- drivers/gpu/drm/amd/dal/dc/core/dc_resource.c | 6 ++++++
- drivers/gpu/drm/amd/dal/dc/dc_services.h | 3 +++
- drivers/gpu/drm/amd/dal/dc/inc/resource.h | 2 ++
- 5 files changed, 29 insertions(+)
-
-diff --git a/drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dal_services.c b/drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dal_services.c
-index 12b9475..b67599d 100644
---- a/drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dal_services.c
-+++ b/drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dal_services.c
-@@ -157,6 +157,22 @@ bool dc_service_pp_pre_dce_clock_change(
- return false;
- }
-
-+bool dc_service_pp_apply_safe_state(
-+ const struct dc_context *ctx)
-+{
-+#ifdef CONFIG_DRM_AMD_POWERPLAY
-+ struct amdgpu_device *adev = ctx->driver_context;
-+
-+ if (adev->pm.dpm_enabled) {
-+ /* TODO: Does this require PreModeChange event to PPLIB? */
-+ }
-+
-+ return true;
-+#else
-+ return false;
-+#endif
-+}
-+
- bool dc_service_pp_apply_display_requirements(
- const struct dc_context *ctx,
- const struct dc_pp_display_configuration *pp_display_cfg)
-diff --git a/drivers/gpu/drm/amd/dal/dc/core/dc.c b/drivers/gpu/drm/amd/dal/dc/core/dc.c
-index e49ec86..b68ecb7 100644
---- a/drivers/gpu/drm/amd/dal/dc/core/dc.c
-+++ b/drivers/gpu/drm/amd/dal/dc/core/dc.c
-@@ -549,6 +549,8 @@ bool dc_commit_targets(
- goto fail;
- }
-
-+ pplib_apply_safe_state(dc);
-+
- if (!dal_adapter_service_is_in_accelerated_mode(
- dc->res_pool.adapter_srv)) {
- dc->hwss.enable_accelerated_mode(dc);
-diff --git a/drivers/gpu/drm/amd/dal/dc/core/dc_resource.c b/drivers/gpu/drm/amd/dal/dc/core/dc_resource.c
-index 52fcdc1..7cc4ed2 100644
---- a/drivers/gpu/drm/amd/dal/dc/core/dc_resource.c
-+++ b/drivers/gpu/drm/amd/dal/dc/core/dc_resource.c
-@@ -485,6 +485,12 @@ static void fill_display_configs(
- pp_display_cfg->display_count = num_cfgs;
- }
-
-+void pplib_apply_safe_state(
-+ const struct dc *dc)
-+{
-+ dc_service_pp_apply_safe_state(dc->ctx);
-+}
-+
- void pplib_apply_display_requirements(
- const struct dc *dc,
- const struct validate_context *context)
-diff --git a/drivers/gpu/drm/amd/dal/dc/dc_services.h b/drivers/gpu/drm/amd/dal/dc/dc_services.h
-index 907b415..b8b8b20 100644
---- a/drivers/gpu/drm/amd/dal/dc/dc_services.h
-+++ b/drivers/gpu/drm/amd/dal/dc/dc_services.h
-@@ -201,6 +201,9 @@ bool dc_service_pp_get_clock_levels_by_type(
- struct dc_pp_clock_levels *clk_level_info);
-
-
-+bool dc_service_pp_apply_safe_state(
-+ const struct dc_context *ctx);
-+
- /* DAL calls this function to notify PP about completion of Mode Set.
- * For PP it means that current DCE clocks are those which were returned
- * by dc_service_pp_pre_dce_clock_change(), in the 'output' parameter.
-diff --git a/drivers/gpu/drm/amd/dal/dc/inc/resource.h b/drivers/gpu/drm/amd/dal/dc/inc/resource.h
-index fac4c8b..ea6be75 100644
---- a/drivers/gpu/drm/amd/dal/dc/inc/resource.h
-+++ b/drivers/gpu/drm/amd/dal/dc/inc/resource.h
-@@ -61,6 +61,8 @@ bool logical_attach_surfaces_to_target(
- uint8_t surface_count,
- struct dc_target *dc_target);
-
-+void pplib_apply_safe_state(const struct dc *dc);
-+
- void pplib_apply_display_requirements(
- const struct dc *dc,
- const struct validate_context *context);
---
-2.7.4
-