Patch "drm/i915: Fix cdclk vs. dev_cdclk mess when not recomputing things" has been added to the 4.9-stable tree
Subsystems (3)
This is a note to let you know that I've just added the patch titled
drm/i915: Fix cdclk vs. dev_cdclk mess when not recomputing things
to the 4.9-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
drm-i915-fix-cdclk-vs.-dev_cdclk-mess-when-not-recomputing-things.patch
and it can be found in the queue-4.9 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
14676ec6b1a6f2f7fa0bafd98ab42ce77be7a7d4Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ville=20Syrj=C3=A4l=C3=A4?= <[email protected]>
Date: Mon, 14 Nov 2016 18:35:09 +0200
Subject: drm/i915: Fix cdclk vs. dev_cdclk mess when not recomputing things
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
From: Ville Syrjälä <[email protected]>
commit 14676ec6b1a6f2f7fa0bafd98ab42ce77be7a7d4 upstream.
When we end up not recomputing the cdclk, we need to populate intel_state->cdclk with the "atomic_cdclk_freq" instead of the current cdclk_freq. When no pipes are active, the actual cdclk_freq may be lower than what the configuration of the planes and pipes would require from the point of view of the software state.
This fixes bogus WARNS from skl_max_scale() which is trying to check the plane software state against the cdclk frequency. So any time it got called during DPMS off for instance, we might have tripped the warn if the current mode would have required a higher than minimum cdclk.
v2: Drop the dev_cdclk stuff (Maarten)
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=98214
--- drivers/gpu/drm/i915/intel_display.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-)
drivers/gpu/drm/i915/intel_display.c +5 -3
@@ -13970,8 +13970,9 @@ static int intel_modeset_checks(struct dDRM_DEBUG_KMS ("New cdclk calculated to be atomic %u, actual %u\n" , intel_state->cdclk, intel_state->dev_cdclk); - }else + }else {to_intel_atomic_state (state)->cdclk = dev_priv->atomic_cdclk_freq; + }intel_modeset_clear_plls (state);
@@ -14072,8 +14073,9 @@ static int intel_atomic_check(struct drmif (ret)return ret; - }else - intel_state->cdclk = dev_priv->cdclk_freq; + }else { + intel_state->cdclk = dev_priv->atomic_cdclk_freq; + } ret =drm_atomic_helper_check_planes (dev, state);if (ret)
Patches currently in stable-queue which might be from [email protected] are
queue-4.9/drm-i915-fix-cdclk-vs.-dev_cdclk-mess-when-not-recomputing-things.patch queue-4.9/drm-i915-dsi-fix-chv_exec_gpio-disabling-the-gpios-it-is-setting.patch queue-4.9/drm-i915-dsi-do-not-clear-dpounit_clock_gate_disable-from-vlv_init_display_clock_gating.patch queue-4.9/drm-i915-initialize-dev_priv-atomic_cdclk_freq-at-init-time.patch