From: Suraj Kandpal Date: Mon, 4 May 2026 10:11:18 +0000 (+0530) Subject: drm/i915/hdcp: Drop mgr->base.lock acquisition in intel_conn_to_vcpi() X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9ec5a97340adf55eb705a48a4b988e72341a9432;p=thirdparty%2Fkernel%2Flinux.git drm/i915/hdcp: Drop mgr->base.lock acquisition in intel_conn_to_vcpi() Now that intel_conn_to_vcpi() reads the MST topology state via drm_atomic_get_new_mst_topology_state(), the topology state belongs to this atomic commit and is already serialized through the atomic state's private object machinery. There is no need to additionally take mgr->base.lock here. Taking it from the HDCP enable path in commit_tail with state->base.acquire_ctx is also unsafe: by this point the acquire_ctx is no longer in a state where new modeset locks may be acquired through it, which produces a modeset-lock splat on MST + HDCP. Drop the drm_modeset_lock() call. Signed-off-by: Suraj Kandpal Tested-by: Santhosh Reddy Guddati Reviewed-by: Santhosh Reddy Guddati Link: https://patch.msgid.link/20260504101117.3619984-3-suraj.kandpal@intel.com --- diff --git a/drivers/gpu/drm/i915/display/intel_hdcp.c b/drivers/gpu/drm/i915/display/intel_hdcp.c index 02ac981ca1eaa..982f698e98140 100644 --- a/drivers/gpu/drm/i915/display/intel_hdcp.c +++ b/drivers/gpu/drm/i915/display/intel_hdcp.c @@ -80,9 +80,8 @@ static int intel_conn_to_vcpi(struct intel_atomic_state *state, /* For HDMI this is forced to be 0x0. For DP SST also this is 0x0. */ if (!connector->mst.port) return 0; - mgr = connector->mst.port->mgr; - drm_modeset_lock(&mgr->base.lock, state->base.acquire_ctx); + mgr = connector->mst.port->mgr; mst_state = drm_atomic_get_new_mst_topology_state(&state->base, mgr); if (!mst_state) { drm_dbg_kms(display->drm, "MST topology still not created\n");