Skip to contentSkip to conversation

Patch "drm/i915: Fix cdclk vs. dev_cdclk mess when not recomputing things" has been added to the 4.8-stable tree

PATCH [email protected] 1 participant 1 message Jan 6, 2017

Subsystems (3)
lore
Share & tools
lore

[email protected]

author maintainer Applied
#0 lore raw

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.8-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.8 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 14676ec6b1a6f2f7fa0bafd98ab42ce77be7a7d4 Mon 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)

Cc Maarten Lankhorst <[email protected]>
Cc Mika Kahola <[email protected]>
Cc Daniel J Blueman <[email protected]>
Cc Paul Bolle <[email protected]>
Cc Joseph Yasi <[email protected]>
Fixes 1a617b77658e ("drm/i915: Keep track of the cdclk as if all crtc's were active.")

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
@@ -13494,8 +13494,9 @@ static int intel_modeset_checks(struct d
 
 		DRM_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);
 
@@ -13596,8 +13597,9 @@ static int intel_atomic_check(struct drm
 
 		if (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.8/drm-i915-fix-cdclk-vs.-dev_cdclk-mess-when-not-recomputing-things.patch queue-4.8/drm-i915-dsi-fix-chv_exec_gpio-disabling-the-gpios-it-is-setting.patch queue-4.8/drm-i915-dsi-do-not-clear-dpounit_clock_gate_disable-from-vlv_init_display_clock_gating.patch queue-4.8/drm-i915-initialize-dev_priv-atomic_cdclk_freq-at-init-time.patch