diff options
| -rw-r--r-- | drivers/gpu/drm/drm_crtc_helper.c | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/drivers/gpu/drm/drm_crtc_helper.c b/drivers/gpu/drm/drm_crtc_helper.c index 1ace9c11a3ed..738a4294d820 100644 --- a/drivers/gpu/drm/drm_crtc_helper.c +++ b/drivers/gpu/drm/drm_crtc_helper.c | |||
| @@ -754,12 +754,6 @@ int drm_crtc_helper_set_config(struct drm_mode_set *set) | |||
| 754 | ret = -EINVAL; | 754 | ret = -EINVAL; |
| 755 | goto fail; | 755 | goto fail; |
| 756 | } | 756 | } |
| 757 | DRM_DEBUG_KMS("Setting connector DPMS state to on\n"); | ||
| 758 | for (i = 0; i < set->num_connectors; i++) { | ||
| 759 | DRM_DEBUG_KMS("\t[CONNECTOR:%d:%s] set DPMS on\n", set->connectors[i]->base.id, | ||
| 760 | drm_get_connector_name(set->connectors[i])); | ||
| 761 | set->connectors[i]->funcs->dpms(set->connectors[i], DRM_MODE_DPMS_ON); | ||
| 762 | } | ||
| 763 | } | 757 | } |
| 764 | drm_helper_disable_unused_functions(dev); | 758 | drm_helper_disable_unused_functions(dev); |
| 765 | } else if (fb_changed) { | 759 | } else if (fb_changed) { |
| @@ -777,6 +771,22 @@ int drm_crtc_helper_set_config(struct drm_mode_set *set) | |||
| 777 | } | 771 | } |
| 778 | } | 772 | } |
| 779 | 773 | ||
| 774 | /* | ||
| 775 | * crtc set_config helpers implicit set the crtc and all connected | ||
| 776 | * encoders to DPMS on for a full mode set. But for just an fb update it | ||
| 777 | * doesn't do that. To not confuse userspace, do an explicit DPMS_ON | ||
| 778 | * unconditionally. This will also ensure driver internal dpms state is | ||
| 779 | * consistent again. | ||
| 780 | */ | ||
| 781 | if (set->crtc->enabled) { | ||
| 782 | DRM_DEBUG_KMS("Setting connector DPMS state to on\n"); | ||
| 783 | for (i = 0; i < set->num_connectors; i++) { | ||
| 784 | DRM_DEBUG_KMS("\t[CONNECTOR:%d:%s] set DPMS on\n", set->connectors[i]->base.id, | ||
| 785 | drm_get_connector_name(set->connectors[i])); | ||
| 786 | set->connectors[i]->funcs->dpms(set->connectors[i], DRM_MODE_DPMS_ON); | ||
| 787 | } | ||
| 788 | } | ||
| 789 | |||
| 780 | kfree(save_connectors); | 790 | kfree(save_connectors); |
| 781 | kfree(save_encoders); | 791 | kfree(save_encoders); |
| 782 | kfree(save_crtcs); | 792 | kfree(save_crtcs); |
