From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH v2 09/15] drm/i915: Ignore VBT int_crt_support on 830M Date: Fri, 24 Oct 2014 17:11:44 +0300 Message-ID: <20141024141144.GC4284@intel.com> References: <20140606170000.GL7416@phenom.ffwll.local> <1402083852-31461-1-git-send-email-ville.syrjala@linux.intel.com> <87wq7pvbxx.fsf@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTP id C61846E5C8 for ; Fri, 24 Oct 2014 07:12:25 -0700 (PDT) Content-Disposition: inline In-Reply-To: <87wq7pvbxx.fsf@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Jani Nikula Cc: Thomas Richter , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org On Fri, Oct 24, 2014 at 04:23:22PM +0300, Jani Nikula wrote: > On Fri, 06 Jun 2014, ville.syrjala@linux.intel.com wrote: > > 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. > = > Going through some old patches I spotted this one. It no longer applies, > and the crt presence check has been changes. Do those changes fix the > issue here as well? This was fixed in: commit 84b4e042c4707bd1bf05094a51111403d680dc39 Author: Jesse Barnes Date: Wed Jun 25 08:24:29 2014 -0700 drm/i915: only apply crt_present check on VLV > = > Jani. > = > = > > > > v2: Move the check into intel_crt_init() (Daniel) > > > > Signed-off-by: Ville Syrj=E4l=E4 > > --- > > 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/in= tel_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/i91= 5/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_devi= ce *dev) > > = > > intel_lvds_init(dev); > > = > > - if (!IS_ULT(dev) && !IS_CHERRYVIEW(dev) && dev_priv->vbt.int_crt_supp= ort) > > - intel_crt_init(dev); > > + intel_crt_init(dev); > > = > > if (HAS_DDI(dev)) { > > int found; > > -- = > > 1.8.5.5 > > > > _______________________________________________ > > Intel-gfx mailing list > > Intel-gfx@lists.freedesktop.org > > http://lists.freedesktop.org/mailman/listinfo/intel-gfx > = > -- = > Jani Nikula, Intel Open Source Technology Center -- = Ville Syrj=E4l=E4 Intel OTC