[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