FAILED: patch "[PATCH] drm/i915: Clear the repeater bit on HDCP disable" failed to apply to 5.8-stable tree
[email protected]
maintainerThe patch below does not apply to the 5.8-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 ------------------
From 57537b4e1d37002ed8cbd0a9be082104749e9d8f Mon Sep 17 00:00:00 2001
From: Sean Paul <[email protected]>
Date: Tue, 18 Aug 2020 11:38:50 -0400
Subject: [PATCH] drm/i915: Clear the repeater bit on HDCP disable
On HDCP disable, clear the repeater bit. This ensures if we connect a non-repeater sink after a repeater, the bit is in the state we expect.
Fixes ee5e5e7a5e0f ("drm/i915: Add HDCP framework + base implementation")
Cc Chris Wilson <[email protected]>
Cc Ramalingam C <[email protected]>
Cc Daniel Vetter <[email protected]>
Cc Sean Paul <[email protected]>
Cc Jani Nikula <[email protected]>
Cc Joonas Lahtinen <[email protected]>
Cc Rodrigo Vivi <[email protected]>
Cc <[email protected]> # v4.17+
Reviewed-by Ramalingam C <[email protected]>
Signed-off-by Sean Paul <[email protected]>
Signed-off-by Ramalingam C <[email protected]>
(cherry picked from commit 2cc0c7b520bf8ea20ec42285d4e3d37b467eb7f9)
Signed-off-by Jani Nikula <[email protected]>
drivers/gpu/drm/i915/display/intel_hdcp.c +6 -0
@@ -795,6 +795,7 @@ static int _intel_hdcp_disable(struct intel_connector *connector)struct intel_hdcp *hdcp = &connector->hdcp;enum port port = dig_port->base.port;enum transcoder cpu_transcoder = hdcp->cpu_transcoder; +u32 repeater_ctl;int ret; drm_dbg_kms(&dev_priv->drm, "[%s:%d] HDCP is being disabled...\n",
@@ -810,6 +811,11 @@ static int _intel_hdcp_disable(struct intel_connector *connector)return -ETIMEDOUT ; } + repeater_ctl =intel_hdcp_get_repeater_ctl (dev_priv, cpu_transcoder, + port); +intel_de_write (dev_priv,HDCP_REP_CTL , +intel_de_read (dev_priv,HDCP_REP_CTL ) & ~repeater_ctl); + ret = hdcp->shim->toggle_signalling (dig_port, false);if (ret) {drm_err (&dev_priv->drm,"Failed to disable HDCP signalling\n" );