From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH v2 09/15] drm/i915: Ignore VBT int_crt_support on 830M Date: Fri, 6 Jun 2014 22:13:20 +0200 Message-ID: <20140606201319.GU7416@phenom.ffwll.local> References: <20140606170000.GL7416@phenom.ffwll.local> <1402083852-31461-1-git-send-email-ville.syrjala@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Return-path: Received: from mail-wi0-f171.google.com (mail-wi0-f171.google.com [209.85.212.171]) by gabe.freedesktop.org (Postfix) with ESMTP id 347106E04B for ; Fri, 6 Jun 2014 13:13:25 -0700 (PDT) Received: by mail-wi0-f171.google.com with SMTP id cc10so1600504wib.10 for ; Fri, 06 Jun 2014 13:13:24 -0700 (PDT) Content-Disposition: inline In-Reply-To: <1402083852-31461-1-git-send-email-ville.syrjala@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: ville.syrjala@linux.intel.com Cc: Thomas Richter , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org On Fri, Jun 06, 2014 at 10:44:12PM +0300, ville.syrjala@linux.intel.com wro= te: > From: Ville Syrj=E4l=E4 > = > My Fujitsu-Siemens Lifebook S6010 definitely has a VGA connector, but > the VBT says different. Ignore the VBT for 830M since it seems such > old machines would generally have a VGA connector. > = > This is a regression caused by: > commit 9c2a03c2a194c086949f25d332937ac8dc4d9f7e > Author: Jesse Barnes > Date: Fri Apr 4 16:12:07 2014 -0700 > = > drm/i915: use VBT to determine whether to enumerate the VGA port > = > While at it refactor the code a bit to be more pleasing to the eye. > = > v2: Move the check into intel_crt_init() (Daniel) > = > Signed-off-by: Ville Syrj=E4l=E4 Reviewed-by: Daniel Vetter We'll probably get more of these ... -Daniel > --- > drivers/gpu/drm/i915/intel_crt.c | 22 ++++++++++++++++++++-- > drivers/gpu/drm/i915/intel_display.c | 3 +-- > 2 files changed, 21 insertions(+), 4 deletions(-) > = > diff --git a/drivers/gpu/drm/i915/intel_crt.c b/drivers/gpu/drm/i915/inte= l_crt.c > index 5a045d3..5104e9f 100644 > --- a/drivers/gpu/drm/i915/intel_crt.c > +++ b/drivers/gpu/drm/i915/intel_crt.c > @@ -801,6 +801,25 @@ static const struct dmi_system_id intel_no_crt[] =3D= { > { } > }; > = > +static bool has_crt_support(struct drm_device *dev) > +{ > + struct drm_i915_private *dev_priv =3D dev->dev_private; > + > + /* no hardware support whatsoever */ > + if (IS_ULT(dev) || IS_CHERRYVIEW(dev)) > + return false; > + > + /* Skip machines without VGA that falsely report hotplug events */ > + if (dmi_check_system(intel_no_crt)) > + return false; > + > + /* Fujitsu-Siemens Lifebook S6010 VBT lies */ > + if (IS_I830(dev)) > + return true; > + > + return dev_priv->vbt.int_crt_support; > +} > + > void intel_crt_init(struct drm_device *dev) > { > struct drm_connector *connector; > @@ -808,8 +827,7 @@ void intel_crt_init(struct drm_device *dev) > struct intel_connector *intel_connector; > struct drm_i915_private *dev_priv =3D dev->dev_private; > = > - /* Skip machines without VGA that falsely report hotplug events */ > - if (dmi_check_system(intel_no_crt)) > + if (!has_crt_support(dev)) > return; > = > crt =3D kzalloc(sizeof(struct intel_crt), GFP_KERNEL); > diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/= intel_display.c > index b5cbb28..1060caa 100644 > --- a/drivers/gpu/drm/i915/intel_display.c > +++ b/drivers/gpu/drm/i915/intel_display.c > @@ -11376,8 +11376,7 @@ static void intel_setup_outputs(struct drm_device= *dev) > = > intel_lvds_init(dev); > = > - if (!IS_ULT(dev) && !IS_CHERRYVIEW(dev) && dev_priv->vbt.int_crt_suppor= t) > - intel_crt_init(dev); > + intel_crt_init(dev); > = > if (HAS_DDI(dev)) { > int found; > -- = > 1.8.5.5 > = -- = Daniel Vetter Software Engineer, Intel Corporation +41 (0) 79 365 57 48 - http://blog.ffwll.ch