drm/i915: Don't do PM5/DDR DVFS with multiple pipes
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Wed, 24 Jun 2015 19:00:08 +0000 (22:00 +0300)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Mon, 29 Jun 2015 08:59:26 +0000 (10:59 +0200)
Enabling PM5/DDR DVFS with multiple active pipes isn't a validated
configuration. It does seem to work most of the time at least, but
there is clearly an additional risk of underruns, so let's not play
with fire.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Clint Taylor <Clinton.A.Taylor@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/intel_pm.c

index a023b40c046b77be2c13d3cf31cf79ca033ca1eb..16ca34fb5380dba0f860ba6e9310225abf77f19c 100644 (file)
@@ -1327,6 +1327,9 @@ static void vlv_merge_wm(struct drm_device *dev,
        if (num_active_crtcs != 1)
                wm->cxsr = false;
 
+       if (num_active_crtcs > 1)
+               wm->level = VLV_WM_LEVEL_PM2;
+
        for_each_intel_crtc(dev, crtc) {
                struct vlv_wm_state *wm_state = &crtc->wm_state;
                enum pipe pipe = crtc->pipe;