[Intel-gfx] [PATCH 2/2] drm/i915: don't always force the panel's fixed_mode

Paulo Zanoni przanoni at gmail.com
Fri Feb 3 20:48:21 CET 2012

From: Paulo Zanoni <paulo.r.zanoni at intel.com>

My laptop has two 1440x900 modes: one is the fixed_mode and the other
has different timings. If I use xrandr to switch from the fixed mode to
the "other" 1440x900 mode, xrandr will tell me the change was
successful, but nothing was actually done: I'm still using the
fixed_mode. This patch allows us to use other modes if hdisplay and
vdisplay are the same.

Signed-off-by: Paulo Zanoni <paulo.r.zanoni at intel.com>
 drivers/gpu/drm/i915/intel_panel.c |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

Apply on top of danvet's interlaced branch.

diff --git a/drivers/gpu/drm/i915/intel_panel.c b/drivers/gpu/drm/i915/intel_panel.c
index 230a141..62ca771 100644
--- a/drivers/gpu/drm/i915/intel_panel.c
+++ b/drivers/gpu/drm/i915/intel_panel.c
@@ -36,6 +36,12 @@ void
 intel_fixed_panel_mode(struct drm_display_mode *fixed_mode,
 		       struct drm_display_mode *adjusted_mode)
+	/* Allow modes that match the panel fixed_mode resolution but have
+	 * different timings */
+	if (adjusted_mode->hdisplay == fixed_mode->hdisplay &&
+	    adjusted_mode->vdisplay == fixed_mode->vdisplay)
+		return;
 	adjusted_mode->hdisplay = fixed_mode->hdisplay;
 	adjusted_mode->hsync_start = fixed_mode->hsync_start;
 	adjusted_mode->hsync_end = fixed_mode->hsync_end;

More information about the Intel-gfx mailing list