All of lore.kernel.org
 help / color / mirror / Atom feed
From: Suraj Kandpal <suraj.kandpal@intel.com>
To: intel-gfx@lists.freedesktop.org
Cc: chaitanya.kumar.borah@intel.com, uma.shankar@intel.com,
	ankit.k.nautiyal@intel.com, dnyaneshwar.bhadane@intel.com,
	Suraj Kandpal <suraj.kandpal@intel.com>
Subject: [PATCH] drm/i915/hdcp: Disable HDCP Line Rekeying for HDCP2.2 on HDMI
Date: Tue, 16 Apr 2024 09:09:19 +0530	[thread overview]
Message-ID: <20240416033918.567386-2-suraj.kandpal@intel.com> (raw)

Disable HDCP Line Rekeying when HDCP ver > 1.4 and when we are
on HDMI TMDS operation for DISPLAY_VEY >= 14.
WA: 16022217614
Bspec: 49273
Bspec: 69964

Signed-off-by: Suraj Kandpal <suraj.kandpal@intel.com>
---
 drivers/gpu/drm/i915/display/intel_hdcp.c | 16 ++++++++++++++++
 drivers/gpu/drm/i915/i915_reg.h           |  1 +
 2 files changed, 17 insertions(+)

diff --git a/drivers/gpu/drm/i915/display/intel_hdcp.c b/drivers/gpu/drm/i915/display/intel_hdcp.c
index d5ed4c7dfbc0..15af6e184ef8 100644
--- a/drivers/gpu/drm/i915/display/intel_hdcp.c
+++ b/drivers/gpu/drm/i915/display/intel_hdcp.c
@@ -30,6 +30,20 @@
 #define KEY_LOAD_TRIES	5
 #define HDCP2_LC_RETRY_CNT			3
 
+static void
+intel_hdcp_disable_hdcp_line_rekeying(struct intel_encoder *encoder,
+				      struct intel_hdcp *hdcp)
+{
+	struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
+
+	if (encoder->type != INTEL_OUTPUT_HDMI)
+		return;
+
+	if (DISPLAY_VER(dev_priv) >= 14)
+		intel_de_rmw(dev_priv, TRANS_DDI_FUNC_CTL(hdcp->cpu_transcoder),
+			     TRANS_DDI_HDCP_LINE_REKEY_DISABLE, 1);
+}
+
 static int intel_conn_to_vcpi(struct intel_atomic_state *state,
 			      struct intel_connector *connector)
 {
@@ -2005,6 +2019,8 @@ static int _intel_hdcp2_enable(struct intel_atomic_state *state,
 		    connector->base.base.id, connector->base.name,
 		    hdcp->content_type);
 
+	intel_hdcp_disable_hdcp_line_rekeying(connector->encoder, hdcp);
+
 	ret = hdcp2_authenticate_and_encrypt(state, connector);
 	if (ret) {
 		drm_dbg_kms(&i915->drm, "HDCP2 Type%d  Enabling Failed. (%d)\n",
diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
index 3f34efcd7d6c..fbf4623cd536 100644
--- a/drivers/gpu/drm/i915/i915_reg.h
+++ b/drivers/gpu/drm/i915/i915_reg.h
@@ -5630,6 +5630,7 @@ enum skl_power_gate {
 #define  TRANS_DDI_EDP_INPUT_B_ONOFF	(5 << 12)
 #define  TRANS_DDI_EDP_INPUT_C_ONOFF	(6 << 12)
 #define  TRANS_DDI_EDP_INPUT_D_ONOFF	(7 << 12)
+#define  TRANS_DDI_HDCP_LINE_REKEY_DISABLE	REG_BIT(12)
 #define  TRANS_DDI_MST_TRANSPORT_SELECT_MASK	REG_GENMASK(11, 10)
 #define  TRANS_DDI_MST_TRANSPORT_SELECT(trans)	\
 	REG_FIELD_PREP(TRANS_DDI_MST_TRANSPORT_SELECT_MASK, trans)
-- 
2.43.2


             reply	other threads:[~2024-04-16  3:45 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-04-16  3:39 Suraj Kandpal [this message]
2024-04-16  4:18 ` ✓ Fi.CI.BAT: success for drm/i915/hdcp: Disable HDCP Line Rekeying for HDCP2.2 on HDMI Patchwork
2024-04-16  7:49 ` [PATCH] " Jani Nikula
2024-04-16  8:09 ` Suraj Kandpal
2024-04-16  8:57   ` Jani Nikula
2024-04-16  9:42     ` Kandpal, Suraj
2024-04-17  9:55   ` Suraj Kandpal
2024-04-23  9:56     ` Borah, Chaitanya Kumar
2024-04-24  5:11     ` Suraj Kandpal
2024-04-30  6:34       ` Borah, Chaitanya Kumar
2024-04-30  6:42         ` Kandpal, Suraj
2024-05-02  4:40       ` Suraj Kandpal
2024-05-02  7:45         ` Borah, Chaitanya Kumar
2024-05-07  6:19         ` Manna, Animesh
2024-05-07  6:22         ` Suraj Kandpal
2024-05-07  7:29           ` Borah, Chaitanya Kumar
2024-04-16  9:18 ` ✗ Fi.CI.BAT: failure for drm/i915/hdcp: Disable HDCP Line Rekeying for HDCP2.2 on HDMI (rev2) Patchwork
2024-04-17 11:49 ` ✓ Fi.CI.BAT: success for drm/i915/hdcp: Disable HDCP Line Rekeying for HDCP2.2 on HDMI (rev3) Patchwork
2024-04-18  1:27 ` ✗ Fi.CI.IGT: failure " Patchwork
2024-04-24  6:10 ` ✗ Fi.CI.BAT: failure for drm/i915/hdcp: Disable HDCP Line Rekeying for HDCP2.2 on HDMI (rev4) Patchwork
2024-05-02  9:15 ` ✗ Fi.CI.BAT: failure for drm/i915/hdcp: Disable HDCP Line Rekeying for HDCP2.2 on HDMI (rev5) Patchwork
2024-05-03  5:05 ` ✓ Fi.CI.BAT: success for drm/i915/hdcp: Disable HDCP Line Rekeying for HDCP2.2 on HDMI (rev6) Patchwork
2024-05-03  7:46 ` ✗ Fi.CI.IGT: failure " Patchwork
2024-05-06 12:23 ` ✓ Fi.CI.IGT: success " Patchwork
2024-05-07  7:26 ` ✗ Fi.CI.BAT: failure for drm/i915/hdcp: Disable HDCP Line Rekeying for HDCP2.2 on HDMI (rev7) Patchwork
2024-05-07 10:32 ` ✓ Fi.CI.BAT: success " Patchwork
2024-05-07 14:18 ` ✗ Fi.CI.IGT: failure " Patchwork
2024-05-09  9:26 ` ✓ Fi.CI.IGT: success " Patchwork

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20240416033918.567386-2-suraj.kandpal@intel.com \
    --to=suraj.kandpal@intel.com \
    --cc=ankit.k.nautiyal@intel.com \
    --cc=chaitanya.kumar.borah@intel.com \
    --cc=dnyaneshwar.bhadane@intel.com \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=uma.shankar@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.