]> git.baikalelectronics.ru Git - kernel.git/commit
drm/i915: fix lvds/dp panel fitter setting
authorImre Deak <imre.deak@intel.com>
Tue, 27 Aug 2013 09:24:09 +0000 (12:24 +0300)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Tue, 3 Sep 2013 09:12:29 +0000 (11:12 +0200)
commit6a706e15cdce39a964952e6e5d32a7220d43acc0
treeaadc0a474e817c9f9052a09148c0618ec6eefd78
parenta1b9baf8e65cfbf90950dfd93329c31710b18ab1
drm/i915: fix lvds/dp panel fitter setting

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 45e0df26785aee86b71aac99e929ed49d8e037ae
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: Imre Deak <imre.deak@intel.com>
Reviewed-by: Mika Kuoppala <mika.kuoppala@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/intel_panel.c