drm/i915: force full modeset if the connector is in DPMS OFF mode
authorImre Deak <imre.deak@intel.com>
Fri, 3 May 2013 17:44:07 +0000 (19:44 +0200)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Wed, 22 May 2013 07:09:22 +0000 (09:09 +0200)
commite3de42b68478a8c95dd27520e9adead2af9477a5
tree9fd2c21217c6fb158e738e3856228fddc442b5a6
parent2d05eae1c92f93ace0fc6f282c55527d293297dd
drm/i915: force full modeset if the connector is in DPMS OFF mode

Currently the driver's assumed behavior for a modeset with an attached
FB is that the corresponding connector will be switched to DPMS ON mode
if it happened to be in DPMS OFF (or another power save mode). This
wasn't enforced though if only the FB changed, everything else (format,
connector etc.) remaining the same. In this case we only set the new FB
base and left the connector in the old power save mode.

Fix this by forcing a full modeset whenever there is an attached FB and
any affected connector is in a power save mode.

V_2: Run the test for encoders in power save mode outside the the
test for fb change: user space may have just disabled the encoders
but left everything else in place. Make sure the connector list is
not empty before running this test.

Signed-off-by: Imre Deak <imre.deak@intel.com>
Signed-off-by: Egbert Eich <eich@suse.de>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=61642
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=59834
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=59339
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=64178
Acked-by: Jesse Barnes <jbarnes@virtuousgeek.org>
[danvet: Apply Jani's s/connector_off/is_crtc_connector_off bikeshed.]
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/intel_display.c