From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH 4/6] drm/i915: Cleanup if the EDP transcoder has a bobug input value Date: Sat, 23 Mar 2013 13:30:32 +0100 Message-ID: <20130323123032.GZ9021@phenom.ffwll.local> References: <1362670228-19494-1-git-send-email-damien.lespiau@intel.com> <1362670228-19494-4-git-send-email-damien.lespiau@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from mail-ee0-f47.google.com (mail-ee0-f47.google.com [74.125.83.47]) by gabe.freedesktop.org (Postfix) with ESMTP id 4D344E5C5E for ; Sat, 23 Mar 2013 05:27:45 -0700 (PDT) Received: by mail-ee0-f47.google.com with SMTP id e52so2564448eek.6 for ; Sat, 23 Mar 2013 05:27:44 -0700 (PDT) Content-Disposition: inline In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: intel-gfx-bounces+gcfxdi-intel-gfx=m.gmane.org@lists.freedesktop.org Errors-To: intel-gfx-bounces+gcfxdi-intel-gfx=m.gmane.org@lists.freedesktop.org To: Paulo Zanoni Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org On Fri, Mar 22, 2013 at 06:34:43PM -0300, Paulo Zanoni wrote: > Hi > > 2013/3/7 Damien Lespiau : > > In the case where the hardware has been wrongly programmed and the EDP > > TRANS_DDI_FUNC_CTL register has a bogus value in its EDP Input field, we > > were using the pipe variable uninitialized. > > > > In this case, shutdown the transcoder. It will be programmed correctly > > the next time we try to enabled eDP. > > > > Signed-off-by: Damien Lespiau > > --- > > drivers/gpu/drm/i915/intel_display.c | 8 ++++++++ > > 1 files changed, 8 insertions(+), 0 deletions(-) > > > > diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c > > index 502cb28..875baf1 100644 > > --- a/drivers/gpu/drm/i915/intel_display.c > > +++ b/drivers/gpu/drm/i915/intel_display.c > > @@ -9107,6 +9107,13 @@ void intel_modeset_setup_hw_state(struct drm_device *dev, > > case TRANS_DDI_EDP_INPUT_C_ONOFF: > > pipe = PIPE_C; > > break; > > + default: > > + /* A bogus value has been programmed, disable > > + * the transcoder */ > > + WARN(1, "Bogus eDP source %08x\n", tmp); > > + intel_ddi_disable_transcoder_func(dev_priv, > > + TRANSCODER_EDP); > > I imagine this patch is a result of checking some code analyzer and > not real hardware, so we didn't really test this code on real > hardware, right? The WARN is definitely a must-have, but I kinda fear > this "disable" code since we can easily freeze the machine if we get > the mode set sequence wrong. Anyway, if the hardware is programmed in > an inconsistent way I don't really think there's a "right way" to > disable it, so: > > Reviewed-by: Paulo Zanoni Queued for -next, thanks for the patch. > But we need to watch out in case users start reporting about machines > that freeze during boot. And added a little note to the patch to this effect. -Daniel > > > + goto setup_pipes; > > } > > > > crtc = to_intel_crtc(dev_priv->pipe_to_crtc_mapping[pipe]); > > @@ -9117,6 +9124,7 @@ void intel_modeset_setup_hw_state(struct drm_device *dev, > > } > > } > > > > +setup_pipes: > > for_each_pipe(pipe) { > > crtc = to_intel_crtc(dev_priv->pipe_to_crtc_mapping[pipe]); > > > > -- > > 1.7.7.5 > > > > _______________________________________________ > > Intel-gfx mailing list > > Intel-gfx@lists.freedesktop.org > > http://lists.freedesktop.org/mailman/listinfo/intel-gfx > > > > -- > Paulo Zanoni > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/intel-gfx -- Daniel Vetter Software Engineer, Intel Corporation +41 (0) 79 365 57 48 - http://blog.ffwll.ch