[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Bug#577724: xserver-xorg-video-intel: Fail to start when laptop's LID closed



reassign 577724 src:linux-2.6
thanks

Thanks Sven, I'm reassigning this to the kernel (full issue, comments,
and pointer to upstream commit should be availble right below.)

Mraw,
KiBi.

Sven Joachim <svenjoac@gmx.de> (15/04/2010):
> On 2010-04-15 09:30 +0200, Brice Goglin wrote:
> 
> > Frank Lin PIAT wrote:
> >> On Thu, 2010-04-15 at 02:54 +0200, Cyril Brulebois wrote:
> >>   
> >>> Frank Lin PIAT <fpiat@klabs.be> (14/04/2010):
> >>>     
> >>>> I have an anoying problem when I close my laptop lid during the
> >>>> computer startup (i.e between grub and Xorg initialisation): Xorg
> >>>> fails to start.
> >>>>
> >>>> Restarting gdm with the laptop lid open works.
> >>>>       
> >>> What do you expect it to do?
> >>>     
> >>
> >> Some magic to detect that it's a laptop, which lid is closed [but
> >> present] ;-)
> >>   
> >
> > This might have changed between 2.6.33 and 2.6.34. The intel guys
> > apparently dropped some detection code that detects the lid status.
> >
> > At least on my laptop, booting with lid closed and DVI plugged gives me
> > both outputs enabled with 2.6.34 while lid would be off with 2.6.33.
> 
> For the record that is likely the following change, introduced in
> 2.6.34-rc3, which also fixes
> https://bugzilla.kernel.org/show_bug.cgi?id=15205:
> 
> 
> commit 6e6c822868f113dabe3c33bdd91e883cc28fa11b
> Author: Eric Anholt <eric@anholt.net>
> Date:   Wed Mar 17 13:48:06 2010 -0700
> 
>     drm/i915: Stop trying to use ACPI lid status to determine LVDS connection.
>     
>     I've been getting more and more quirk reports about this.  It seems
>     clear at this point that other OSes are not using this for determining
>     whether the integrated panel should be turned on, and it is not
>     reliable for doing so.  Better to light up an unintended panel than to
>     not light up the only usable output on the system.
>     
>     Signed-off-by: Eric Anholt <eric@anholt.net>
>     Acked-by: Jesse Barnes <jbarnes@virtuousgeek.org>
> 
> 
> diff --git a/drivers/gpu/drm/i915/intel_lvds.c b/drivers/gpu/drm/i915/intel_lvds.c
> index 14e516f..2b3fa7a 100644
> --- a/drivers/gpu/drm/i915/intel_lvds.c
> +++ b/drivers/gpu/drm/i915/intel_lvds.c
> @@ -607,53 +607,6 @@ static void intel_lvds_mode_set(struct drm_encoder *encoder,
>  	I915_WRITE(PFIT_CONTROL, lvds_priv->pfit_control);
>  }
>  
> -/* Some lid devices report incorrect lid status, assume they're connected */
> -static const struct dmi_system_id bad_lid_status[] = {
> -	{
> -		.ident = "Compaq nx9020",
> -		.matches = {
> -			DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"),
> -			DMI_MATCH(DMI_BOARD_NAME, "3084"),
> -		},
> -	},
> -	{
> -		.ident = "Samsung SX20S",
> -		.matches = {
> -			DMI_MATCH(DMI_SYS_VENDOR, "Samsung Electronics"),
> -			DMI_MATCH(DMI_BOARD_NAME, "SX20S"),
> -		},
> -	},
> -	{
> -		.ident = "Aspire One",
> -		.matches = {
> -			DMI_MATCH(DMI_SYS_VENDOR, "Acer"),
> -			DMI_MATCH(DMI_PRODUCT_NAME, "Aspire one"),
> -		},
> -	},
> -	{
> -		.ident = "Aspire 1810T",
> -		.matches = {
> -			DMI_MATCH(DMI_SYS_VENDOR, "Acer"),
> -			DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 1810T"),
> -		},
> -	},
> -	{
> -		.ident = "PC-81005",
> -		.matches = {
> -			DMI_MATCH(DMI_SYS_VENDOR, "MALATA"),
> -			DMI_MATCH(DMI_PRODUCT_NAME, "PC-81005"),
> -		},
> -	},
> -	{
> -		.ident = "Clevo M5x0N",
> -		.matches = {
> -			DMI_MATCH(DMI_SYS_VENDOR, "CLEVO Co."),
> -			DMI_MATCH(DMI_BOARD_NAME, "M5x0N"),
> -		},
> -	},
> -	{ }
> -};
> -
>  /**
>   * Detect the LVDS connection.
>   *
> @@ -669,12 +622,9 @@ static enum drm_connector_status intel_lvds_detect(struct drm_connector *connect
>  	/* ACPI lid methods were generally unreliable in this generation, so
>  	 * don't even bother.
>  	 */
> -	if (IS_GEN2(dev))
> +	if (IS_GEN2(dev) || IS_GEN3(dev))
>  		return connector_status_connected;
>  
> -	if (!dmi_check_system(bad_lid_status) && !acpi_lid_open())
> -		status = connector_status_disconnected;
> -
>  	return status;
>  }

Attachment: signature.asc
Description: Digital signature


Reply to: