From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH 43/66] drm/i915: Disable pipe before ports on ilk Date: Thu, 22 May 2014 22:26:43 +0200 Message-ID: <20140522202643.GF14357@phenom.ffwll.local> References: <1398376542-27825-1-git-send-email-daniel.vetter@ffwll.ch> <1398376542-27825-44-git-send-email-daniel.vetter@ffwll.ch> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from mail-ee0-f49.google.com (mail-ee0-f49.google.com [74.125.83.49]) by gabe.freedesktop.org (Postfix) with ESMTP id C8C876ECF5 for ; Thu, 22 May 2014 13:26:47 -0700 (PDT) Received: by mail-ee0-f49.google.com with SMTP id e53so2923404eek.8 for ; Thu, 22 May 2014 13:26:47 -0700 (PDT) Content-Disposition: inline In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Paulo Zanoni Cc: Daniel Vetter , Intel Graphics Development List-Id: intel-gfx@lists.freedesktop.org On Thu, May 22, 2014 at 04:25:05PM -0300, Paulo Zanoni wrote: > 2014-04-24 18:55 GMT-03:00 Daniel Vetter : > > The modeset sequence docs are very clear that we should disable the > > pipe before we switch off any ports, for both pch ports and the cpu > > edp port. > > > > In practice it doesn't seem to matter too much since for non-DP pch > > ports it only matters that the pch transcoder is still on. And for cpu > > edp ports it either doesn't seem to matter or we're quick enough. > > > > But for DP pch ports we have a regular stream of bug reports where the > > cpu pipe seems to be stuck and won't turn off. This change should > > address this. > > > > This should also help with using a nuclear pageflip atomically switch > > off all planes, since it moves that ahead of any other disabling > > action. > > > > Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=62251 > > Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=52061 > > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=54687 > > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=67462 > > Signed-off-by: Daniel Vetter > > This patch doesn't make us spec-compliant either. > > For example, the spec says we need to disable audio, backlight and the > panel power *before* we disable the pipe. This is done by > intel_disable_dp on IVB, which is, today, at the correct order. After > this patch, we will be doing all this *after* we disable the pipe, > which is not what the spec says we should do. > > Also, we have ->disable and ->post_disable for a reason, and it kinda > looks like you're making ILK's ->disable do what ->post_disable should > be doing. It seems what we should do if we want to be correct is to > mode stuff from ->disable to ->post_disable. Oops, that patch here shouldn't be in this series. Somehow I've screwed up my branch management, please ignore. -Daniel > > > --- > > drivers/gpu/drm/i915/intel_display.c | 6 +++--- > > 1 file changed, 3 insertions(+), 3 deletions(-) > > > > diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c > > index 713563faeafd..82ad84eefc8d 100644 > > --- a/drivers/gpu/drm/i915/intel_display.c > > +++ b/drivers/gpu/drm/i915/intel_display.c > > @@ -3924,14 +3924,14 @@ static void ironlake_crtc_disable(struct drm_crtc *crtc) > > > > ilk_crtc_disable_planes(crtc); > > > > - for_each_encoder_on_crtc(dev, crtc, encoder) > > - encoder->disable(encoder); > > - > > if (intel_crtc->config.has_pch_encoder) > > intel_set_pch_fifo_underrun_reporting(dev, pipe, false); > > > > intel_disable_pipe(dev_priv, pipe); > > > > + for_each_encoder_on_crtc(dev, crtc, encoder) > > + encoder->disable(encoder); > > + > > ironlake_pfit_disable(intel_crtc); > > > > for_each_encoder_on_crtc(dev, crtc, encoder) > > -- > > 1.8.1.4 > > > > _______________________________________________ > > Intel-gfx mailing list > > Intel-gfx@lists.freedesktop.org > > http://lists.freedesktop.org/mailman/listinfo/intel-gfx > > > > -- > Paulo Zanoni -- Daniel Vetter Software Engineer, Intel Corporation +41 (0) 79 365 57 48 - http://blog.ffwll.ch