DRM/i915: Restore sdvo_flags after dtd->mode->dtd Roundrtrip.
authorEgbert Eich <eich@suse.de>
Sat, 13 Oct 2012 12:29:31 +0000 (14:29 +0200)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Tue, 16 Oct 2012 07:39:04 +0000 (09:39 +0200)
commite751823da27d37d25e5543abef2dc031f8813bc8
treee0a95bde23e85a2b88ff275487ef98761dca3793
parente3b86d6941c7e5f90be05d986fce1fcb40c68d6b
DRM/i915: Restore sdvo_flags after dtd->mode->dtd Roundrtrip.

For TV and LVDS encoders intel_sdvo_set_input_timings_for_mode()
is called to pass a mode to the sdvo chip and retrieve a dtd
containing information needed to calculate the adjusted_mode which
is done by intel_sdvo_get_dtd_from_mode().
To set this adjusted_mode as input mode for the sdvo chip, a dtd is
recalculated using intel_sdvo_get_mode_from_dtd(). During this round
trip the sdvo_flags contained in the dtd obtained from the hardware
are lost.
Since these flags cannot be ignored in all cases this patch preserves
and restores them.

This regression has been introduced in

commit 6651819b4b4fc3caa6964c5d825eb4bb996f3905
Author: Daniel Vetter <daniel.vetter@ffwll.ch>
Date:   Sun Apr 1 19:16:18 2012 +0200

    drm/i915: handle input/output sdvo timings separately in mode_set

Signed-off-by: Egbert Eich <eich@suse.de>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/intel_sdvo.c