• Imre Deak's avatar
    drm/i915: fix lvds/dp panel fitter setting · a52690e4
    Imre Deak authored
    If need to enable the panel fitter, the crtc timings have to be
    programmed according to the panel's native (fixed) mode. This isn't the
    case atm, since after the encoder changes adjusted_mode to fixed
    mode the crtc_* timing fields of adjusted_mode will stay at their original
    non-native values that the user passed in. This results in a corrupted
    output.
    
    One exception is when we have a second pass of computing encoder configs
    due to bandwidth limitation, since then we'll set adjusted_mode.crtc_*
    fields to the fixed mode values set in the first pass; so in this case
    things will work out.
    
    Fix this by updating the adjusted_mode.crtc_* fields when we set the
    fixed panel mode.
    
    This regression has been introduced in
    
    commit 135c81b8
    Author: Daniel Vetter <daniel.vetter@ffwll.ch>
    Date:   Sun Jul 21 21:37:09 2013 +0200
    
        drm/i915: clean up crtc timings computation
    Signed-off-by: default avatarImre Deak <imre.deak@intel.com>
    Reviewed-by: default avatarMika Kuoppala <mika.kuoppala@intel.com>
    Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
    a52690e4
intel_panel.c 20.8 KB