Skip to contentSkip to conversation

FAILED: patch "[PATCH] drm/i915: Fix intel_dp_mst_best_encoder()" failed to apply to 4.19-stable tree

PATCH [email protected] 1 participant 1 message Nov 20, 2018

Subsystems (3)
lore
Share & tools
lore

[email protected]

author maintainer
#0 lore raw

The patch below does not apply to the 4.19-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.

thanks,

greg k-h

------------------ original commit in Linus's tree ------------------

Quoted 1 line

From 4bbf0d4749e707b6b262d576a9a9ef5c63b52dd4 Mon Sep 17 00:00:00 2001

From: Lyude Paul <[email protected]>
Date: Mon, 8 Oct 2018 19:24:34 -0400
Subject: [PATCH] drm/i915: Fix intel_dp_mst_best_encoder()

Currently, i915 appears to rely on blocking modesets on no-longer-present MSTB ports by simply returning NULL for ->best_encoder(), which in turn causes any new atomic commits that don't disable the CRTC to fail. This is wrong however, since we still want to allow userspace to disable CRTCs on no-longer-present MSTB ports by changing the DPMS state to off and this still requires that we retrieve an encoder.

So, fix this by always returning a valid encoder regardless of the state of the MST port.

Changes since v1:
- Remove mst atomic helper, since this got replaced with a much simpler solution

drivers/gpu/drm/i915/intel_dp_mst.c +0 -2
index 0f14c0d1669c..7f155b4f1a7d 100644
@@ -404,8 +404,6 @@ static struct drm_encoder *intel_mst_atomic_best_encoder(struct drm_connector *c
 	struct intel_dp *intel_dp = intel_connector->mst_port;
 	struct intel_crtc *crtc = to_intel_crtc(state->crtc);
 
-	if (!READ_ONCE(connector->registered))
-		return NULL;
 	return &intel_dp->mst_encoders[crtc->pipe]->base.base;
 }