All of lore.kernel.org
 help / color / mirror / Atom feed
* [Intel-gfx] [PATCH 0/2] HDCP 2.2 Comp fixes
@ 2020-02-06 15:04 Anshuman Gupta
  2020-02-06 15:04 ` [Intel-gfx] [PATCH 1/2] drm/i915/hdcp: Fix 1B-06 HDCP2.2 Comp test Anshuman Gupta
                   ` (4 more replies)
  0 siblings, 5 replies; 14+ messages in thread
From: Anshuman Gupta @ 2020-02-06 15:04 UTC (permalink / raw)
  To: intel-gfx

There are few minor fixes required to pass the HDCP 2.2
Compliance.

Anshuman Gupta (2):
  drm/i915/hdcp: Fix 1B-06 HDCP2.2 Comp test
  drm/i915/hdcp: Fix 1B-10 HDCP 2.2 Comp test

 .../drm/i915/display/intel_display_types.h    |  6 +++
 drivers/gpu/drm/i915/display/intel_hdcp.c     | 45 +++++++++++++++++--
 2 files changed, 47 insertions(+), 4 deletions(-)

-- 
2.24.0

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Intel-gfx] [PATCH 1/2] drm/i915/hdcp: Fix 1B-06 HDCP2.2 Comp test
  2020-02-06 15:04 [Intel-gfx] [PATCH 0/2] HDCP 2.2 Comp fixes Anshuman Gupta
@ 2020-02-06 15:04 ` Anshuman Gupta
  2020-02-06 17:00   ` Ramalingam C
  2020-02-06 15:04 ` [Intel-gfx] [PATCH 2/2] drm/i915/hdcp: Fix 1B-10 HDCP 2.2 " Anshuman Gupta
                   ` (3 subsequent siblings)
  4 siblings, 1 reply; 14+ messages in thread
From: Anshuman Gupta @ 2020-02-06 15:04 UTC (permalink / raw)
  To: intel-gfx

HDCP Repeater initializes seq_num_V to 0 at the beginning of
hdcp Session i.e. after AKE_init received.

HDCP 2.2 Comp specs 1B-06 test verifies that whether DUT
considers failures of authentication if the repeater provides a
non-zero value in seq_num_V in the first,
RepeaterAuth_Send_ReceiverID_List message after first AKE_Init.
Fixing this broken test.

Cc: Ramalingam C <ramalingam.c@intel.com>
Signed-off-by: Anshuman Gupta <anshuman.gupta@intel.com>
---
 drivers/gpu/drm/i915/display/intel_display_types.h |  3 +++
 drivers/gpu/drm/i915/display/intel_hdcp.c          | 13 +++++++++++++
 2 files changed, 16 insertions(+)

diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h b/drivers/gpu/drm/i915/display/intel_display_types.h
index 7ae0bc8b80d1..2ae540e986ba 100644
--- a/drivers/gpu/drm/i915/display/intel_display_types.h
+++ b/drivers/gpu/drm/i915/display/intel_display_types.h
@@ -360,6 +360,9 @@ struct intel_hdcp {
 	/* HDCP2.2 Encryption status */
 	bool hdcp2_encrypted;
 
+	/* Flag indicate if it is a first ReceiverID_List msg after AKE_Init */
+	bool first_recvid_msg;
+
 	/*
 	 * Content Stream Type defined by content owner. TYPE0(0x0) content can
 	 * flow in the link protected by HDCP2.2 or HDCP1.4, where as TYPE1(0x1)
diff --git a/drivers/gpu/drm/i915/display/intel_hdcp.c b/drivers/gpu/drm/i915/display/intel_hdcp.c
index 4d1a33d13105..3e24a6df503a 100644
--- a/drivers/gpu/drm/i915/display/intel_hdcp.c
+++ b/drivers/gpu/drm/i915/display/intel_hdcp.c
@@ -1251,6 +1251,8 @@ static int hdcp2_authentication_key_exchange(struct intel_connector *connector)
 	size_t size;
 	int ret;
 
+	hdcp->first_recvid_msg = true;
+
 	/* Init for seq_num */
 	hdcp->seq_num_v = 0;
 	hdcp->seq_num_m = 0;
@@ -1462,6 +1464,16 @@ int hdcp2_authenticate_repeater_topology(struct intel_connector *connector)
 	seq_num_v =
 		drm_hdcp_be24_to_cpu((const u8 *)msgs.recvid_list.seq_num_v);
 
+	/*
+	 * HDCP 2.2 Spec HDMI PAGE 19, DP PAGE 20
+	 * HDCP 2.2 Comp 1B-06 test requires to disable encryption if there is
+	 * non zero seq_num_V from recevier.
+	 */
+	if (hdcp->first_recvid_msg && seq_num_v) {
+		drm_dbg_kms(&dev_priv->drm, "Non zero Seq_num_v at beginning of HDCP Session\n");
+		return -EINVAL;
+	}
+
 	if (seq_num_v < hdcp->seq_num_v) {
 		/* Roll over of the seq_num_v from repeater. Reauthenticate. */
 		DRM_DEBUG_KMS("Seq_num_v roll over.\n");
@@ -1484,6 +1496,7 @@ int hdcp2_authenticate_repeater_topology(struct intel_connector *connector)
 		return ret;
 
 	hdcp->seq_num_v = seq_num_v;
+	hdcp->first_recvid_msg = false;
 	ret = shim->write_2_2_msg(intel_dig_port, &msgs.rep_ack,
 				  sizeof(msgs.rep_ack));
 	if (ret < 0)
-- 
2.24.0

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [Intel-gfx] [PATCH 2/2] drm/i915/hdcp: Fix 1B-10 HDCP 2.2 Comp test
  2020-02-06 15:04 [Intel-gfx] [PATCH 0/2] HDCP 2.2 Comp fixes Anshuman Gupta
  2020-02-06 15:04 ` [Intel-gfx] [PATCH 1/2] drm/i915/hdcp: Fix 1B-06 HDCP2.2 Comp test Anshuman Gupta
@ 2020-02-06 15:04 ` Anshuman Gupta
  2020-02-06 17:13   ` Ramalingam C
  2020-02-10 16:49   ` [Intel-gfx] [PATCH] drm/i915: terminate reauth at stream management failure Ramalingam C
  2020-02-06 16:44 ` [Intel-gfx] ✓ Fi.CI.BAT: success for HDCP 2.2 Comp fixes Patchwork
                   ` (2 subsequent siblings)
  4 siblings, 2 replies; 14+ messages in thread
From: Anshuman Gupta @ 2020-02-06 15:04 UTC (permalink / raw)
  To: intel-gfx

1B-10 HDCP Comp test verifies that source DUT reattempts
Content Stream Management following a failure of Content
Stream Management, 1B-10 test fail if source DUT tries
reauthentication following a Content Stream Management
failure.
Fixing this broken test.

Cc: Ramalingam C <ramalingam.c@intel.com>
Signed-off-by: Anshuman Gupta <anshuman.gupta@intel.com>
---
 .../drm/i915/display/intel_display_types.h    |  3 ++
 drivers/gpu/drm/i915/display/intel_hdcp.c     | 32 ++++++++++++++++---
 2 files changed, 31 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h b/drivers/gpu/drm/i915/display/intel_display_types.h
index 2ae540e986ba..9232c4e0e42e 100644
--- a/drivers/gpu/drm/i915/display/intel_display_types.h
+++ b/drivers/gpu/drm/i915/display/intel_display_types.h
@@ -363,6 +363,9 @@ struct intel_hdcp {
 	/* Flag indicate if it is a first ReceiverID_List msg after AKE_Init */
 	bool first_recvid_msg;
 
+	/* Flag indicate whether reauth retries req */
+	bool reauth_req;
+
 	/*
 	 * Content Stream Type defined by content owner. TYPE0(0x0) content can
 	 * flow in the link protected by HDCP2.2 or HDCP1.4, where as TYPE1(0x1)
diff --git a/drivers/gpu/drm/i915/display/intel_hdcp.c b/drivers/gpu/drm/i915/display/intel_hdcp.c
index 3e24a6df503a..ed523de20eac 100644
--- a/drivers/gpu/drm/i915/display/intel_hdcp.c
+++ b/drivers/gpu/drm/i915/display/intel_hdcp.c
@@ -1507,13 +1507,35 @@ int hdcp2_authenticate_repeater_topology(struct intel_connector *connector)
 
 static int hdcp2_authenticate_repeater(struct intel_connector *connector)
 {
-	int ret;
+	int ret, i, tries = 3;
+	struct intel_hdcp *hdcp = &connector->hdcp;
+	struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
 
 	ret = hdcp2_authenticate_repeater_topology(connector);
 	if (ret < 0)
 		return ret;
 
-	return hdcp2_propagate_stream_management_info(connector);
+	/*
+	 * HDCP 2.2 HDCP Spec Stream Managemnt pass/fail transition
+	 * to HDCP authticate state i.e. A9->A5.
+	 * if it fails, retry for stream managemnt again and skip the reauth.
+	 */
+	for (i = 0; i < tries; i++) {
+		ret = hdcp2_propagate_stream_management_info(connector);
+		if (!ret) {
+			hdcp->reauth_req  = true;
+			break;
+		}
+
+		hdcp->seq_num_m++;
+		drm_dbg_kms(&dev_priv->drm, "HDCP2.2 stream management %d of %d Failed.(%d)\n",
+			    i + 1, tries, ret);
+	}
+
+	if (ret)
+		hdcp->reauth_req  = false;
+
+	return ret;
 }
 
 static int hdcp2_authenticate_sink(struct intel_connector *connector)
@@ -1642,10 +1664,11 @@ static int hdcp2_disable_encryption(struct intel_connector *connector)
 static int hdcp2_authenticate_and_encrypt(struct intel_connector *connector)
 {
 	int ret, i, tries = 3;
+	struct intel_hdcp *hdcp = &connector->hdcp;
 
 	for (i = 0; i < tries; i++) {
 		ret = hdcp2_authenticate_sink(connector);
-		if (!ret)
+		if (!ret || !hdcp->reauth_req)
 			break;
 
 		/* Clearing the mei hdcp session */
@@ -1655,7 +1678,7 @@ static int hdcp2_authenticate_and_encrypt(struct intel_connector *connector)
 			DRM_DEBUG_KMS("Port deauth failed.\n");
 	}
 
-	if (i != tries) {
+	if (!ret) {
 		/*
 		 * Ensuring the required 200mSec min time interval between
 		 * Session Key Exchange and encryption.
@@ -1681,6 +1704,7 @@ static int _intel_hdcp2_enable(struct intel_connector *connector)
 		      connector->base.name, connector->base.base.id,
 		      hdcp->content_type);
 
+	hdcp->reauth_req  = true;
 	ret = hdcp2_authenticate_and_encrypt(connector);
 	if (ret) {
 		DRM_DEBUG_KMS("HDCP2 Type%d  Enabling Failed. (%d)\n",
-- 
2.24.0

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [Intel-gfx] ✓ Fi.CI.BAT: success for HDCP 2.2 Comp fixes
  2020-02-06 15:04 [Intel-gfx] [PATCH 0/2] HDCP 2.2 Comp fixes Anshuman Gupta
  2020-02-06 15:04 ` [Intel-gfx] [PATCH 1/2] drm/i915/hdcp: Fix 1B-06 HDCP2.2 Comp test Anshuman Gupta
  2020-02-06 15:04 ` [Intel-gfx] [PATCH 2/2] drm/i915/hdcp: Fix 1B-10 HDCP 2.2 " Anshuman Gupta
@ 2020-02-06 16:44 ` Patchwork
  2020-02-09  9:28 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork
  2020-02-10 19:34 ` [Intel-gfx] ✓ Fi.CI.BAT: success for HDCP 2.2 Comp fixes (rev2) Patchwork
  4 siblings, 0 replies; 14+ messages in thread
From: Patchwork @ 2020-02-06 16:44 UTC (permalink / raw)
  To: Anshuman Gupta; +Cc: intel-gfx

== Series Details ==

Series: HDCP 2.2 Comp fixes
URL   : https://patchwork.freedesktop.org/series/73101/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_7876 -> Patchwork_16461
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16461/index.html

Known issues
------------

  Here are the changes found in Patchwork_16461 that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@gem_close_race@basic-threads:
    - fi-byt-j1900:       [PASS][1] -> [INCOMPLETE][2] ([i915#45])
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7876/fi-byt-j1900/igt@gem_close_race@basic-threads.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16461/fi-byt-j1900/igt@gem_close_race@basic-threads.html

  * igt@i915_selftest@live_blt:
    - fi-hsw-4770r:       [PASS][3] -> [DMESG-FAIL][4] ([i915#770])
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7876/fi-hsw-4770r/igt@i915_selftest@live_blt.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16461/fi-hsw-4770r/igt@i915_selftest@live_blt.html

  * igt@i915_selftest@live_gem_contexts:
    - fi-cfl-8700k:       [PASS][5] -> [INCOMPLETE][6] ([i915#424])
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7876/fi-cfl-8700k/igt@i915_selftest@live_gem_contexts.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16461/fi-cfl-8700k/igt@i915_selftest@live_gem_contexts.html
    - fi-hsw-peppy:       [PASS][7] -> [DMESG-FAIL][8] ([i915#722])
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7876/fi-hsw-peppy/igt@i915_selftest@live_gem_contexts.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16461/fi-hsw-peppy/igt@i915_selftest@live_gem_contexts.html

  * igt@kms_chamelium@hdmi-hpd-fast:
    - fi-kbl-7500u:       [PASS][9] -> [FAIL][10] ([fdo#111096] / [i915#323])
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7876/fi-kbl-7500u/igt@kms_chamelium@hdmi-hpd-fast.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16461/fi-kbl-7500u/igt@kms_chamelium@hdmi-hpd-fast.html

  
  [fdo#111096]: https://bugs.freedesktop.org/show_bug.cgi?id=111096
  [i915#323]: https://gitlab.freedesktop.org/drm/intel/issues/323
  [i915#424]: https://gitlab.freedesktop.org/drm/intel/issues/424
  [i915#45]: https://gitlab.freedesktop.org/drm/intel/issues/45
  [i915#722]: https://gitlab.freedesktop.org/drm/intel/issues/722
  [i915#770]: https://gitlab.freedesktop.org/drm/intel/issues/770


Participating hosts (41 -> 42)
------------------------------

  Additional (8): fi-snb-2520m fi-gdg-551 fi-ivb-3770 fi-skl-6700k2 fi-skl-lmem fi-kbl-7560u fi-skl-6600u fi-snb-2600 
  Missing    (7): fi-bsw-n3050 fi-byt-squawks fi-bsw-kefka fi-byt-clapper fi-bsw-nick fi-bdw-samus fi-kbl-r 


Build changes
-------------

  * CI: CI-20190529 -> None
  * Linux: CI_DRM_7876 -> Patchwork_16461

  CI-20190529: 20190529
  CI_DRM_7876: 6ac39d9964f464065511d439afcf4da065ff96db @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_5421: 40946e61f9c47e23fdf1fff8090fadee8a4d7d3b @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_16461: cef01774eebc9bcb162dde489fa69693bce7710a @ git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

cef01774eebc drm/i915/hdcp: Fix 1B-10 HDCP 2.2 Comp test
35976922a3c1 drm/i915/hdcp: Fix 1B-06 HDCP2.2 Comp test

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16461/index.html
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [Intel-gfx] [PATCH 1/2] drm/i915/hdcp: Fix 1B-06 HDCP2.2 Comp test
  2020-02-06 15:04 ` [Intel-gfx] [PATCH 1/2] drm/i915/hdcp: Fix 1B-06 HDCP2.2 Comp test Anshuman Gupta
@ 2020-02-06 17:00   ` Ramalingam C
  2020-02-06 17:09     ` Anshuman Gupta
  0 siblings, 1 reply; 14+ messages in thread
From: Ramalingam C @ 2020-02-06 17:00 UTC (permalink / raw)
  To: Anshuman Gupta; +Cc: intel-gfx

On 2020-02-06 at 20:34:41 +0530, Anshuman Gupta wrote:
> HDCP Repeater initializes seq_num_V to 0 at the beginning of
> hdcp Session i.e. after AKE_init received.
> 
> HDCP 2.2 Comp specs 1B-06 test verifies that whether DUT
> considers failures of authentication if the repeater provides a
> non-zero value in seq_num_V in the first,
> RepeaterAuth_Send_ReceiverID_List message after first AKE_Init.
> Fixing this broken test.
Instead of "Fixing the broken test" could we say, we mandate the first
seq_num_v to be zero? in fact i would keep this as commit subject also. 
> 
> Cc: Ramalingam C <ramalingam.c@intel.com>
> Signed-off-by: Anshuman Gupta <anshuman.gupta@intel.com>
> ---
>  drivers/gpu/drm/i915/display/intel_display_types.h |  3 +++
>  drivers/gpu/drm/i915/display/intel_hdcp.c          | 13 +++++++++++++
>  2 files changed, 16 insertions(+)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h b/drivers/gpu/drm/i915/display/intel_display_types.h
> index 7ae0bc8b80d1..2ae540e986ba 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_types.h
> +++ b/drivers/gpu/drm/i915/display/intel_display_types.h
> @@ -360,6 +360,9 @@ struct intel_hdcp {
>  	/* HDCP2.2 Encryption status */
>  	bool hdcp2_encrypted;
>  
> +	/* Flag indicate if it is a first ReceiverID_List msg after AKE_Init */
> +	bool first_recvid_msg;
This extra flag is not needed, see below comment
> +
>  	/*
>  	 * Content Stream Type defined by content owner. TYPE0(0x0) content can
>  	 * flow in the link protected by HDCP2.2 or HDCP1.4, where as TYPE1(0x1)
> diff --git a/drivers/gpu/drm/i915/display/intel_hdcp.c b/drivers/gpu/drm/i915/display/intel_hdcp.c
> index 4d1a33d13105..3e24a6df503a 100644
> --- a/drivers/gpu/drm/i915/display/intel_hdcp.c
> +++ b/drivers/gpu/drm/i915/display/intel_hdcp.c
> @@ -1251,6 +1251,8 @@ static int hdcp2_authentication_key_exchange(struct intel_connector *connector)
>  	size_t size;
>  	int ret;
>  
> +	hdcp->first_recvid_msg = true;
> +
>  	/* Init for seq_num */
>  	hdcp->seq_num_v = 0;
>  	hdcp->seq_num_m = 0;
> @@ -1462,6 +1464,16 @@ int hdcp2_authenticate_repeater_topology(struct intel_connector *connector)
>  	seq_num_v =
>  		drm_hdcp_be24_to_cpu((const u8 *)msgs.recvid_list.seq_num_v);
>  
> +	/*
> +	 * HDCP 2.2 Spec HDMI PAGE 19, DP PAGE 20
> +	 * HDCP 2.2 Comp 1B-06 test requires to disable encryption if there is
> +	 * non zero seq_num_V from recevier.
IMHO In commit message this kind of reasoning make sense, but here this is
not needed. As every line in the file will be as per the spec so we dont
need to call them out.
> +	 */
> +	if (hdcp->first_recvid_msg && seq_num_v) {
if (!hdcp->seq_num_v && seq_num_v) {

IMO This is all we need it.

-Ram
> +		drm_dbg_kms(&dev_priv->drm, "Non zero Seq_num_v at beginning of HDCP Session\n");
> +		return -EINVAL;
> +	}
> +
>  	if (seq_num_v < hdcp->seq_num_v) {
>  		/* Roll over of the seq_num_v from repeater. Reauthenticate. */
>  		DRM_DEBUG_KMS("Seq_num_v roll over.\n");
> @@ -1484,6 +1496,7 @@ int hdcp2_authenticate_repeater_topology(struct intel_connector *connector)
>  		return ret;
>  
>  	hdcp->seq_num_v = seq_num_v;
> +	hdcp->first_recvid_msg = false;
>  	ret = shim->write_2_2_msg(intel_dig_port, &msgs.rep_ack,
>  				  sizeof(msgs.rep_ack));
>  	if (ret < 0)
> -- 
> 2.24.0
> 
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [Intel-gfx] [PATCH 1/2] drm/i915/hdcp: Fix 1B-06 HDCP2.2 Comp test
  2020-02-06 17:00   ` Ramalingam C
@ 2020-02-06 17:09     ` Anshuman Gupta
  2020-02-06 17:36       ` Ramalingam C
  0 siblings, 1 reply; 14+ messages in thread
From: Anshuman Gupta @ 2020-02-06 17:09 UTC (permalink / raw)
  To: Ramalingam C; +Cc: intel-gfx

On 2020-02-06 at 22:30:27 +0530, Ramalingam C wrote:
> On 2020-02-06 at 20:34:41 +0530, Anshuman Gupta wrote:
> > HDCP Repeater initializes seq_num_V to 0 at the beginning of
> > hdcp Session i.e. after AKE_init received.
> > 
> > HDCP 2.2 Comp specs 1B-06 test verifies that whether DUT
> > considers failures of authentication if the repeater provides a
> > non-zero value in seq_num_V in the first,
> > RepeaterAuth_Send_ReceiverID_List message after first AKE_Init.
> > Fixing this broken test.
> Instead of "Fixing the broken test" could we say, we mandate the first
> seq_num_v to be zero? in fact i would keep this as commit subject also. 
> > 
> > Cc: Ramalingam C <ramalingam.c@intel.com>
> > Signed-off-by: Anshuman Gupta <anshuman.gupta@intel.com>
> > ---
> >  drivers/gpu/drm/i915/display/intel_display_types.h |  3 +++
> >  drivers/gpu/drm/i915/display/intel_hdcp.c          | 13 +++++++++++++
> >  2 files changed, 16 insertions(+)
> > 
> > diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h b/drivers/gpu/drm/i915/display/intel_display_types.h
> > index 7ae0bc8b80d1..2ae540e986ba 100644
> > --- a/drivers/gpu/drm/i915/display/intel_display_types.h
> > +++ b/drivers/gpu/drm/i915/display/intel_display_types.h
> > @@ -360,6 +360,9 @@ struct intel_hdcp {
> >  	/* HDCP2.2 Encryption status */
> >  	bool hdcp2_encrypted;
> >  
> > +	/* Flag indicate if it is a first ReceiverID_List msg after AKE_Init */
> > +	bool first_recvid_msg;
> This extra flag is not needed, see below comment
> > +
> >  	/*
> >  	 * Content Stream Type defined by content owner. TYPE0(0x0) content can
> >  	 * flow in the link protected by HDCP2.2 or HDCP1.4, where as TYPE1(0x1)
> > diff --git a/drivers/gpu/drm/i915/display/intel_hdcp.c b/drivers/gpu/drm/i915/display/intel_hdcp.c
> > index 4d1a33d13105..3e24a6df503a 100644
> > --- a/drivers/gpu/drm/i915/display/intel_hdcp.c
> > +++ b/drivers/gpu/drm/i915/display/intel_hdcp.c
> > @@ -1251,6 +1251,8 @@ static int hdcp2_authentication_key_exchange(struct intel_connector *connector)
> >  	size_t size;
> >  	int ret;
> >  
> > +	hdcp->first_recvid_msg = true;
> > +
> >  	/* Init for seq_num */
> >  	hdcp->seq_num_v = 0;
> >  	hdcp->seq_num_m = 0;
> > @@ -1462,6 +1464,16 @@ int hdcp2_authenticate_repeater_topology(struct intel_connector *connector)
> >  	seq_num_v =
> >  		drm_hdcp_be24_to_cpu((const u8 *)msgs.recvid_list.seq_num_v);
> >  
> > +	/*
> > +	 * HDCP 2.2 Spec HDMI PAGE 19, DP PAGE 20
> > +	 * HDCP 2.2 Comp 1B-06 test requires to disable encryption if there is
> > +	 * non zero seq_num_V from recevier.
> IMHO In commit message this kind of reasoning make sense, but here this is
> not needed. As every line in the file will be as per the spec so we dont
> need to call them out.
> > +	 */
> > +	if (hdcp->first_recvid_msg && seq_num_v) {
> if (!hdcp->seq_num_v && seq_num_v) {
> 
> IMO This is all we need it.
I had tried this as my first solution, eventually this fill the link integrity check, see below.
> 
> -Ram
> > +		drm_dbg_kms(&dev_priv->drm, "Non zero Seq_num_v at beginning of HDCP Session\n");
> > +		return -EINVAL;
> > +	}
> > +
> >  	if (seq_num_v < hdcp->seq_num_v) {
> >  		/* Roll over of the seq_num_v from repeater. Reauthenticate. */
> >  		DRM_DEBUG_KMS("Seq_num_v roll over.\n");
> > @@ -1484,6 +1496,7 @@ int hdcp2_authenticate_repeater_topology(struct intel_connector *connector)
> >  		return ret;
> >  
> >  	hdcp->seq_num_v = seq_num_v;
	seq_num_v will be zero for first session, which left hdcp->seq_num_v to zero and that will
	fail the link intergrity check as at during link intergrity check seq_num_v will be non-zero,
        this happens during 1B-09, when repeater topolgy changes due to Roll over of seq_num_v.
Thanks ,
Anshuman Gupta.

> > +	hdcp->first_recvid_msg = false;
> >  	ret = shim->write_2_2_msg(intel_dig_port, &msgs.rep_ack,
> >  				  sizeof(msgs.rep_ack));
> >  	if (ret < 0)
> > -- 
> > 2.24.0
> > 
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [Intel-gfx] [PATCH 2/2] drm/i915/hdcp: Fix 1B-10 HDCP 2.2 Comp test
  2020-02-06 15:04 ` [Intel-gfx] [PATCH 2/2] drm/i915/hdcp: Fix 1B-10 HDCP 2.2 " Anshuman Gupta
@ 2020-02-06 17:13   ` Ramalingam C
  2020-02-10 16:49   ` [Intel-gfx] [PATCH] drm/i915: terminate reauth at stream management failure Ramalingam C
  1 sibling, 0 replies; 14+ messages in thread
From: Ramalingam C @ 2020-02-06 17:13 UTC (permalink / raw)
  To: Anshuman Gupta; +Cc: intel-gfx

On 2020-02-06 at 20:34:42 +0530, Anshuman Gupta wrote:
> 1B-10 HDCP Comp test verifies that source DUT reattempts
> Content Stream Management following a failure of Content
> Stream Management, 1B-10 test fail if source DUT tries
> reauthentication following a Content Stream Management
> failure.
> Fixing this broken test.
We could explain what we do in brief?
> 
> Cc: Ramalingam C <ramalingam.c@intel.com>
> Signed-off-by: Anshuman Gupta <anshuman.gupta@intel.com>
> ---
>  .../drm/i915/display/intel_display_types.h    |  3 ++
>  drivers/gpu/drm/i915/display/intel_hdcp.c     | 32 ++++++++++++++++---
>  2 files changed, 31 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h b/drivers/gpu/drm/i915/display/intel_display_types.h
> index 2ae540e986ba..9232c4e0e42e 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_types.h
> +++ b/drivers/gpu/drm/i915/display/intel_display_types.h
> @@ -363,6 +363,9 @@ struct intel_hdcp {
>  	/* Flag indicate if it is a first ReceiverID_List msg after AKE_Init */
>  	bool first_recvid_msg;
>  
> +	/* Flag indicate whether reauth retries req */
> +	bool reauth_req;
Personally I would try to avoid extra flags here. See if you could.
> +
>  	/*
>  	 * Content Stream Type defined by content owner. TYPE0(0x0) content can
>  	 * flow in the link protected by HDCP2.2 or HDCP1.4, where as TYPE1(0x1)
> diff --git a/drivers/gpu/drm/i915/display/intel_hdcp.c b/drivers/gpu/drm/i915/display/intel_hdcp.c
> index 3e24a6df503a..ed523de20eac 100644
> --- a/drivers/gpu/drm/i915/display/intel_hdcp.c
> +++ b/drivers/gpu/drm/i915/display/intel_hdcp.c
> @@ -1507,13 +1507,35 @@ int hdcp2_authenticate_repeater_topology(struct intel_connector *connector)
>  
>  static int hdcp2_authenticate_repeater(struct intel_connector *connector)
>  {
> -	int ret;
> +	int ret, i, tries = 3;
> +	struct intel_hdcp *hdcp = &connector->hdcp;
> +	struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
Preferred to sort the lengthiest line first.
>  
>  	ret = hdcp2_authenticate_repeater_topology(connector);
>  	if (ret < 0)
>  		return ret;
>  
> -	return hdcp2_propagate_stream_management_info(connector);
> +	/*
> +	 * HDCP 2.2 HDCP Spec Stream Managemnt pass/fail transition
> +	 * to HDCP authticate state i.e. A9->A5.
> +	 * if it fails, retry for stream managemnt again and skip the reauth.
> +	 */
> +	for (i = 0; i < tries; i++) {
> +		ret = hdcp2_propagate_stream_management_info(connector);
> +		if (!ret) {
> +			hdcp->reauth_req  = true;
this is not required. hence {}.
> +			break;
> +		}
> +
> +		hdcp->seq_num_m++;
> +		drm_dbg_kms(&dev_priv->drm, "HDCP2.2 stream management %d of %d Failed.(%d)\n",
This can be wrapped to 80char without any loss of readability.

-Ram
> +			    i + 1, tries, ret);
> +	}
> +
> +	if (ret)
> +		hdcp->reauth_req  = false;
> +
> +	return ret;
>  }
>  
>  static int hdcp2_authenticate_sink(struct intel_connector *connector)
> @@ -1642,10 +1664,11 @@ static int hdcp2_disable_encryption(struct intel_connector *connector)
>  static int hdcp2_authenticate_and_encrypt(struct intel_connector *connector)
>  {
>  	int ret, i, tries = 3;
> +	struct intel_hdcp *hdcp = &connector->hdcp;
>  
>  	for (i = 0; i < tries; i++) {
>  		ret = hdcp2_authenticate_sink(connector);
> -		if (!ret)
> +		if (!ret || !hdcp->reauth_req)
>  			break;
>  
>  		/* Clearing the mei hdcp session */
> @@ -1655,7 +1678,7 @@ static int hdcp2_authenticate_and_encrypt(struct intel_connector *connector)
>  			DRM_DEBUG_KMS("Port deauth failed.\n");
>  	}
>  
> -	if (i != tries) {
> +	if (!ret) {
>  		/*
>  		 * Ensuring the required 200mSec min time interval between
>  		 * Session Key Exchange and encryption.
> @@ -1681,6 +1704,7 @@ static int _intel_hdcp2_enable(struct intel_connector *connector)
>  		      connector->base.name, connector->base.base.id,
>  		      hdcp->content_type);
>  
> +	hdcp->reauth_req  = true;
>  	ret = hdcp2_authenticate_and_encrypt(connector);
>  	if (ret) {
>  		DRM_DEBUG_KMS("HDCP2 Type%d  Enabling Failed. (%d)\n",
> -- 
> 2.24.0
> 
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [Intel-gfx] [PATCH 1/2] drm/i915/hdcp: Fix 1B-06 HDCP2.2 Comp test
  2020-02-06 17:09     ` Anshuman Gupta
@ 2020-02-06 17:36       ` Ramalingam C
  2020-02-06 18:30         ` Anshuman Gupta
  0 siblings, 1 reply; 14+ messages in thread
From: Ramalingam C @ 2020-02-06 17:36 UTC (permalink / raw)
  To: Anshuman Gupta; +Cc: intel-gfx

On 2020-02-06 at 22:39:28 +0530, Anshuman Gupta wrote:
> On 2020-02-06 at 22:30:27 +0530, Ramalingam C wrote:
> > On 2020-02-06 at 20:34:41 +0530, Anshuman Gupta wrote:
> > > HDCP Repeater initializes seq_num_V to 0 at the beginning of
> > > hdcp Session i.e. after AKE_init received.
> > > 
> > > HDCP 2.2 Comp specs 1B-06 test verifies that whether DUT
> > > considers failures of authentication if the repeater provides a
> > > non-zero value in seq_num_V in the first,
> > > RepeaterAuth_Send_ReceiverID_List message after first AKE_Init.
> > > Fixing this broken test.
> > Instead of "Fixing the broken test" could we say, we mandate the first
> > seq_num_v to be zero? in fact i would keep this as commit subject also. 
> > > 
> > > Cc: Ramalingam C <ramalingam.c@intel.com>
> > > Signed-off-by: Anshuman Gupta <anshuman.gupta@intel.com>
> > > ---
> > >  drivers/gpu/drm/i915/display/intel_display_types.h |  3 +++
> > >  drivers/gpu/drm/i915/display/intel_hdcp.c          | 13 +++++++++++++
> > >  2 files changed, 16 insertions(+)
> > > 
> > > diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h b/drivers/gpu/drm/i915/display/intel_display_types.h
> > > index 7ae0bc8b80d1..2ae540e986ba 100644
> > > --- a/drivers/gpu/drm/i915/display/intel_display_types.h
> > > +++ b/drivers/gpu/drm/i915/display/intel_display_types.h
> > > @@ -360,6 +360,9 @@ struct intel_hdcp {
> > >  	/* HDCP2.2 Encryption status */
> > >  	bool hdcp2_encrypted;
> > >  
> > > +	/* Flag indicate if it is a first ReceiverID_List msg after AKE_Init */
> > > +	bool first_recvid_msg;
> > This extra flag is not needed, see below comment
> > > +
> > >  	/*
> > >  	 * Content Stream Type defined by content owner. TYPE0(0x0) content can
> > >  	 * flow in the link protected by HDCP2.2 or HDCP1.4, where as TYPE1(0x1)
> > > diff --git a/drivers/gpu/drm/i915/display/intel_hdcp.c b/drivers/gpu/drm/i915/display/intel_hdcp.c
> > > index 4d1a33d13105..3e24a6df503a 100644
> > > --- a/drivers/gpu/drm/i915/display/intel_hdcp.c
> > > +++ b/drivers/gpu/drm/i915/display/intel_hdcp.c
> > > @@ -1251,6 +1251,8 @@ static int hdcp2_authentication_key_exchange(struct intel_connector *connector)
> > >  	size_t size;
> > >  	int ret;
> > >  
> > > +	hdcp->first_recvid_msg = true;
> > > +
> > >  	/* Init for seq_num */
> > >  	hdcp->seq_num_v = 0;
> > >  	hdcp->seq_num_m = 0;
> > > @@ -1462,6 +1464,16 @@ int hdcp2_authenticate_repeater_topology(struct intel_connector *connector)
> > >  	seq_num_v =
> > >  		drm_hdcp_be24_to_cpu((const u8 *)msgs.recvid_list.seq_num_v);
> > >  
> > > +	/*
> > > +	 * HDCP 2.2 Spec HDMI PAGE 19, DP PAGE 20
> > > +	 * HDCP 2.2 Comp 1B-06 test requires to disable encryption if there is
> > > +	 * non zero seq_num_V from recevier.
> > IMHO In commit message this kind of reasoning make sense, but here this is
> > not needed. As every line in the file will be as per the spec so we dont
> > need to call them out.
> > > +	 */
> > > +	if (hdcp->first_recvid_msg && seq_num_v) {
> > if (!hdcp->seq_num_v && seq_num_v) {
> > 
> > IMO This is all we need it.
> I had tried this as my first solution, eventually this fill the link integrity check, see below.
> > 
> > -Ram
> > > +		drm_dbg_kms(&dev_priv->drm, "Non zero Seq_num_v at beginning of HDCP Session\n");
> > > +		return -EINVAL;
> > > +	}
> > > +
> > >  	if (seq_num_v < hdcp->seq_num_v) {
> > >  		/* Roll over of the seq_num_v from repeater. Reauthenticate. */
> > >  		DRM_DEBUG_KMS("Seq_num_v roll over.\n");
> > > @@ -1484,6 +1496,7 @@ int hdcp2_authenticate_repeater_topology(struct intel_connector *connector)
> > >  		return ret;
> > >  
> > >  	hdcp->seq_num_v = seq_num_v;
> 	seq_num_v will be zero for first session, which left hdcp->seq_num_v to zero and that will
> 	fail the link intergrity check as at during link intergrity check seq_num_v will be non-zero,
>         this happens during 1B-09, when repeater topolgy changes due to Roll over of seq_num_v.

topology update should increment the seq_num_v which will make it > than
hdcp->seq_num_v. How roll over happens? And at every AKE start we init
hdcp->seq_num_v to 0.

So please elaborate the failure scenario.

Ram.
> Thanks ,
> Anshuman Gupta.
> 
> > > +	hdcp->first_recvid_msg = false;
> > >  	ret = shim->write_2_2_msg(intel_dig_port, &msgs.rep_ack,
> > >  				  sizeof(msgs.rep_ack));
> > >  	if (ret < 0)
> > > -- 
> > > 2.24.0
> > > 
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [Intel-gfx] [PATCH 1/2] drm/i915/hdcp: Fix 1B-06 HDCP2.2 Comp test
  2020-02-06 17:36       ` Ramalingam C
@ 2020-02-06 18:30         ` Anshuman Gupta
  2020-02-07  6:40           ` Ramalingam C
  0 siblings, 1 reply; 14+ messages in thread
From: Anshuman Gupta @ 2020-02-06 18:30 UTC (permalink / raw)
  To: Ramalingam C; +Cc: intel-gfx

On 2020-02-06 at 23:06:57 +0530, Ramalingam C wrote:
> On 2020-02-06 at 22:39:28 +0530, Anshuman Gupta wrote:
> > On 2020-02-06 at 22:30:27 +0530, Ramalingam C wrote:
> > > On 2020-02-06 at 20:34:41 +0530, Anshuman Gupta wrote:
> > > > HDCP Repeater initializes seq_num_V to 0 at the beginning of
> > > > hdcp Session i.e. after AKE_init received.
> > > > 
> > > > HDCP 2.2 Comp specs 1B-06 test verifies that whether DUT
> > > > considers failures of authentication if the repeater provides a
> > > > non-zero value in seq_num_V in the first,
> > > > RepeaterAuth_Send_ReceiverID_List message after first AKE_Init.
> > > > Fixing this broken test.
> > > Instead of "Fixing the broken test" could we say, we mandate the first
> > > seq_num_v to be zero? in fact i would keep this as commit subject also. 
> > > > 
> > > > Cc: Ramalingam C <ramalingam.c@intel.com>
> > > > Signed-off-by: Anshuman Gupta <anshuman.gupta@intel.com>
> > > > ---
> > > >  drivers/gpu/drm/i915/display/intel_display_types.h |  3 +++
> > > >  drivers/gpu/drm/i915/display/intel_hdcp.c          | 13 +++++++++++++
> > > >  2 files changed, 16 insertions(+)
> > > > 
> > > > diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h b/drivers/gpu/drm/i915/display/intel_display_types.h
> > > > index 7ae0bc8b80d1..2ae540e986ba 100644
> > > > --- a/drivers/gpu/drm/i915/display/intel_display_types.h
> > > > +++ b/drivers/gpu/drm/i915/display/intel_display_types.h
> > > > @@ -360,6 +360,9 @@ struct intel_hdcp {
> > > >  	/* HDCP2.2 Encryption status */
> > > >  	bool hdcp2_encrypted;
> > > >  
> > > > +	/* Flag indicate if it is a first ReceiverID_List msg after AKE_Init */
> > > > +	bool first_recvid_msg;
> > > This extra flag is not needed, see below comment
> > > > +
> > > >  	/*
> > > >  	 * Content Stream Type defined by content owner. TYPE0(0x0) content can
> > > >  	 * flow in the link protected by HDCP2.2 or HDCP1.4, where as TYPE1(0x1)
> > > > diff --git a/drivers/gpu/drm/i915/display/intel_hdcp.c b/drivers/gpu/drm/i915/display/intel_hdcp.c
> > > > index 4d1a33d13105..3e24a6df503a 100644
> > > > --- a/drivers/gpu/drm/i915/display/intel_hdcp.c
> > > > +++ b/drivers/gpu/drm/i915/display/intel_hdcp.c
> > > > @@ -1251,6 +1251,8 @@ static int hdcp2_authentication_key_exchange(struct intel_connector *connector)
> > > >  	size_t size;
> > > >  	int ret;
> > > >  
> > > > +	hdcp->first_recvid_msg = true;
> > > > +
> > > >  	/* Init for seq_num */
> > > >  	hdcp->seq_num_v = 0;
> > > >  	hdcp->seq_num_m = 0;
> > > > @@ -1462,6 +1464,16 @@ int hdcp2_authenticate_repeater_topology(struct intel_connector *connector)
> > > >  	seq_num_v =
> > > >  		drm_hdcp_be24_to_cpu((const u8 *)msgs.recvid_list.seq_num_v);
> > > >  
> > > > +	/*
> > > > +	 * HDCP 2.2 Spec HDMI PAGE 19, DP PAGE 20
> > > > +	 * HDCP 2.2 Comp 1B-06 test requires to disable encryption if there is
> > > > +	 * non zero seq_num_V from recevier.
> > > IMHO In commit message this kind of reasoning make sense, but here this is
> > > not needed. As every line in the file will be as per the spec so we dont
> > > need to call them out.
> > > > +	 */
> > > > +	if (hdcp->first_recvid_msg && seq_num_v) {
> > > if (!hdcp->seq_num_v && seq_num_v) {
> > > 
> > > IMO This is all we need it.
> > I had tried this as my first solution, eventually this fill the link integrity check, see below.
> > > 
> > > -Ram
> > > > +		drm_dbg_kms(&dev_priv->drm, "Non zero Seq_num_v at beginning of HDCP Session\n");
> > > > +		return -EINVAL;
> > > > +	}
> > > > +
> > > >  	if (seq_num_v < hdcp->seq_num_v) {
> > > >  		/* Roll over of the seq_num_v from repeater. Reauthenticate. */
> > > >  		DRM_DEBUG_KMS("Seq_num_v roll over.\n");
> > > > @@ -1484,6 +1496,7 @@ int hdcp2_authenticate_repeater_topology(struct intel_connector *connector)
> > > >  		return ret;
> > > >  
> > > >  	hdcp->seq_num_v = seq_num_v;
> > 	seq_num_v will be zero for first session, which left hdcp->seq_num_v to zero and that will
> > 	fail the link intergrity check as at during link intergrity check seq_num_v will be non-zero,
> >         this happens during 1B-09, when repeater topolgy changes due to Roll over of seq_num_v.
> 
> topology update should increment the seq_num_v which will make it > than
> hdcp->seq_num_v. How roll over happens? And at every AKE start we init
> hdcp->seq_num_v to 0.
> 
> So please elaborate the failure scenario.
Please refer to HDCP 2.2 spec page page 44 Step 1-B-09
STEP 1B-09-01
-> TE sets seq_num_V to 0xFFFFFFh
-> TE simulate disconnect of active downstream device by decrementing DEVICE_COUNT
*As I understand above will assert the READY bit that will detect as topology change and will make a call 
 to hdcp2_authenticate_repeater_topology() and there it will fail for 
 if (!hdcp->seq_num_v && seq_num_v) conidiation, and test will fail here itself.
-> DUT sends RepeaterAuth_Send_Ack message
STEP 1B-09-02
-> TE will set seq_num_V to 0x000 to indicate Roll Over.

Please correct me if i am wrong here.

Thanks ,
Anshuman Gupta.

> 
> Ram.
> > Thanks ,
> > Anshuman Gupta.
> > 
> > > > +	hdcp->first_recvid_msg = false;
> > > >  	ret = shim->write_2_2_msg(intel_dig_port, &msgs.rep_ack,
> > > >  				  sizeof(msgs.rep_ack));
> > > >  	if (ret < 0)
> > > > -- 
> > > > 2.24.0
> > > > 
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [Intel-gfx] [PATCH 1/2] drm/i915/hdcp: Fix 1B-06 HDCP2.2 Comp test
  2020-02-06 18:30         ` Anshuman Gupta
@ 2020-02-07  6:40           ` Ramalingam C
  0 siblings, 0 replies; 14+ messages in thread
From: Ramalingam C @ 2020-02-07  6:40 UTC (permalink / raw)
  To: Anshuman Gupta; +Cc: intel-gfx

On 2020-02-07 at 00:00:13 +0530, Anshuman Gupta wrote:
> On 2020-02-06 at 23:06:57 +0530, Ramalingam C wrote:
> > On 2020-02-06 at 22:39:28 +0530, Anshuman Gupta wrote:
> > > On 2020-02-06 at 22:30:27 +0530, Ramalingam C wrote:
> > > > On 2020-02-06 at 20:34:41 +0530, Anshuman Gupta wrote:
> > > > > HDCP Repeater initializes seq_num_V to 0 at the beginning of
> > > > > hdcp Session i.e. after AKE_init received.
> > > > > 
> > > > > HDCP 2.2 Comp specs 1B-06 test verifies that whether DUT
> > > > > considers failures of authentication if the repeater provides a
> > > > > non-zero value in seq_num_V in the first,
> > > > > RepeaterAuth_Send_ReceiverID_List message after first AKE_Init.
> > > > > Fixing this broken test.
> > > > Instead of "Fixing the broken test" could we say, we mandate the first
> > > > seq_num_v to be zero? in fact i would keep this as commit subject also. 
> > > > > 
> > > > > Cc: Ramalingam C <ramalingam.c@intel.com>
> > > > > Signed-off-by: Anshuman Gupta <anshuman.gupta@intel.com>
> > > > > ---
> > > > >  drivers/gpu/drm/i915/display/intel_display_types.h |  3 +++
> > > > >  drivers/gpu/drm/i915/display/intel_hdcp.c          | 13 +++++++++++++
> > > > >  2 files changed, 16 insertions(+)
> > > > > 
> > > > > diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h b/drivers/gpu/drm/i915/display/intel_display_types.h
> > > > > index 7ae0bc8b80d1..2ae540e986ba 100644
> > > > > --- a/drivers/gpu/drm/i915/display/intel_display_types.h
> > > > > +++ b/drivers/gpu/drm/i915/display/intel_display_types.h
> > > > > @@ -360,6 +360,9 @@ struct intel_hdcp {
> > > > >  	/* HDCP2.2 Encryption status */
> > > > >  	bool hdcp2_encrypted;
> > > > >  
> > > > > +	/* Flag indicate if it is a first ReceiverID_List msg after AKE_Init */
> > > > > +	bool first_recvid_msg;
> > > > This extra flag is not needed, see below comment
> > > > > +
> > > > >  	/*
> > > > >  	 * Content Stream Type defined by content owner. TYPE0(0x0) content can
> > > > >  	 * flow in the link protected by HDCP2.2 or HDCP1.4, where as TYPE1(0x1)
> > > > > diff --git a/drivers/gpu/drm/i915/display/intel_hdcp.c b/drivers/gpu/drm/i915/display/intel_hdcp.c
> > > > > index 4d1a33d13105..3e24a6df503a 100644
> > > > > --- a/drivers/gpu/drm/i915/display/intel_hdcp.c
> > > > > +++ b/drivers/gpu/drm/i915/display/intel_hdcp.c
> > > > > @@ -1251,6 +1251,8 @@ static int hdcp2_authentication_key_exchange(struct intel_connector *connector)
> > > > >  	size_t size;
> > > > >  	int ret;
> > > > >  
> > > > > +	hdcp->first_recvid_msg = true;
> > > > > +
> > > > >  	/* Init for seq_num */
> > > > >  	hdcp->seq_num_v = 0;
> > > > >  	hdcp->seq_num_m = 0;
> > > > > @@ -1462,6 +1464,16 @@ int hdcp2_authenticate_repeater_topology(struct intel_connector *connector)
> > > > >  	seq_num_v =
> > > > >  		drm_hdcp_be24_to_cpu((const u8 *)msgs.recvid_list.seq_num_v);
> > > > >  
> > > > > +	/*
> > > > > +	 * HDCP 2.2 Spec HDMI PAGE 19, DP PAGE 20
> > > > > +	 * HDCP 2.2 Comp 1B-06 test requires to disable encryption if there is
> > > > > +	 * non zero seq_num_V from recevier.
> > > > IMHO In commit message this kind of reasoning make sense, but here this is
> > > > not needed. As every line in the file will be as per the spec so we dont
> > > > need to call them out.
> > > > > +	 */
> > > > > +	if (hdcp->first_recvid_msg && seq_num_v) {
> > > > if (!hdcp->seq_num_v && seq_num_v) {
> > > > 
> > > > IMO This is all we need it.
> > > I had tried this as my first solution, eventually this fill the link integrity check, see below.
> > > > 
> > > > -Ram
> > > > > +		drm_dbg_kms(&dev_priv->drm, "Non zero Seq_num_v at beginning of HDCP Session\n");
> > > > > +		return -EINVAL;
> > > > > +	}
> > > > > +
> > > > >  	if (seq_num_v < hdcp->seq_num_v) {
> > > > >  		/* Roll over of the seq_num_v from repeater. Reauthenticate. */
> > > > >  		DRM_DEBUG_KMS("Seq_num_v roll over.\n");
> > > > > @@ -1484,6 +1496,7 @@ int hdcp2_authenticate_repeater_topology(struct intel_connector *connector)
> > > > >  		return ret;
> > > > >  
> > > > >  	hdcp->seq_num_v = seq_num_v;
> > > 	seq_num_v will be zero for first session, which left hdcp->seq_num_v to zero and that will
> > > 	fail the link intergrity check as at during link intergrity check seq_num_v will be non-zero,
> > >         this happens during 1B-09, when repeater topolgy changes due to Roll over of seq_num_v.
> > 
> > topology update should increment the seq_num_v which will make it > than
> > hdcp->seq_num_v. How roll over happens? And at every AKE start we init
> > hdcp->seq_num_v to 0.
> > 
> > So please elaborate the failure scenario.
> Please refer to HDCP 2.2 spec page page 44 Step 1-B-09
> STEP 1B-09-01
> -> TE sets seq_num_V to 0xFFFFFFh
Is it possible to randomly set seq_num_v to 0xFFFFFFh after 0? thought
it is getting incremented by 1 for every topology change.
> -> TE simulate disconnect of active downstream device by decrementing DEVICE_COUNT
> *As I understand above will assert the READY bit that will detect as topology change and will make a call 
>  to hdcp2_authenticate_repeater_topology() and there it will fail for 
>  if (!hdcp->seq_num_v && seq_num_v) conidiation, and test will fail here itself.
possible if the TE change the seq_num_v from 0 to ffffffh directly. Need
to check whether that is ok to do?

> -> DUT sends RepeaterAuth_Send_Ack message
> STEP 1B-09-02
> -> TE will set seq_num_V to 0x000 to indicate Roll Over.
> 
> Please correct me if i am wrong here.
if not the hdcp->seq_num_v, you can use hdcp->value which will be
ENABLED for repeated topology change or you can use
hdcp->hdcp2_encrypted which will be true in above roll over case.

Thanks,
Ram.
> 
> Thanks ,
> Anshuman Gupta.
> 
> > 
> > Ram.
> > > Thanks ,
> > > Anshuman Gupta.
> > > 
> > > > > +	hdcp->first_recvid_msg = false;
> > > > >  	ret = shim->write_2_2_msg(intel_dig_port, &msgs.rep_ack,
> > > > >  				  sizeof(msgs.rep_ack));
> > > > >  	if (ret < 0)
> > > > > -- 
> > > > > 2.24.0
> > > > > 
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Intel-gfx] ✓ Fi.CI.IGT: success for HDCP 2.2 Comp fixes
  2020-02-06 15:04 [Intel-gfx] [PATCH 0/2] HDCP 2.2 Comp fixes Anshuman Gupta
                   ` (2 preceding siblings ...)
  2020-02-06 16:44 ` [Intel-gfx] ✓ Fi.CI.BAT: success for HDCP 2.2 Comp fixes Patchwork
@ 2020-02-09  9:28 ` Patchwork
  2020-02-10 19:34 ` [Intel-gfx] ✓ Fi.CI.BAT: success for HDCP 2.2 Comp fixes (rev2) Patchwork
  4 siblings, 0 replies; 14+ messages in thread
From: Patchwork @ 2020-02-09  9:28 UTC (permalink / raw)
  To: Anshuman Gupta; +Cc: intel-gfx

== Series Details ==

Series: HDCP 2.2 Comp fixes
URL   : https://patchwork.freedesktop.org/series/73101/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_7876_full -> Patchwork_16461_full
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  

Known issues
------------

  Here are the changes found in Patchwork_16461_full that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@gem_exec_parallel@vcs1:
    - shard-iclb:         [PASS][1] -> [SKIP][2] ([fdo#112080]) +3 similar issues
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7876/shard-iclb4/igt@gem_exec_parallel@vcs1.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16461/shard-iclb3/igt@gem_exec_parallel@vcs1.html

  * igt@gem_exec_schedule@in-order-bsd:
    - shard-iclb:         [PASS][3] -> [SKIP][4] ([fdo#112146]) +4 similar issues
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7876/shard-iclb3/igt@gem_exec_schedule@in-order-bsd.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16461/shard-iclb2/igt@gem_exec_schedule@in-order-bsd.html

  * igt@gem_exec_schedule@pi-distinct-iova-bsd:
    - shard-iclb:         [PASS][5] -> [SKIP][6] ([i915#677]) +1 similar issue
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7876/shard-iclb7/igt@gem_exec_schedule@pi-distinct-iova-bsd.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16461/shard-iclb2/igt@gem_exec_schedule@pi-distinct-iova-bsd.html

  * igt@gem_exec_schedule@preempt-contexts-bsd2:
    - shard-iclb:         [PASS][7] -> [SKIP][8] ([fdo#109276]) +12 similar issues
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7876/shard-iclb1/igt@gem_exec_schedule@preempt-contexts-bsd2.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16461/shard-iclb8/igt@gem_exec_schedule@preempt-contexts-bsd2.html

  * igt@gem_partial_pwrite_pread@reads-snoop:
    - shard-hsw:          [PASS][9] -> [FAIL][10] ([i915#694])
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7876/shard-hsw2/igt@gem_partial_pwrite_pread@reads-snoop.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16461/shard-hsw2/igt@gem_partial_pwrite_pread@reads-snoop.html

  * igt@gem_ppgtt@flink-and-close-vma-leak:
    - shard-kbl:          [PASS][11] -> [FAIL][12] ([i915#644])
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7876/shard-kbl3/igt@gem_ppgtt@flink-and-close-vma-leak.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16461/shard-kbl7/igt@gem_ppgtt@flink-and-close-vma-leak.html

  * igt@kms_big_fb@x-tiled-64bpp-rotate-0:
    - shard-hsw:          [PASS][13] -> [FAIL][14] ([i915#969])
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7876/shard-hsw6/igt@kms_big_fb@x-tiled-64bpp-rotate-0.html
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16461/shard-hsw6/igt@kms_big_fb@x-tiled-64bpp-rotate-0.html

  * igt@kms_cursor_crc@pipe-c-cursor-256x85-offscreen:
    - shard-skl:          [PASS][15] -> [FAIL][16] ([i915#54])
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7876/shard-skl9/igt@kms_cursor_crc@pipe-c-cursor-256x85-offscreen.html
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16461/shard-skl2/igt@kms_cursor_crc@pipe-c-cursor-256x85-offscreen.html

  * igt@kms_flip@flip-vs-suspend-interruptible:
    - shard-apl:          [PASS][17] -> [DMESG-WARN][18] ([i915#180]) +2 similar issues
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7876/shard-apl7/igt@kms_flip@flip-vs-suspend-interruptible.html
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16461/shard-apl6/igt@kms_flip@flip-vs-suspend-interruptible.html

  * igt@kms_flip_tiling@flip-y-tiled:
    - shard-glk:          [PASS][19] -> [FAIL][20] ([i915#699])
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7876/shard-glk9/igt@kms_flip_tiling@flip-y-tiled.html
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16461/shard-glk4/igt@kms_flip_tiling@flip-y-tiled.html

  * igt@kms_plane@plane-panning-bottom-right-suspend-pipe-a-planes:
    - shard-kbl:          [PASS][21] -> [DMESG-WARN][22] ([i915#180]) +3 similar issues
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7876/shard-kbl1/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-a-planes.html
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16461/shard-kbl7/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-a-planes.html

  * igt@kms_plane_alpha_blend@pipe-c-coverage-7efc:
    - shard-skl:          [PASS][23] -> [FAIL][24] ([fdo#108145] / [i915#265])
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7876/shard-skl9/igt@kms_plane_alpha_blend@pipe-c-coverage-7efc.html
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16461/shard-skl2/igt@kms_plane_alpha_blend@pipe-c-coverage-7efc.html

  * igt@kms_plane_lowres@pipe-a-tiling-y:
    - shard-glk:          [PASS][25] -> [FAIL][26] ([i915#899])
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7876/shard-glk2/igt@kms_plane_lowres@pipe-a-tiling-y.html
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16461/shard-glk1/igt@kms_plane_lowres@pipe-a-tiling-y.html

  * igt@kms_psr@psr2_sprite_mmap_gtt:
    - shard-iclb:         [PASS][27] -> [SKIP][28] ([fdo#109441]) +2 similar issues
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7876/shard-iclb2/igt@kms_psr@psr2_sprite_mmap_gtt.html
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16461/shard-iclb8/igt@kms_psr@psr2_sprite_mmap_gtt.html

  * igt@kms_vblank@pipe-c-ts-continuation-suspend:
    - shard-skl:          [PASS][29] -> [INCOMPLETE][30] ([i915#69])
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7876/shard-skl7/igt@kms_vblank@pipe-c-ts-continuation-suspend.html
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16461/shard-skl7/igt@kms_vblank@pipe-c-ts-continuation-suspend.html

  
#### Possible fixes ####

  * igt@gem_busy@busy-vcs1:
    - shard-iclb:         [SKIP][31] ([fdo#112080]) -> [PASS][32] +9 similar issues
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7876/shard-iclb7/igt@gem_busy@busy-vcs1.html
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16461/shard-iclb2/igt@gem_busy@busy-vcs1.html

  * igt@gem_ctx_persistence@processes:
    - shard-tglb:         [FAIL][33] ([i915#570]) -> [PASS][34]
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7876/shard-tglb3/igt@gem_ctx_persistence@processes.html
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16461/shard-tglb8/igt@gem_ctx_persistence@processes.html

  * igt@gem_exec_balancer@hang:
    - shard-tglb:         [TIMEOUT][35] ([fdo#112271]) -> [PASS][36]
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7876/shard-tglb6/igt@gem_exec_balancer@hang.html
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16461/shard-tglb7/igt@gem_exec_balancer@hang.html

  * igt@gem_exec_balancer@smoke:
    - shard-iclb:         [SKIP][37] ([fdo#110854]) -> [PASS][38]
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7876/shard-iclb5/igt@gem_exec_balancer@smoke.html
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16461/shard-iclb1/igt@gem_exec_balancer@smoke.html

  * igt@gem_exec_schedule@preempt-other-chain-bsd:
    - shard-iclb:         [SKIP][39] ([fdo#112146]) -> [PASS][40] +3 similar issues
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7876/shard-iclb4/igt@gem_exec_schedule@preempt-other-chain-bsd.html
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16461/shard-iclb3/igt@gem_exec_schedule@preempt-other-chain-bsd.html

  * igt@gem_ppgtt@flink-and-close-vma-leak:
    - shard-skl:          [FAIL][41] ([i915#644]) -> [PASS][42]
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7876/shard-skl2/igt@gem_ppgtt@flink-and-close-vma-leak.html
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16461/shard-skl9/igt@gem_ppgtt@flink-and-close-vma-leak.html

  * igt@gem_render_copy_redux@normal:
    - shard-hsw:          [FAIL][43] ([i915#694]) -> [PASS][44]
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7876/shard-hsw5/igt@gem_render_copy_redux@normal.html
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16461/shard-hsw7/igt@gem_render_copy_redux@normal.html

  * igt@gen9_exec_parse@allowed-all:
    - shard-glk:          [INCOMPLETE][45] ([i915#58] / [k.org#198133]) -> [PASS][46]
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7876/shard-glk2/igt@gen9_exec_parse@allowed-all.html
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16461/shard-glk1/igt@gen9_exec_parse@allowed-all.html

  * igt@i915_pm_dc@dc6-psr:
    - shard-iclb:         [FAIL][47] ([i915#454]) -> [PASS][48]
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7876/shard-iclb2/igt@i915_pm_dc@dc6-psr.html
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16461/shard-iclb7/igt@i915_pm_dc@dc6-psr.html

  * igt@i915_selftest@live_gtt:
    - shard-apl:          [TIMEOUT][49] ([fdo#112271]) -> [PASS][50]
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7876/shard-apl3/igt@i915_selftest@live_gtt.html
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16461/shard-apl2/igt@i915_selftest@live_gtt.html

  * igt@kms_cursor_crc@pipe-c-cursor-suspend:
    - shard-kbl:          [DMESG-WARN][51] ([i915#180]) -> [PASS][52] +2 similar issues
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7876/shard-kbl6/igt@kms_cursor_crc@pipe-c-cursor-suspend.html
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16461/shard-kbl6/igt@kms_cursor_crc@pipe-c-cursor-suspend.html

  * igt@kms_draw_crc@draw-method-xrgb8888-blt-xtiled:
    - shard-skl:          [FAIL][53] ([i915#52] / [i915#54]) -> [PASS][54]
   [53]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7876/shard-skl2/igt@kms_draw_crc@draw-method-xrgb8888-blt-xtiled.html
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16461/shard-skl2/igt@kms_draw_crc@draw-method-xrgb8888-blt-xtiled.html

  * igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-draw-mmap-gtt:
    - shard-tglb:         [SKIP][55] ([i915#668]) -> [PASS][56] +5 similar issues
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7876/shard-tglb2/igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-draw-mmap-gtt.html
   [56]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16461/shard-tglb2/igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-draw-mmap-gtt.html

  * igt@kms_plane@plane-panning-bottom-right-suspend-pipe-a-planes:
    - shard-apl:          [DMESG-WARN][57] ([i915#180]) -> [PASS][58]
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7876/shard-apl8/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-a-planes.html
   [58]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16461/shard-apl1/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-a-planes.html

  * igt@kms_psr2_su@frontbuffer:
    - shard-iclb:         [SKIP][59] ([fdo#109642] / [fdo#111068]) -> [PASS][60]
   [59]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7876/shard-iclb3/igt@kms_psr2_su@frontbuffer.html
   [60]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16461/shard-iclb2/igt@kms_psr2_su@frontbuffer.html

  * igt@kms_psr@psr2_suspend:
    - shard-iclb:         [SKIP][61] ([fdo#109441]) -> [PASS][62] +2 similar issues
   [61]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7876/shard-iclb3/igt@kms_psr@psr2_suspend.html
   [62]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16461/shard-iclb2/igt@kms_psr@psr2_suspend.html

  * igt@prime_mmap_coherency@ioctl-errors:
    - shard-hsw:          [FAIL][63] ([i915#831]) -> [PASS][64]
   [63]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7876/shard-hsw2/igt@prime_mmap_coherency@ioctl-errors.html
   [64]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16461/shard-hsw1/igt@prime_mmap_coherency@ioctl-errors.html

  * igt@prime_vgem@fence-wait-bsd2:
    - shard-iclb:         [SKIP][65] ([fdo#109276]) -> [PASS][66] +9 similar issues
   [65]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7876/shard-iclb7/igt@prime_vgem@fence-wait-bsd2.html
   [66]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16461/shard-iclb2/igt@prime_vgem@fence-wait-bsd2.html

  
#### Warnings ####

  * igt@gem_ctx_isolation@vcs1-nonpriv-switch:
    - shard-iclb:         [FAIL][67] ([IGT#28]) -> [SKIP][68] ([fdo#112080])
   [67]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7876/shard-iclb2/igt@gem_ctx_isolation@vcs1-nonpriv-switch.html
   [68]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16461/shard-iclb7/igt@gem_ctx_isolation@vcs1-nonpriv-switch.html

  * igt@i915_pm_dc@dc6-psr:
    - shard-tglb:         [FAIL][69] ([i915#454]) -> [SKIP][70] ([i915#468])
   [69]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7876/shard-tglb3/igt@i915_pm_dc@dc6-psr.html
   [70]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16461/shard-tglb2/igt@i915_pm_dc@dc6-psr.html

  * igt@kms_dp_dsc@basic-dsc-enable-edp:
    - shard-iclb:         [SKIP][71] ([fdo#109349]) -> [DMESG-WARN][72] ([fdo#107724])
   [71]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7876/shard-iclb8/igt@kms_dp_dsc@basic-dsc-enable-edp.html
   [72]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16461/shard-iclb2/igt@kms_dp_dsc@basic-dsc-enable-edp.html

  
  [IGT#28]: https://gitlab.freedesktop.org/drm/igt-gpu-tools/issues/28
  [fdo#107724]: https://bugs.freedesktop.org/show_bug.cgi?id=107724
  [fdo#108145]: https://bugs.freedesktop.org/show_bug.cgi?id=108145
  [fdo#109276]: https://bugs.freedesktop.org/show_bug.cgi?id=109276
  [fdo#109349]: https://bugs.freedesktop.org/show_bug.cgi?id=109349
  [fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441
  [fdo#109642]: https://bugs.freedesktop.org/show_bug.cgi?id=109642
  [fdo#110854]: https://bugs.freedesktop.org/show_bug.cgi?id=110854
  [fdo#111068]: https://bugs.freedesktop.org/show_bug.cgi?id=111068
  [fdo#112080]: https://bugs.freedesktop.org/show_bug.cgi?id=112080
  [fdo#112146]: https://bugs.freedesktop.org/show_bug.cgi?id=112146
  [fdo#112271]: https://bugs.freedesktop.org/show_bug.cgi?id=112271
  [i915#180]: https://gitlab.freedesktop.org/drm/intel/issues/180
  [i915#265]: https://gitlab.freedesktop.org/drm/intel/issues/265
  [i915#454]: https://gitlab.freedesktop.org/drm/intel/issues/454
  [i915#468]: https://gitlab.freedesktop.org/drm/intel/issues/468
  [i915#52]: https://gitlab.freedesktop.org/drm/intel/issues/52
  [i915#54]: https://gitlab.freedesktop.org/drm/intel/issues/54
  [i915#570]: https://gitlab.freedesktop.org/drm/intel/issues/570
  [i915#58]: https://gitlab.freedesktop.org/drm/intel/issues/58
  [i915#644]: https://gitlab.freedesktop.org/drm/intel/issues/644
  [i915#668]: https://gitlab.freedesktop.org/drm/intel/issues/668
  [i915#677]: https://gitlab.freedesktop.org/drm/intel/issues/677
  [i915#69]: https://gitlab.freedesktop.org/drm/intel/issues/69
  [i915#694]: https://gitlab.freedesktop.org/drm/intel/issues/694
  [i915#699]: https://gitlab.freedesktop.org/drm/intel/issues/699
  [i915#831]: https://gitlab.freedesktop.org/drm/intel/issues/831
  [i915#899]: https://gitlab.freedesktop.org/drm/intel/issues/899
  [i915#969]: https://gitlab.freedesktop.org/drm/intel/issues/969
  [k.org#198133]: https://bugzilla.kernel.org/show_bug.cgi?id=198133


Participating hosts (10 -> 10)
------------------------------

  No changes in participating hosts


Build changes
-------------

  * CI: CI-20190529 -> None
  * Linux: CI_DRM_7876 -> Patchwork_16461

  CI-20190529: 20190529
  CI_DRM_7876: 6ac39d9964f464065511d439afcf4da065ff96db @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_5421: 40946e61f9c47e23fdf1fff8090fadee8a4d7d3b @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_16461: cef01774eebc9bcb162dde489fa69693bce7710a @ git://anongit.freedesktop.org/gfx-ci/linux
  piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16461/index.html
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Intel-gfx] [PATCH] drm/i915: terminate reauth at stream management failure
  2020-02-06 15:04 ` [Intel-gfx] [PATCH 2/2] drm/i915/hdcp: Fix 1B-10 HDCP 2.2 " Anshuman Gupta
  2020-02-06 17:13   ` Ramalingam C
@ 2020-02-10 16:49   ` Ramalingam C
  2020-02-11  6:13     ` Anshuman Gupta
  1 sibling, 1 reply; 14+ messages in thread
From: Ramalingam C @ 2020-02-10 16:49 UTC (permalink / raw)
  To: intel-gfx

As per the HDCP2.2 compliance test 1B-10 expectation, when stream
management for a repeater fails, HDCP2.2 reauthentication stops at
kernel.

Signed-off-by: Ramalingam C <ramalingam.c@intel.com>
---
 drivers/gpu/drm/i915/display/intel_hdcp.c | 55 ++++++++++++++---------
 1 file changed, 34 insertions(+), 21 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_hdcp.c b/drivers/gpu/drm/i915/display/intel_hdcp.c
index 4d1a33d13105..5ab35484da93 100644
--- a/drivers/gpu/drm/i915/display/intel_hdcp.c
+++ b/drivers/gpu/drm/i915/display/intel_hdcp.c
@@ -1380,7 +1380,7 @@ static int hdcp2_session_key_exchange(struct intel_connector *connector)
 }
 
 static
-int hdcp2_propagate_stream_management_info(struct intel_connector *connector)
+int _hdcp2_propagate_stream_management_info(struct intel_connector *connector)
 {
 	struct intel_digital_port *intel_dig_port = intel_attached_dig_port(connector);
 	struct intel_hdcp *hdcp = &connector->hdcp;
@@ -1492,17 +1492,6 @@ int hdcp2_authenticate_repeater_topology(struct intel_connector *connector)
 	return 0;
 }
 
-static int hdcp2_authenticate_repeater(struct intel_connector *connector)
-{
-	int ret;
-
-	ret = hdcp2_authenticate_repeater_topology(connector);
-	if (ret < 0)
-		return ret;
-
-	return hdcp2_propagate_stream_management_info(connector);
-}
-
 static int hdcp2_authenticate_sink(struct intel_connector *connector)
 {
 	struct intel_digital_port *intel_dig_port = intel_attached_dig_port(connector);
@@ -1537,18 +1526,13 @@ static int hdcp2_authenticate_sink(struct intel_connector *connector)
 	}
 
 	if (hdcp->is_repeater) {
-		ret = hdcp2_authenticate_repeater(connector);
+		ret = hdcp2_authenticate_repeater_topology(connector);
 		if (ret < 0) {
 			DRM_DEBUG_KMS("Repeater Auth Failed. Err: %d\n", ret);
 			return ret;
 		}
 	}
 
-	hdcp->port_data.streams[0].stream_type = hdcp->content_type;
-	ret = hdcp2_authenticate_port(connector);
-	if (ret < 0)
-		return ret;
-
 	return ret;
 }
 
@@ -1626,14 +1610,43 @@ static int hdcp2_disable_encryption(struct intel_connector *connector)
 	return ret;
 }
 
+static int
+hdcp2_propagate_stream_management_info(struct intel_connector *connector)
+{
+	int i, tries = 3, ret;
+
+	if (!connector->hdcp.is_repeater)
+		return 0;
+
+	for (i = 0; i < tries; i++) {
+		ret = _hdcp2_propagate_stream_management_info(connector);
+		if (!ret)
+			break;
+	}
+
+	return ret;
+}
+
 static int hdcp2_authenticate_and_encrypt(struct intel_connector *connector)
 {
+	struct intel_hdcp *hdcp = &connector->hdcp;
 	int ret, i, tries = 3;
 
 	for (i = 0; i < tries; i++) {
 		ret = hdcp2_authenticate_sink(connector);
-		if (!ret)
-			break;
+		if (!ret) {
+			ret = hdcp2_propagate_stream_management_info(connector);
+			if (!ret) {
+				hdcp->port_data.streams[0].stream_type =
+							hdcp->content_type;
+				ret = hdcp2_authenticate_port(connector);
+				if (!ret)
+					break;
+			} else {
+				DRM_DEBUG_KMS("HDCP2 stream management failed\n");
+				break;
+			}
+		}
 
 		/* Clearing the mei hdcp session */
 		DRM_DEBUG_KMS("HDCP2.2 Auth %d of %d Failed.(%d)\n",
@@ -1642,7 +1655,7 @@ static int hdcp2_authenticate_and_encrypt(struct intel_connector *connector)
 			DRM_DEBUG_KMS("Port deauth failed.\n");
 	}
 
-	if (i != tries) {
+	if (!ret) {
 		/*
 		 * Ensuring the required 200mSec min time interval between
 		 * Session Key Exchange and encryption.
-- 
2.20.1

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [Intel-gfx] ✓ Fi.CI.BAT: success for HDCP 2.2 Comp fixes (rev2)
  2020-02-06 15:04 [Intel-gfx] [PATCH 0/2] HDCP 2.2 Comp fixes Anshuman Gupta
                   ` (3 preceding siblings ...)
  2020-02-09  9:28 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork
@ 2020-02-10 19:34 ` Patchwork
  4 siblings, 0 replies; 14+ messages in thread
From: Patchwork @ 2020-02-10 19:34 UTC (permalink / raw)
  To: Ramalingam C; +Cc: intel-gfx

== Series Details ==

Series: HDCP 2.2 Comp fixes (rev2)
URL   : https://patchwork.freedesktop.org/series/73101/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_7903 -> Patchwork_16505
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16505/index.html

Known issues
------------

  Here are the changes found in Patchwork_16505 that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@gem_close_race@basic-threads:
    - fi-byt-n2820:       [PASS][1] -> [INCOMPLETE][2] ([i915#45])
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7903/fi-byt-n2820/igt@gem_close_race@basic-threads.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16505/fi-byt-n2820/igt@gem_close_race@basic-threads.html

  * igt@i915_pm_rpm@basic-rte:
    - fi-hsw-4770:        [PASS][3] -> [SKIP][4] ([fdo#109271]) +1 similar issue
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7903/fi-hsw-4770/igt@i915_pm_rpm@basic-rte.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16505/fi-hsw-4770/igt@i915_pm_rpm@basic-rte.html

  * igt@kms_chamelium@hdmi-hpd-fast:
    - fi-kbl-7500u:       [PASS][5] -> [FAIL][6] ([fdo#111096] / [i915#323])
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7903/fi-kbl-7500u/igt@kms_chamelium@hdmi-hpd-fast.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16505/fi-kbl-7500u/igt@kms_chamelium@hdmi-hpd-fast.html

  
#### Possible fixes ####

  * igt@i915_selftest@live_blt:
    - fi-bsw-n3050:       [INCOMPLETE][7] ([i915#392]) -> [PASS][8]
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7903/fi-bsw-n3050/igt@i915_selftest@live_blt.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16505/fi-bsw-n3050/igt@i915_selftest@live_blt.html
    - fi-ivb-3770:        [DMESG-FAIL][9] ([i915#725]) -> [PASS][10]
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7903/fi-ivb-3770/igt@i915_selftest@live_blt.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16505/fi-ivb-3770/igt@i915_selftest@live_blt.html
    - fi-hsw-4770:        [DMESG-FAIL][11] ([i915#553] / [i915#725]) -> [PASS][12]
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7903/fi-hsw-4770/igt@i915_selftest@live_blt.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16505/fi-hsw-4770/igt@i915_selftest@live_blt.html

  * igt@i915_selftest@live_gem_contexts:
    - fi-cfl-8700k:       [DMESG-FAIL][13] ([i915#623]) -> [PASS][14]
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7903/fi-cfl-8700k/igt@i915_selftest@live_gem_contexts.html
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16505/fi-cfl-8700k/igt@i915_selftest@live_gem_contexts.html
    - fi-cfl-guc:         [INCOMPLETE][15] ([CI#80] / [fdo#106070] / [i915#424]) -> [PASS][16]
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7903/fi-cfl-guc/igt@i915_selftest@live_gem_contexts.html
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16505/fi-cfl-guc/igt@i915_selftest@live_gem_contexts.html
    - fi-cml-s:           [DMESG-FAIL][17] ([i915#877]) -> [PASS][18]
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7903/fi-cml-s/igt@i915_selftest@live_gem_contexts.html
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16505/fi-cml-s/igt@i915_selftest@live_gem_contexts.html

  * igt@i915_selftest@live_gtt:
    - fi-bdw-5557u:       [TIMEOUT][19] ([fdo#112271]) -> [PASS][20]
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7903/fi-bdw-5557u/igt@i915_selftest@live_gtt.html
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16505/fi-bdw-5557u/igt@i915_selftest@live_gtt.html

  
  [CI#80]: https://gitlab.freedesktop.org/gfx-ci/i915-infra/issues/80
  [fdo#106070]: https://bugs.freedesktop.org/show_bug.cgi?id=106070
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#111096]: https://bugs.freedesktop.org/show_bug.cgi?id=111096
  [fdo#112271]: https://bugs.freedesktop.org/show_bug.cgi?id=112271
  [i915#323]: https://gitlab.freedesktop.org/drm/intel/issues/323
  [i915#392]: https://gitlab.freedesktop.org/drm/intel/issues/392
  [i915#424]: https://gitlab.freedesktop.org/drm/intel/issues/424
  [i915#45]: https://gitlab.freedesktop.org/drm/intel/issues/45
  [i915#553]: https://gitlab.freedesktop.org/drm/intel/issues/553
  [i915#623]: https://gitlab.freedesktop.org/drm/intel/issues/623
  [i915#725]: https://gitlab.freedesktop.org/drm/intel/issues/725
  [i915#877]: https://gitlab.freedesktop.org/drm/intel/issues/877


Participating hosts (47 -> 45)
------------------------------

  Additional (3): fi-hsw-peppy fi-skl-lmem fi-snb-2600 
  Missing    (5): fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-byt-clapper fi-bdw-samus 


Build changes
-------------

  * CI: CI-20190529 -> None
  * Linux: CI_DRM_7903 -> Patchwork_16505

  CI-20190529: 20190529
  CI_DRM_7903: 47b768c475f4a11a48bc43e6228660f8b26a542b @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_5433: 6a96c17f3a1b4e1f90b1a0b0ce42a7219875d1a4 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_16505: 9ebdef96c753c32874f39f257cc1bee3fd52d888 @ git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

9ebdef96c753 drm/i915: terminate reauth at stream management failure
b55e2c4082b3 drm/i915/hdcp: Fix 1B-06 HDCP2.2 Comp test

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16505/index.html
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [Intel-gfx] [PATCH] drm/i915: terminate reauth at stream management failure
  2020-02-10 16:49   ` [Intel-gfx] [PATCH] drm/i915: terminate reauth at stream management failure Ramalingam C
@ 2020-02-11  6:13     ` Anshuman Gupta
  0 siblings, 0 replies; 14+ messages in thread
From: Anshuman Gupta @ 2020-02-11  6:13 UTC (permalink / raw)
  To: Ramalingam C; +Cc: intel-gfx

On 2020-02-10 at 22:19:50 +0530, Ramalingam C wrote:
> As per the HDCP2.2 compliance test 1B-10 expectation, when stream
> management for a repeater fails, HDCP2.2 reauthentication stops at
> kernel.
Shall i drop my patch now and continue with reviewing this patch.
one comment below.
> 
> Signed-off-by: Ramalingam C <ramalingam.c@intel.com>
> ---
>  drivers/gpu/drm/i915/display/intel_hdcp.c | 55 ++++++++++++++---------
>  1 file changed, 34 insertions(+), 21 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_hdcp.c b/drivers/gpu/drm/i915/display/intel_hdcp.c
> index 4d1a33d13105..5ab35484da93 100644
> --- a/drivers/gpu/drm/i915/display/intel_hdcp.c
> +++ b/drivers/gpu/drm/i915/display/intel_hdcp.c
> @@ -1380,7 +1380,7 @@ static int hdcp2_session_key_exchange(struct intel_connector *connector)
>  }
>  
>  static
> -int hdcp2_propagate_stream_management_info(struct intel_connector *connector)
> +int _hdcp2_propagate_stream_management_info(struct intel_connector *connector)
>  {
>  	struct intel_digital_port *intel_dig_port = intel_attached_dig_port(connector);
>  	struct intel_hdcp *hdcp = &connector->hdcp;
> @@ -1492,17 +1492,6 @@ int hdcp2_authenticate_repeater_topology(struct intel_connector *connector)
>  	return 0;
>  }
>  
> -static int hdcp2_authenticate_repeater(struct intel_connector *connector)
> -{
> -	int ret;
> -
> -	ret = hdcp2_authenticate_repeater_topology(connector);
> -	if (ret < 0)
> -		return ret;
> -
> -	return hdcp2_propagate_stream_management_info(connector);
> -}
> -
>  static int hdcp2_authenticate_sink(struct intel_connector *connector)
>  {
>  	struct intel_digital_port *intel_dig_port = intel_attached_dig_port(connector);
> @@ -1537,18 +1526,13 @@ static int hdcp2_authenticate_sink(struct intel_connector *connector)
>  	}
>  
>  	if (hdcp->is_repeater) {
> -		ret = hdcp2_authenticate_repeater(connector);
> +		ret = hdcp2_authenticate_repeater_topology(connector);
>  		if (ret < 0) {
>  			DRM_DEBUG_KMS("Repeater Auth Failed. Err: %d\n", ret);
>  			return ret;
>  		}
>  	}
>  
> -	hdcp->port_data.streams[0].stream_type = hdcp->content_type;
> -	ret = hdcp2_authenticate_port(connector);
> -	if (ret < 0)
> -		return ret;
> -
>  	return ret;
>  }
>  
> @@ -1626,14 +1610,43 @@ static int hdcp2_disable_encryption(struct intel_connector *connector)
>  	return ret;
>  }
>  
> +static int
> +hdcp2_propagate_stream_management_info(struct intel_connector *connector)
> +{
> +	int i, tries = 3, ret;
> +
> +	if (!connector->hdcp.is_repeater)
> +		return 0;
> +
> +	for (i = 0; i < tries; i++) {
> +		ret = _hdcp2_propagate_stream_management_info(connector);
> +		if (!ret)
> +			break;
> +	}
> +
> +	return ret;
> +}
> +
>  static int hdcp2_authenticate_and_encrypt(struct intel_connector *connector)
>  {
> +	struct intel_hdcp *hdcp = &connector->hdcp;
>  	int ret, i, tries = 3;
>  
>  	for (i = 0; i < tries; i++) {
>  		ret = hdcp2_authenticate_sink(connector);
> -		if (!ret)
> -			break;
> +		if (!ret) {
> +			ret = hdcp2_propagate_stream_management_info(connector);
			we need to increment seq_num_m fo every retry of stream management.
Thanks,
Anshuman Gupta.
> +			if (!ret) {
> +				hdcp->port_data.streams[0].stream_type =
> +							hdcp->content_type;
> +				ret = hdcp2_authenticate_port(connector);
> +				if (!ret)
> +					break;
> +			} else {
> +				DRM_DEBUG_KMS("HDCP2 stream management failed\n");
> +				break;
> +			}
> +		}
>  
>  		/* Clearing the mei hdcp session */
>  		DRM_DEBUG_KMS("HDCP2.2 Auth %d of %d Failed.(%d)\n",
> @@ -1642,7 +1655,7 @@ static int hdcp2_authenticate_and_encrypt(struct intel_connector *connector)
>  			DRM_DEBUG_KMS("Port deauth failed.\n");
>  	}
>  
> -	if (i != tries) {
> +	if (!ret) {
>  		/*
>  		 * Ensuring the required 200mSec min time interval between
>  		 * Session Key Exchange and encryption.
> -- 
> 2.20.1
> 
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2020-02-11  6:21 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-02-06 15:04 [Intel-gfx] [PATCH 0/2] HDCP 2.2 Comp fixes Anshuman Gupta
2020-02-06 15:04 ` [Intel-gfx] [PATCH 1/2] drm/i915/hdcp: Fix 1B-06 HDCP2.2 Comp test Anshuman Gupta
2020-02-06 17:00   ` Ramalingam C
2020-02-06 17:09     ` Anshuman Gupta
2020-02-06 17:36       ` Ramalingam C
2020-02-06 18:30         ` Anshuman Gupta
2020-02-07  6:40           ` Ramalingam C
2020-02-06 15:04 ` [Intel-gfx] [PATCH 2/2] drm/i915/hdcp: Fix 1B-10 HDCP 2.2 " Anshuman Gupta
2020-02-06 17:13   ` Ramalingam C
2020-02-10 16:49   ` [Intel-gfx] [PATCH] drm/i915: terminate reauth at stream management failure Ramalingam C
2020-02-11  6:13     ` Anshuman Gupta
2020-02-06 16:44 ` [Intel-gfx] ✓ Fi.CI.BAT: success for HDCP 2.2 Comp fixes Patchwork
2020-02-09  9:28 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork
2020-02-10 19:34 ` [Intel-gfx] ✓ Fi.CI.BAT: success for HDCP 2.2 Comp fixes (rev2) Patchwork

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.