Intel-GFX Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] gpu/drm/i915: Add a blacklist to omit modeset on LID open
@ 2010-06-09 19:40 Thomas Bächler
  2010-06-10  7:39 ` Thomas Bächler
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Thomas Bächler @ 2010-06-09 19:40 UTC (permalink / raw)
  To: jbarnes; +Cc: intel-gfx

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;
-- 
1.7.1

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH] gpu/drm/i915: Add a blacklist to omit modeset on LID open
  2010-06-09 19:40 [PATCH] gpu/drm/i915: Add a blacklist to omit modeset on LID open Thomas Bächler
@ 2010-06-10  7:39 ` Thomas Bächler
  2010-06-18 17:19 ` Jesse Barnes
  2010-07-01 22:41 ` Eric Anholt
  2 siblings, 0 replies; 7+ messages in thread
From: Thomas Bächler @ 2010-06-10  7:39 UTC (permalink / raw)
  To: jbarnes; +Cc: intel-gfx


[-- Attachment #1.1: Type: text/plain, Size: 365 bytes --]

Am 09.06.2010 21:40, schrieb Thomas Bächler:
> +
> +/* These systems claim to have LVDS, but really don't */
> +static const struct dmi_system_id intel_no_modeset_on_lid[] = {
> +	{

I just noticed this copy and paste error - the comment is obviously
wrong. You should probably change the comment before applying this
patch, sorry for the inconvenience.


[-- Attachment #1.2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 262 bytes --]

[-- Attachment #2: Type: text/plain, Size: 159 bytes --]

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] gpu/drm/i915: Add a blacklist to omit modeset on LID open
  2010-06-09 19:40 [PATCH] gpu/drm/i915: Add a blacklist to omit modeset on LID open Thomas Bächler
  2010-06-10  7:39 ` Thomas Bächler
@ 2010-06-18 17:19 ` Jesse Barnes
  2010-07-01 22:41 ` Eric Anholt
  2 siblings, 0 replies; 7+ messages in thread
From: Jesse Barnes @ 2010-06-18 17:19 UTC (permalink / raw)
  To: Thomas Bächler; +Cc: intel-gfx

On Wed,  9 Jun 2010 21:40:54 +0200
Thomas Bächler <thomas@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@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

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] gpu/drm/i915: Add a blacklist to omit modeset on LID open
  2010-06-09 19:40 [PATCH] gpu/drm/i915: Add a blacklist to omit modeset on LID open Thomas Bächler
  2010-06-10  7:39 ` Thomas Bächler
  2010-06-18 17:19 ` Jesse Barnes
@ 2010-07-01 22:41 ` Eric Anholt
  2010-07-02  8:44   ` Thomas Bächler
  2010-07-02  8:45   ` Thomas Bächler
  2 siblings, 2 replies; 7+ messages in thread
From: Eric Anholt @ 2010-07-01 22:41 UTC (permalink / raw)
  To: Thomas Bächler, jbarnes; +Cc: intel-gfx


[-- Attachment #1.1: Type: text/plain, Size: 492 bytes --]

On Wed,  9 Jun 2010 21:40:54 +0200, Thomas Bächler <thomas@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

This one is still missing a Signed-off-by: (see
Documentation/SubmittingPatches).  Could you add that and re-send with
the fixed comment?

[-- Attachment #1.2: Type: application/pgp-signature, Size: 197 bytes --]

[-- Attachment #2: Type: text/plain, Size: 159 bytes --]

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH] gpu/drm/i915: Add a blacklist to omit modeset on LID open
  2010-07-01 22:41 ` Eric Anholt
@ 2010-07-02  8:44   ` Thomas Bächler
  2010-07-02  8:45   ` Thomas Bächler
  1 sibling, 0 replies; 7+ messages in thread
From: Thomas Bächler @ 2010-07-02  8:44 UTC (permalink / raw)
  To: eric; +Cc: intel-gfx

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

Signed-off-by: Thomas Bächler <thomas@archlinux.org>
---
 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 31df55f..0eab8df 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;
+}
+
+/* The GPU hangs up on these systems if modeset is performed on LID open */
+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;
-- 
1.7.1.1

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH] gpu/drm/i915: Add a blacklist to omit modeset on LID open
  2010-07-01 22:41 ` Eric Anholt
  2010-07-02  8:44   ` Thomas Bächler
@ 2010-07-02  8:45   ` Thomas Bächler
  2010-07-26 18:42     ` Eric Anholt
  1 sibling, 1 reply; 7+ messages in thread
From: Thomas Bächler @ 2010-07-02  8:45 UTC (permalink / raw)
  To: Eric Anholt; +Cc: intel-gfx


[-- Attachment #1.1: Type: text/plain, Size: 718 bytes --]

Am 02.07.2010 00:41, schrieb Eric Anholt:
> On Wed,  9 Jun 2010 21:40:54 +0200, Thomas Bächler <thomas@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
> 
> This one is still missing a Signed-off-by: (see
> Documentation/SubmittingPatches).  Could you add that and re-send with
> the fixed comment?

Oops, some day I'll get this right. Resent with the Signed-off-by. The
comment was actually correct in my local git tree, I probably had fixed
it in the meantime.


[-- Attachment #1.2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 262 bytes --]

[-- Attachment #2: Type: text/plain, Size: 159 bytes --]

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] gpu/drm/i915: Add a blacklist to omit modeset on LID open
  2010-07-02  8:45   ` Thomas Bächler
@ 2010-07-26 18:42     ` Eric Anholt
  0 siblings, 0 replies; 7+ messages in thread
From: Eric Anholt @ 2010-07-26 18:42 UTC (permalink / raw)
  To: Thomas Bächler; +Cc: intel-gfx


[-- Attachment #1.1: Type: text/plain, Size: 864 bytes --]

On Fri, 02 Jul 2010 10:45:45 +0200, Thomas Bächler <thomas@archlinux.org> wrote:
> Am 02.07.2010 00:41, schrieb Eric Anholt:
> > On Wed,  9 Jun 2010 21:40:54 +0200, Thomas Bächler <thomas@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
> > 
> > This one is still missing a Signed-off-by: (see
> > Documentation/SubmittingPatches).  Could you add that and re-send with
> > the fixed comment?
> 
> Oops, some day I'll get this right. Resent with the Signed-off-by. The
> comment was actually correct in my local git tree, I probably had fixed
> it in the meantime.

Applied to for-linus.  Thanks!

[-- Attachment #1.2: Type: application/pgp-signature, Size: 197 bytes --]

[-- Attachment #2: Type: text/plain, Size: 159 bytes --]

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2010-07-26 18:42 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-06-09 19:40 [PATCH] gpu/drm/i915: Add a blacklist to omit modeset on LID open Thomas Bächler
2010-06-10  7:39 ` Thomas Bächler
2010-06-18 17:19 ` Jesse Barnes
2010-07-01 22:41 ` Eric Anholt
2010-07-02  8:44   ` Thomas Bächler
2010-07-02  8:45   ` Thomas Bächler
2010-07-26 18:42     ` Eric Anholt

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox