diff options
author | Ville Syrjälä <ville.syrjala@linux.intel.com> | 2013-06-04 06:49:07 -0400 |
---|---|---|
committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2013-06-06 07:57:22 -0400 |
commit | 14420bd0065c1757a353e36ebc9cc4bdc6932dcd (patch) | |
tree | d6bb3515ad862a66897c2f5b1373fc3571416c60 | |
parent | 20674eef808dada6c30988a8cfcb908406cdea02 (diff) |
drm/i915: Assert dpll running in intel_crtc_load_lut() on pre-PCH platforms
Adding more context from Ville's reply to Rodrigo's question why we
need this:
"The spec says that on some hardware you need to PLL running before you
can poke at the palette registers. I didn't actually try to anger the
hardware so I'm not really sure what would happen otherwise, but IIRC
Jesse said something about a hard system hang..."
And generally documenting such ordering constraints with asserts is
Just Good.
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@gmail.com>
[danvet: Spruce up the commit message a lot.]
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
-rw-r--r-- | drivers/gpu/drm/i915/intel_display.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c index c593ed0ca1b9..0e1f82810f58 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c | |||
@@ -6311,6 +6311,9 @@ void intel_crtc_load_lut(struct drm_crtc *crtc) | |||
6311 | if (!crtc->enabled || !intel_crtc->active) | 6311 | if (!crtc->enabled || !intel_crtc->active) |
6312 | return; | 6312 | return; |
6313 | 6313 | ||
6314 | if (!HAS_PCH_SPLIT(dev_priv->dev)) | ||
6315 | assert_pll_enabled(dev_priv, pipe); | ||
6316 | |||
6314 | /* use legacy palette for Ironlake */ | 6317 | /* use legacy palette for Ironlake */ |
6315 | if (HAS_PCH_SPLIT(dev)) | 6318 | if (HAS_PCH_SPLIT(dev)) |
6316 | palreg = LGC_PALETTE(pipe); | 6319 | palreg = LGC_PALETTE(pipe); |