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

Commit 1cb19e82 authored by Harry Wentland's avatar Harry Wentland Committed by Alex Deucher
Browse files

Revert "drm/amd/display: disable CRTCs with NULL FB on their primary plane (V2)"



This seems to cause flickering and lock-ups for a wide range of users.
Revert until we've found a proper fix for the flickering and lock-ups.

This reverts commit 36cc549d.

Cc: Shirish S <shirish.s@amd.com>
Cc: Alex Deucher <alexander.deucher@amd.com>
Cc: stable@vger.kernel.org
Reviewed-by: default avatarMichel Dänzer <michel.daenzer@amd.com>
Signed-off-by: default avatarHarry Wentland <harry.wentland@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 1bc8ffbd
Loading
Loading
Loading
Loading
+0 −28
Original line number Diff line number Diff line
@@ -4848,30 +4848,6 @@ static int dm_update_planes_state(struct dc *dc,
	return ret;
}

static int dm_atomic_check_plane_state_fb(struct drm_atomic_state *state,
					  struct drm_crtc *crtc)
{
	struct drm_plane *plane;
	struct drm_crtc_state *crtc_state;

	WARN_ON(!drm_atomic_get_new_crtc_state(state, crtc));

	drm_for_each_plane_mask(plane, state->dev, crtc->state->plane_mask) {
		struct drm_plane_state *plane_state =
			drm_atomic_get_plane_state(state, plane);

		if (IS_ERR(plane_state))
			return -EDEADLK;

		crtc_state = drm_atomic_get_crtc_state(plane_state->state, crtc);
		if (crtc->primary == plane && crtc_state->active) {
			if (!plane_state->fb)
				return -EINVAL;
		}
	}
	return 0;
}

static int amdgpu_dm_atomic_check(struct drm_device *dev,
				  struct drm_atomic_state *state)
{
@@ -4895,10 +4871,6 @@ static int amdgpu_dm_atomic_check(struct drm_device *dev,
		goto fail;

	for_each_oldnew_crtc_in_state(state, crtc, old_crtc_state, new_crtc_state, i) {
		ret = dm_atomic_check_plane_state_fb(state, crtc);
		if (ret)
			goto fail;

		if (!drm_atomic_crtc_needs_modeset(new_crtc_state) &&
		    !new_crtc_state->color_mgmt_changed)
			continue;