From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: Re: Thinkpad T420 and single/dual channel lvds Date: Thu, 15 Mar 2012 13:25:08 +0000 Message-ID: References: <201203141337.14798.helge.bahmann@secunet.com> <1331736306.30864.7.camel@atropine> <1331748559.30864.14.camel@atropine> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from mga14.intel.com (mga14.intel.com [143.182.124.37]) by gabe.freedesktop.org (Postfix) with ESMTP id CCEB59EFD5 for ; Thu, 15 Mar 2012 06:25:14 -0700 (PDT) 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: Takashi Iwai , Adam Jackson Cc: intel-gfx@lists.freedesktop.org, hcb@chaoticmind.net List-Id: intel-gfx@lists.freedesktop.org On Thu, 15 Mar 2012 14:15:54 +0100, Takashi Iwai wrote: > +static bool is_dual_link_lvds(struct drm_i915_private *dev_priv) > +{ > + /* BIOS should set the proper LVDS register value at boot, but > + * in reality, it doesn't set the value when the lid is closed; > + * thus when a machine is booted with the lid closed, the LVDS > + * reg value can't be trusted. So we need to check "the value > + * to be set" in VBT at first. > + */ > + if ((dev_priv->bios_lvds_val & LVDS_CLKB_POWER_MASK) == > + LVDS_CLKB_POWER_UP) > + return true; > + if ((I915_READ(PCH_LVDS) & LVDS_CLKB_POWER_MASK) == This is either PCH_LVDS or LVDS depending on the generation. -Chris -- Chris Wilson, Intel Open Source Technology Centre