drm/i915: don't always force the panel's fixed_mode
Subsystems (2)
PATCH 2/2 drm/i915: don't always force the panel's fixed_mode
From: Paulo Zanoni <[email protected]>
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.
--- drivers/gpu/drm/i915/intel_panel.c | 6 ++++++ 1 files changed, 6 insertions(+), 0 deletions(-)
Apply on top of danvet's interlaced branch.
drivers/gpu/drm/i915/intel_panel.c +6 -0
@@ -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;
Signature · 1 line
1.7.8.3
Quoted 10 lines · Paulo Zanoni
From: Paulo Zanoni <[email protected]>
My laptop has two 1440x900 modes: one is the
fixed_modeand 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 thefixed_mode. This patch allows us to use other modes if hdisplay and vdisplay are the same.Signed-off-by Paulo Zanoni <[email protected]>
Hm, I've thought we should only use this to dynamically switch between a mode with high refresh rate and one with a low one. Otoh we have a bunch of boards where we need a generic 'ignore lvds fixed mode because it's actually not a panel' - I think that would be slightly more useful since we could then quirk that. But who knows, I don't have much clue ... -Daniel
Signature · 3 lines
Daniel Vetter Mail: [email protected] Mobile: +41 (0)79 365 57 48
Quoted 10 lines · Daniel Vetter
Quoted 9 lines · Paulo Zanoni
From: Paulo Zanoni <[email protected]>
My laptop has two 1440x900 modes: one is the
fixed_modeand 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 thefixed_mode. This patch allows us to use other modes if hdisplay and vdisplay are the same.
Quoted 4 lines
Quoted 1 line
Signed-off-by Paulo Zanoni <[email protected]>Hm, I've thought we should only use this to dynamically switch between a mode with high refresh rate and one with a low one.
I hesitated for the same reason. Except that by filtering out all modes except for the one true mode, we prevent the user from being able to make a choice. They'll invariably make the wrong choice and file a bug, but nevertheless... ;-)
I also don't think this is the way we want to approach this. The overrides required for fake LVDS headers would seem to be a superset of this functionality.
-Chris
Signature · 1 line
Chris Wilson, Intel Open Source Technology Centre