All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 0/8] Adhering to HDCP1.4 Compliance Test Spec
@ 2018-02-02 22:09 Ramalingam C
  2018-02-02 22:09 ` [PATCH v3 1/8] drm/i915: Handle failure from 2nd stage HDCP auth Ramalingam C
                   ` (13 more replies)
  0 siblings, 14 replies; 21+ messages in thread
From: Ramalingam C @ 2018-02-02 22:09 UTC (permalink / raw)
  To: intel-gfx, seanpaul; +Cc: daniel.vetter, rodrigo.vivi

This series is developed to address the expectations from HDCP compliance
test specification.

6/8 patches are for fixing failures in one or more compliance test cases
2 patches are Good to have kind. Not related to compliance.

Thanks to Seanpaul for immediate review comments on v1 and v2.

Ramalingam C (8):
  drm/i915: Handle failure from 2nd stage HDCP auth
  drm/i915: Stop encryption for repeater with no sink
  drm/i915: Connector info in HDCP debug msgs
  drm/i915: Retry HDCP bksv read
  drm/i915: Optimize HDCP key load
  drm/i915: Detect panel's hdcp capability
  drm/i915: Reauthenticate HDCP on failure
  drm/i915: fix misalignment in HDCP register def

 drivers/gpu/drm/i915/i915_reg.h   | 58 +++++++++++++-------------
 drivers/gpu/drm/i915/intel_dp.c   | 39 +++++++++++++++--
 drivers/gpu/drm/i915/intel_drv.h  |  4 ++
 drivers/gpu/drm/i915/intel_hdcp.c | 88 ++++++++++++++++++++++++++++++---------
 4 files changed, 137 insertions(+), 52 deletions(-)

-- 
2.7.4

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

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

* [PATCH v3 1/8] drm/i915: Handle failure from 2nd stage HDCP auth
  2018-02-02 22:09 [PATCH v3 0/8] Adhering to HDCP1.4 Compliance Test Spec Ramalingam C
@ 2018-02-02 22:09 ` Ramalingam C
  2018-02-02 22:09 ` [PATCH v3 2/8] drm/i915: Stop encryption for repeater with no sink Ramalingam C
                   ` (12 subsequent siblings)
  13 siblings, 0 replies; 21+ messages in thread
From: Ramalingam C @ 2018-02-02 22:09 UTC (permalink / raw)
  To: intel-gfx, seanpaul; +Cc: daniel.vetter, rodrigo.vivi

We enable the HDCP encryption as a part of first stage authentication.
So when second stage authentication fails, we need to disable the HDCP
encryption and signalling.

This patch ensures that, when hdcp authentication fails, HDCP encryption
and signalling is turned off.

v2:
  Dropped connector ref passing to auth [Seanpaul]
  Moved the call to disable_hdcp() to enable_hdcp() [Seanpaul]

v3:
  No Changes. Added the Reveiwed-by tag.

Signed-off-by: Ramalingam C <ramalingam.c@intel.com>
Reviewed-by: Sean Paul <seanpaul@chromium.org>
---
 drivers/gpu/drm/i915/intel_hdcp.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/gpu/drm/i915/intel_hdcp.c b/drivers/gpu/drm/i915/intel_hdcp.c
index b97184eccd9c..de9a925c122d 100644
--- a/drivers/gpu/drm/i915/intel_hdcp.c
+++ b/drivers/gpu/drm/i915/intel_hdcp.c
@@ -562,6 +562,9 @@ static int _intel_hdcp_enable(struct intel_connector *connector)
 			      connector->hdcp_shim);
 	if (ret) {
 		DRM_ERROR("Failed to authenticate HDCP (%d)\n", ret);
+
+		/* Ensuring HDCP encryption and signalling are stopped. */
+		_intel_hdcp_disable(connector);
 		return ret;
 	}
 
-- 
2.7.4

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

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

* [PATCH v3 2/8] drm/i915: Stop encryption for repeater with no sink
  2018-02-02 22:09 [PATCH v3 0/8] Adhering to HDCP1.4 Compliance Test Spec Ramalingam C
  2018-02-02 22:09 ` [PATCH v3 1/8] drm/i915: Handle failure from 2nd stage HDCP auth Ramalingam C
@ 2018-02-02 22:09 ` Ramalingam C
  2018-02-02 22:09 ` [PATCH v3 3/8] drm/i915: Connector info in HDCP debug msgs Ramalingam C
                   ` (11 subsequent siblings)
  13 siblings, 0 replies; 21+ messages in thread
From: Ramalingam C @ 2018-02-02 22:09 UTC (permalink / raw)
  To: intel-gfx, seanpaul; +Cc: daniel.vetter, rodrigo.vivi

If a HDCP repeater is detected with zero downstream devices,
HDCP spec approves either of below actions:

1. Dont continue on second stage authentication. Disable encryption.
2. Continue with second stage authentication excluding the KSV list and
   on success, continue encryption.

Since disable encryption is agreed, repeater is not expected to have its
own display. So there is no consumption of the display content in such
setup.

Hence, incase of repeater with zero device count, this patch fails the
HDCP authentication and stops the HDCP encryption.

v2:
  Rephrased commit msg and added comments in code [Seanpaul]

v3:
  No changes. Added Reviewed-by tag.

Signed-off-by: Ramalingam C <ramalingam.c@intel.com>
Reviewed-by: Sean Paul <seanpaul@chromium.org>
---
 drivers/gpu/drm/i915/intel_hdcp.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_hdcp.c b/drivers/gpu/drm/i915/intel_hdcp.c
index de9a925c122d..0a1ef82c77a2 100644
--- a/drivers/gpu/drm/i915/intel_hdcp.c
+++ b/drivers/gpu/drm/i915/intel_hdcp.c
@@ -166,10 +166,16 @@ int intel_hdcp_auth_downstream(struct intel_digital_port *intel_dig_port,
 		return -EPERM;
 	}
 
-	/* If there are no downstream devices, we're all done. */
+	/*
+	 * When repeater reports 0 device count, HDCP1.4 spec allows disabling
+	 * the HDCP encryption. That implies that repeater can't have its own
+	 * display. As there is no consumption of encrypted content in the
+	 * repeater with 0 downstream devices, we are failing the
+	 * authentication.
+	 */
 	num_downstream = DRM_HDCP_NUM_DOWNSTREAM(bstatus[0]);
 	if (num_downstream == 0)
-		return 0;
+		return -EINVAL;
 
 	ksv_fifo = kzalloc(num_downstream * DRM_HDCP_KSV_LEN, GFP_KERNEL);
 	if (!ksv_fifo)
-- 
2.7.4

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

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

* [PATCH v3 3/8] drm/i915: Connector info in HDCP debug msgs
  2018-02-02 22:09 [PATCH v3 0/8] Adhering to HDCP1.4 Compliance Test Spec Ramalingam C
  2018-02-02 22:09 ` [PATCH v3 1/8] drm/i915: Handle failure from 2nd stage HDCP auth Ramalingam C
  2018-02-02 22:09 ` [PATCH v3 2/8] drm/i915: Stop encryption for repeater with no sink Ramalingam C
@ 2018-02-02 22:09 ` Ramalingam C
  2018-02-02 22:09 ` [PATCH v3 4/8] drm/i915: Retry HDCP bksv read Ramalingam C
                   ` (10 subsequent siblings)
  13 siblings, 0 replies; 21+ messages in thread
From: Ramalingam C @ 2018-02-02 22:09 UTC (permalink / raw)
  To: intel-gfx, seanpaul; +Cc: daniel.vetter, rodrigo.vivi

When HDCP authentication is triggered on multiple connector, having
connector name and ID in debug message will be more informative.

v2:
  Added logs with connector info at the start of en/disable [Seanpaul]
  Added the connector info into Check link failure msgs too.

v3:
  No Changes. Added Reviewed-by tag.

Signed-off-by: Ramalingam C <ramalingam.c@intel.com>
Reviewed-by: Sean Paul <seanpaul@chromium.org>
---
 drivers/gpu/drm/i915/intel_hdcp.c | 14 +++++++++++---
 1 file changed, 11 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_hdcp.c b/drivers/gpu/drm/i915/intel_hdcp.c
index 0a1ef82c77a2..cfd13ee8c534 100644
--- a/drivers/gpu/drm/i915/intel_hdcp.c
+++ b/drivers/gpu/drm/i915/intel_hdcp.c
@@ -524,6 +524,9 @@ static int _intel_hdcp_disable(struct intel_connector *connector)
 	enum port port = intel_dig_port->base.port;
 	int ret;
 
+	DRM_DEBUG_KMS("[%s:%d] HDCP is being disabled...\n",
+		      connector->base.name, connector->base.base.id);
+
 	I915_WRITE(PORT_HDCP_CONF(port), 0);
 	if (intel_wait_for_register(dev_priv, PORT_HDCP_STATUS(port), ~0, 0,
 				    20)) {
@@ -548,6 +551,9 @@ static int _intel_hdcp_enable(struct intel_connector *connector)
 	struct drm_i915_private *dev_priv = connector->base.dev->dev_private;
 	int i, ret;
 
+	DRM_DEBUG_KMS("[%s:%d] HDCP is being enabled...\n",
+		      connector->base.name, connector->base.base.id);
+
 	if (!(I915_READ(SKL_FUSE_STATUS) & SKL_FUSE_PG_DIST_STATUS(1))) {
 		DRM_ERROR("PG1 is disabled, cannot load keys\n");
 		return -ENXIO;
@@ -727,8 +733,9 @@ int intel_hdcp_check_link(struct intel_connector *connector)
 		goto out;
 
 	if (!(I915_READ(PORT_HDCP_STATUS(port)) & HDCP_STATUS_ENC)) {
-		DRM_ERROR("HDCP check failed: link is not encrypted, %x\n",
-			   I915_READ(PORT_HDCP_STATUS(port)));
+		DRM_ERROR("%s:%d HDCP check failed: link is not encrypted,%x\n",
+			  connector->base.name, connector->base.base.id,
+			  I915_READ(PORT_HDCP_STATUS(port)));
 		ret = -ENXIO;
 		connector->hdcp_value = DRM_MODE_CONTENT_PROTECTION_DESIRED;
 		schedule_work(&connector->hdcp_prop_work);
@@ -745,7 +752,8 @@ int intel_hdcp_check_link(struct intel_connector *connector)
 		goto out;
 	}
 
-	DRM_DEBUG_KMS("HDCP link failed, retrying authentication\n");
+	DRM_DEBUG_KMS("[%s:%d] HDCP link failed, retrying authentication\n",
+		      connector->base.name, connector->base.base.id);
 
 	ret = _intel_hdcp_disable(connector);
 	if (ret) {
-- 
2.7.4

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

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

* [PATCH v3 4/8] drm/i915: Retry HDCP bksv read
  2018-02-02 22:09 [PATCH v3 0/8] Adhering to HDCP1.4 Compliance Test Spec Ramalingam C
                   ` (2 preceding siblings ...)
  2018-02-02 22:09 ` [PATCH v3 3/8] drm/i915: Connector info in HDCP debug msgs Ramalingam C
@ 2018-02-02 22:09 ` Ramalingam C
  2018-02-05 16:47   ` Sean Paul
  2018-02-05 17:14   ` [PATCH v4] " Ramalingam C
  2018-02-02 22:09 ` [PATCH v3 5/8] drm/i915: Optimize HDCP key load Ramalingam C
                   ` (9 subsequent siblings)
  13 siblings, 2 replies; 21+ messages in thread
From: Ramalingam C @ 2018-02-02 22:09 UTC (permalink / raw)
  To: intel-gfx, seanpaul; +Cc: daniel.vetter, rodrigo.vivi

HDCP specification says that when bksv is identified as invalid
(not with 20 1s), bksv should be re-read and verified.

This patch adds the above mentioned re-read for bksv.

v2:
  Rephrased the commit msg [Seanpaul]

v3:
  do-while to for-loop [Seanpaul]

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

diff --git a/drivers/gpu/drm/i915/intel_hdcp.c b/drivers/gpu/drm/i915/intel_hdcp.c
index cfd13ee8c534..b1047dbf3393 100644
--- a/drivers/gpu/drm/i915/intel_hdcp.c
+++ b/drivers/gpu/drm/i915/intel_hdcp.c
@@ -397,7 +397,7 @@ static int intel_hdcp_auth(struct intel_digital_port *intel_dig_port,
 	struct drm_i915_private *dev_priv;
 	enum port port;
 	unsigned long r0_prime_gen_start;
-	int ret, i;
+	int ret, i, tries = 2;
 	union {
 		u32 reg[2];
 		u8 shim[DRM_HDCP_AN_LEN];
@@ -438,11 +438,22 @@ static int intel_hdcp_auth(struct intel_digital_port *intel_dig_port,
 	r0_prime_gen_start = jiffies;
 
 	memset(&bksv, 0, sizeof(bksv));
-	ret = shim->read_bksv(intel_dig_port, bksv.shim);
+
+	/* When bksv is invalid, HDCP spec expects a re-read for bksv */
+	for (i = 0; i < tries; i++) {
+		ret = shim->read_bksv(intel_dig_port, bksv.shim);
+		if (!ret) {
+			if (intel_hdcp_is_ksv_valid(bksv.shim)) {
+				break;
+			} else {
+				DRM_ERROR("Invalid BKSV\n");
+				ret = -ENODEV;
+			}
+		}
+	}
+
 	if (ret)
 		return ret;
-	else if (!intel_hdcp_is_ksv_valid(bksv.shim))
-		return -ENODEV;
 
 	I915_WRITE(PORT_HDCP_BKSVLO(port), bksv.reg[0]);
 	I915_WRITE(PORT_HDCP_BKSVHI(port), bksv.reg[1]);
-- 
2.7.4

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

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

* [PATCH v3 5/8] drm/i915: Optimize HDCP key load
  2018-02-02 22:09 [PATCH v3 0/8] Adhering to HDCP1.4 Compliance Test Spec Ramalingam C
                   ` (3 preceding siblings ...)
  2018-02-02 22:09 ` [PATCH v3 4/8] drm/i915: Retry HDCP bksv read Ramalingam C
@ 2018-02-02 22:09 ` Ramalingam C
  2018-02-02 22:09 ` [PATCH v3 6/8] drm/i915: Detect panel's hdcp capability Ramalingam C
                   ` (8 subsequent siblings)
  13 siblings, 0 replies; 21+ messages in thread
From: Ramalingam C @ 2018-02-02 22:09 UTC (permalink / raw)
  To: intel-gfx, seanpaul; +Cc: daniel.vetter, rodrigo.vivi

HDCP key need not be cleared on each hdcp disable. And HDCP key Load
is skipped if key is already loaded.

v2:
  No change. Added Reviewed-by tag.

v3:
  No change.

Signed-off-by: Ramalingam C <ramalingam.c@intel.com>
Reviewed-by: Sean Paul <seanpaul@chromium.org>
---
 drivers/gpu/drm/i915/intel_hdcp.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_hdcp.c b/drivers/gpu/drm/i915/intel_hdcp.c
index b1047dbf3393..65bdb95c0ad7 100644
--- a/drivers/gpu/drm/i915/intel_hdcp.c
+++ b/drivers/gpu/drm/i915/intel_hdcp.c
@@ -49,6 +49,10 @@ static int intel_hdcp_load_keys(struct drm_i915_private *dev_priv)
 	int ret;
 	u32 val;
 
+	val = I915_READ(HDCP_KEY_STATUS);
+	if ((val & HDCP_KEY_LOAD_DONE) && (val & HDCP_KEY_LOAD_STATUS))
+		return 0;
+
 	/*
 	 * On HSW and BDW HW loads the HDCP1.4 Key when Display comes
 	 * out of reset. So if Key is not already loaded, its an error state.
@@ -545,8 +549,6 @@ static int _intel_hdcp_disable(struct intel_connector *connector)
 		return -ETIMEDOUT;
 	}
 
-	intel_hdcp_clear_keys(dev_priv);
-
 	ret = connector->hdcp_shim->toggle_signalling(intel_dig_port, false);
 	if (ret) {
 		DRM_ERROR("Failed to disable HDCP signalling\n");
-- 
2.7.4

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

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

* [PATCH v3 6/8] drm/i915: Detect panel's hdcp capability
  2018-02-02 22:09 [PATCH v3 0/8] Adhering to HDCP1.4 Compliance Test Spec Ramalingam C
                   ` (4 preceding siblings ...)
  2018-02-02 22:09 ` [PATCH v3 5/8] drm/i915: Optimize HDCP key load Ramalingam C
@ 2018-02-02 22:09 ` Ramalingam C
  2018-02-02 22:09 ` [PATCH v3 7/8] drm/i915: Reauthenticate HDCP on failure Ramalingam C
                   ` (7 subsequent siblings)
  13 siblings, 0 replies; 21+ messages in thread
From: Ramalingam C @ 2018-02-02 22:09 UTC (permalink / raw)
  To: intel-gfx, seanpaul; +Cc: daniel.vetter, rodrigo.vivi

DP HDCP1.4 spec mandates that An can be written to panel only after
detecting the panel's hdcp capability.

For DP 0th Bit of Bcaps register indicates the panel's hdcp capability
For HDMI valid BKSV indicates the panel's hdcp capability.

For HDMI it is optional to detect the panel's hdcp capability before
An Write.

v2:
  Added comments explaining the need for action [Seanpaul].
  Made panel's hdcp capability detection optional for hdmi [Seanpaul].
  Defined a func for reading bcaps for DP [Seanpaul].

v3:
  Removed the NULL initialization [Seanpaul].

Signed-off-by: Ramalingam C <ramalingam.c@intel.com>
Reviewed-by: Sean Paul <seanpaul@chromium.org>
---
 drivers/gpu/drm/i915/intel_dp.c   | 39 +++++++++++++++++++++++++++++++++++----
 drivers/gpu/drm/i915/intel_drv.h  |  4 ++++
 drivers/gpu/drm/i915/intel_hdcp.c | 18 +++++++++++++++++-
 3 files changed, 56 insertions(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
index 03d86ff9b805..5fa6bb7dbb7a 100644
--- a/drivers/gpu/drm/i915/intel_dp.c
+++ b/drivers/gpu/drm/i915/intel_dp.c
@@ -5107,17 +5107,32 @@ static int intel_dp_hdcp_read_bstatus(struct intel_digital_port *intel_dig_port,
 }
 
 static
-int intel_dp_hdcp_repeater_present(struct intel_digital_port *intel_dig_port,
-				   bool *repeater_present)
+int intel_dp_hdcp_read_bcaps(struct intel_digital_port *intel_dig_port,
+			     u8 *bcaps)
 {
 	ssize_t ret;
-	u8 bcaps;
+
 	ret = drm_dp_dpcd_read(&intel_dig_port->dp.aux, DP_AUX_HDCP_BCAPS,
-			       &bcaps, 1);
+			       bcaps, 1);
 	if (ret != 1) {
 		DRM_ERROR("Read bcaps from DP/AUX failed (%zd)\n", ret);
 		return ret >= 0 ? -EIO : ret;
 	}
+
+	return 0;
+}
+
+static
+int intel_dp_hdcp_repeater_present(struct intel_digital_port *intel_dig_port,
+				   bool *repeater_present)
+{
+	ssize_t ret;
+	u8 bcaps;
+
+	ret = intel_dp_hdcp_read_bcaps(intel_dig_port, &bcaps);
+	if (ret)
+		return ret;
+
 	*repeater_present = bcaps & DP_BCAPS_REPEATER_PRESENT;
 	return 0;
 }
@@ -5218,6 +5233,21 @@ bool intel_dp_hdcp_check_link(struct intel_digital_port *intel_dig_port)
 	return !(bstatus & (DP_BSTATUS_LINK_FAILURE | DP_BSTATUS_REAUTH_REQ));
 }
 
+static
+int intel_dp_hdcp_capable(struct intel_digital_port *intel_dig_port,
+			  bool *hdcp_capable)
+{
+	ssize_t ret;
+	u8 bcaps;
+
+	ret = intel_dp_hdcp_read_bcaps(intel_dig_port, &bcaps);
+	if (ret)
+		return ret;
+
+	*hdcp_capable = bcaps & DP_BCAPS_HDCP_CAPABLE;
+	return 0;
+}
+
 static const struct intel_hdcp_shim intel_dp_hdcp_shim = {
 	.write_an_aksv = intel_dp_hdcp_write_an_aksv,
 	.read_bksv = intel_dp_hdcp_read_bksv,
@@ -5229,6 +5259,7 @@ static const struct intel_hdcp_shim intel_dp_hdcp_shim = {
 	.read_v_prime_part = intel_dp_hdcp_read_v_prime_part,
 	.toggle_signalling = intel_dp_hdcp_toggle_signalling,
 	.check_link = intel_dp_hdcp_check_link,
+	.hdcp_capable = intel_dp_hdcp_capable,
 };
 
 static void intel_edp_panel_vdd_sanitize(struct intel_dp *intel_dp)
diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h
index d6a808374dfb..468ec1e90e16 100644
--- a/drivers/gpu/drm/i915/intel_drv.h
+++ b/drivers/gpu/drm/i915/intel_drv.h
@@ -369,6 +369,10 @@ struct intel_hdcp_shim {
 
 	/* Ensures the link is still protected */
 	bool (*check_link)(struct intel_digital_port *intel_dig_port);
+
+	/* Detects panel's hdcp capability. This is optional for HDMI. */
+	int (*hdcp_capable)(struct intel_digital_port *intel_dig_port,
+			    bool *hdcp_capable);
 };
 
 struct intel_connector {
diff --git a/drivers/gpu/drm/i915/intel_hdcp.c b/drivers/gpu/drm/i915/intel_hdcp.c
index 65bdb95c0ad7..7ae8d83760ed 100644
--- a/drivers/gpu/drm/i915/intel_hdcp.c
+++ b/drivers/gpu/drm/i915/intel_hdcp.c
@@ -414,12 +414,28 @@ static int intel_hdcp_auth(struct intel_digital_port *intel_dig_port,
 		u32 reg;
 		u8 shim[DRM_HDCP_RI_LEN];
 	} ri;
-	bool repeater_present;
+	bool repeater_present, hdcp_capable;
 
 	dev_priv = intel_dig_port->base.base.dev->dev_private;
 
 	port = intel_dig_port->base.port;
 
+	/*
+	 * Detects whether the display is HDCP capable. Although we check for
+	 * valid Bksv below, the HDCP over DP spec requires that we check
+	 * whether the display supports HDCP before we write An. For HDMI
+	 * displays, this is not necessary.
+	 */
+	if (shim->hdcp_capable) {
+		ret = shim->hdcp_capable(intel_dig_port, &hdcp_capable);
+		if (ret)
+			return ret;
+		if (!hdcp_capable) {
+			DRM_ERROR("Panel is not HDCP capable\n");
+			return -EINVAL;
+		}
+	}
+
 	/* Initialize An with 2 random values and acquire it */
 	for (i = 0; i < 2; i++)
 		I915_WRITE(PORT_HDCP_ANINIT(port), get_random_u32());
-- 
2.7.4

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

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

* [PATCH v3 7/8] drm/i915: Reauthenticate HDCP on failure
  2018-02-02 22:09 [PATCH v3 0/8] Adhering to HDCP1.4 Compliance Test Spec Ramalingam C
                   ` (5 preceding siblings ...)
  2018-02-02 22:09 ` [PATCH v3 6/8] drm/i915: Detect panel's hdcp capability Ramalingam C
@ 2018-02-02 22:09 ` Ramalingam C
  2018-02-02 22:09 ` [PATCH v3 8/8] drm/i915: fix misalignment in HDCP register def Ramalingam C
                   ` (6 subsequent siblings)
  13 siblings, 0 replies; 21+ messages in thread
From: Ramalingam C @ 2018-02-02 22:09 UTC (permalink / raw)
  To: intel-gfx, seanpaul; +Cc: daniel.vetter, rodrigo.vivi

Incase of HDCP authentication failure, HDCP spec expects
reauthentication. Hence this patch adds the reauthentications
to be compliance with spec.

v2:
  do-while to for loop for simplicity. [Seanpaul]

v3:
  positioning the logs effectively. [Seanpaul]

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

diff --git a/drivers/gpu/drm/i915/intel_hdcp.c b/drivers/gpu/drm/i915/intel_hdcp.c
index 7ae8d83760ed..8f0cf476962f 100644
--- a/drivers/gpu/drm/i915/intel_hdcp.c
+++ b/drivers/gpu/drm/i915/intel_hdcp.c
@@ -578,7 +578,7 @@ static int _intel_hdcp_disable(struct intel_connector *connector)
 static int _intel_hdcp_enable(struct intel_connector *connector)
 {
 	struct drm_i915_private *dev_priv = connector->base.dev->dev_private;
-	int i, ret;
+	int i, ret, tries = 3;
 
 	DRM_DEBUG_KMS("[%s:%d] HDCP is being enabled...\n",
 		      connector->base.name, connector->base.base.id);
@@ -599,17 +599,21 @@ static int _intel_hdcp_enable(struct intel_connector *connector)
 		return ret;
 	}
 
-	ret = intel_hdcp_auth(conn_to_dig_port(connector),
-			      connector->hdcp_shim);
-	if (ret) {
-		DRM_ERROR("Failed to authenticate HDCP (%d)\n", ret);
+	/* Incase of authentication failures, HDCP spec expects reauth. */
+	for (i = 0; i < tries; i++) {
+		ret = intel_hdcp_auth(conn_to_dig_port(connector),
+				      connector->hdcp_shim);
+		if (!ret)
+			return 0;
+
+		DRM_DEBUG_KMS("HDCP Auth failure (%d)\n", ret);
 
 		/* Ensuring HDCP encryption and signalling are stopped. */
 		_intel_hdcp_disable(connector);
-		return ret;
 	}
 
-	return 0;
+	DRM_ERROR("HDCP authentication failed (%d tries/%d)\n", tries, ret);
+	return ret;
 }
 
 static void intel_hdcp_check_work(struct work_struct *work)
-- 
2.7.4

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

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

* [PATCH v3 8/8] drm/i915: fix misalignment in HDCP register def
  2018-02-02 22:09 [PATCH v3 0/8] Adhering to HDCP1.4 Compliance Test Spec Ramalingam C
                   ` (6 preceding siblings ...)
  2018-02-02 22:09 ` [PATCH v3 7/8] drm/i915: Reauthenticate HDCP on failure Ramalingam C
@ 2018-02-02 22:09 ` Ramalingam C
  2018-02-03  5:37 ` ✓ Fi.CI.BAT: success for Adhering to HDCP1.4 Compliance Test Spec (rev3) Patchwork
                   ` (5 subsequent siblings)
  13 siblings, 0 replies; 21+ messages in thread
From: Ramalingam C @ 2018-02-02 22:09 UTC (permalink / raw)
  To: intel-gfx, seanpaul; +Cc: daniel.vetter, rodrigo.vivi

This patch aligns all definitions of hdcp registers and their bits.

v2:
  No changes. Added reviewed-by tag.

v3:
 No change.

Signed-off-by: Ramalingam C <ramalingam.c@intel.com>
Reviewed-by: Sean Paul <seanpaul@chromium.org>
---
 drivers/gpu/drm/i915/i915_reg.h | 58 ++++++++++++++++++++---------------------
 1 file changed, 29 insertions(+), 29 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
index 65ba10ad1fe5..e9c79b560823 100644
--- a/drivers/gpu/drm/i915/i915_reg.h
+++ b/drivers/gpu/drm/i915/i915_reg.h
@@ -8483,34 +8483,34 @@ enum skl_power_gate {
 #define   CNL_AUX_ANAOVRD1_LDO_BYPASS	(1<<23)
 
 /* HDCP Key Registers */
-#define HDCP_KEY_CONF		_MMIO(0x66c00)
+#define HDCP_KEY_CONF			_MMIO(0x66c00)
 #define  HDCP_AKSV_SEND_TRIGGER		BIT(31)
 #define  HDCP_CLEAR_KEYS_TRIGGER	BIT(30)
 #define  HDCP_KEY_LOAD_TRIGGER		BIT(8)
-#define HDCP_KEY_STATUS		_MMIO(0x66c04)
-#define  HDCP_FUSE_IN_PROGRESS	BIT(7)
+#define HDCP_KEY_STATUS			_MMIO(0x66c04)
+#define  HDCP_FUSE_IN_PROGRESS		BIT(7)
 #define  HDCP_FUSE_ERROR		BIT(6)
-#define  HDCP_FUSE_DONE		BIT(5)
-#define  HDCP_KEY_LOAD_STATUS	BIT(1)
+#define  HDCP_FUSE_DONE			BIT(5)
+#define  HDCP_KEY_LOAD_STATUS		BIT(1)
 #define  HDCP_KEY_LOAD_DONE		BIT(0)
-#define HDCP_AKSV_LO		_MMIO(0x66c10)
-#define HDCP_AKSV_HI		_MMIO(0x66c14)
+#define HDCP_AKSV_LO			_MMIO(0x66c10)
+#define HDCP_AKSV_HI			_MMIO(0x66c14)
 
 /* HDCP Repeater Registers */
-#define HDCP_REP_CTL		_MMIO(0x66d00)
-#define  HDCP_DDIB_REP_PRESENT	BIT(30)
-#define  HDCP_DDIA_REP_PRESENT	BIT(29)
-#define  HDCP_DDIC_REP_PRESENT	BIT(28)
-#define  HDCP_DDID_REP_PRESENT	BIT(27)
-#define  HDCP_DDIF_REP_PRESENT	BIT(26)
-#define  HDCP_DDIE_REP_PRESENT	BIT(25)
+#define HDCP_REP_CTL			_MMIO(0x66d00)
+#define  HDCP_DDIB_REP_PRESENT		BIT(30)
+#define  HDCP_DDIA_REP_PRESENT		BIT(29)
+#define  HDCP_DDIC_REP_PRESENT		BIT(28)
+#define  HDCP_DDID_REP_PRESENT		BIT(27)
+#define  HDCP_DDIF_REP_PRESENT		BIT(26)
+#define  HDCP_DDIE_REP_PRESENT		BIT(25)
 #define  HDCP_DDIB_SHA1_M0		(1 << 20)
 #define  HDCP_DDIA_SHA1_M0		(2 << 20)
 #define  HDCP_DDIC_SHA1_M0		(3 << 20)
 #define  HDCP_DDID_SHA1_M0		(4 << 20)
 #define  HDCP_DDIF_SHA1_M0		(5 << 20)
 #define  HDCP_DDIE_SHA1_M0		(6 << 20) /* Bspec says 5? */
-#define  HDCP_SHA1_BUSY		BIT(16)
+#define  HDCP_SHA1_BUSY			BIT(16)
 #define  HDCP_SHA1_READY		BIT(17)
 #define  HDCP_SHA1_COMPLETE		BIT(18)
 #define  HDCP_SHA1_V_MATCH		BIT(19)
@@ -8526,7 +8526,7 @@ enum skl_power_gate {
 #define HDCP_SHA_V_PRIME_H3		_MMIO(0x66d10)
 #define HDCP_SHA_V_PRIME_H4		_MMIO(0x66d14)
 #define HDCP_SHA_V_PRIME(h)		_MMIO((0x66d04 + h * 4))
-#define HDCP_SHA_TEXT		_MMIO(0x66d18)
+#define HDCP_SHA_TEXT			_MMIO(0x66d18)
 
 /* HDCP Auth Registers */
 #define _PORTA_HDCP_AUTHENC		0x66800
@@ -8542,25 +8542,25 @@ enum skl_power_gate {
 					  _PORTD_HDCP_AUTHENC, \
 					  _PORTE_HDCP_AUTHENC, \
 					  _PORTF_HDCP_AUTHENC) + x)
-#define PORT_HDCP_CONF(port)	_PORT_HDCP_AUTHENC(port, 0x0)
-#define  HDCP_CONF_CAPTURE_AN	BIT(0)
-#define  HDCP_CONF_AUTH_AND_ENC	(BIT(1) | BIT(0))
-#define PORT_HDCP_ANINIT(port)	_PORT_HDCP_AUTHENC(port, 0x4)
-#define PORT_HDCP_ANLO(port)	_PORT_HDCP_AUTHENC(port, 0x8)
-#define PORT_HDCP_ANHI(port)	_PORT_HDCP_AUTHENC(port, 0xC)
-#define PORT_HDCP_BKSVLO(port)	_PORT_HDCP_AUTHENC(port, 0x10)
-#define PORT_HDCP_BKSVHI(port)	_PORT_HDCP_AUTHENC(port, 0x14)
-#define PORT_HDCP_RPRIME(port)	_PORT_HDCP_AUTHENC(port, 0x18)
-#define PORT_HDCP_STATUS(port)	_PORT_HDCP_AUTHENC(port, 0x1C)
+#define PORT_HDCP_CONF(port)		_PORT_HDCP_AUTHENC(port, 0x0)
+#define  HDCP_CONF_CAPTURE_AN		BIT(0)
+#define  HDCP_CONF_AUTH_AND_ENC		(BIT(1) | BIT(0))
+#define PORT_HDCP_ANINIT(port)		_PORT_HDCP_AUTHENC(port, 0x4)
+#define PORT_HDCP_ANLO(port)		_PORT_HDCP_AUTHENC(port, 0x8)
+#define PORT_HDCP_ANHI(port)		_PORT_HDCP_AUTHENC(port, 0xC)
+#define PORT_HDCP_BKSVLO(port)		_PORT_HDCP_AUTHENC(port, 0x10)
+#define PORT_HDCP_BKSVHI(port)		_PORT_HDCP_AUTHENC(port, 0x14)
+#define PORT_HDCP_RPRIME(port)		_PORT_HDCP_AUTHENC(port, 0x18)
+#define PORT_HDCP_STATUS(port)		_PORT_HDCP_AUTHENC(port, 0x1C)
 #define  HDCP_STATUS_STREAM_A_ENC	BIT(31)
 #define  HDCP_STATUS_STREAM_B_ENC	BIT(30)
 #define  HDCP_STATUS_STREAM_C_ENC	BIT(29)
 #define  HDCP_STATUS_STREAM_D_ENC	BIT(28)
 #define  HDCP_STATUS_AUTH		BIT(21)
 #define  HDCP_STATUS_ENC		BIT(20)
-#define  HDCP_STATUS_RI_MATCH	BIT(19)
-#define  HDCP_STATUS_R0_READY	BIT(18)
-#define  HDCP_STATUS_AN_READY	BIT(17)
+#define  HDCP_STATUS_RI_MATCH		BIT(19)
+#define  HDCP_STATUS_R0_READY		BIT(18)
+#define  HDCP_STATUS_AN_READY		BIT(17)
 #define  HDCP_STATUS_CIPHER		BIT(16)
 #define  HDCP_STATUS_FRAME_CNT(x)	((x >> 8) & 0xff)
 
-- 
2.7.4

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

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

* ✓ Fi.CI.BAT: success for Adhering to HDCP1.4 Compliance Test Spec (rev3)
  2018-02-02 22:09 [PATCH v3 0/8] Adhering to HDCP1.4 Compliance Test Spec Ramalingam C
                   ` (7 preceding siblings ...)
  2018-02-02 22:09 ` [PATCH v3 8/8] drm/i915: fix misalignment in HDCP register def Ramalingam C
@ 2018-02-03  5:37 ` Patchwork
  2018-02-03  8:46 ` ✗ Fi.CI.IGT: failure " Patchwork
                   ` (4 subsequent siblings)
  13 siblings, 0 replies; 21+ messages in thread
From: Patchwork @ 2018-02-03  5:37 UTC (permalink / raw)
  To: Ramalingam C; +Cc: intel-gfx

== Series Details ==

Series: Adhering to HDCP1.4 Compliance Test Spec (rev3)
URL   : https://patchwork.freedesktop.org/series/37539/
State : success

== Summary ==

Series 37539v3 Adhering to HDCP1.4 Compliance Test Spec
https://patchwork.freedesktop.org/api/1.0/series/37539/revisions/3/mbox/

Test gem_mmap_gtt:
        Subgroup basic-small-bo-tiledx:
                pass       -> FAIL       (fi-gdg-551) fdo#102575
Test kms_pipe_crc_basic:
        Subgroup suspend-read-crc-pipe-b:
                pass       -> INCOMPLETE (fi-snb-2520m) fdo#103713

fdo#102575 https://bugs.freedesktop.org/show_bug.cgi?id=102575
fdo#103713 https://bugs.freedesktop.org/show_bug.cgi?id=103713

fi-bdw-5557u     total:288  pass:267  dwarn:0   dfail:0   fail:0   skip:21  time:417s
fi-bdw-gvtdvm    total:288  pass:264  dwarn:0   dfail:0   fail:0   skip:24  time:426s
fi-blb-e6850     total:288  pass:223  dwarn:1   dfail:0   fail:0   skip:64  time:371s
fi-bsw-n3050     total:288  pass:242  dwarn:0   dfail:0   fail:0   skip:46  time:477s
fi-bwr-2160      total:288  pass:183  dwarn:0   dfail:0   fail:0   skip:105 time:282s
fi-bxt-dsi       total:288  pass:258  dwarn:0   dfail:0   fail:0   skip:30  time:478s
fi-bxt-j4205     total:288  pass:259  dwarn:0   dfail:0   fail:0   skip:29  time:480s
fi-byt-j1900     total:288  pass:253  dwarn:0   dfail:0   fail:0   skip:35  time:464s
fi-byt-n2820     total:288  pass:249  dwarn:0   dfail:0   fail:0   skip:39  time:452s
fi-cfl-s2        total:288  pass:262  dwarn:0   dfail:0   fail:0   skip:26  time:567s
fi-gdg-551       total:288  pass:179  dwarn:0   dfail:0   fail:1   skip:108 time:279s
fi-glk-1         total:288  pass:260  dwarn:0   dfail:0   fail:0   skip:28  time:506s
fi-hsw-4770      total:288  pass:261  dwarn:0   dfail:0   fail:0   skip:27  time:387s
fi-hsw-4770r     total:288  pass:261  dwarn:0   dfail:0   fail:0   skip:27  time:396s
fi-ilk-650       total:288  pass:228  dwarn:0   dfail:0   fail:0   skip:60  time:419s
fi-ivb-3520m     total:288  pass:259  dwarn:0   dfail:0   fail:0   skip:29  time:456s
fi-ivb-3770      total:288  pass:255  dwarn:0   dfail:0   fail:0   skip:33  time:412s
fi-kbl-7500u     total:288  pass:263  dwarn:1   dfail:0   fail:0   skip:24  time:458s
fi-kbl-7560u     total:288  pass:269  dwarn:0   dfail:0   fail:0   skip:19  time:497s
fi-kbl-7567u     total:288  pass:268  dwarn:0   dfail:0   fail:0   skip:20  time:450s
fi-kbl-r         total:288  pass:261  dwarn:0   dfail:0   fail:0   skip:27  time:499s
fi-pnv-d510      total:288  pass:222  dwarn:1   dfail:0   fail:0   skip:65  time:577s
fi-skl-6260u     total:288  pass:268  dwarn:0   dfail:0   fail:0   skip:20  time:425s
fi-skl-6600u     total:288  pass:261  dwarn:0   dfail:0   fail:0   skip:27  time:503s
fi-skl-6700hq    total:288  pass:262  dwarn:0   dfail:0   fail:0   skip:26  time:524s
fi-skl-6700k2    total:288  pass:264  dwarn:0   dfail:0   fail:0   skip:24  time:488s
fi-skl-6770hq    total:288  pass:268  dwarn:0   dfail:0   fail:0   skip:20  time:480s
fi-skl-guc       total:288  pass:260  dwarn:0   dfail:0   fail:0   skip:28  time:414s
fi-skl-gvtdvm    total:288  pass:265  dwarn:0   dfail:0   fail:0   skip:23  time:427s
fi-snb-2520m     total:245  pass:211  dwarn:0   dfail:0   fail:0   skip:33 
fi-snb-2600      total:288  pass:248  dwarn:0   dfail:0   fail:0   skip:40  time:391s
Blacklisted hosts:
fi-glk-dsi       total:288  pass:258  dwarn:0   dfail:0   fail:0   skip:30  time:470s
fi-elk-e7500 failed to collect. IGT log at Patchwork_7873/fi-elk-e7500/igt.log

2e76a2952923eba64c4f9baf461613bc42ee997a drm-tip: 2018y-02m-02d-20h-33m-12s UTC integration manifest
0ed58f166dc0 drm/i915: fix misalignment in HDCP register def
939cb861b65c drm/i915: Reauthenticate HDCP on failure
7676c63c0468 drm/i915: Detect panel's hdcp capability
1e24cd5335c4 drm/i915: Optimize HDCP key load
ad2ca3a62efa drm/i915: Retry HDCP bksv read
9e27a2ec3c29 drm/i915: Connector info in HDCP debug msgs
887fd7b77ba6 drm/i915: Stop encryption for repeater with no sink
cba5ad4517c2 drm/i915: Handle failure from 2nd stage HDCP auth

== Logs ==

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

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

* ✗ Fi.CI.IGT: failure for Adhering to HDCP1.4 Compliance Test Spec (rev3)
  2018-02-02 22:09 [PATCH v3 0/8] Adhering to HDCP1.4 Compliance Test Spec Ramalingam C
                   ` (8 preceding siblings ...)
  2018-02-03  5:37 ` ✓ Fi.CI.BAT: success for Adhering to HDCP1.4 Compliance Test Spec (rev3) Patchwork
@ 2018-02-03  8:46 ` Patchwork
  2018-02-05 16:50 ` [PATCH v3 0/8] Adhering to HDCP1.4 Compliance Test Spec Sean Paul
                   ` (3 subsequent siblings)
  13 siblings, 0 replies; 21+ messages in thread
From: Patchwork @ 2018-02-03  8:46 UTC (permalink / raw)
  To: Ramalingam C; +Cc: intel-gfx

== Series Details ==

Series: Adhering to HDCP1.4 Compliance Test Spec (rev3)
URL   : https://patchwork.freedesktop.org/series/37539/
State : failure

== Summary ==

Test kms_cursor_legacy:
        Subgroup flip-vs-cursor-toggle:
                fail       -> PASS       (shard-hsw) fdo#102670 +1
Test perf_pmu:
        Subgroup busy-double-start-vcs0:
                pass       -> INCOMPLETE (shard-apl)
Test kms_flip:
        Subgroup 2x-flip-vs-expired-vblank-interruptible:
                fail       -> PASS       (shard-hsw) fdo#102887
Test gem_eio:
        Subgroup in-flight-contexts:
                dmesg-warn -> PASS       (shard-snb) fdo#104058

fdo#102670 https://bugs.freedesktop.org/show_bug.cgi?id=102670
fdo#102887 https://bugs.freedesktop.org/show_bug.cgi?id=102887
fdo#104058 https://bugs.freedesktop.org/show_bug.cgi?id=104058

shard-apl        total:2795 pass:1725 dwarn:1   dfail:0   fail:19  skip:1049 time:12072s
shard-hsw        total:2836 pass:1732 dwarn:1   dfail:0   fail:12  skip:1090 time:11548s
shard-snb        total:2836 pass:1328 dwarn:1   dfail:0   fail:10  skip:1497 time:6414s
Blacklisted hosts:
shard-kbl        total:2836 pass:1873 dwarn:1   dfail:0   fail:21  skip:941 time:9349s

== Logs ==

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

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

* Re: [PATCH v3 4/8] drm/i915: Retry HDCP bksv read
  2018-02-02 22:09 ` [PATCH v3 4/8] drm/i915: Retry HDCP bksv read Ramalingam C
@ 2018-02-05 16:47   ` Sean Paul
  2018-02-05 17:14   ` [PATCH v4] " Ramalingam C
  1 sibling, 0 replies; 21+ messages in thread
From: Sean Paul @ 2018-02-05 16:47 UTC (permalink / raw)
  To: Ramalingam C; +Cc: daniel.vetter, intel-gfx, rodrigo.vivi

On Sat, Feb 03, 2018 at 03:39:06AM +0530, Ramalingam C wrote:
> HDCP specification says that when bksv is identified as invalid
> (not with 20 1s), bksv should be re-read and verified.
> 
> This patch adds the above mentioned re-read for bksv.
> 
> v2:
>   Rephrased the commit msg [Seanpaul]
> 
> v3:
>   do-while to for-loop [Seanpaul]
> 
> Signed-off-by: Ramalingam C <ramalingam.c@intel.com>
> ---
>  drivers/gpu/drm/i915/intel_hdcp.c | 19 +++++++++++++++----
>  1 file changed, 15 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_hdcp.c b/drivers/gpu/drm/i915/intel_hdcp.c
> index cfd13ee8c534..b1047dbf3393 100644
> --- a/drivers/gpu/drm/i915/intel_hdcp.c
> +++ b/drivers/gpu/drm/i915/intel_hdcp.c
> @@ -397,7 +397,7 @@ static int intel_hdcp_auth(struct intel_digital_port *intel_dig_port,
>  	struct drm_i915_private *dev_priv;
>  	enum port port;
>  	unsigned long r0_prime_gen_start;
> -	int ret, i;
> +	int ret, i, tries = 2;
>  	union {
>  		u32 reg[2];
>  		u8 shim[DRM_HDCP_AN_LEN];
> @@ -438,11 +438,22 @@ static int intel_hdcp_auth(struct intel_digital_port *intel_dig_port,
>  	r0_prime_gen_start = jiffies;
>  
>  	memset(&bksv, 0, sizeof(bksv));
> -	ret = shim->read_bksv(intel_dig_port, bksv.shim);
> +
> +	/* When bksv is invalid, HDCP spec expects a re-read for bksv */
> +	for (i = 0; i < tries; i++) {
> +		ret = shim->read_bksv(intel_dig_port, bksv.shim);
> +		if (!ret) {
> +			if (intel_hdcp_is_ksv_valid(bksv.shim)) {
> +				break;
> +			} else {
> +				DRM_ERROR("Invalid BKSV\n");
> +				ret = -ENODEV;
> +			}
> +		}
> +	}

Hmm, this is different from what I proposed in a couple of ways:
- This will print an ERROR for each failed attempt, which I don't think is
  needed
- If shim->read_bksv fails, we shouldn't need to retry. The retry here should
  only catch invalid ksv. The shim implementation is responsible for retrying if
  the link is prone to failure.


For a refresher, this is what I proposed in the first review (I added an error):

	/* HDCP spec states that we must retry the bksv if it is invalid */
        for (i = 0; i < bksv_tries; i++) {
                ret = shim->read_bksv(intel_dig_port, bksv.shim);
                if (ret)
                        return ret;
                if (intel_hdcp_is_ksv_valid(bksv.shim))
                        break;
        }
        if (i == bksv_tries) {
		DRM_ERROR("HDCP failed, Bksv is invalid\n");
                return -ENODEV;
	}
  

> +
>  	if (ret)
>  		return ret;
> -	else if (!intel_hdcp_is_ksv_valid(bksv.shim))
> -		return -ENODEV;
>  
>  	I915_WRITE(PORT_HDCP_BKSVLO(port), bksv.reg[0]);
>  	I915_WRITE(PORT_HDCP_BKSVHI(port), bksv.reg[1]);
> -- 
> 2.7.4
> 

-- 
Sean Paul, Software Engineer, Google / Chromium OS
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: [PATCH v3 0/8] Adhering to HDCP1.4 Compliance Test Spec
  2018-02-02 22:09 [PATCH v3 0/8] Adhering to HDCP1.4 Compliance Test Spec Ramalingam C
                   ` (9 preceding siblings ...)
  2018-02-03  8:46 ` ✗ Fi.CI.IGT: failure " Patchwork
@ 2018-02-05 16:50 ` Sean Paul
  2018-02-05 17:13   ` C, Ramalingam
  2018-02-05 18:39 ` Sean Paul
                   ` (2 subsequent siblings)
  13 siblings, 1 reply; 21+ messages in thread
From: Sean Paul @ 2018-02-05 16:50 UTC (permalink / raw)
  To: Ramalingam C; +Cc: daniel.vetter, intel-gfx, rodrigo.vivi

On Sat, Feb 03, 2018 at 03:39:02AM +0530, Ramalingam C wrote:
> This series is developed to address the expectations from HDCP compliance
> test specification.
> 
> 6/8 patches are for fixing failures in one or more compliance test cases
> 2 patches are Good to have kind. Not related to compliance.
> 
> Thanks to Seanpaul for immediate review comments on v1 and v2.

Hi Ram,
Everything looks good except for my comments in patch 4. Could you please
resping that one last patch (no need to send the whole series again)?

Thanks,

Sean

> 
> Ramalingam C (8):
>   drm/i915: Handle failure from 2nd stage HDCP auth
>   drm/i915: Stop encryption for repeater with no sink
>   drm/i915: Connector info in HDCP debug msgs
>   drm/i915: Retry HDCP bksv read
>   drm/i915: Optimize HDCP key load
>   drm/i915: Detect panel's hdcp capability
>   drm/i915: Reauthenticate HDCP on failure
>   drm/i915: fix misalignment in HDCP register def
> 
>  drivers/gpu/drm/i915/i915_reg.h   | 58 +++++++++++++-------------
>  drivers/gpu/drm/i915/intel_dp.c   | 39 +++++++++++++++--
>  drivers/gpu/drm/i915/intel_drv.h  |  4 ++
>  drivers/gpu/drm/i915/intel_hdcp.c | 88 ++++++++++++++++++++++++++++++---------
>  4 files changed, 137 insertions(+), 52 deletions(-)
> 
> -- 
> 2.7.4
> 

-- 
Sean Paul, Software Engineer, Google / Chromium OS
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: [PATCH v3 0/8] Adhering to HDCP1.4 Compliance Test Spec
  2018-02-05 16:50 ` [PATCH v3 0/8] Adhering to HDCP1.4 Compliance Test Spec Sean Paul
@ 2018-02-05 17:13   ` C, Ramalingam
  0 siblings, 0 replies; 21+ messages in thread
From: C, Ramalingam @ 2018-02-05 17:13 UTC (permalink / raw)
  To: Sean Paul; +Cc: daniel.vetter, intel-gfx, Vivi, Rodrigo

> -----Original Message-----
> From: Sean Paul [mailto:seanpaul@chromium.org]
> Sent: Monday, February 5, 2018 10:21 PM
> To: C, Ramalingam <ramalingam.c@intel.com>
> Cc: intel-gfx@lists.freedesktop.org; seanpaul@chromium.org; Vivi, Rodrigo
> <rodrigo.vivi@intel.com>; Sharma, Shashank <shashank.sharma@intel.com>;
> daniel.vetter@ffwll.ch
> Subject: Re: [PATCH v3 0/8] Adhering to HDCP1.4 Compliance Test Spec
> 
> On Sat, Feb 03, 2018 at 03:39:02AM +0530, Ramalingam C wrote:
> > This series is developed to address the expectations from HDCP
> > compliance test specification.
> >
> > 6/8 patches are for fixing failures in one or more compliance test
> > cases
> > 2 patches are Good to have kind. Not related to compliance.
> >
> > Thanks to Seanpaul for immediate review comments on v1 and v2.
> 
> Hi Ram,
> Everything looks good except for my comments in patch 4. Could you please
> resping that one last patch (no need to send the whole series again)?

Sure

--Ram
> 
> Thanks,
> 
> Sean
> 
> >
> > Ramalingam C (8):
> >   drm/i915: Handle failure from 2nd stage HDCP auth
> >   drm/i915: Stop encryption for repeater with no sink
> >   drm/i915: Connector info in HDCP debug msgs
> >   drm/i915: Retry HDCP bksv read
> >   drm/i915: Optimize HDCP key load
> >   drm/i915: Detect panel's hdcp capability
> >   drm/i915: Reauthenticate HDCP on failure
> >   drm/i915: fix misalignment in HDCP register def
> >
> >  drivers/gpu/drm/i915/i915_reg.h   | 58 +++++++++++++-------------
> >  drivers/gpu/drm/i915/intel_dp.c   | 39 +++++++++++++++--
> >  drivers/gpu/drm/i915/intel_drv.h  |  4 ++
> > drivers/gpu/drm/i915/intel_hdcp.c | 88
> > ++++++++++++++++++++++++++++++---------
> >  4 files changed, 137 insertions(+), 52 deletions(-)
> >
> > --
> > 2.7.4
> >
> 
> --
> Sean Paul, Software Engineer, Google / Chromium OS
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* [PATCH v4] drm/i915: Retry HDCP bksv read
  2018-02-02 22:09 ` [PATCH v3 4/8] drm/i915: Retry HDCP bksv read Ramalingam C
  2018-02-05 16:47   ` Sean Paul
@ 2018-02-05 17:14   ` Ramalingam C
  2018-02-05 17:24     ` Sean Paul
  2018-02-05 17:32     ` [PATCH v5] " Ramalingam C
  1 sibling, 2 replies; 21+ messages in thread
From: Ramalingam C @ 2018-02-05 17:14 UTC (permalink / raw)
  To: seanpaul, intel-gfx

HDCP specification says that when bksv is identified as invalid
(not with 20 1s), bksv should be re-read and verified.

This patch adds the above mentioned re-read for bksv.

v2:
  Rephrased the commit msg [Seanpaul]

v3:
  do-while to for-loop [Seanpaul]

v4:
  retry only if bksv is invalid and no error msg on each attempt
  [Seanpaul]

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

diff --git a/drivers/gpu/drm/i915/intel_hdcp.c b/drivers/gpu/drm/i915/intel_hdcp.c
index cfd13ee8c534..df0dabab97e1 100644
--- a/drivers/gpu/drm/i915/intel_hdcp.c
+++ b/drivers/gpu/drm/i915/intel_hdcp.c
@@ -397,7 +397,7 @@ static int intel_hdcp_auth(struct intel_digital_port *intel_dig_port,
 	struct drm_i915_private *dev_priv;
 	enum port port;
 	unsigned long r0_prime_gen_start;
-	int ret, i;
+	int ret, i, tries = 2;
 	union {
 		u32 reg[2];
 		u8 shim[DRM_HDCP_AN_LEN];
@@ -438,11 +438,19 @@ static int intel_hdcp_auth(struct intel_digital_port *intel_dig_port,
 	r0_prime_gen_start = jiffies;
 
 	memset(&bksv, 0, sizeof(bksv));
-	ret = shim->read_bksv(intel_dig_port, bksv.shim);
-	if (ret)
+
+	/* HDCP spec states that we must retry the bksv if it is invalid */
+	for (i = 0; i < tries; i++) {
+		ret = shim->read_bksv(intel_dig_port, bksv.shim);
+		if (ret)
+			return ret;
+		if (intel_hdcp_is_ksv_valid(bksv.shim))
+			break;
+	}
+	if (i == tries) {
+		DRM_ERROR("HDCP failed, Bksv is invalid\n");
 		return ret;
-	else if (!intel_hdcp_is_ksv_valid(bksv.shim))
-		return -ENODEV;
+	}
 
 	I915_WRITE(PORT_HDCP_BKSVLO(port), bksv.reg[0]);
 	I915_WRITE(PORT_HDCP_BKSVHI(port), bksv.reg[1]);
-- 
2.7.4

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

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

* Re: [PATCH v4] drm/i915: Retry HDCP bksv read
  2018-02-05 17:14   ` [PATCH v4] " Ramalingam C
@ 2018-02-05 17:24     ` Sean Paul
  2018-02-05 17:24       ` Ramalingam C
  2018-02-05 17:32     ` [PATCH v5] " Ramalingam C
  1 sibling, 1 reply; 21+ messages in thread
From: Sean Paul @ 2018-02-05 17:24 UTC (permalink / raw)
  To: Ramalingam C; +Cc: intel-gfx

On Mon, Feb 05, 2018 at 10:44:41PM +0530, Ramalingam C wrote:
> HDCP specification says that when bksv is identified as invalid
> (not with 20 1s), bksv should be re-read and verified.
> 
> This patch adds the above mentioned re-read for bksv.
> 
> v2:
>   Rephrased the commit msg [Seanpaul]
> 
> v3:
>   do-while to for-loop [Seanpaul]
> 
> v4:
>   retry only if bksv is invalid and no error msg on each attempt
>   [Seanpaul]
> 
> Signed-off-by: Ramalingam C <ramalingam.c@intel.com>
> ---
>  drivers/gpu/drm/i915/intel_hdcp.c | 18 +++++++++++++-----
>  1 file changed, 13 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_hdcp.c b/drivers/gpu/drm/i915/intel_hdcp.c
> index cfd13ee8c534..df0dabab97e1 100644
> --- a/drivers/gpu/drm/i915/intel_hdcp.c
> +++ b/drivers/gpu/drm/i915/intel_hdcp.c
> @@ -397,7 +397,7 @@ static int intel_hdcp_auth(struct intel_digital_port *intel_dig_port,
>  	struct drm_i915_private *dev_priv;
>  	enum port port;
>  	unsigned long r0_prime_gen_start;
> -	int ret, i;
> +	int ret, i, tries = 2;
>  	union {
>  		u32 reg[2];
>  		u8 shim[DRM_HDCP_AN_LEN];
> @@ -438,11 +438,19 @@ static int intel_hdcp_auth(struct intel_digital_port *intel_dig_port,
>  	r0_prime_gen_start = jiffies;
>  
>  	memset(&bksv, 0, sizeof(bksv));
> -	ret = shim->read_bksv(intel_dig_port, bksv.shim);
> -	if (ret)
> +
> +	/* HDCP spec states that we must retry the bksv if it is invalid */
> +	for (i = 0; i < tries; i++) {
> +		ret = shim->read_bksv(intel_dig_port, bksv.shim);
> +		if (ret)
> +			return ret;
> +		if (intel_hdcp_is_ksv_valid(bksv.shim))
> +			break;
> +	}
> +	if (i == tries) {
> +		DRM_ERROR("HDCP failed, Bksv is invalid\n");
>  		return ret;

This will return 0.

> -	else if (!intel_hdcp_is_ksv_valid(bksv.shim))
> -		return -ENODEV;
> +	}
>  
>  	I915_WRITE(PORT_HDCP_BKSVLO(port), bksv.reg[0]);
>  	I915_WRITE(PORT_HDCP_BKSVHI(port), bksv.reg[1]);
> -- 
> 2.7.4
> 

-- 
Sean Paul, Software Engineer, Google / Chromium OS
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: [PATCH v4] drm/i915: Retry HDCP bksv read
  2018-02-05 17:24     ` Sean Paul
@ 2018-02-05 17:24       ` Ramalingam C
  0 siblings, 0 replies; 21+ messages in thread
From: Ramalingam C @ 2018-02-05 17:24 UTC (permalink / raw)
  To: Sean Paul; +Cc: intel-gfx



On Monday 05 February 2018 10:54 PM, Sean Paul wrote:
> On Mon, Feb 05, 2018 at 10:44:41PM +0530, Ramalingam C wrote:
>> HDCP specification says that when bksv is identified as invalid
>> (not with 20 1s), bksv should be re-read and verified.
>>
>> This patch adds the above mentioned re-read for bksv.
>>
>> v2:
>>    Rephrased the commit msg [Seanpaul]
>>
>> v3:
>>    do-while to for-loop [Seanpaul]
>>
>> v4:
>>    retry only if bksv is invalid and no error msg on each attempt
>>    [Seanpaul]
>>
>> Signed-off-by: Ramalingam C <ramalingam.c@intel.com>
>> ---
>>   drivers/gpu/drm/i915/intel_hdcp.c | 18 +++++++++++++-----
>>   1 file changed, 13 insertions(+), 5 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/i915/intel_hdcp.c b/drivers/gpu/drm/i915/intel_hdcp.c
>> index cfd13ee8c534..df0dabab97e1 100644
>> --- a/drivers/gpu/drm/i915/intel_hdcp.c
>> +++ b/drivers/gpu/drm/i915/intel_hdcp.c
>> @@ -397,7 +397,7 @@ static int intel_hdcp_auth(struct intel_digital_port *intel_dig_port,
>>   	struct drm_i915_private *dev_priv;
>>   	enum port port;
>>   	unsigned long r0_prime_gen_start;
>> -	int ret, i;
>> +	int ret, i, tries = 2;
>>   	union {
>>   		u32 reg[2];
>>   		u8 shim[DRM_HDCP_AN_LEN];
>> @@ -438,11 +438,19 @@ static int intel_hdcp_auth(struct intel_digital_port *intel_dig_port,
>>   	r0_prime_gen_start = jiffies;
>>   
>>   	memset(&bksv, 0, sizeof(bksv));
>> -	ret = shim->read_bksv(intel_dig_port, bksv.shim);
>> -	if (ret)
>> +
>> +	/* HDCP spec states that we must retry the bksv if it is invalid */
>> +	for (i = 0; i < tries; i++) {
>> +		ret = shim->read_bksv(intel_dig_port, bksv.shim);
>> +		if (ret)
>> +			return ret;
>> +		if (intel_hdcp_is_ksv_valid(bksv.shim))
>> +			break;
>> +	}
>> +	if (i == tries) {
>> +		DRM_ERROR("HDCP failed, Bksv is invalid\n");
>>   		return ret;
> This will return 0.
oops :-(. Sleepy head it is...

-Ram
>
>> -	else if (!intel_hdcp_is_ksv_valid(bksv.shim))
>> -		return -ENODEV;
>> +	}
>>   
>>   	I915_WRITE(PORT_HDCP_BKSVLO(port), bksv.reg[0]);
>>   	I915_WRITE(PORT_HDCP_BKSVHI(port), bksv.reg[1]);
>> -- 
>> 2.7.4
>>

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

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

* [PATCH v5] drm/i915: Retry HDCP bksv read
  2018-02-05 17:14   ` [PATCH v4] " Ramalingam C
  2018-02-05 17:24     ` Sean Paul
@ 2018-02-05 17:32     ` Ramalingam C
  1 sibling, 0 replies; 21+ messages in thread
From: Ramalingam C @ 2018-02-05 17:32 UTC (permalink / raw)
  To: seanpaul, intel-gfx

HDCP specification says that when bksv is identified as invalid
(not with 20 1s), bksv should be re-read and verified.

This patch adds the above mentioned re-read for bksv.

v2:
  Rephrased the commit msg [Seanpaul]

v3:
  do-while to for-loop [Seanpaul]

v4:
  retry only if bksv is invalid and no error msg on each attempt
  [Seanpaul]

v5:
  Correcting the return value [Seanpaul].

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

diff --git a/drivers/gpu/drm/i915/intel_hdcp.c b/drivers/gpu/drm/i915/intel_hdcp.c
index cfd13ee8c534..d7ddd6b28cd7 100644
--- a/drivers/gpu/drm/i915/intel_hdcp.c
+++ b/drivers/gpu/drm/i915/intel_hdcp.c
@@ -397,7 +397,7 @@ static int intel_hdcp_auth(struct intel_digital_port *intel_dig_port,
 	struct drm_i915_private *dev_priv;
 	enum port port;
 	unsigned long r0_prime_gen_start;
-	int ret, i;
+	int ret, i, tries = 2;
 	union {
 		u32 reg[2];
 		u8 shim[DRM_HDCP_AN_LEN];
@@ -438,11 +438,19 @@ static int intel_hdcp_auth(struct intel_digital_port *intel_dig_port,
 	r0_prime_gen_start = jiffies;
 
 	memset(&bksv, 0, sizeof(bksv));
-	ret = shim->read_bksv(intel_dig_port, bksv.shim);
-	if (ret)
-		return ret;
-	else if (!intel_hdcp_is_ksv_valid(bksv.shim))
+
+	/* HDCP spec states that we must retry the bksv if it is invalid */
+	for (i = 0; i < tries; i++) {
+		ret = shim->read_bksv(intel_dig_port, bksv.shim);
+		if (ret)
+			return ret;
+		if (intel_hdcp_is_ksv_valid(bksv.shim))
+			break;
+	}
+	if (i == tries) {
+		DRM_ERROR("HDCP failed, Bksv is invalid\n");
 		return -ENODEV;
+	}
 
 	I915_WRITE(PORT_HDCP_BKSVLO(port), bksv.reg[0]);
 	I915_WRITE(PORT_HDCP_BKSVHI(port), bksv.reg[1]);
-- 
2.7.4

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

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

* Re: [PATCH v3 0/8] Adhering to HDCP1.4 Compliance Test Spec
  2018-02-02 22:09 [PATCH v3 0/8] Adhering to HDCP1.4 Compliance Test Spec Ramalingam C
                   ` (10 preceding siblings ...)
  2018-02-05 16:50 ` [PATCH v3 0/8] Adhering to HDCP1.4 Compliance Test Spec Sean Paul
@ 2018-02-05 18:39 ` Sean Paul
  2018-02-05 19:00 ` ✓ Fi.CI.BAT: success for Adhering to HDCP1.4 Compliance Test Spec (rev5) Patchwork
  2018-02-05 21:51 ` ✗ Fi.CI.IGT: warning " Patchwork
  13 siblings, 0 replies; 21+ messages in thread
From: Sean Paul @ 2018-02-05 18:39 UTC (permalink / raw)
  To: Ramalingam C; +Cc: daniel.vetter, intel-gfx, rodrigo.vivi

On Sat, Feb 03, 2018 at 03:39:02AM +0530, Ramalingam C wrote:
> This series is developed to address the expectations from HDCP compliance
> test specification.
> 
> 6/8 patches are for fixing failures in one or more compliance test cases
> 2 patches are Good to have kind. Not related to compliance.
> 
> Thanks to Seanpaul for immediate review comments on v1 and v2.

Thanks for sticking with me through the reviews! I've applied the set to
topic/hdcp.

Sean

> 
> Ramalingam C (8):
>   drm/i915: Handle failure from 2nd stage HDCP auth
>   drm/i915: Stop encryption for repeater with no sink
>   drm/i915: Connector info in HDCP debug msgs
>   drm/i915: Retry HDCP bksv read
>   drm/i915: Optimize HDCP key load
>   drm/i915: Detect panel's hdcp capability
>   drm/i915: Reauthenticate HDCP on failure
>   drm/i915: fix misalignment in HDCP register def
> 
>  drivers/gpu/drm/i915/i915_reg.h   | 58 +++++++++++++-------------
>  drivers/gpu/drm/i915/intel_dp.c   | 39 +++++++++++++++--
>  drivers/gpu/drm/i915/intel_drv.h  |  4 ++
>  drivers/gpu/drm/i915/intel_hdcp.c | 88 ++++++++++++++++++++++++++++++---------
>  4 files changed, 137 insertions(+), 52 deletions(-)
> 
> -- 
> 2.7.4
> 

-- 
Sean Paul, Software Engineer, Google / Chromium OS
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* ✓ Fi.CI.BAT: success for Adhering to HDCP1.4 Compliance Test Spec (rev5)
  2018-02-02 22:09 [PATCH v3 0/8] Adhering to HDCP1.4 Compliance Test Spec Ramalingam C
                   ` (11 preceding siblings ...)
  2018-02-05 18:39 ` Sean Paul
@ 2018-02-05 19:00 ` Patchwork
  2018-02-05 21:51 ` ✗ Fi.CI.IGT: warning " Patchwork
  13 siblings, 0 replies; 21+ messages in thread
From: Patchwork @ 2018-02-05 19:00 UTC (permalink / raw)
  To: Ramalingam C; +Cc: intel-gfx

== Series Details ==

Series: Adhering to HDCP1.4 Compliance Test Spec (rev5)
URL   : https://patchwork.freedesktop.org/series/37539/
State : success

== Summary ==

Series 37539v5 Adhering to HDCP1.4 Compliance Test Spec
https://patchwork.freedesktop.org/api/1.0/series/37539/revisions/5/mbox/

Test kms_frontbuffer_tracking:
        Subgroup basic:
                fail       -> PASS       (fi-cnl-y3)

fi-bdw-5557u     total:288  pass:267  dwarn:0   dfail:0   fail:0   skip:21  time:419s
fi-bdw-gvtdvm    total:288  pass:264  dwarn:0   dfail:0   fail:0   skip:24  time:421s
fi-blb-e6850     total:288  pass:223  dwarn:1   dfail:0   fail:0   skip:64  time:372s
fi-bsw-n3050     total:288  pass:242  dwarn:0   dfail:0   fail:0   skip:46  time:497s
fi-bwr-2160      total:288  pass:183  dwarn:0   dfail:0   fail:0   skip:105 time:283s
fi-bxt-dsi       total:288  pass:258  dwarn:0   dfail:0   fail:0   skip:30  time:480s
fi-bxt-j4205     total:288  pass:259  dwarn:0   dfail:0   fail:0   skip:29  time:484s
fi-byt-j1900     total:288  pass:253  dwarn:0   dfail:0   fail:0   skip:35  time:468s
fi-byt-n2820     total:288  pass:249  dwarn:0   dfail:0   fail:0   skip:39  time:454s
fi-cfl-s2        total:288  pass:262  dwarn:0   dfail:0   fail:0   skip:26  time:574s
fi-cnl-y3        total:288  pass:262  dwarn:0   dfail:0   fail:0   skip:26  time:583s
fi-elk-e7500     total:288  pass:229  dwarn:0   dfail:0   fail:0   skip:59  time:412s
fi-gdg-551       total:288  pass:179  dwarn:0   dfail:0   fail:1   skip:108 time:278s
fi-glk-1         total:288  pass:260  dwarn:0   dfail:0   fail:0   skip:28  time:512s
fi-hsw-4770      total:288  pass:261  dwarn:0   dfail:0   fail:0   skip:27  time:390s
fi-hsw-4770r     total:288  pass:261  dwarn:0   dfail:0   fail:0   skip:27  time:401s
fi-ilk-650       total:288  pass:228  dwarn:0   dfail:0   fail:0   skip:60  time:419s
fi-ivb-3520m     total:288  pass:259  dwarn:0   dfail:0   fail:0   skip:29  time:458s
fi-ivb-3770      total:288  pass:255  dwarn:0   dfail:0   fail:0   skip:33  time:415s
fi-kbl-7500u     total:288  pass:263  dwarn:1   dfail:0   fail:0   skip:24  time:465s
fi-kbl-7560u     total:288  pass:269  dwarn:0   dfail:0   fail:0   skip:19  time:495s
fi-kbl-7567u     total:288  pass:268  dwarn:0   dfail:0   fail:0   skip:20  time:453s
fi-kbl-r         total:288  pass:261  dwarn:0   dfail:0   fail:0   skip:27  time:502s
fi-pnv-d510      total:288  pass:222  dwarn:1   dfail:0   fail:0   skip:65  time:597s
fi-skl-6260u     total:288  pass:268  dwarn:0   dfail:0   fail:0   skip:20  time:426s
fi-skl-6600u     total:288  pass:261  dwarn:0   dfail:0   fail:0   skip:27  time:513s
fi-skl-6700hq    total:288  pass:262  dwarn:0   dfail:0   fail:0   skip:26  time:527s
fi-skl-6700k2    total:288  pass:264  dwarn:0   dfail:0   fail:0   skip:24  time:484s
fi-skl-6770hq    total:288  pass:268  dwarn:0   dfail:0   fail:0   skip:20  time:474s
fi-skl-guc       total:288  pass:260  dwarn:0   dfail:0   fail:0   skip:28  time:416s
fi-skl-gvtdvm    total:288  pass:265  dwarn:0   dfail:0   fail:0   skip:23  time:434s
fi-snb-2520m     total:288  pass:248  dwarn:0   dfail:0   fail:0   skip:40  time:526s
fi-snb-2600      total:288  pass:248  dwarn:0   dfail:0   fail:0   skip:40  time:397s
Blacklisted hosts:
fi-glk-dsi       total:288  pass:258  dwarn:0   dfail:0   fail:0   skip:30  time:463s

3a4afd6dae3d932908ea929f18b935e709430846 drm-tip: 2018y-02m-05d-17h-02m-56s UTC integration manifest
43ac4ac2e50e drm/i915: fix misalignment in HDCP register def
3df68acc7210 drm/i915: Reauthenticate HDCP on failure
b1364f398e82 drm/i915: Detect panel's hdcp capability
2e7227efe0d1 drm/i915: Optimize HDCP key load
2f6a0cc3cdb6 drm/i915: Retry HDCP bksv read
b03354926dec drm/i915: Connector info in HDCP debug msgs
9d46a689622d drm/i915: Stop encryption for repeater with no sink
53e80549d654 drm/i915: Handle failure from 2nd stage HDCP auth

== Logs ==

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

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

* ✗ Fi.CI.IGT: warning for Adhering to HDCP1.4 Compliance Test Spec (rev5)
  2018-02-02 22:09 [PATCH v3 0/8] Adhering to HDCP1.4 Compliance Test Spec Ramalingam C
                   ` (12 preceding siblings ...)
  2018-02-05 19:00 ` ✓ Fi.CI.BAT: success for Adhering to HDCP1.4 Compliance Test Spec (rev5) Patchwork
@ 2018-02-05 21:51 ` Patchwork
  13 siblings, 0 replies; 21+ messages in thread
From: Patchwork @ 2018-02-05 21:51 UTC (permalink / raw)
  To: Ramalingam C; +Cc: intel-gfx

== Series Details ==

Series: Adhering to HDCP1.4 Compliance Test Spec (rev5)
URL   : https://patchwork.freedesktop.org/series/37539/
State : warning

== Summary ==

Test kms_plane_multiple:
        Subgroup atomic-pipe-c-tiling-none:
                fail       -> PASS       (shard-apl) fdo#103166 +1
Test kms_plane:
        Subgroup plane-panning-bottom-right-suspend-pipe-c-planes:
                pass       -> DMESG-WARN (shard-apl) fdo#104164
        Subgroup pixel-format-pipe-c-planes:
                pass       -> SKIP       (shard-apl)
Test kms_chv_cursor_fail:
        Subgroup pipe-c-256x256-bottom-edge:
                pass       -> SKIP       (shard-apl)
        Subgroup pipe-b-128x128-right-edge:
                pass       -> SKIP       (shard-apl)
Test kms_ccs:
        Subgroup pipe-a-bad-pixel-format:
                pass       -> SKIP       (shard-apl)
        Subgroup pipe-b-bad-pixel-format:
                pass       -> SKIP       (shard-apl)
Test kms_color:
        Subgroup pipe-c-ctm-max:
                pass       -> SKIP       (shard-apl)
        Subgroup pipe-a-ctm-green-to-red:
                pass       -> SKIP       (shard-apl) fdo#104852
        Subgroup pipe-b-ctm-negative:
                pass       -> SKIP       (shard-apl)
Test kms_flip:
        Subgroup basic-flip-vs-wf_vblank:
                pass       -> SKIP       (shard-apl) fdo#100368 +1
        Subgroup blocking-absolute-wf_vblank-interruptible:
                pass       -> SKIP       (shard-apl)
        Subgroup basic-flip-vs-dpms:
                pass       -> SKIP       (shard-apl)
Test kms_cursor_legacy:
        Subgroup flip-vs-cursor-varying-size:
                pass       -> SKIP       (shard-apl) fdo#102670
        Subgroup cursora-vs-flipa-atomic-transitions:
                pass       -> SKIP       (shard-apl)
Test prime_mmap_kms:
        Subgroup buffer-sharing:
                pass       -> SKIP       (shard-apl)
Test pm_rpm:
        Subgroup gem-mmap-gtt:
                pass       -> SKIP       (shard-apl)
        Subgroup fences-dpms:
                pass       -> SKIP       (shard-apl)
        Subgroup system-suspend-modeset:
                pass       -> SKIP       (shard-apl)
Test kms_atomic_interruptible:
        Subgroup legacy-dpms:
                pass       -> SKIP       (shard-apl)
Test kms_busy:
        Subgroup extended-modeset-hang-newfb-with-reset-render-b:
                pass       -> SKIP       (shard-apl)
        Subgroup extended-pageflip-modeset-hang-oldfb-render-a:
                pass       -> SKIP       (shard-apl)
Test kms_setmode:
        Subgroup basic:
                fail       -> PASS       (shard-apl) fdo#99912
Test kms_plane_scaling:
        Subgroup pipe-b-scaler-with-rotation:
                pass       -> SKIP       (shard-apl)
Test kms_vblank:
        Subgroup pipe-a-query-idle:
                pass       -> SKIP       (shard-apl)
Test kms_pipe_crc_basic:
        Subgroup suspend-read-crc-pipe-c:
                pass       -> SKIP       (shard-apl) fdo#103375 +2
Test testdisplay:
                pass       -> DMESG-WARN (shard-apl) fdo#104727
Test gem_eio:
        Subgroup in-flight-contexts:
                dmesg-fail -> DMESG-WARN (shard-snb) fdo#104058
Test kms_cursor_crc:
        Subgroup cursor-64x64-suspend:
                pass       -> INCOMPLETE (shard-hsw) fdo#103540
Test drv_suspend:
        Subgroup fence-restore-untiled:
                skip       -> PASS       (shard-snb) fdo#102365
Test perf:
        Subgroup blocking:
                fail       -> PASS       (shard-hsw) fdo#102252
Test kms_frontbuffer_tracking:
        Subgroup fbc-1p-primscrn-pri-indfb-draw-mmap-gtt:
                fail       -> PASS       (shard-apl) fdo#101623
Test kms_sysfs_edid_timing:
                pass       -> WARN       (shard-apl) fdo#100047

fdo#103166 https://bugs.freedesktop.org/show_bug.cgi?id=103166
fdo#104164 https://bugs.freedesktop.org/show_bug.cgi?id=104164
fdo#104852 https://bugs.freedesktop.org/show_bug.cgi?id=104852
fdo#100368 https://bugs.freedesktop.org/show_bug.cgi?id=100368
fdo#102670 https://bugs.freedesktop.org/show_bug.cgi?id=102670
fdo#99912 https://bugs.freedesktop.org/show_bug.cgi?id=99912
fdo#103375 https://bugs.freedesktop.org/show_bug.cgi?id=103375
fdo#104727 https://bugs.freedesktop.org/show_bug.cgi?id=104727
fdo#104058 https://bugs.freedesktop.org/show_bug.cgi?id=104058
fdo#103540 https://bugs.freedesktop.org/show_bug.cgi?id=103540
fdo#102365 https://bugs.freedesktop.org/show_bug.cgi?id=102365
fdo#102252 https://bugs.freedesktop.org/show_bug.cgi?id=102252
fdo#101623 https://bugs.freedesktop.org/show_bug.cgi?id=101623
fdo#100047 https://bugs.freedesktop.org/show_bug.cgi?id=100047

shard-apl        total:3406 pass:1724 dwarn:3   dfail:0   fail:20  skip:1658 time:12441s
shard-hsw        total:3386 pass:1722 dwarn:1   dfail:0   fail:10  skip:1651 time:11427s
shard-snb        total:3406 pass:1327 dwarn:2   dfail:0   fail:11  skip:2066 time:6588s

== Logs ==

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

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

end of thread, other threads:[~2018-02-05 21:51 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-02-02 22:09 [PATCH v3 0/8] Adhering to HDCP1.4 Compliance Test Spec Ramalingam C
2018-02-02 22:09 ` [PATCH v3 1/8] drm/i915: Handle failure from 2nd stage HDCP auth Ramalingam C
2018-02-02 22:09 ` [PATCH v3 2/8] drm/i915: Stop encryption for repeater with no sink Ramalingam C
2018-02-02 22:09 ` [PATCH v3 3/8] drm/i915: Connector info in HDCP debug msgs Ramalingam C
2018-02-02 22:09 ` [PATCH v3 4/8] drm/i915: Retry HDCP bksv read Ramalingam C
2018-02-05 16:47   ` Sean Paul
2018-02-05 17:14   ` [PATCH v4] " Ramalingam C
2018-02-05 17:24     ` Sean Paul
2018-02-05 17:24       ` Ramalingam C
2018-02-05 17:32     ` [PATCH v5] " Ramalingam C
2018-02-02 22:09 ` [PATCH v3 5/8] drm/i915: Optimize HDCP key load Ramalingam C
2018-02-02 22:09 ` [PATCH v3 6/8] drm/i915: Detect panel's hdcp capability Ramalingam C
2018-02-02 22:09 ` [PATCH v3 7/8] drm/i915: Reauthenticate HDCP on failure Ramalingam C
2018-02-02 22:09 ` [PATCH v3 8/8] drm/i915: fix misalignment in HDCP register def Ramalingam C
2018-02-03  5:37 ` ✓ Fi.CI.BAT: success for Adhering to HDCP1.4 Compliance Test Spec (rev3) Patchwork
2018-02-03  8:46 ` ✗ Fi.CI.IGT: failure " Patchwork
2018-02-05 16:50 ` [PATCH v3 0/8] Adhering to HDCP1.4 Compliance Test Spec Sean Paul
2018-02-05 17:13   ` C, Ramalingam
2018-02-05 18:39 ` Sean Paul
2018-02-05 19:00 ` ✓ Fi.CI.BAT: success for Adhering to HDCP1.4 Compliance Test Spec (rev5) Patchwork
2018-02-05 21:51 ` ✗ Fi.CI.IGT: warning " 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.