drm/ch7006: Stop using drm_crtc_force_disable
authorDaniel Vetter <daniel.vetter@ffwll.ch>
Mon, 17 Dec 2018 19:42:57 +0000 (20:42 +0100)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Fri, 11 Jan 2019 14:56:40 +0000 (15:56 +0100)
The correct way for legacy drivers to update properties that need to
do a full modeset, is to do a full modeset.

Note that we don't need to call the drm_mode_config_internal helper
because we're not changing any of the refcounted paramters.

v2: Fixup error handling (Ville). Since the old code didn't bother
I decided to just delete it instead of adding even more code for just
error handling.

Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com> (v1)
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20181217194303.14397-1-daniel.vetter@ffwll.ch
drivers/gpu/drm/i2c/ch7006_drv.c

index 544a8a2d3562c2bd6f173be3e5cee0d80f9c2696..b91e48d2190d216e1f73363443b30ca5ed66bba2 100644 (file)
@@ -359,10 +359,10 @@ static int ch7006_encoder_set_property(struct drm_encoder *encoder,
        if (modes_changed) {
                drm_helper_probe_single_connector_modes(connector, 0, 0);
 
-               /* Disable the crtc to ensure a full modeset is
-                * performed whenever it's turned on again. */
                if (crtc)
-                       drm_crtc_force_disable(crtc);
+                       drm_crtc_helper_set_mode(crtc, &crtc->mode,
+                                                crtc->x, crtc->y,
+                                                crtc->primary->fb);
        }
 
        return 0;