drm: allow changing DPMS mode
authorMarta Lofstedt <marta.lofstedt@intel.com>
Mon, 5 Dec 2016 12:04:08 +0000 (14:04 +0200)
committerRaspbian kernel package updater <root@raspbian.org>
Sun, 8 Oct 2017 01:08:15 +0000 (01:08 +0000)
The drm_atomic_helper_connector_dpms
will set the connector back the old DPMS state
before returning. This makes it impossible to change
DPMS state of the connector.

Fixes: 0853695c3ba46f97dfc0b5885f7b7e640ca212dd
v2: edit of commit message
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Eric Engestrom <eric.engestrom@imgtec.com>
Cc: Sean Paul <seanpaul@chromium.org>
Cc: dri-devel@lists.freedesktop.org
Cc: <drm-intel-fixes@lists.freedesktop.org>
Signed-off-by: Marta Lofstedt <marta.lofstedt@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: http://patchwork.freedesktop.org/patch/msgid/20161205120408.13056-1-marta.lofstedt@intel.com
(cherry picked from commit 8f5040e421ca4bbd8cd5216dec509da188eb74bc)

drivers/gpu/drm/drm_atomic_helper.c

index 50acd799babe1824e47e4bba6b9f03875429c17a..06572ffdb4082fe290b51bbd4c54b84cd11f73d3 100644 (file)
@@ -2932,7 +2932,8 @@ fail:
        if (ret == -EDEADLK)
                goto backoff;
 
-       connector->dpms = old_mode;
+       if (ret != 0)
+               connector->dpms = old_mode;
        drm_atomic_state_free(state);
 
        return ret;