On Wed, 9 Jun 2010 21:40:54 +0200 Thomas Bächler <tho...@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 <jbar...@virtuousgeek.org> -- Jesse Barnes, Intel Open Source Technology Center _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/intel-gfx