Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2344164a authored by Dave Airlie's avatar Dave Airlie
Browse files

Merge tag 'drm-intel-fixes-2015-12-11' of git://anongit.freedesktop.org/drm-intel into drm-fixes

Here are some i915 fixes for v4.4, sorry for being late this week.

* tag 'drm-intel-fixes-2015-12-11' of git://anongit.freedesktop.org/drm-intel:
  drm/i915: Do a better job at disabling primary plane in the noatomic case.
  drm/i915/skl: Double RC6 WRL always on
  drm/i915/skl: Disable coarse power gating up until F0
  drm/i915: Remove incorrect warning in context cleanup
parents 8e13c10a 634b3a4a
Loading
Loading
Loading
Loading
+0 −2
Original line number Diff line number Diff line
@@ -141,8 +141,6 @@ static void i915_gem_context_clean(struct intel_context *ctx)
	if (!ppgtt)
		return;

	WARN_ON(!list_empty(&ppgtt->base.active_list));

	list_for_each_entry_safe(vma, next, &ppgtt->base.inactive_list,
				 mm_list) {
		if (WARN_ON(__i915_vma_unbind_no_wait(vma)))
+3 −1
Original line number Diff line number Diff line
@@ -6309,9 +6309,11 @@ static void intel_crtc_disable_noatomic(struct drm_crtc *crtc)
	if (to_intel_plane_state(crtc->primary->state)->visible) {
		intel_crtc_wait_for_pending_flips(crtc);
		intel_pre_disable_primary(crtc);

		intel_crtc_disable_planes(crtc, 1 << drm_plane_index(crtc->primary));
		to_intel_plane_state(crtc->primary->state)->visible = false;
	}

	intel_crtc_disable_planes(crtc, crtc->state->plane_mask);
	dev_priv->display.crtc_disable(crtc);
	intel_crtc->active = false;
	intel_update_watermarks(crtc);
+2 −3
Original line number Diff line number Diff line
@@ -4782,8 +4782,7 @@ static void gen9_enable_rc6(struct drm_device *dev)
	/* 2b: Program RC6 thresholds.*/

	/* WaRsDoubleRc6WrlWithCoarsePowerGating: Doubling WRL only when CPG is enabled */
	if (IS_SKYLAKE(dev) && !((IS_SKL_GT3(dev) || IS_SKL_GT4(dev)) &&
				 (INTEL_REVID(dev) <= SKL_REVID_E0)))
	if (IS_SKYLAKE(dev))
		I915_WRITE(GEN6_RC6_WAKE_RATE_LIMIT, 108 << 16);
	else
		I915_WRITE(GEN6_RC6_WAKE_RATE_LIMIT, 54 << 16);
@@ -4825,7 +4824,7 @@ static void gen9_enable_rc6(struct drm_device *dev)
	 * WaRsDisableCoarsePowerGating:skl,bxt - Render/Media PG need to be disabled with RC6.
	 */
	if ((IS_BROXTON(dev) && (INTEL_REVID(dev) < BXT_REVID_B0)) ||
	    ((IS_SKL_GT3(dev) || IS_SKL_GT4(dev)) && (INTEL_REVID(dev) <= SKL_REVID_E0)))
	    ((IS_SKL_GT3(dev) || IS_SKL_GT4(dev)) && (INTEL_REVID(dev) <= SKL_REVID_F0)))
		I915_WRITE(GEN9_PG_ENABLE, 0);
	else
		I915_WRITE(GEN9_PG_ENABLE, (rc6_mask & GEN6_RC_CTL_RC6_ENABLE) ?