Re: 2.6.36-rc2 regression: Wrong screen resolution (1024x768instead of 1680x1050)

From: Tino Keitel
Date: Mon Aug 30 2010 - 13:36:41 EST


On Sun, Aug 29, 2010 at 15:19:20 +0200, Maciej Rutecki wrote:
> > TV1 connected 1024x768+0+0 (normal left inverted right x axis y axis)
> > 0mm x 0mm
> > 848x480 30.0 +
> > 640x480 30.0 +
> > 1024x768 30.0*
> > 800x600 30.0
> >
> > This is a Mac mini Core 2 Duo with Intel i945 graphics.
> >
>
> Seems be similar to:
> https://bugzilla.kernel.org/show_bug.cgi?id=17301

Maybe. I don't know if this is connected, but after disabling TV out
using the attached patch, the screen has no signal after suspend to
RAM. However, the patch helped to get back the native LCD resolution
after boot.

Regards,
Tino
diff --git a/drivers/gpu/drm/i915/intel_overlay.c b/drivers/gpu/drm/i915/intel_overlay.c
index 4f00390..1d306a4 100644
--- a/drivers/gpu/drm/i915/intel_overlay.c
+++ b/drivers/gpu/drm/i915/intel_overlay.c
@@ -25,6 +25,8 @@
*
* Derived from Xorg ddx, xf86-video-intel, src/i830_video.c
*/
+
+#include <linux/seq_file.h>
#include "drmP.h"
#include "drm.h"
#include "i915_drm.h"
diff --git a/drivers/gpu/drm/i915/intel_tv.c b/drivers/gpu/drm/i915/intel_tv.c
index d2029ef..f71e488 100644
--- a/drivers/gpu/drm/i915/intel_tv.c
+++ b/drivers/gpu/drm/i915/intel_tv.c
@@ -1279,6 +1279,8 @@ intel_tv_detect_type (struct intel_tv *intel_tv)
* 1 0 X svideo
* 0 0 0 Component
*/
+ type = -1;
+ goto out;
if ((tv_dac & TVDAC_SENSE_MASK) == (TVDAC_B_SENSE | TVDAC_C_SENSE)) {
DRM_DEBUG_KMS("Detected Composite TV connection\n");
type = DRM_MODE_CONNECTOR_Composite;
@@ -1292,7 +1294,7 @@ intel_tv_detect_type (struct intel_tv *intel_tv)
DRM_DEBUG_KMS("No TV connection detected\n");
type = -1;
}
-
+out:
/* Restore interrupt config */
spin_lock_irqsave(&dev_priv->user_irq_lock, irqflags);
i915_enable_pipestat(dev_priv, 0, PIPE_HOTPLUG_INTERRUPT_ENABLE |