Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ba1c28c9 authored by Daniel Vetter's avatar Daniel Vetter
Browse files

drm/i915: remove crtc disabling special case



Originally this has been introduced in

commit 6eebd6bb
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Mon Nov 28 21:10:05 2011 +0000

    drm: Fix lack of CRTC disable for drm_crtc_helper_set_config(.fb=NULL)

With the improvements of the output state staging and no longer
overwriting crtc->fb before the hw state is updated we can now handle
crtc disabling as part of the normal modeset sequence.

Reviewed-by: default avatarJesse Barnes <jbarnes@virtuousgeek.org>
Signed-Off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
parent 94352cf9
Loading
Loading
Loading
Loading
+0 −25
Original line number Diff line number Diff line
@@ -6585,30 +6585,6 @@ static bool intel_encoder_crtc_ok(struct drm_encoder *encoder,
	return false;
}

static int
intel_crtc_helper_disable(struct drm_crtc *crtc)
{
	struct drm_device *dev = crtc->dev;
	struct drm_connector *connector;
	struct drm_encoder *encoder;

	/* Decouple all encoders and their attached connectors from this crtc */
	list_for_each_entry(encoder, &dev->mode_config.encoder_list, head) {
		if (encoder->crtc != crtc)
			continue;

		list_for_each_entry(connector, &dev->mode_config.connector_list, head) {
			if (connector->encoder != encoder)
				continue;

			connector->encoder = NULL;
		}
	}

	drm_helper_disable_unused_functions(dev);
	return 0;
}

static void
intel_crtc_prepare_encoders(struct drm_device *dev)
{
@@ -6996,7 +6972,6 @@ static int intel_crtc_set_config(struct drm_mode_set *set)
				(int)set->num_connectors, set->x, set->y);
	} else {
		DRM_DEBUG_KMS("[CRTC:%d] [NOFB]\n", set->crtc->base.id);
		return intel_crtc_helper_disable(set->crtc);
	}

	dev = set->crtc->dev;