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