|
@@ -453,9 +453,20 @@ static void intel_dp_destroy_mst_connector(struct drm_dp_mst_topology_mgr *mgr,
|
|
|
{
|
|
|
struct intel_connector *intel_connector = to_intel_connector(connector);
|
|
|
struct drm_device *dev = connector->dev;
|
|
|
+
|
|
|
/* need to nuke the connector */
|
|
|
drm_modeset_lock_all(dev);
|
|
|
- intel_connector_dpms(connector, DRM_MODE_DPMS_OFF);
|
|
|
+ if (connector->state->crtc) {
|
|
|
+ struct drm_mode_set set;
|
|
|
+ int ret;
|
|
|
+
|
|
|
+ memset(&set, 0, sizeof(set));
|
|
|
+ set.crtc = connector->state->crtc,
|
|
|
+
|
|
|
+ ret = drm_atomic_helper_set_config(&set);
|
|
|
+
|
|
|
+ WARN(ret, "Disabling mst crtc failed with %i\n", ret);
|
|
|
+ }
|
|
|
drm_modeset_unlock_all(dev);
|
|
|
|
|
|
intel_connector->unregister(intel_connector);
|