diff options
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/0419-drm-amd-display-fix-freesync-not-working-on-raven.patch')
-rw-r--r-- | meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/0419-drm-amd-display-fix-freesync-not-working-on-raven.patch | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/0419-drm-amd-display-fix-freesync-not-working-on-raven.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/0419-drm-amd-display-fix-freesync-not-working-on-raven.patch new file mode 100644 index 00000000..2e511d18 --- /dev/null +++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/0419-drm-amd-display-fix-freesync-not-working-on-raven.patch @@ -0,0 +1,51 @@ +From 9f9e717f196e7a5f3a2edbe7a6468b5cf00c848a Mon Sep 17 00:00:00 2001 +From: Corbin McElhanney <corbin.mcelhanney@amd.com> +Date: Tue, 9 May 2017 12:00:24 -0400 +Subject: [PATCH 0419/4131] drm/amd/display: fix freesync not working on raven + +Signed-off-by: Corbin McElhanney <corbin.mcelhanney@amd.com> +Reviewed-by: Tony Cheng <Tony.Cheng@amd.com> +Acked-by: Harry Wentland <Harry.Wentland@amd.com> +Signed-off-by: Alex Deucher <alexander.deucher@amd.com> +--- + drivers/gpu/drm/amd/display/modules/freesync/freesync.c | 10 ++++++++++ + 1 file changed, 10 insertions(+) + +diff --git a/drivers/gpu/drm/amd/display/modules/freesync/freesync.c b/drivers/gpu/drm/amd/display/modules/freesync/freesync.c +index 05a086c..9a073bc 100644 +--- a/drivers/gpu/drm/amd/display/modules/freesync/freesync.c ++++ b/drivers/gpu/drm/amd/display/modules/freesync/freesync.c +@@ -1130,6 +1130,7 @@ void mod_freesync_notify_mode_change(struct mod_freesync *mod_freesync, + unsigned int stream_index, map_index; + struct freesync_state *state; + struct core_freesync *core_freesync = NULL; ++ struct dc_static_screen_events triggers = {0}; + + if (mod_freesync == NULL) + return; +@@ -1157,6 +1158,7 @@ void mod_freesync_notify_mode_change(struct mod_freesync *mod_freesync, + /* Update the stream */ + update_stream(core_freesync, streams[stream_index]); + ++ + /* Calculate vmin/vmax and refresh rate for + * current mode + */ +@@ -1164,6 +1166,14 @@ void mod_freesync_notify_mode_change(struct mod_freesync *mod_freesync, + core_freesync->map[map_index].caps-> + min_refresh_in_micro_hz, + state->nominal_refresh_rate_in_micro_hz); ++ ++ /* Update mask */ ++ triggers.overlay_update = true; ++ triggers.surface_update = true; ++ ++ core_freesync->dc->stream_funcs.set_static_screen_events( ++ core_freesync->dc, streams, num_streams, ++ &triggers); + } + } + +-- +2.7.4 + |