For non-CRTC displays, the drm_atomic_helper_connector_dpms
will always set the connector back the old DPMS state
before returning. This makes it impossible to change
DPMS state.
fixes: 0853695c3ba46f97dfc0b5885f7b7e640ca212dd
Signed-off-by: Marta Lofstedt <marta.lofstedt at intel.com>
---
drivers/gpu/drm/drm_atomic_helper.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/drm_atomic_helper.c
b/drivers/gpu/drm/drm_atomic_helper.c
index 494680c..6a5acb9 100644
--- a/drivers/gpu/drm/drm_atomic_helper.c
+++ b/drivers/gpu/drm/drm_atomic_helper.c
@@ -2885,8 +2885,8 @@ int drm_atomic_helper_connector_dpms(struct drm_connector
*connector,
fail:
if (ret == -EDEADLK)
goto backoff;
-
- connector->dpms = old_mode;
+ if (ret != 0)
+ connector->dpms = old_mode;
drm_atomic_state_put(state);
return ret;
--
2.9.3