summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMaarten Lankhorst <maarten.lankhorst@linux.intel.com>2016-03-14 09:27:53 +0100
committerMaarten Lankhorst <maarten.lankhorst@linux.intel.com>2016-03-17 09:27:40 +0100
commita1475e775edc7bc8c0528d834d90a0ee93e57b1e (patch)
treebe998d88a77c2ad69adebe339b428cc0a34bc135
parent2dd66ebde4431c93bfa211bc967a6f2089283aa6 (diff)
downloadop-kernel-dev-a1475e775edc7bc8c0528d834d90a0ee93e57b1e.zip
op-kernel-dev-a1475e775edc7bc8c0528d834d90a0ee93e57b1e.tar.gz
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>
-rw-r--r--drivers/gpu/drm/i915/intel_display.c5
-rw-r--r--drivers/gpu/drm/i915/intel_dpll_mgr.c2
2 files changed, 3 insertions, 4 deletions
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index 089d65e..80aa51c 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/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 &&
diff --git a/drivers/gpu/drm/i915/intel_dpll_mgr.c b/drivers/gpu/drm/i915/intel_dpll_mgr.c
index 9bf2c39..2c98610 100644
--- a/drivers/gpu/drm/i915/intel_dpll_mgr.c
+++ b/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",
OpenPOWER on IntegriCloud