[Intel-gfx] [PATCH] gpu/drm/i915: Add a blacklist to omit modeset on LID open

Jesse Barnes jbarnes at virtuousgeek.org
Fri Jun 18 19:19:24 CEST 2010


On Wed,  9 Jun 2010 21:40:54 +0200
Thomas Bächler <thomas at archlinux.org> wrote:

> On some machines (currently only the Toshiba Tecra A11 is known), the GPU
> locks up when modeset is forced on LID open. This patch adds a new DMI
> blacklist and omits modesetting for all matches.
> 
> Fixes https://bugzilla.kernel.org/show_bug.cgi?id=15550
> ---
>  drivers/gpu/drm/i915/intel_lvds.c |   23 +++++++++++++++++++++++
>  1 files changed, 23 insertions(+), 0 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_lvds.c b/drivers/gpu/drm/i915/intel_lvds.c
> index 6a1accd..432b867 100644
> --- a/drivers/gpu/drm/i915/intel_lvds.c
> +++ b/drivers/gpu/drm/i915/intel_lvds.c
> @@ -599,6 +599,26 @@ static int intel_lvds_get_modes(struct drm_connector *connector)
>  	return 0;
>  }
>  
> +static int intel_no_modeset_on_lid_dmi_callback(const struct dmi_system_id *id)
> +{
> +	DRM_DEBUG_KMS("Skipping forced modeset for %s\n", id->ident);
> +	return 1;
> +}
> +
> +/* These systems claim to have LVDS, but really don't */
> +static const struct dmi_system_id intel_no_modeset_on_lid[] = {
> +	{
> +		.callback = intel_no_modeset_on_lid_dmi_callback,
> +		.ident = "Toshiba Tecra A11",
> +		.matches = {
> +			DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"),
> +			DMI_MATCH(DMI_PRODUCT_NAME, "TECRA A11"),
> +		},
> +	},
> +
> +	{ }	/* terminating entry */
> +};
> +
>  /*
>   * Lid events. Note the use of 'modeset_on_lid':
>   *  - we set it on lid close, and reset it on open
> @@ -622,6 +642,9 @@ static int intel_lid_notify(struct notifier_block *nb, unsigned long val,
>  	 */
>  	if (connector)
>  		connector->status = connector->funcs->detect(connector);
> +	/* Don't force modeset on machines where it causes a GPU lockup */
> +	if (dmi_check_system(intel_no_modeset_on_lid))
> +		return NOTIFY_OK;
>  	if (!acpi_lid_open()) {
>  		dev_priv->modeset_on_lid = 1;
>  		return NOTIFY_OK;

Other than the comment issue, this one looks fine to me.  We just can't
seem to win when it comes to lid handling...

Reviewed-by: Jesse Barnes <jbarnes at virtuousgeek.org>

-- 
Jesse Barnes, Intel Open Source Technology Center



More information about the Intel-gfx mailing list