浏览代码

drm/i915: Perform dpll commit first, v2.

Warn for the wrong mask in enable only. Disable will have the wrong mask now
because the new state is committed before disabling the old state.

Changes since v1:
- Use crtc_mask (Durgadoss)
- Rebase.

Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1457944075-14123-3-git-send-email-maarten.lankhorst@linux.intel.com
Reviewed-by: Ander Conselvan de Oliveira <conselvan2@gmail.com>
Maarten Lankhorst 9 年之前
父节点
当前提交
a1475e775e
共有 2 个文件被更改,包括 3 次插入4 次删除
  1. 2 3
      drivers/gpu/drm/i915/intel_display.c
  2. 1 1
      drivers/gpu/drm/i915/intel_dpll_mgr.c

+ 2 - 3
drivers/gpu/drm/i915/intel_display.c

@@ -13525,7 +13525,8 @@ static int intel_atomic_commit(struct drm_device *dev,
 	}
 
 	drm_atomic_helper_swap_state(dev, state);
-	dev_priv->wm.config = to_intel_atomic_state(state)->wm_config;
+	dev_priv->wm.config = intel_state->wm_config;
+	intel_shared_dpll_commit(state);
 
 	if (intel_state->modeset) {
 		memcpy(dev_priv->min_pixclk, intel_state->min_pixclk,
@@ -13577,8 +13578,6 @@ static int intel_atomic_commit(struct drm_device *dev,
 	intel_modeset_update_crtc_state(state);
 
 	if (intel_state->modeset) {
-		intel_shared_dpll_commit(state);
-
 		drm_atomic_helper_update_legacy_modeset_state(state->dev, state);
 
 		if (dev_priv->display.modeset_commit_cdclk &&

+ 1 - 1
drivers/gpu/drm/i915/intel_dpll_mgr.c

@@ -156,7 +156,7 @@ void intel_disable_shared_dpll(struct intel_crtc *crtc)
 	if (pll == NULL)
 		return;
 
-	if (WARN_ON(!(pll->config.crtc_mask & crtc_mask)))
+	if (WARN_ON(!(pll->active_mask & crtc_mask)))
 		return;
 
 	DRM_DEBUG_KMS("disable %s (active %x, on? %d) for crtc %d\n",