Intel-GFX Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Daniel Vetter <daniel.vetter@ffwll.ch>
To: Intel Graphics Development <intel-gfx@lists.freedesktop.org>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Subject: [PATCH 3/3] [HACK] fix ilk/gm45 dp dpms off/on cycles
Date: Mon, 10 Sep 2012 21:58:31 +0200	[thread overview]
Message-ID: <1347307111-6887-4-git-send-email-daniel.vetter@ffwll.ch> (raw)
In-Reply-To: <1347307111-6887-1-git-send-email-daniel.vetter@ffwll.ch>

Without this we have link train fail. Still need to figure out what
exactly we seem to lose, but without this dp on gm45 and pch dp on ilk
utterly fails in link retrainig at dpms on. The only way to fix this
is to do a full modeset (i.e. eseentially what this patch here does).

Not-Signed-Off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/i915/intel_display.c |   12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index fcc7300..1aba63c 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -3438,6 +3438,12 @@ static void intel_crtc_update_sarea(struct drm_crtc *crtc,
 	}
 }
 
+static int intel_crtc_mode_set(struct drm_crtc *crtc,
+			       struct drm_display_mode *mode,
+			       struct drm_display_mode *adjusted_mode,
+			       int x, int y,
+			       struct drm_framebuffer *fb);
+
 /**
  * Sets the power management mode of the pipe and plane.
  */
@@ -3451,9 +3457,11 @@ void intel_crtc_update_dpms(struct drm_crtc *crtc)
 	for_each_encoder_on_crtc(dev, crtc, intel_encoder)
 		enable |= intel_encoder->connectors_active;
 
-	if (enable)
+	if (enable) {
+		intel_crtc_mode_set(crtc, &crtc->mode, &crtc->hwmode,
+				    crtc->x, crtc->y, crtc->fb);
 		dev_priv->display.crtc_enable(crtc);
-	else
+	} else
 		dev_priv->display.crtc_disable(crtc);
 
 	intel_crtc_update_sarea(crtc, enable);
-- 
1.7.10.4

      parent reply	other threads:[~2012-09-10 19:41 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-09-10 19:58 [PATCH 0/3] Some more modeset fallout Daniel Vetter
2012-09-10 19:58 ` [PATCH 1/3] drm/i915: fix up the IBX transcoder B check Daniel Vetter
2012-09-11 14:57   ` Paulo Zanoni
2012-09-11 15:26     ` Daniel Vetter
2012-09-12 15:20   ` Jesse Barnes
2012-09-12 15:53     ` Daniel Vetter
2012-09-10 19:58 ` [PATCH 2/3] drm/i915: correctly update crtc->x/y in set_base Daniel Vetter
2012-09-12 15:29   ` Jesse Barnes
2012-09-12 15:58     ` Daniel Vetter
2012-09-10 19:58 ` Daniel Vetter [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1347307111-6887-4-git-send-email-daniel.vetter@ffwll.ch \
    --to=daniel.vetter@ffwll.ch \
    --cc=intel-gfx@lists.freedesktop.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox