From 7c9f14f4503afa634073dcec4d6a3a594cec18b2 Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Sun, 19 Apr 2020 09:20:42 +0200 Subject: [PATCH] 4.19-stable patches added patches: drm-amd-powerplay-force-the-trim-of-the-mclk-dpm_levels-if-od-is-enabled.patch --- ...the-mclk-dpm_levels-if-od-is-enabled.patch | 41 +++++++++++++++++++ queue-4.19/series | 1 + 2 files changed, 42 insertions(+) create mode 100644 queue-4.19/drm-amd-powerplay-force-the-trim-of-the-mclk-dpm_levels-if-od-is-enabled.patch diff --git a/queue-4.19/drm-amd-powerplay-force-the-trim-of-the-mclk-dpm_levels-if-od-is-enabled.patch b/queue-4.19/drm-amd-powerplay-force-the-trim-of-the-mclk-dpm_levels-if-od-is-enabled.patch new file mode 100644 index 00000000000..9c86c6626f8 --- /dev/null +++ b/queue-4.19/drm-amd-powerplay-force-the-trim-of-the-mclk-dpm_levels-if-od-is-enabled.patch @@ -0,0 +1,41 @@ +From 8c7f0a44b4b4ef16df8f44fbaee6d1f5d1593c83 Mon Sep 17 00:00:00 2001 +From: Sergei Lopatin +Date: Wed, 26 Jun 2019 14:56:59 +0500 +Subject: drm/amd/powerplay: force the trim of the mclk dpm_levels if OD is enabled + +From: Sergei Lopatin + +commit 8c7f0a44b4b4ef16df8f44fbaee6d1f5d1593c83 upstream. + +Should prevent flicker if PP_OVERDRIVE_MASK is set. + +bug: https://bugs.freedesktop.org/show_bug.cgi?id=102646 +bug: https://bugs.freedesktop.org/show_bug.cgi?id=108941 +bug: https://gitlab.freedesktop.org/drm/amd/-/issues/1088 +bug: https://gitlab.freedesktop.org/drm/amd/-/issues/628 + +Signed-off-by: Sergei Lopatin +Signed-off-by: Alex Deucher +Cc: stable@vger.kernel.org +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +--- a/drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.c ++++ b/drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.c +@@ -3788,9 +3788,12 @@ static int smu7_trim_single_dpm_states(s + { + uint32_t i; + ++ /* force the trim if mclk_switching is disabled to prevent flicker */ ++ bool force_trim = (low_limit == high_limit); + for (i = 0; i < dpm_table->count; i++) { + /*skip the trim if od is enabled*/ +- if (!hwmgr->od_enabled && (dpm_table->dpm_levels[i].value < low_limit ++ if ((!hwmgr->od_enabled || force_trim) ++ && (dpm_table->dpm_levels[i].value < low_limit + || dpm_table->dpm_levels[i].value > high_limit)) + dpm_table->dpm_levels[i].enabled = false; + else diff --git a/queue-4.19/series b/queue-4.19/series index aea2253d063..6e0ec236fbd 100644 --- a/queue-4.19/series +++ b/queue-4.19/series @@ -24,3 +24,4 @@ btrfs-check-commit-root-generation-in-should_ignore_root.patch mac80211_hwsim-use-kstrndup-in-place-of-kasprintf.patch usb-dwc3-gadget-don-t-enable-interrupt-when-disablin.patch usb-dwc3-gadget-don-t-clear-flags-before-transfer-en.patch +drm-amd-powerplay-force-the-trim-of-the-mclk-dpm_levels-if-od-is-enabled.patch -- 2.47.3