drm/i915: Initialize dev_priv->atomic_cdclk_freq at init time
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Tue, 29 Nov 2016 14:13:57 +0000 (16:13 +0200)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Tue, 29 Nov 2016 17:52:38 +0000 (19:52 +0200)
Looks like we're only initializing dev_priv->atomic_cdclk_freq
at resume and commit times, not at init time. Let's do that as
well.

We're now hitting the 'WARN_ON(intel_state->cdclk == 0)' in
hsw_compute_linetime_wm() on account of populating
intel_state->cdclk from dev_priv->atomic_cdclk_freq.
Previously we were mispopulating intel_state->cdclk with
dev_priv->cdclk_freq which always had a proper value at init
time and hence the WARN_ON() didn't trigger.

Cc: stable@vger.kernel.org
Cc: Matthew Auld <matthew.auld@intel.com>
Reported-by: Matthew Auld <matthew.auld@intel.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=98902
Fixes: e0ca7a6be38c ("drm/i915: Fix cdclk vs. dev_cdclk mess when not recomputing things")
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1480428837-4207-1-git-send-email-ville.syrjala@linux.intel.com
Tested-by: Matthew Auld <matthew.auld@intel.com>
Reviewed-by: Matthew Auld <matthew.auld@intel.com>
drivers/gpu/drm/i915/intel_display.c

index 3b9e60aeca51a865f6f1b0cfcfa5fb83acc05d60..97846367146200f10133facb95ac3dfbe5f7d692 100644 (file)
@@ -16516,6 +16516,7 @@ int intel_modeset_init(struct drm_device *dev)
 
        intel_update_czclk(dev_priv);
        intel_update_cdclk(dev_priv);
+       dev_priv->atomic_cdclk_freq = dev_priv->cdclk_freq;
 
        intel_shared_dpll_init(dev);