* [PATCH v5 0/4] Enabling the IGT for HDCP1.4
@ 2018-10-23 9:22 Ramalingam C
2018-10-23 9:22 ` [PATCH v5 1/4] drm/i915: Pullout the bksv read and validation Ramalingam C
` (8 more replies)
0 siblings, 9 replies; 14+ messages in thread
From: Ramalingam C @ 2018-10-23 9:22 UTC (permalink / raw)
To: intel-gfx, daniel.vetter
Adding a debugfs entry for detecting the valid HDCP sinks to
perform kms_content_protection.
In case of dummy HDMI/DP sinks(EDID whisperers without any parsers)
IGT will skip the HDCP test on that connector instead of failing it.
Hence false alarm are avoided.
For serving above purpose this series has pulled out few changes
from "Implement HDCP2.2" series under review at
https://patchwork.freedesktop.org/series/38254/
"drm/i915: hdcp_check_link only on CP_IRQ" is just a improvement
patch for HDCP1.4. Already received the reviewed-by from Sean Paul.
v5:
DDC/AUX failures are presented as debug logs instead of errors. [Daniel]
Ramalingam C (4):
drm/i915: Pullout the bksv read and validation
drm/i915: hdcp_check_link only on CP_IRQ
drm/i915/debugfs: hdcp capability of a sink
drm/i915: Move the DDC/AUX failure msgs to debug log
drivers/gpu/drm/i915/i915_debugfs.c | 29 ++++++++++++
drivers/gpu/drm/i915/intel_dp.c | 35 ++++++++-------
drivers/gpu/drm/i915/intel_drv.h | 7 +++
drivers/gpu/drm/i915/intel_hdcp.c | 89 ++++++++++++++++++++++++-------------
drivers/gpu/drm/i915/intel_hdmi.c | 34 +++++++++-----
5 files changed, 137 insertions(+), 57 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] 14+ messages in thread
* [PATCH v5 1/4] drm/i915: Pullout the bksv read and validation
2018-10-23 9:22 [PATCH v5 0/4] Enabling the IGT for HDCP1.4 Ramalingam C
@ 2018-10-23 9:22 ` Ramalingam C
2018-10-23 9:22 ` [PATCH v5 2/4] drm/i915: hdcp_check_link only on CP_IRQ Ramalingam C
` (7 subsequent siblings)
8 siblings, 0 replies; 14+ messages in thread
From: Ramalingam C @ 2018-10-23 9:22 UTC (permalink / raw)
To: intel-gfx, daniel.vetter
For reusability purpose, this patch implements the hdcp1.4 bksv's
read and validation as a functions.
For detecting the HDMI panel's HDCP capability this fucntions will be
used.
v2:
Rebased.
v3:
No Changes.
v4:
inline tag is removed with modified error msg.
v5:
No Changes.
v6:
No Changes.
v7:
Realigned the code.
Signed-off-by: Ramalingam C <ramalingam.c@intel.com>
Reviewed-by: Sean Paul <seanpaul@chromium.org>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
drivers/gpu/drm/i915/intel_hdcp.c | 62 ++++++++++++++++++++++++---------------
1 file changed, 38 insertions(+), 24 deletions(-)
diff --git a/drivers/gpu/drm/i915/intel_hdcp.c b/drivers/gpu/drm/i915/intel_hdcp.c
index 26e48fc95543..20908ff018e6 100644
--- a/drivers/gpu/drm/i915/intel_hdcp.c
+++ b/drivers/gpu/drm/i915/intel_hdcp.c
@@ -16,6 +16,41 @@
#define KEY_LOAD_TRIES 5
+static
+bool intel_hdcp_is_ksv_valid(u8 *ksv)
+{
+ int i, ones = 0;
+ /* KSV has 20 1's and 20 0's */
+ for (i = 0; i < DRM_HDCP_KSV_LEN; i++)
+ ones += hweight8(ksv[i]);
+ if (ones != 20)
+ return false;
+
+ return true;
+}
+
+static
+int intel_hdcp_read_valid_bksv(struct intel_digital_port *intel_dig_port,
+ const struct intel_hdcp_shim *shim, u8 *bksv)
+{
+ int ret, i, tries = 2;
+
+ /* 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);
+ if (ret)
+ return ret;
+ if (intel_hdcp_is_ksv_valid(bksv))
+ break;
+ }
+ if (i == tries) {
+ DRM_ERROR("Bksv is invalid\n");
+ return -ENODEV;
+ }
+
+ return 0;
+}
+
static int intel_hdcp_poll_ksv_fifo(struct intel_digital_port *intel_dig_port,
const struct intel_hdcp_shim *shim)
{
@@ -168,18 +203,6 @@ u32 intel_hdcp_get_repeater_ctl(struct intel_digital_port *intel_dig_port)
}
static
-bool intel_hdcp_is_ksv_valid(u8 *ksv)
-{
- int i, ones = 0;
- /* KSV has 20 1's and 20 0's */
- for (i = 0; i < DRM_HDCP_KSV_LEN; i++)
- ones += hweight8(ksv[i]);
- if (ones != 20)
- return false;
- return true;
-}
-
-static
int intel_hdcp_validate_v_prime(struct intel_digital_port *intel_dig_port,
const struct intel_hdcp_shim *shim,
u8 *ksv_fifo, u8 num_downstream, u8 *bstatus)
@@ -527,18 +550,9 @@ static int intel_hdcp_auth(struct intel_digital_port *intel_dig_port,
memset(&bksv, 0, sizeof(bksv));
- /* 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;
- }
+ ret = intel_hdcp_read_valid_bksv(intel_dig_port, shim, bksv.shim);
+ if (ret < 0)
+ return ret;
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] 14+ messages in thread
* [PATCH v5 2/4] drm/i915: hdcp_check_link only on CP_IRQ
2018-10-23 9:22 [PATCH v5 0/4] Enabling the IGT for HDCP1.4 Ramalingam C
2018-10-23 9:22 ` [PATCH v5 1/4] drm/i915: Pullout the bksv read and validation Ramalingam C
@ 2018-10-23 9:22 ` Ramalingam C
2018-10-23 9:22 ` [PATCH v5 3/4] drm/i915/debugfs: hdcp capability of a sink Ramalingam C
` (6 subsequent siblings)
8 siblings, 0 replies; 14+ messages in thread
From: Ramalingam C @ 2018-10-23 9:22 UTC (permalink / raw)
To: intel-gfx, daniel.vetter; +Cc: Sean Paul
HDCP check link is invoked only on CP_IRQ detection, instead of all
short pulses.
v3:
No Changes.
v4:
Added sean in cc and collected the reviewed-by received.
v5:
No Change.
v6:
No Change.
v7:
No Change.
v8:
Rebased.
Signed-off-by: Ramalingam C <ramalingam.c@intel.com>
cc: Sean Paul <seanpaul@chromium.org>
Reviewed-by: Uma Shankar <uma.shankar@intel.com>
Reviewed-by: Sean Paul <seanpaul@chromium.org>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
drivers/gpu/drm/i915/intel_dp.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
index 1f098e509143..27377bf8105c 100644
--- a/drivers/gpu/drm/i915/intel_dp.c
+++ b/drivers/gpu/drm/i915/intel_dp.c
@@ -4530,8 +4530,11 @@ static void intel_dp_check_service_irq(struct intel_dp *intel_dp)
if (val & DP_AUTOMATED_TEST_REQUEST)
intel_dp_handle_test_request(intel_dp);
- if (val & (DP_CP_IRQ | DP_SINK_SPECIFIC_IRQ))
- DRM_DEBUG_DRIVER("CP or sink specific irq unhandled\n");
+ if (val & DP_CP_IRQ)
+ intel_hdcp_check_link(intel_dp->attached_connector);
+
+ if (val & DP_SINK_SPECIFIC_IRQ)
+ DRM_DEBUG_DRIVER("Sink specific irq unhandled\n");
}
/*
@@ -5694,9 +5697,6 @@ intel_dp_hpd_pulse(struct intel_digital_port *intel_dig_port, bool long_hpd)
handled = intel_dp_short_pulse(intel_dp);
- /* Short pulse can signify loss of hdcp authentication */
- intel_hdcp_check_link(intel_dp->attached_connector);
-
if (!handled)
goto put_power;
}
--
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] 14+ messages in thread
* [PATCH v5 3/4] drm/i915/debugfs: hdcp capability of a sink
2018-10-23 9:22 [PATCH v5 0/4] Enabling the IGT for HDCP1.4 Ramalingam C
2018-10-23 9:22 ` [PATCH v5 1/4] drm/i915: Pullout the bksv read and validation Ramalingam C
2018-10-23 9:22 ` [PATCH v5 2/4] drm/i915: hdcp_check_link only on CP_IRQ Ramalingam C
@ 2018-10-23 9:22 ` Ramalingam C
2018-10-23 14:04 ` Daniel Vetter
2018-10-23 9:22 ` [PATCH v5 4/4] drm/i915: Move the DDC/AUX failure msgs to debug log Ramalingam C
` (5 subsequent siblings)
8 siblings, 1 reply; 14+ messages in thread
From: Ramalingam C @ 2018-10-23 9:22 UTC (permalink / raw)
To: intel-gfx, daniel.vetter
Add a debugfs entry for providing the hdcp capabilities of the sink
connected to the HDCP capable connectors.
v2:
Squashed the sink's hdcp capability into this patch. [Daniel]
Signed-off-by: Ramalingam C <ramalingam.c@intel.com>
---
drivers/gpu/drm/i915/i915_debugfs.c | 29 +++++++++++++++++++++++++++++
drivers/gpu/drm/i915/intel_drv.h | 7 +++++++
drivers/gpu/drm/i915/intel_hdcp.c | 27 +++++++++++++++++++++------
drivers/gpu/drm/i915/intel_hdmi.c | 16 +++++++++++++++-
4 files changed, 72 insertions(+), 7 deletions(-)
diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
index 5f3c639522fa..6d09af66da0f 100644
--- a/drivers/gpu/drm/i915/i915_debugfs.c
+++ b/drivers/gpu/drm/i915/i915_debugfs.c
@@ -4946,6 +4946,28 @@ static int i915_panel_show(struct seq_file *m, void *data)
}
DEFINE_SHOW_ATTRIBUTE(i915_panel);
+static int i915_hdcp_sink_capability_show(struct seq_file *m, void *data)
+{
+ struct drm_connector *connector = m->private;
+ struct intel_connector *intel_connector = to_intel_connector(connector);
+
+ if (connector->status != connector_status_connected)
+ return -ENODEV;
+
+ /* HDCP is supported by connector */
+ if (!intel_connector->hdcp_shim)
+ return -EINVAL;
+
+ seq_printf(m, "%s:%d HDCP version: ", connector->name,
+ connector->base.id);
+ seq_printf(m, "%s ", !intel_hdcp_capable(intel_connector) ?
+ "None" : "HDCP1.4");
+ seq_puts(m, "\n");
+
+ return 0;
+}
+DEFINE_SHOW_ATTRIBUTE(i915_hdcp_sink_capability);
+
/**
* i915_debugfs_connector_add - add i915 specific connector debugfs files
* @connector: pointer to a registered drm_connector
@@ -4975,5 +4997,12 @@ int i915_debugfs_connector_add(struct drm_connector *connector)
connector, &i915_psr_sink_status_fops);
}
+ if (connector->connector_type == DRM_MODE_CONNECTOR_DisplayPort ||
+ connector->connector_type == DRM_MODE_CONNECTOR_HDMIA ||
+ connector->connector_type == DRM_MODE_CONNECTOR_HDMIB) {
+ debugfs_create_file("i915_hdcp_sink_capability", S_IRUGO, root,
+ connector, &i915_hdcp_sink_capability_fops);
+ }
+
return 0;
}
diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h
index b2ca9f278b36..249bb9d1b5d0 100644
--- a/drivers/gpu/drm/i915/intel_drv.h
+++ b/drivers/gpu/drm/i915/intel_drv.h
@@ -1296,6 +1296,12 @@ enc_to_dig_port(struct drm_encoder *encoder)
return NULL;
}
+static inline struct intel_digital_port *
+conn_to_dig_port(struct intel_connector *connector)
+{
+ return enc_to_dig_port(&intel_attached_encoder(&connector->base)->base);
+}
+
static inline struct intel_dp_mst_encoder *
enc_to_mst(struct drm_encoder *encoder)
{
@@ -1956,6 +1962,7 @@ int intel_hdcp_enable(struct intel_connector *connector);
int intel_hdcp_disable(struct intel_connector *connector);
int intel_hdcp_check_link(struct intel_connector *connector);
bool is_hdcp_supported(struct drm_i915_private *dev_priv, enum port port);
+bool intel_hdcp_capable(struct intel_connector *connector);
/* intel_psr.c */
#define CAN_PSR(dev_priv) (HAS_PSR(dev_priv) && dev_priv->psr.sink_support)
diff --git a/drivers/gpu/drm/i915/intel_hdcp.c b/drivers/gpu/drm/i915/intel_hdcp.c
index 20908ff018e6..283b45636668 100644
--- a/drivers/gpu/drm/i915/intel_hdcp.c
+++ b/drivers/gpu/drm/i915/intel_hdcp.c
@@ -51,6 +51,27 @@ int intel_hdcp_read_valid_bksv(struct intel_digital_port *intel_dig_port,
return 0;
}
+/* Is HDCP1.4 capable on Platform and Sink */
+bool intel_hdcp_capable(struct intel_connector *connector)
+{
+ struct intel_digital_port *intel_dig_port = conn_to_dig_port(connector);
+ const struct intel_hdcp_shim *shim = connector->hdcp_shim;
+ bool capable = false;
+ u8 bksv[5];
+
+ if (!shim)
+ return capable;
+
+ if (shim->hdcp_capable) {
+ shim->hdcp_capable(intel_dig_port, &capable);
+ } else {
+ if (!intel_hdcp_read_valid_bksv(intel_dig_port, shim, bksv))
+ capable = true;
+ }
+
+ return capable;
+}
+
static int intel_hdcp_poll_ksv_fifo(struct intel_digital_port *intel_dig_port,
const struct intel_hdcp_shim *shim)
{
@@ -632,12 +653,6 @@ static int intel_hdcp_auth(struct intel_digital_port *intel_dig_port,
return 0;
}
-static
-struct intel_digital_port *conn_to_dig_port(struct intel_connector *connector)
-{
- return enc_to_dig_port(&intel_attached_encoder(&connector->base)->base);
-}
-
static int _intel_hdcp_disable(struct intel_connector *connector)
{
struct drm_i915_private *dev_priv = connector->base.dev->dev_private;
diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c
index 89d5e3984452..72e8a73dfa1c 100644
--- a/drivers/gpu/drm/i915/intel_hdmi.c
+++ b/drivers/gpu/drm/i915/intel_hdmi.c
@@ -2072,6 +2072,20 @@ static void chv_hdmi_pre_enable(struct intel_encoder *encoder,
chv_phy_release_cl2_override(encoder);
}
+static int
+intel_hdmi_connector_register(struct drm_connector *connector)
+{
+ int ret;
+
+ ret = intel_connector_register(connector);
+ if (ret)
+ return ret;
+
+ i915_debugfs_connector_add(connector);
+
+ return ret;
+}
+
static void intel_hdmi_destroy(struct drm_connector *connector)
{
if (intel_attached_hdmi(connector)->cec_notifier)
@@ -2086,7 +2100,7 @@ static const struct drm_connector_funcs intel_hdmi_connector_funcs = {
.fill_modes = drm_helper_probe_single_connector_modes,
.atomic_get_property = intel_digital_connector_atomic_get_property,
.atomic_set_property = intel_digital_connector_atomic_set_property,
- .late_register = intel_connector_register,
+ .late_register = intel_hdmi_connector_register,
.early_unregister = intel_connector_unregister,
.destroy = intel_hdmi_destroy,
.atomic_destroy_state = drm_atomic_helper_connector_destroy_state,
--
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] 14+ messages in thread
* [PATCH v5 4/4] drm/i915: Move the DDC/AUX failure msgs to debug log
2018-10-23 9:22 [PATCH v5 0/4] Enabling the IGT for HDCP1.4 Ramalingam C
` (2 preceding siblings ...)
2018-10-23 9:22 ` [PATCH v5 3/4] drm/i915/debugfs: hdcp capability of a sink Ramalingam C
@ 2018-10-23 9:22 ` Ramalingam C
2018-10-23 10:41 ` [PATCH v6] " Ramalingam C
2018-10-23 9:37 ` ✗ Fi.CI.CHECKPATCH: warning for Enabling the IGT for HDCP1.4 (rev5) Patchwork
` (4 subsequent siblings)
8 siblings, 1 reply; 14+ messages in thread
From: Ramalingam C @ 2018-10-23 9:22 UTC (permalink / raw)
To: intel-gfx, daniel.vetter
When a HDCP authentication is in progress, if the display sink is
hot unplugged, all DDC/AUX transaction related to the HDCP
authentication will fail.
This patch moves those kind of HDCP DDC/AUX failures into the debug
logs instead of errors.
Signed-off-by: Ramalingam C <ramalingam.c@intel.com>
---
drivers/gpu/drm/i915/intel_dp.c | 25 +++++++++++++------------
drivers/gpu/drm/i915/intel_hdmi.c | 18 +++++++++---------
2 files changed, 22 insertions(+), 21 deletions(-)
diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
index 27377bf8105c..ac13aa3cef91 100644
--- a/drivers/gpu/drm/i915/intel_dp.c
+++ b/drivers/gpu/drm/i915/intel_dp.c
@@ -5347,7 +5347,8 @@ int intel_dp_hdcp_write_an_aksv(struct intel_digital_port *intel_dig_port,
dpcd_ret = drm_dp_dpcd_write(&intel_dig_port->dp.aux, DP_AUX_HDCP_AN,
an, DRM_HDCP_AN_LEN);
if (dpcd_ret != DRM_HDCP_AN_LEN) {
- DRM_ERROR("Failed to write An over DP/AUX (%zd)\n", dpcd_ret);
+ DRM_DEBUG_KMS("Failed to write An over DP/AUX (%zd)\n",
+ dpcd_ret);
return dpcd_ret >= 0 ? -EIO : dpcd_ret;
}
@@ -5363,10 +5364,10 @@ int intel_dp_hdcp_write_an_aksv(struct intel_digital_port *intel_dig_port,
rxbuf, sizeof(rxbuf),
DP_AUX_CH_CTL_AUX_AKSV_SELECT);
if (ret < 0) {
- DRM_ERROR("Write Aksv over DP/AUX failed (%d)\n", ret);
+ DRM_DEBUG_KMS("Write Aksv over DP/AUX failed (%d)\n", ret);
return ret;
} else if (ret == 0) {
- DRM_ERROR("Aksv write over DP/AUX was empty\n");
+ DRM_DEBUG_KMS("Aksv write over DP/AUX was empty\n");
return -EIO;
}
@@ -5381,7 +5382,7 @@ static int intel_dp_hdcp_read_bksv(struct intel_digital_port *intel_dig_port,
ret = drm_dp_dpcd_read(&intel_dig_port->dp.aux, DP_AUX_HDCP_BKSV, bksv,
DRM_HDCP_KSV_LEN);
if (ret != DRM_HDCP_KSV_LEN) {
- DRM_ERROR("Read Bksv from DP/AUX failed (%zd)\n", ret);
+ DRM_DEBUG_KMS("Read Bksv from DP/AUX failed (%zd)\n", ret);
return ret >= 0 ? -EIO : ret;
}
return 0;
@@ -5399,7 +5400,7 @@ static int intel_dp_hdcp_read_bstatus(struct intel_digital_port *intel_dig_port,
ret = drm_dp_dpcd_read(&intel_dig_port->dp.aux, DP_AUX_HDCP_BINFO,
bstatus, DRM_HDCP_BSTATUS_LEN);
if (ret != DRM_HDCP_BSTATUS_LEN) {
- DRM_ERROR("Read bstatus from DP/AUX failed (%zd)\n", ret);
+ DRM_DEBUG_KMS("Read bstatus from DP/AUX failed (%zd)\n", ret);
return ret >= 0 ? -EIO : ret;
}
return 0;
@@ -5414,7 +5415,7 @@ int intel_dp_hdcp_read_bcaps(struct intel_digital_port *intel_dig_port,
ret = drm_dp_dpcd_read(&intel_dig_port->dp.aux, DP_AUX_HDCP_BCAPS,
bcaps, 1);
if (ret != 1) {
- DRM_ERROR("Read bcaps from DP/AUX failed (%zd)\n", ret);
+ DRM_DEBUG_KMS("Read bcaps from DP/AUX failed (%zd)\n", ret);
return ret >= 0 ? -EIO : ret;
}
@@ -5444,7 +5445,7 @@ int intel_dp_hdcp_read_ri_prime(struct intel_digital_port *intel_dig_port,
ret = drm_dp_dpcd_read(&intel_dig_port->dp.aux, DP_AUX_HDCP_RI_PRIME,
ri_prime, DRM_HDCP_RI_LEN);
if (ret != DRM_HDCP_RI_LEN) {
- DRM_ERROR("Read Ri' from DP/AUX failed (%zd)\n", ret);
+ DRM_DEBUG_KMS("Read Ri' from DP/AUX failed (%zd)\n", ret);
return ret >= 0 ? -EIO : ret;
}
return 0;
@@ -5459,7 +5460,7 @@ int intel_dp_hdcp_read_ksv_ready(struct intel_digital_port *intel_dig_port,
ret = drm_dp_dpcd_read(&intel_dig_port->dp.aux, DP_AUX_HDCP_BSTATUS,
&bstatus, 1);
if (ret != 1) {
- DRM_ERROR("Read bstatus from DP/AUX failed (%zd)\n", ret);
+ DRM_DEBUG_KMS("Read bstatus from DP/AUX failed (%zd)\n", ret);
return ret >= 0 ? -EIO : ret;
}
*ksv_ready = bstatus & DP_BSTATUS_READY;
@@ -5481,8 +5482,8 @@ int intel_dp_hdcp_read_ksv_fifo(struct intel_digital_port *intel_dig_port,
ksv_fifo + i * DRM_HDCP_KSV_LEN,
len);
if (ret != len) {
- DRM_ERROR("Read ksv[%d] from DP/AUX failed (%zd)\n", i,
- ret);
+ DRM_DEBUG_KMS("Read ksv[%d] from DP/AUX failed (%zd)\n",
+ i, ret);
return ret >= 0 ? -EIO : ret;
}
}
@@ -5502,7 +5503,7 @@ int intel_dp_hdcp_read_v_prime_part(struct intel_digital_port *intel_dig_port,
DP_AUX_HDCP_V_PRIME(i), part,
DRM_HDCP_V_PRIME_PART_LEN);
if (ret != DRM_HDCP_V_PRIME_PART_LEN) {
- DRM_ERROR("Read v'[%d] from DP/AUX failed (%zd)\n", i, ret);
+ DRM_DEBUG_KMS("Read v'[%d] from DP/AUX failed (%zd)\n", i, ret);
return ret >= 0 ? -EIO : ret;
}
return 0;
@@ -5525,7 +5526,7 @@ bool intel_dp_hdcp_check_link(struct intel_digital_port *intel_dig_port)
ret = drm_dp_dpcd_read(&intel_dig_port->dp.aux, DP_AUX_HDCP_BSTATUS,
&bstatus, 1);
if (ret != 1) {
- DRM_ERROR("Read bstatus from DP/AUX failed (%zd)\n", ret);
+ DRM_DEBUG_KMS("Read bstatus from DP/AUX failed (%zd)\n", ret);
return false;
}
diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c
index 72e8a73dfa1c..d3e653640ce7 100644
--- a/drivers/gpu/drm/i915/intel_hdmi.c
+++ b/drivers/gpu/drm/i915/intel_hdmi.c
@@ -961,13 +961,13 @@ int intel_hdmi_hdcp_write_an_aksv(struct intel_digital_port *intel_dig_port,
ret = intel_hdmi_hdcp_write(intel_dig_port, DRM_HDCP_DDC_AN, an,
DRM_HDCP_AN_LEN);
if (ret) {
- DRM_ERROR("Write An over DDC failed (%d)\n", ret);
+ DRM_DEBUG_KMS("Write An over DDC failed (%d)\n", ret);
return ret;
}
ret = intel_gmbus_output_aksv(adapter);
if (ret < 0) {
- DRM_ERROR("Failed to output aksv (%d)\n", ret);
+ DRM_DEBUG_KMS("Failed to output aksv (%d)\n", ret);
return ret;
}
return 0;
@@ -980,7 +980,7 @@ static int intel_hdmi_hdcp_read_bksv(struct intel_digital_port *intel_dig_port,
ret = intel_hdmi_hdcp_read(intel_dig_port, DRM_HDCP_DDC_BKSV, bksv,
DRM_HDCP_KSV_LEN);
if (ret)
- DRM_ERROR("Read Bksv over DDC failed (%d)\n", ret);
+ DRM_DEBUG_KMS("Read Bksv over DDC failed (%d)\n", ret);
return ret;
}
@@ -992,7 +992,7 @@ int intel_hdmi_hdcp_read_bstatus(struct intel_digital_port *intel_dig_port,
ret = intel_hdmi_hdcp_read(intel_dig_port, DRM_HDCP_DDC_BSTATUS,
bstatus, DRM_HDCP_BSTATUS_LEN);
if (ret)
- DRM_ERROR("Read bstatus over DDC failed (%d)\n", ret);
+ DRM_DEBUG_KMS("Read bstatus over DDC failed (%d)\n", ret);
return ret;
}
@@ -1005,7 +1005,7 @@ int intel_hdmi_hdcp_repeater_present(struct intel_digital_port *intel_dig_port,
ret = intel_hdmi_hdcp_read(intel_dig_port, DRM_HDCP_DDC_BCAPS, &val, 1);
if (ret) {
- DRM_ERROR("Read bcaps over DDC failed (%d)\n", ret);
+ DRM_DEBUG_KMS("Read bcaps over DDC failed (%d)\n", ret);
return ret;
}
*repeater_present = val & DRM_HDCP_DDC_BCAPS_REPEATER_PRESENT;
@@ -1020,7 +1020,7 @@ int intel_hdmi_hdcp_read_ri_prime(struct intel_digital_port *intel_dig_port,
ret = intel_hdmi_hdcp_read(intel_dig_port, DRM_HDCP_DDC_RI_PRIME,
ri_prime, DRM_HDCP_RI_LEN);
if (ret)
- DRM_ERROR("Read Ri' over DDC failed (%d)\n", ret);
+ DRM_DEBUG_KMS("Read Ri' over DDC failed (%d)\n", ret);
return ret;
}
@@ -1033,7 +1033,7 @@ int intel_hdmi_hdcp_read_ksv_ready(struct intel_digital_port *intel_dig_port,
ret = intel_hdmi_hdcp_read(intel_dig_port, DRM_HDCP_DDC_BCAPS, &val, 1);
if (ret) {
- DRM_ERROR("Read bcaps over DDC failed (%d)\n", ret);
+ DRM_DEBUG_KMS("Read bcaps over DDC failed (%d)\n", ret);
return ret;
}
*ksv_ready = val & DRM_HDCP_DDC_BCAPS_KSV_FIFO_READY;
@@ -1048,7 +1048,7 @@ int intel_hdmi_hdcp_read_ksv_fifo(struct intel_digital_port *intel_dig_port,
ret = intel_hdmi_hdcp_read(intel_dig_port, DRM_HDCP_DDC_KSV_FIFO,
ksv_fifo, num_downstream * DRM_HDCP_KSV_LEN);
if (ret) {
- DRM_ERROR("Read ksv fifo over DDC failed (%d)\n", ret);
+ DRM_DEBUG_KMS("Read ksv fifo over DDC failed (%d)\n", ret);
return ret;
}
return 0;
@@ -1066,7 +1066,7 @@ int intel_hdmi_hdcp_read_v_prime_part(struct intel_digital_port *intel_dig_port,
ret = intel_hdmi_hdcp_read(intel_dig_port, DRM_HDCP_DDC_V_PRIME(i),
part, DRM_HDCP_V_PRIME_PART_LEN);
if (ret)
- DRM_ERROR("Read V'[%d] over DDC failed (%d)\n", i, ret);
+ DRM_DEBUG_KMS("Read V'[%d] over DDC failed (%d)\n", i, ret);
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] 14+ messages in thread
* ✗ Fi.CI.CHECKPATCH: warning for Enabling the IGT for HDCP1.4 (rev5)
2018-10-23 9:22 [PATCH v5 0/4] Enabling the IGT for HDCP1.4 Ramalingam C
` (3 preceding siblings ...)
2018-10-23 9:22 ` [PATCH v5 4/4] drm/i915: Move the DDC/AUX failure msgs to debug log Ramalingam C
@ 2018-10-23 9:37 ` Patchwork
2018-10-23 10:02 ` ✗ Fi.CI.BAT: failure " Patchwork
` (3 subsequent siblings)
8 siblings, 0 replies; 14+ messages in thread
From: Patchwork @ 2018-10-23 9:37 UTC (permalink / raw)
To: Ramalingam C; +Cc: intel-gfx
== Series Details ==
Series: Enabling the IGT for HDCP1.4 (rev5)
URL : https://patchwork.freedesktop.org/series/51113/
State : warning
== Summary ==
$ dim checkpatch origin/drm-tip
d9e796262c20 drm/i915: Pullout the bksv read and validation
9fa115201d78 drm/i915: hdcp_check_link only on CP_IRQ
5ca4b15ca5b6 drm/i915/debugfs: hdcp capability of a sink
-:54: WARNING:SYMBOLIC_PERMS: Symbolic permissions 'S_IRUGO' are not preferred. Consider using octal permissions '0444'.
#54: FILE: drivers/gpu/drm/i915/i915_debugfs.c:5034:
+ debugfs_create_file("i915_hdcp_sink_capability", S_IRUGO, root,
total: 0 errors, 1 warnings, 0 checks, 126 lines checked
54c832200d20 drm/i915: Move the DDC/AUX failure msgs to debug log
_______________________________________________
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
* ✗ Fi.CI.BAT: failure for Enabling the IGT for HDCP1.4 (rev5)
2018-10-23 9:22 [PATCH v5 0/4] Enabling the IGT for HDCP1.4 Ramalingam C
` (4 preceding siblings ...)
2018-10-23 9:37 ` ✗ Fi.CI.CHECKPATCH: warning for Enabling the IGT for HDCP1.4 (rev5) Patchwork
@ 2018-10-23 10:02 ` Patchwork
2018-10-23 11:17 ` ✗ Fi.CI.CHECKPATCH: warning for Enabling the IGT for HDCP1.4 (rev6) Patchwork
` (2 subsequent siblings)
8 siblings, 0 replies; 14+ messages in thread
From: Patchwork @ 2018-10-23 10:02 UTC (permalink / raw)
To: Ramalingam C; +Cc: intel-gfx
== Series Details ==
Series: Enabling the IGT for HDCP1.4 (rev5)
URL : https://patchwork.freedesktop.org/series/51113/
State : failure
== Summary ==
= CI Bug Log - changes from CI_DRM_5020 -> Patchwork_10539 =
== Summary - FAILURE ==
Serious unknown changes coming with Patchwork_10539 absolutely need to be
verified manually.
If you think the reported changes have nothing to do with the changes
introduced in Patchwork_10539, please notify your bug team to allow them
to document this new failure mode, which will reduce false positives in CI.
External URL: https://patchwork.freedesktop.org/api/1.0/series/51113/revisions/5/mbox/
== Possible new issues ==
Here are the unknown changes that may have been introduced in Patchwork_10539:
=== IGT changes ===
==== Possible regressions ====
igt@debugfs_test@read_all_entries:
fi-bdw-gvtdvm: PASS -> DMESG-WARN
igt@drv_selftest@live_execlists:
fi-apl-guc: PASS -> DMESG-WARN
== Known issues ==
Here are the changes found in Patchwork_10539 that come from known issues:
=== IGT changes ===
==== Issues hit ====
igt@gem_exec_suspend@basic-s4-devices:
fi-kbl-7500u: PASS -> DMESG-WARN (fdo#105128, fdo#107139)
==== Possible fixes ====
igt@kms_frontbuffer_tracking@basic:
fi-hsw-peppy: DMESG-WARN (fdo#102614) -> PASS
igt@kms_pipe_crc_basic@suspend-read-crc-pipe-b:
fi-byt-clapper: FAIL (fdo#107362, fdo#103191) -> PASS +1
fi-blb-e6850: INCOMPLETE (fdo#107718) -> PASS
igt@prime_vgem@basic-fence-flip:
fi-cfl-8700k: FAIL (fdo#104008) -> PASS
fdo#102614 https://bugs.freedesktop.org/show_bug.cgi?id=102614
fdo#103191 https://bugs.freedesktop.org/show_bug.cgi?id=103191
fdo#104008 https://bugs.freedesktop.org/show_bug.cgi?id=104008
fdo#105128 https://bugs.freedesktop.org/show_bug.cgi?id=105128
fdo#107139 https://bugs.freedesktop.org/show_bug.cgi?id=107139
fdo#107362 https://bugs.freedesktop.org/show_bug.cgi?id=107362
fdo#107718 https://bugs.freedesktop.org/show_bug.cgi?id=107718
== Participating hosts (47 -> 43) ==
Additional (1): fi-icl-u
Missing (5): fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-bsw-cyan fi-ctg-p8600
== Build changes ==
* Linux: CI_DRM_5020 -> Patchwork_10539
CI_DRM_5020: 95151c25e0433a2fe771b8bc272f3f8fb54a7e27 @ git://anongit.freedesktop.org/gfx-ci/linux
IGT_4686: 741bf7064c467df725c14cc0b3b8b50436f9ee09 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
Patchwork_10539: 54c832200d201d353dfff24da6f7f987f8d023ac @ git://anongit.freedesktop.org/gfx-ci/linux
== Linux commits ==
54c832200d20 drm/i915: Move the DDC/AUX failure msgs to debug log
5ca4b15ca5b6 drm/i915/debugfs: hdcp capability of a sink
9fa115201d78 drm/i915: hdcp_check_link only on CP_IRQ
d9e796262c20 drm/i915: Pullout the bksv read and validation
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_10539/issues.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
* [PATCH v6] drm/i915: Move the DDC/AUX failure msgs to debug log
2018-10-23 9:22 ` [PATCH v5 4/4] drm/i915: Move the DDC/AUX failure msgs to debug log Ramalingam C
@ 2018-10-23 10:41 ` Ramalingam C
2018-10-23 14:05 ` Daniel Vetter
0 siblings, 1 reply; 14+ messages in thread
From: Ramalingam C @ 2018-10-23 10:41 UTC (permalink / raw)
To: daniel.vetter, intel-gfx
When a HDCP authentication is in progress, if the display sink is
hot unplugged, all DDC/AUX transaction related to the HDCP
authentication will fail.
This patch moves those kind of HDCP DDC/AUX failures into the debug
logs instead of errors.
v2:
Bksv invalid state is provided as debug msg
Signed-off-by: Ramalingam C <ramalingam.c@intel.com>
---
drivers/gpu/drm/i915/intel_dp.c | 25 +++++++++++++------------
drivers/gpu/drm/i915/intel_hdcp.c | 2 +-
drivers/gpu/drm/i915/intel_hdmi.c | 18 +++++++++---------
3 files changed, 23 insertions(+), 22 deletions(-)
diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
index 27377bf8105c..ac13aa3cef91 100644
--- a/drivers/gpu/drm/i915/intel_dp.c
+++ b/drivers/gpu/drm/i915/intel_dp.c
@@ -5347,7 +5347,8 @@ int intel_dp_hdcp_write_an_aksv(struct intel_digital_port *intel_dig_port,
dpcd_ret = drm_dp_dpcd_write(&intel_dig_port->dp.aux, DP_AUX_HDCP_AN,
an, DRM_HDCP_AN_LEN);
if (dpcd_ret != DRM_HDCP_AN_LEN) {
- DRM_ERROR("Failed to write An over DP/AUX (%zd)\n", dpcd_ret);
+ DRM_DEBUG_KMS("Failed to write An over DP/AUX (%zd)\n",
+ dpcd_ret);
return dpcd_ret >= 0 ? -EIO : dpcd_ret;
}
@@ -5363,10 +5364,10 @@ int intel_dp_hdcp_write_an_aksv(struct intel_digital_port *intel_dig_port,
rxbuf, sizeof(rxbuf),
DP_AUX_CH_CTL_AUX_AKSV_SELECT);
if (ret < 0) {
- DRM_ERROR("Write Aksv over DP/AUX failed (%d)\n", ret);
+ DRM_DEBUG_KMS("Write Aksv over DP/AUX failed (%d)\n", ret);
return ret;
} else if (ret == 0) {
- DRM_ERROR("Aksv write over DP/AUX was empty\n");
+ DRM_DEBUG_KMS("Aksv write over DP/AUX was empty\n");
return -EIO;
}
@@ -5381,7 +5382,7 @@ static int intel_dp_hdcp_read_bksv(struct intel_digital_port *intel_dig_port,
ret = drm_dp_dpcd_read(&intel_dig_port->dp.aux, DP_AUX_HDCP_BKSV, bksv,
DRM_HDCP_KSV_LEN);
if (ret != DRM_HDCP_KSV_LEN) {
- DRM_ERROR("Read Bksv from DP/AUX failed (%zd)\n", ret);
+ DRM_DEBUG_KMS("Read Bksv from DP/AUX failed (%zd)\n", ret);
return ret >= 0 ? -EIO : ret;
}
return 0;
@@ -5399,7 +5400,7 @@ static int intel_dp_hdcp_read_bstatus(struct intel_digital_port *intel_dig_port,
ret = drm_dp_dpcd_read(&intel_dig_port->dp.aux, DP_AUX_HDCP_BINFO,
bstatus, DRM_HDCP_BSTATUS_LEN);
if (ret != DRM_HDCP_BSTATUS_LEN) {
- DRM_ERROR("Read bstatus from DP/AUX failed (%zd)\n", ret);
+ DRM_DEBUG_KMS("Read bstatus from DP/AUX failed (%zd)\n", ret);
return ret >= 0 ? -EIO : ret;
}
return 0;
@@ -5414,7 +5415,7 @@ int intel_dp_hdcp_read_bcaps(struct intel_digital_port *intel_dig_port,
ret = drm_dp_dpcd_read(&intel_dig_port->dp.aux, DP_AUX_HDCP_BCAPS,
bcaps, 1);
if (ret != 1) {
- DRM_ERROR("Read bcaps from DP/AUX failed (%zd)\n", ret);
+ DRM_DEBUG_KMS("Read bcaps from DP/AUX failed (%zd)\n", ret);
return ret >= 0 ? -EIO : ret;
}
@@ -5444,7 +5445,7 @@ int intel_dp_hdcp_read_ri_prime(struct intel_digital_port *intel_dig_port,
ret = drm_dp_dpcd_read(&intel_dig_port->dp.aux, DP_AUX_HDCP_RI_PRIME,
ri_prime, DRM_HDCP_RI_LEN);
if (ret != DRM_HDCP_RI_LEN) {
- DRM_ERROR("Read Ri' from DP/AUX failed (%zd)\n", ret);
+ DRM_DEBUG_KMS("Read Ri' from DP/AUX failed (%zd)\n", ret);
return ret >= 0 ? -EIO : ret;
}
return 0;
@@ -5459,7 +5460,7 @@ int intel_dp_hdcp_read_ksv_ready(struct intel_digital_port *intel_dig_port,
ret = drm_dp_dpcd_read(&intel_dig_port->dp.aux, DP_AUX_HDCP_BSTATUS,
&bstatus, 1);
if (ret != 1) {
- DRM_ERROR("Read bstatus from DP/AUX failed (%zd)\n", ret);
+ DRM_DEBUG_KMS("Read bstatus from DP/AUX failed (%zd)\n", ret);
return ret >= 0 ? -EIO : ret;
}
*ksv_ready = bstatus & DP_BSTATUS_READY;
@@ -5481,8 +5482,8 @@ int intel_dp_hdcp_read_ksv_fifo(struct intel_digital_port *intel_dig_port,
ksv_fifo + i * DRM_HDCP_KSV_LEN,
len);
if (ret != len) {
- DRM_ERROR("Read ksv[%d] from DP/AUX failed (%zd)\n", i,
- ret);
+ DRM_DEBUG_KMS("Read ksv[%d] from DP/AUX failed (%zd)\n",
+ i, ret);
return ret >= 0 ? -EIO : ret;
}
}
@@ -5502,7 +5503,7 @@ int intel_dp_hdcp_read_v_prime_part(struct intel_digital_port *intel_dig_port,
DP_AUX_HDCP_V_PRIME(i), part,
DRM_HDCP_V_PRIME_PART_LEN);
if (ret != DRM_HDCP_V_PRIME_PART_LEN) {
- DRM_ERROR("Read v'[%d] from DP/AUX failed (%zd)\n", i, ret);
+ DRM_DEBUG_KMS("Read v'[%d] from DP/AUX failed (%zd)\n", i, ret);
return ret >= 0 ? -EIO : ret;
}
return 0;
@@ -5525,7 +5526,7 @@ bool intel_dp_hdcp_check_link(struct intel_digital_port *intel_dig_port)
ret = drm_dp_dpcd_read(&intel_dig_port->dp.aux, DP_AUX_HDCP_BSTATUS,
&bstatus, 1);
if (ret != 1) {
- DRM_ERROR("Read bstatus from DP/AUX failed (%zd)\n", ret);
+ DRM_DEBUG_KMS("Read bstatus from DP/AUX failed (%zd)\n", ret);
return false;
}
diff --git a/drivers/gpu/drm/i915/intel_hdcp.c b/drivers/gpu/drm/i915/intel_hdcp.c
index 283b45636668..5b423a78518d 100644
--- a/drivers/gpu/drm/i915/intel_hdcp.c
+++ b/drivers/gpu/drm/i915/intel_hdcp.c
@@ -44,7 +44,7 @@ int intel_hdcp_read_valid_bksv(struct intel_digital_port *intel_dig_port,
break;
}
if (i == tries) {
- DRM_ERROR("Bksv is invalid\n");
+ DRM_DEBUG_KMS("Bksv is invalid\n");
return -ENODEV;
}
diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c
index 72e8a73dfa1c..d3e653640ce7 100644
--- a/drivers/gpu/drm/i915/intel_hdmi.c
+++ b/drivers/gpu/drm/i915/intel_hdmi.c
@@ -961,13 +961,13 @@ int intel_hdmi_hdcp_write_an_aksv(struct intel_digital_port *intel_dig_port,
ret = intel_hdmi_hdcp_write(intel_dig_port, DRM_HDCP_DDC_AN, an,
DRM_HDCP_AN_LEN);
if (ret) {
- DRM_ERROR("Write An over DDC failed (%d)\n", ret);
+ DRM_DEBUG_KMS("Write An over DDC failed (%d)\n", ret);
return ret;
}
ret = intel_gmbus_output_aksv(adapter);
if (ret < 0) {
- DRM_ERROR("Failed to output aksv (%d)\n", ret);
+ DRM_DEBUG_KMS("Failed to output aksv (%d)\n", ret);
return ret;
}
return 0;
@@ -980,7 +980,7 @@ static int intel_hdmi_hdcp_read_bksv(struct intel_digital_port *intel_dig_port,
ret = intel_hdmi_hdcp_read(intel_dig_port, DRM_HDCP_DDC_BKSV, bksv,
DRM_HDCP_KSV_LEN);
if (ret)
- DRM_ERROR("Read Bksv over DDC failed (%d)\n", ret);
+ DRM_DEBUG_KMS("Read Bksv over DDC failed (%d)\n", ret);
return ret;
}
@@ -992,7 +992,7 @@ int intel_hdmi_hdcp_read_bstatus(struct intel_digital_port *intel_dig_port,
ret = intel_hdmi_hdcp_read(intel_dig_port, DRM_HDCP_DDC_BSTATUS,
bstatus, DRM_HDCP_BSTATUS_LEN);
if (ret)
- DRM_ERROR("Read bstatus over DDC failed (%d)\n", ret);
+ DRM_DEBUG_KMS("Read bstatus over DDC failed (%d)\n", ret);
return ret;
}
@@ -1005,7 +1005,7 @@ int intel_hdmi_hdcp_repeater_present(struct intel_digital_port *intel_dig_port,
ret = intel_hdmi_hdcp_read(intel_dig_port, DRM_HDCP_DDC_BCAPS, &val, 1);
if (ret) {
- DRM_ERROR("Read bcaps over DDC failed (%d)\n", ret);
+ DRM_DEBUG_KMS("Read bcaps over DDC failed (%d)\n", ret);
return ret;
}
*repeater_present = val & DRM_HDCP_DDC_BCAPS_REPEATER_PRESENT;
@@ -1020,7 +1020,7 @@ int intel_hdmi_hdcp_read_ri_prime(struct intel_digital_port *intel_dig_port,
ret = intel_hdmi_hdcp_read(intel_dig_port, DRM_HDCP_DDC_RI_PRIME,
ri_prime, DRM_HDCP_RI_LEN);
if (ret)
- DRM_ERROR("Read Ri' over DDC failed (%d)\n", ret);
+ DRM_DEBUG_KMS("Read Ri' over DDC failed (%d)\n", ret);
return ret;
}
@@ -1033,7 +1033,7 @@ int intel_hdmi_hdcp_read_ksv_ready(struct intel_digital_port *intel_dig_port,
ret = intel_hdmi_hdcp_read(intel_dig_port, DRM_HDCP_DDC_BCAPS, &val, 1);
if (ret) {
- DRM_ERROR("Read bcaps over DDC failed (%d)\n", ret);
+ DRM_DEBUG_KMS("Read bcaps over DDC failed (%d)\n", ret);
return ret;
}
*ksv_ready = val & DRM_HDCP_DDC_BCAPS_KSV_FIFO_READY;
@@ -1048,7 +1048,7 @@ int intel_hdmi_hdcp_read_ksv_fifo(struct intel_digital_port *intel_dig_port,
ret = intel_hdmi_hdcp_read(intel_dig_port, DRM_HDCP_DDC_KSV_FIFO,
ksv_fifo, num_downstream * DRM_HDCP_KSV_LEN);
if (ret) {
- DRM_ERROR("Read ksv fifo over DDC failed (%d)\n", ret);
+ DRM_DEBUG_KMS("Read ksv fifo over DDC failed (%d)\n", ret);
return ret;
}
return 0;
@@ -1066,7 +1066,7 @@ int intel_hdmi_hdcp_read_v_prime_part(struct intel_digital_port *intel_dig_port,
ret = intel_hdmi_hdcp_read(intel_dig_port, DRM_HDCP_DDC_V_PRIME(i),
part, DRM_HDCP_V_PRIME_PART_LEN);
if (ret)
- DRM_ERROR("Read V'[%d] over DDC failed (%d)\n", i, ret);
+ DRM_DEBUG_KMS("Read V'[%d] over DDC failed (%d)\n", i, ret);
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] 14+ messages in thread
* ✗ Fi.CI.CHECKPATCH: warning for Enabling the IGT for HDCP1.4 (rev6)
2018-10-23 9:22 [PATCH v5 0/4] Enabling the IGT for HDCP1.4 Ramalingam C
` (5 preceding siblings ...)
2018-10-23 10:02 ` ✗ Fi.CI.BAT: failure " Patchwork
@ 2018-10-23 11:17 ` Patchwork
2018-10-23 11:39 ` ✓ Fi.CI.BAT: success " Patchwork
2018-10-23 14:07 ` ✗ Fi.CI.IGT: failure " Patchwork
8 siblings, 0 replies; 14+ messages in thread
From: Patchwork @ 2018-10-23 11:17 UTC (permalink / raw)
To: Ramalingam C; +Cc: intel-gfx
== Series Details ==
Series: Enabling the IGT for HDCP1.4 (rev6)
URL : https://patchwork.freedesktop.org/series/51113/
State : warning
== Summary ==
$ dim checkpatch origin/drm-tip
c3c2b2c2adde drm/i915: Pullout the bksv read and validation
a19f5d9b3ed9 drm/i915: hdcp_check_link only on CP_IRQ
91f4c1759328 drm/i915/debugfs: hdcp capability of a sink
-:54: WARNING:SYMBOLIC_PERMS: Symbolic permissions 'S_IRUGO' are not preferred. Consider using octal permissions '0444'.
#54: FILE: drivers/gpu/drm/i915/i915_debugfs.c:5034:
+ debugfs_create_file("i915_hdcp_sink_capability", S_IRUGO, root,
total: 0 errors, 1 warnings, 0 checks, 126 lines checked
9153e6ff86f1 drm/i915: Move the DDC/AUX failure msgs to debug log
_______________________________________________
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
* ✓ Fi.CI.BAT: success for Enabling the IGT for HDCP1.4 (rev6)
2018-10-23 9:22 [PATCH v5 0/4] Enabling the IGT for HDCP1.4 Ramalingam C
` (6 preceding siblings ...)
2018-10-23 11:17 ` ✗ Fi.CI.CHECKPATCH: warning for Enabling the IGT for HDCP1.4 (rev6) Patchwork
@ 2018-10-23 11:39 ` Patchwork
2018-10-23 14:07 ` ✗ Fi.CI.IGT: failure " Patchwork
8 siblings, 0 replies; 14+ messages in thread
From: Patchwork @ 2018-10-23 11:39 UTC (permalink / raw)
To: Ramalingam C; +Cc: intel-gfx
== Series Details ==
Series: Enabling the IGT for HDCP1.4 (rev6)
URL : https://patchwork.freedesktop.org/series/51113/
State : success
== Summary ==
= CI Bug Log - changes from CI_DRM_5020 -> Patchwork_10542 =
== Summary - SUCCESS ==
No regressions found.
External URL: https://patchwork.freedesktop.org/api/1.0/series/51113/revisions/6/mbox/
== Known issues ==
Here are the changes found in Patchwork_10542 that come from known issues:
=== IGT changes ===
==== Issues hit ====
igt@gem_exec_suspend@basic-s3:
fi-kbl-soraka: NOTRUN -> INCOMPLETE (fdo#107556, fdo#107774, fdo#107859)
igt@kms_pipe_crc_basic@nonblocking-crc-pipe-a:
fi-byt-clapper: PASS -> FAIL (fdo#107362)
==== Possible fixes ====
igt@kms_frontbuffer_tracking@basic:
fi-hsw-peppy: DMESG-WARN (fdo#102614) -> PASS
igt@kms_pipe_crc_basic@suspend-read-crc-pipe-b:
fi-byt-clapper: FAIL (fdo#103191, fdo#107362) -> PASS +1
fi-blb-e6850: INCOMPLETE (fdo#107718) -> PASS
igt@prime_vgem@basic-fence-flip:
fi-cfl-8700k: FAIL (fdo#104008) -> PASS
fdo#102614 https://bugs.freedesktop.org/show_bug.cgi?id=102614
fdo#103191 https://bugs.freedesktop.org/show_bug.cgi?id=103191
fdo#104008 https://bugs.freedesktop.org/show_bug.cgi?id=104008
fdo#107362 https://bugs.freedesktop.org/show_bug.cgi?id=107362
fdo#107556 https://bugs.freedesktop.org/show_bug.cgi?id=107556
fdo#107718 https://bugs.freedesktop.org/show_bug.cgi?id=107718
fdo#107774 https://bugs.freedesktop.org/show_bug.cgi?id=107774
fdo#107859 https://bugs.freedesktop.org/show_bug.cgi?id=107859
== Participating hosts (47 -> 45) ==
Additional (3): fi-kbl-soraka fi-icl-u fi-cfl-8109u
Missing (5): fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-bsw-cyan fi-ctg-p8600
== Build changes ==
* Linux: CI_DRM_5020 -> Patchwork_10542
CI_DRM_5020: 95151c25e0433a2fe771b8bc272f3f8fb54a7e27 @ git://anongit.freedesktop.org/gfx-ci/linux
IGT_4686: 741bf7064c467df725c14cc0b3b8b50436f9ee09 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
Patchwork_10542: 9153e6ff86f14e84ef9b9e5aae8103c407e606f1 @ git://anongit.freedesktop.org/gfx-ci/linux
== Linux commits ==
9153e6ff86f1 drm/i915: Move the DDC/AUX failure msgs to debug log
91f4c1759328 drm/i915/debugfs: hdcp capability of a sink
a19f5d9b3ed9 drm/i915: hdcp_check_link only on CP_IRQ
c3c2b2c2adde drm/i915: Pullout the bksv read and validation
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_10542/issues.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: [PATCH v5 3/4] drm/i915/debugfs: hdcp capability of a sink
2018-10-23 9:22 ` [PATCH v5 3/4] drm/i915/debugfs: hdcp capability of a sink Ramalingam C
@ 2018-10-23 14:04 ` Daniel Vetter
0 siblings, 0 replies; 14+ messages in thread
From: Daniel Vetter @ 2018-10-23 14:04 UTC (permalink / raw)
To: Ramalingam C; +Cc: daniel.vetter, intel-gfx
On Tue, Oct 23, 2018 at 02:52:29PM +0530, Ramalingam C wrote:
> Add a debugfs entry for providing the hdcp capabilities of the sink
> connected to the HDCP capable connectors.
>
> v2:
> Squashed the sink's hdcp capability into this patch. [Daniel]
>
> Signed-off-by: Ramalingam C <ramalingam.c@intel.com>
Yeah lgtm. Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
> ---
> drivers/gpu/drm/i915/i915_debugfs.c | 29 +++++++++++++++++++++++++++++
> drivers/gpu/drm/i915/intel_drv.h | 7 +++++++
> drivers/gpu/drm/i915/intel_hdcp.c | 27 +++++++++++++++++++++------
> drivers/gpu/drm/i915/intel_hdmi.c | 16 +++++++++++++++-
> 4 files changed, 72 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
> index 5f3c639522fa..6d09af66da0f 100644
> --- a/drivers/gpu/drm/i915/i915_debugfs.c
> +++ b/drivers/gpu/drm/i915/i915_debugfs.c
> @@ -4946,6 +4946,28 @@ static int i915_panel_show(struct seq_file *m, void *data)
> }
> DEFINE_SHOW_ATTRIBUTE(i915_panel);
>
> +static int i915_hdcp_sink_capability_show(struct seq_file *m, void *data)
> +{
> + struct drm_connector *connector = m->private;
> + struct intel_connector *intel_connector = to_intel_connector(connector);
> +
> + if (connector->status != connector_status_connected)
> + return -ENODEV;
> +
> + /* HDCP is supported by connector */
> + if (!intel_connector->hdcp_shim)
> + return -EINVAL;
> +
> + seq_printf(m, "%s:%d HDCP version: ", connector->name,
> + connector->base.id);
> + seq_printf(m, "%s ", !intel_hdcp_capable(intel_connector) ?
> + "None" : "HDCP1.4");
> + seq_puts(m, "\n");
> +
> + return 0;
> +}
> +DEFINE_SHOW_ATTRIBUTE(i915_hdcp_sink_capability);
> +
> /**
> * i915_debugfs_connector_add - add i915 specific connector debugfs files
> * @connector: pointer to a registered drm_connector
> @@ -4975,5 +4997,12 @@ int i915_debugfs_connector_add(struct drm_connector *connector)
> connector, &i915_psr_sink_status_fops);
> }
>
> + if (connector->connector_type == DRM_MODE_CONNECTOR_DisplayPort ||
> + connector->connector_type == DRM_MODE_CONNECTOR_HDMIA ||
> + connector->connector_type == DRM_MODE_CONNECTOR_HDMIB) {
> + debugfs_create_file("i915_hdcp_sink_capability", S_IRUGO, root,
> + connector, &i915_hdcp_sink_capability_fops);
> + }
> +
> return 0;
> }
> diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h
> index b2ca9f278b36..249bb9d1b5d0 100644
> --- a/drivers/gpu/drm/i915/intel_drv.h
> +++ b/drivers/gpu/drm/i915/intel_drv.h
> @@ -1296,6 +1296,12 @@ enc_to_dig_port(struct drm_encoder *encoder)
> return NULL;
> }
>
> +static inline struct intel_digital_port *
> +conn_to_dig_port(struct intel_connector *connector)
> +{
> + return enc_to_dig_port(&intel_attached_encoder(&connector->base)->base);
> +}
> +
> static inline struct intel_dp_mst_encoder *
> enc_to_mst(struct drm_encoder *encoder)
> {
> @@ -1956,6 +1962,7 @@ int intel_hdcp_enable(struct intel_connector *connector);
> int intel_hdcp_disable(struct intel_connector *connector);
> int intel_hdcp_check_link(struct intel_connector *connector);
> bool is_hdcp_supported(struct drm_i915_private *dev_priv, enum port port);
> +bool intel_hdcp_capable(struct intel_connector *connector);
>
> /* intel_psr.c */
> #define CAN_PSR(dev_priv) (HAS_PSR(dev_priv) && dev_priv->psr.sink_support)
> diff --git a/drivers/gpu/drm/i915/intel_hdcp.c b/drivers/gpu/drm/i915/intel_hdcp.c
> index 20908ff018e6..283b45636668 100644
> --- a/drivers/gpu/drm/i915/intel_hdcp.c
> +++ b/drivers/gpu/drm/i915/intel_hdcp.c
> @@ -51,6 +51,27 @@ int intel_hdcp_read_valid_bksv(struct intel_digital_port *intel_dig_port,
> return 0;
> }
>
> +/* Is HDCP1.4 capable on Platform and Sink */
> +bool intel_hdcp_capable(struct intel_connector *connector)
> +{
> + struct intel_digital_port *intel_dig_port = conn_to_dig_port(connector);
> + const struct intel_hdcp_shim *shim = connector->hdcp_shim;
> + bool capable = false;
> + u8 bksv[5];
> +
> + if (!shim)
> + return capable;
> +
> + if (shim->hdcp_capable) {
> + shim->hdcp_capable(intel_dig_port, &capable);
> + } else {
> + if (!intel_hdcp_read_valid_bksv(intel_dig_port, shim, bksv))
> + capable = true;
> + }
> +
> + return capable;
> +}
> +
> static int intel_hdcp_poll_ksv_fifo(struct intel_digital_port *intel_dig_port,
> const struct intel_hdcp_shim *shim)
> {
> @@ -632,12 +653,6 @@ static int intel_hdcp_auth(struct intel_digital_port *intel_dig_port,
> return 0;
> }
>
> -static
> -struct intel_digital_port *conn_to_dig_port(struct intel_connector *connector)
> -{
> - return enc_to_dig_port(&intel_attached_encoder(&connector->base)->base);
> -}
> -
> static int _intel_hdcp_disable(struct intel_connector *connector)
> {
> struct drm_i915_private *dev_priv = connector->base.dev->dev_private;
> diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c
> index 89d5e3984452..72e8a73dfa1c 100644
> --- a/drivers/gpu/drm/i915/intel_hdmi.c
> +++ b/drivers/gpu/drm/i915/intel_hdmi.c
> @@ -2072,6 +2072,20 @@ static void chv_hdmi_pre_enable(struct intel_encoder *encoder,
> chv_phy_release_cl2_override(encoder);
> }
>
> +static int
> +intel_hdmi_connector_register(struct drm_connector *connector)
> +{
> + int ret;
> +
> + ret = intel_connector_register(connector);
> + if (ret)
> + return ret;
> +
> + i915_debugfs_connector_add(connector);
> +
> + return ret;
> +}
> +
> static void intel_hdmi_destroy(struct drm_connector *connector)
> {
> if (intel_attached_hdmi(connector)->cec_notifier)
> @@ -2086,7 +2100,7 @@ static const struct drm_connector_funcs intel_hdmi_connector_funcs = {
> .fill_modes = drm_helper_probe_single_connector_modes,
> .atomic_get_property = intel_digital_connector_atomic_get_property,
> .atomic_set_property = intel_digital_connector_atomic_set_property,
> - .late_register = intel_connector_register,
> + .late_register = intel_hdmi_connector_register,
> .early_unregister = intel_connector_unregister,
> .destroy = intel_hdmi_destroy,
> .atomic_destroy_state = drm_atomic_helper_connector_destroy_state,
> --
> 2.7.4
>
--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
_______________________________________________
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: [PATCH v6] drm/i915: Move the DDC/AUX failure msgs to debug log
2018-10-23 10:41 ` [PATCH v6] " Ramalingam C
@ 2018-10-23 14:05 ` Daniel Vetter
2018-10-24 7:34 ` Daniel Vetter
0 siblings, 1 reply; 14+ messages in thread
From: Daniel Vetter @ 2018-10-23 14:05 UTC (permalink / raw)
To: Ramalingam C; +Cc: daniel.vetter, intel-gfx
On Tue, Oct 23, 2018 at 04:11:28PM +0530, Ramalingam C wrote:
> When a HDCP authentication is in progress, if the display sink is
> hot unplugged, all DDC/AUX transaction related to the HDCP
> authentication will fail.
>
> This patch moves those kind of HDCP DDC/AUX failures into the debug
> logs instead of errors.
>
> v2:
> Bksv invalid state is provided as debug msg
>
> Signed-off-by: Ramalingam C <ramalingam.c@intel.com>
For the record, summary of our irc discussion:
Anything the user (e.g. hotplug while hdcp code is running by yanking the
cable) or userspace (e.g. through invalid ioctl parameters) can provoke to
happen must use DRM_DEBUG_* instead of DRM_ERROR. DRM_ERROR is truly only
for the impossible stuff (hw bugs, kernel driver bugs, that kind of
stuff).
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
> ---
> drivers/gpu/drm/i915/intel_dp.c | 25 +++++++++++++------------
> drivers/gpu/drm/i915/intel_hdcp.c | 2 +-
> drivers/gpu/drm/i915/intel_hdmi.c | 18 +++++++++---------
> 3 files changed, 23 insertions(+), 22 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
> index 27377bf8105c..ac13aa3cef91 100644
> --- a/drivers/gpu/drm/i915/intel_dp.c
> +++ b/drivers/gpu/drm/i915/intel_dp.c
> @@ -5347,7 +5347,8 @@ int intel_dp_hdcp_write_an_aksv(struct intel_digital_port *intel_dig_port,
> dpcd_ret = drm_dp_dpcd_write(&intel_dig_port->dp.aux, DP_AUX_HDCP_AN,
> an, DRM_HDCP_AN_LEN);
> if (dpcd_ret != DRM_HDCP_AN_LEN) {
> - DRM_ERROR("Failed to write An over DP/AUX (%zd)\n", dpcd_ret);
> + DRM_DEBUG_KMS("Failed to write An over DP/AUX (%zd)\n",
> + dpcd_ret);
> return dpcd_ret >= 0 ? -EIO : dpcd_ret;
> }
>
> @@ -5363,10 +5364,10 @@ int intel_dp_hdcp_write_an_aksv(struct intel_digital_port *intel_dig_port,
> rxbuf, sizeof(rxbuf),
> DP_AUX_CH_CTL_AUX_AKSV_SELECT);
> if (ret < 0) {
> - DRM_ERROR("Write Aksv over DP/AUX failed (%d)\n", ret);
> + DRM_DEBUG_KMS("Write Aksv over DP/AUX failed (%d)\n", ret);
> return ret;
> } else if (ret == 0) {
> - DRM_ERROR("Aksv write over DP/AUX was empty\n");
> + DRM_DEBUG_KMS("Aksv write over DP/AUX was empty\n");
> return -EIO;
> }
>
> @@ -5381,7 +5382,7 @@ static int intel_dp_hdcp_read_bksv(struct intel_digital_port *intel_dig_port,
> ret = drm_dp_dpcd_read(&intel_dig_port->dp.aux, DP_AUX_HDCP_BKSV, bksv,
> DRM_HDCP_KSV_LEN);
> if (ret != DRM_HDCP_KSV_LEN) {
> - DRM_ERROR("Read Bksv from DP/AUX failed (%zd)\n", ret);
> + DRM_DEBUG_KMS("Read Bksv from DP/AUX failed (%zd)\n", ret);
> return ret >= 0 ? -EIO : ret;
> }
> return 0;
> @@ -5399,7 +5400,7 @@ static int intel_dp_hdcp_read_bstatus(struct intel_digital_port *intel_dig_port,
> ret = drm_dp_dpcd_read(&intel_dig_port->dp.aux, DP_AUX_HDCP_BINFO,
> bstatus, DRM_HDCP_BSTATUS_LEN);
> if (ret != DRM_HDCP_BSTATUS_LEN) {
> - DRM_ERROR("Read bstatus from DP/AUX failed (%zd)\n", ret);
> + DRM_DEBUG_KMS("Read bstatus from DP/AUX failed (%zd)\n", ret);
> return ret >= 0 ? -EIO : ret;
> }
> return 0;
> @@ -5414,7 +5415,7 @@ int intel_dp_hdcp_read_bcaps(struct intel_digital_port *intel_dig_port,
> ret = drm_dp_dpcd_read(&intel_dig_port->dp.aux, DP_AUX_HDCP_BCAPS,
> bcaps, 1);
> if (ret != 1) {
> - DRM_ERROR("Read bcaps from DP/AUX failed (%zd)\n", ret);
> + DRM_DEBUG_KMS("Read bcaps from DP/AUX failed (%zd)\n", ret);
> return ret >= 0 ? -EIO : ret;
> }
>
> @@ -5444,7 +5445,7 @@ int intel_dp_hdcp_read_ri_prime(struct intel_digital_port *intel_dig_port,
> ret = drm_dp_dpcd_read(&intel_dig_port->dp.aux, DP_AUX_HDCP_RI_PRIME,
> ri_prime, DRM_HDCP_RI_LEN);
> if (ret != DRM_HDCP_RI_LEN) {
> - DRM_ERROR("Read Ri' from DP/AUX failed (%zd)\n", ret);
> + DRM_DEBUG_KMS("Read Ri' from DP/AUX failed (%zd)\n", ret);
> return ret >= 0 ? -EIO : ret;
> }
> return 0;
> @@ -5459,7 +5460,7 @@ int intel_dp_hdcp_read_ksv_ready(struct intel_digital_port *intel_dig_port,
> ret = drm_dp_dpcd_read(&intel_dig_port->dp.aux, DP_AUX_HDCP_BSTATUS,
> &bstatus, 1);
> if (ret != 1) {
> - DRM_ERROR("Read bstatus from DP/AUX failed (%zd)\n", ret);
> + DRM_DEBUG_KMS("Read bstatus from DP/AUX failed (%zd)\n", ret);
> return ret >= 0 ? -EIO : ret;
> }
> *ksv_ready = bstatus & DP_BSTATUS_READY;
> @@ -5481,8 +5482,8 @@ int intel_dp_hdcp_read_ksv_fifo(struct intel_digital_port *intel_dig_port,
> ksv_fifo + i * DRM_HDCP_KSV_LEN,
> len);
> if (ret != len) {
> - DRM_ERROR("Read ksv[%d] from DP/AUX failed (%zd)\n", i,
> - ret);
> + DRM_DEBUG_KMS("Read ksv[%d] from DP/AUX failed (%zd)\n",
> + i, ret);
> return ret >= 0 ? -EIO : ret;
> }
> }
> @@ -5502,7 +5503,7 @@ int intel_dp_hdcp_read_v_prime_part(struct intel_digital_port *intel_dig_port,
> DP_AUX_HDCP_V_PRIME(i), part,
> DRM_HDCP_V_PRIME_PART_LEN);
> if (ret != DRM_HDCP_V_PRIME_PART_LEN) {
> - DRM_ERROR("Read v'[%d] from DP/AUX failed (%zd)\n", i, ret);
> + DRM_DEBUG_KMS("Read v'[%d] from DP/AUX failed (%zd)\n", i, ret);
> return ret >= 0 ? -EIO : ret;
> }
> return 0;
> @@ -5525,7 +5526,7 @@ bool intel_dp_hdcp_check_link(struct intel_digital_port *intel_dig_port)
> ret = drm_dp_dpcd_read(&intel_dig_port->dp.aux, DP_AUX_HDCP_BSTATUS,
> &bstatus, 1);
> if (ret != 1) {
> - DRM_ERROR("Read bstatus from DP/AUX failed (%zd)\n", ret);
> + DRM_DEBUG_KMS("Read bstatus from DP/AUX failed (%zd)\n", ret);
> return false;
> }
>
> diff --git a/drivers/gpu/drm/i915/intel_hdcp.c b/drivers/gpu/drm/i915/intel_hdcp.c
> index 283b45636668..5b423a78518d 100644
> --- a/drivers/gpu/drm/i915/intel_hdcp.c
> +++ b/drivers/gpu/drm/i915/intel_hdcp.c
> @@ -44,7 +44,7 @@ int intel_hdcp_read_valid_bksv(struct intel_digital_port *intel_dig_port,
> break;
> }
> if (i == tries) {
> - DRM_ERROR("Bksv is invalid\n");
> + DRM_DEBUG_KMS("Bksv is invalid\n");
> return -ENODEV;
> }
>
> diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c
> index 72e8a73dfa1c..d3e653640ce7 100644
> --- a/drivers/gpu/drm/i915/intel_hdmi.c
> +++ b/drivers/gpu/drm/i915/intel_hdmi.c
> @@ -961,13 +961,13 @@ int intel_hdmi_hdcp_write_an_aksv(struct intel_digital_port *intel_dig_port,
> ret = intel_hdmi_hdcp_write(intel_dig_port, DRM_HDCP_DDC_AN, an,
> DRM_HDCP_AN_LEN);
> if (ret) {
> - DRM_ERROR("Write An over DDC failed (%d)\n", ret);
> + DRM_DEBUG_KMS("Write An over DDC failed (%d)\n", ret);
> return ret;
> }
>
> ret = intel_gmbus_output_aksv(adapter);
> if (ret < 0) {
> - DRM_ERROR("Failed to output aksv (%d)\n", ret);
> + DRM_DEBUG_KMS("Failed to output aksv (%d)\n", ret);
> return ret;
> }
> return 0;
> @@ -980,7 +980,7 @@ static int intel_hdmi_hdcp_read_bksv(struct intel_digital_port *intel_dig_port,
> ret = intel_hdmi_hdcp_read(intel_dig_port, DRM_HDCP_DDC_BKSV, bksv,
> DRM_HDCP_KSV_LEN);
> if (ret)
> - DRM_ERROR("Read Bksv over DDC failed (%d)\n", ret);
> + DRM_DEBUG_KMS("Read Bksv over DDC failed (%d)\n", ret);
> return ret;
> }
>
> @@ -992,7 +992,7 @@ int intel_hdmi_hdcp_read_bstatus(struct intel_digital_port *intel_dig_port,
> ret = intel_hdmi_hdcp_read(intel_dig_port, DRM_HDCP_DDC_BSTATUS,
> bstatus, DRM_HDCP_BSTATUS_LEN);
> if (ret)
> - DRM_ERROR("Read bstatus over DDC failed (%d)\n", ret);
> + DRM_DEBUG_KMS("Read bstatus over DDC failed (%d)\n", ret);
> return ret;
> }
>
> @@ -1005,7 +1005,7 @@ int intel_hdmi_hdcp_repeater_present(struct intel_digital_port *intel_dig_port,
>
> ret = intel_hdmi_hdcp_read(intel_dig_port, DRM_HDCP_DDC_BCAPS, &val, 1);
> if (ret) {
> - DRM_ERROR("Read bcaps over DDC failed (%d)\n", ret);
> + DRM_DEBUG_KMS("Read bcaps over DDC failed (%d)\n", ret);
> return ret;
> }
> *repeater_present = val & DRM_HDCP_DDC_BCAPS_REPEATER_PRESENT;
> @@ -1020,7 +1020,7 @@ int intel_hdmi_hdcp_read_ri_prime(struct intel_digital_port *intel_dig_port,
> ret = intel_hdmi_hdcp_read(intel_dig_port, DRM_HDCP_DDC_RI_PRIME,
> ri_prime, DRM_HDCP_RI_LEN);
> if (ret)
> - DRM_ERROR("Read Ri' over DDC failed (%d)\n", ret);
> + DRM_DEBUG_KMS("Read Ri' over DDC failed (%d)\n", ret);
> return ret;
> }
>
> @@ -1033,7 +1033,7 @@ int intel_hdmi_hdcp_read_ksv_ready(struct intel_digital_port *intel_dig_port,
>
> ret = intel_hdmi_hdcp_read(intel_dig_port, DRM_HDCP_DDC_BCAPS, &val, 1);
> if (ret) {
> - DRM_ERROR("Read bcaps over DDC failed (%d)\n", ret);
> + DRM_DEBUG_KMS("Read bcaps over DDC failed (%d)\n", ret);
> return ret;
> }
> *ksv_ready = val & DRM_HDCP_DDC_BCAPS_KSV_FIFO_READY;
> @@ -1048,7 +1048,7 @@ int intel_hdmi_hdcp_read_ksv_fifo(struct intel_digital_port *intel_dig_port,
> ret = intel_hdmi_hdcp_read(intel_dig_port, DRM_HDCP_DDC_KSV_FIFO,
> ksv_fifo, num_downstream * DRM_HDCP_KSV_LEN);
> if (ret) {
> - DRM_ERROR("Read ksv fifo over DDC failed (%d)\n", ret);
> + DRM_DEBUG_KMS("Read ksv fifo over DDC failed (%d)\n", ret);
> return ret;
> }
> return 0;
> @@ -1066,7 +1066,7 @@ int intel_hdmi_hdcp_read_v_prime_part(struct intel_digital_port *intel_dig_port,
> ret = intel_hdmi_hdcp_read(intel_dig_port, DRM_HDCP_DDC_V_PRIME(i),
> part, DRM_HDCP_V_PRIME_PART_LEN);
> if (ret)
> - DRM_ERROR("Read V'[%d] over DDC failed (%d)\n", i, ret);
> + DRM_DEBUG_KMS("Read V'[%d] over DDC failed (%d)\n", i, ret);
> return ret;
> }
>
> --
> 2.7.4
>
--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
_______________________________________________
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
* ✗ Fi.CI.IGT: failure for Enabling the IGT for HDCP1.4 (rev6)
2018-10-23 9:22 [PATCH v5 0/4] Enabling the IGT for HDCP1.4 Ramalingam C
` (7 preceding siblings ...)
2018-10-23 11:39 ` ✓ Fi.CI.BAT: success " Patchwork
@ 2018-10-23 14:07 ` Patchwork
8 siblings, 0 replies; 14+ messages in thread
From: Patchwork @ 2018-10-23 14:07 UTC (permalink / raw)
To: Ramalingam C; +Cc: intel-gfx
== Series Details ==
Series: Enabling the IGT for HDCP1.4 (rev6)
URL : https://patchwork.freedesktop.org/series/51113/
State : failure
== Summary ==
= CI Bug Log - changes from CI_DRM_5020_full -> Patchwork_10542_full =
== Summary - FAILURE ==
Serious unknown changes coming with Patchwork_10542_full absolutely need to be
verified manually.
If you think the reported changes have nothing to do with the changes
introduced in Patchwork_10542_full, please notify your bug team to allow them
to document this new failure mode, which will reduce false positives in CI.
== Possible new issues ==
Here are the unknown changes that may have been introduced in Patchwork_10542_full:
=== IGT changes ===
==== Possible regressions ====
igt@gem_eio@in-flight-suspend:
shard-glk: PASS -> FAIL
igt@kms_draw_crc@draw-method-xrgb8888-blt-ytiled:
shard-skl: NOTRUN -> FAIL
==== Warnings ====
igt@perf_pmu@rc6:
shard-kbl: SKIP -> PASS
== Known issues ==
Here are the changes found in Patchwork_10542_full that come from known issues:
=== IGT changes ===
==== Issues hit ====
igt@drv_suspend@forcewake:
shard-skl: PASS -> INCOMPLETE (fdo#104108, fdo#107773)
igt@gem_cpu_reloc@full:
shard-skl: NOTRUN -> INCOMPLETE (fdo#108073)
igt@gem_exec_schedule@pi-ringfull-bsd:
shard-skl: NOTRUN -> FAIL (fdo#103158) +2
igt@kms_busy@extended-pageflip-modeset-hang-oldfb-render-b:
shard-hsw: PASS -> DMESG-WARN (fdo#107956)
shard-skl: NOTRUN -> DMESG-WARN (fdo#107956) +1
igt@kms_draw_crc@draw-method-xrgb8888-mmap-wc-untiled:
shard-skl: NOTRUN -> FAIL (fdo#108145) +1
igt@kms_draw_crc@fill-fb:
shard-skl: NOTRUN -> FAIL (fdo#103184)
igt@kms_frontbuffer_tracking@fbc-1p-primscrn-indfb-plflip-blt:
shard-skl: NOTRUN -> FAIL (fdo#103167) +1
igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-mmap-gtt:
shard-skl: NOTRUN -> FAIL (fdo#105682) +1
igt@kms_frontbuffer_tracking@fbcpsr-stridechange:
shard-skl: NOTRUN -> FAIL (fdo#105683)
igt@kms_plane@pixel-format-pipe-b-planes:
shard-skl: NOTRUN -> DMESG-FAIL (fdo#106885, fdo#103166)
igt@kms_plane@plane-position-covered-pipe-b-planes:
shard-glk: PASS -> FAIL (fdo#103166) +1
shard-apl: PASS -> FAIL (fdo#103166)
igt@kms_plane_alpha_blend@pipe-b-alpha-7efc:
shard-skl: NOTRUN -> FAIL (fdo#108146)
igt@kms_plane_alpha_blend@pipe-c-alpha-basic:
shard-skl: NOTRUN -> FAIL (fdo#108145, fdo#107815)
igt@kms_rotation_crc@exhaust-fences:
shard-skl: NOTRUN -> DMESG-WARN (fdo#105748)
igt@kms_setmode@basic:
shard-skl: NOTRUN -> FAIL (fdo#99912)
igt@kms_sysfs_edid_timing:
shard-skl: NOTRUN -> FAIL (fdo#100047)
igt@pm_rpm@modeset-non-lpsp-stress:
shard-skl: NOTRUN -> INCOMPLETE (fdo#107807)
igt@syncobj_wait@wait-for-submit-delayed-submit:
shard-snb: NOTRUN -> INCOMPLETE (fdo#105411) +3
shard-skl: NOTRUN -> INCOMPLETE (fdo#108490) +1
==== Possible fixes ====
igt@kms_busy@extended-modeset-hang-newfb-render-c:
shard-kbl: DMESG-WARN (fdo#107956) -> PASS
igt@kms_chv_cursor_fail@pipe-b-256x256-top-edge:
shard-glk: DMESG-WARN (fdo#105763, fdo#106538) -> PASS +1
igt@kms_cursor_crc@cursor-128x128-suspend:
shard-apl: FAIL (fdo#103191, fdo#103232) -> PASS
igt@kms_cursor_crc@cursor-256x256-sliding:
shard-apl: FAIL (fdo#103232) -> PASS
igt@kms_draw_crc@draw-method-xrgb8888-mmap-cpu-ytiled:
shard-glk: FAIL (fdo#107791) -> PASS
igt@kms_flip@absolute-wf_vblank-interruptible:
shard-apl: INCOMPLETE (fdo#103927) -> PASS
igt@kms_flip@flip-vs-expired-vblank:
shard-skl: FAIL (fdo#105363) -> PASS
igt@kms_flip@modeset-vs-vblank-race:
shard-kbl: FAIL (fdo#103060) -> PASS
igt@kms_setmode@basic:
shard-apl: FAIL (fdo#99912) -> PASS
fdo#100047 https://bugs.freedesktop.org/show_bug.cgi?id=100047
fdo#103060 https://bugs.freedesktop.org/show_bug.cgi?id=103060
fdo#103158 https://bugs.freedesktop.org/show_bug.cgi?id=103158
fdo#103166 https://bugs.freedesktop.org/show_bug.cgi?id=103166
fdo#103167 https://bugs.freedesktop.org/show_bug.cgi?id=103167
fdo#103184 https://bugs.freedesktop.org/show_bug.cgi?id=103184
fdo#103191 https://bugs.freedesktop.org/show_bug.cgi?id=103191
fdo#103232 https://bugs.freedesktop.org/show_bug.cgi?id=103232
fdo#103927 https://bugs.freedesktop.org/show_bug.cgi?id=103927
fdo#104108 https://bugs.freedesktop.org/show_bug.cgi?id=104108
fdo#105363 https://bugs.freedesktop.org/show_bug.cgi?id=105363
fdo#105411 https://bugs.freedesktop.org/show_bug.cgi?id=105411
fdo#105682 https://bugs.freedesktop.org/show_bug.cgi?id=105682
fdo#105683 https://bugs.freedesktop.org/show_bug.cgi?id=105683
fdo#105748 https://bugs.freedesktop.org/show_bug.cgi?id=105748
fdo#105763 https://bugs.freedesktop.org/show_bug.cgi?id=105763
fdo#106538 https://bugs.freedesktop.org/show_bug.cgi?id=106538
fdo#106885 https://bugs.freedesktop.org/show_bug.cgi?id=106885
fdo#107773 https://bugs.freedesktop.org/show_bug.cgi?id=107773
fdo#107791 https://bugs.freedesktop.org/show_bug.cgi?id=107791
fdo#107807 https://bugs.freedesktop.org/show_bug.cgi?id=107807
fdo#107815 https://bugs.freedesktop.org/show_bug.cgi?id=107815
fdo#107956 https://bugs.freedesktop.org/show_bug.cgi?id=107956
fdo#108073 https://bugs.freedesktop.org/show_bug.cgi?id=108073
fdo#108145 https://bugs.freedesktop.org/show_bug.cgi?id=108145
fdo#108146 https://bugs.freedesktop.org/show_bug.cgi?id=108146
fdo#108490 https://bugs.freedesktop.org/show_bug.cgi?id=108490
fdo#99912 https://bugs.freedesktop.org/show_bug.cgi?id=99912
== Participating hosts (6 -> 6) ==
No changes in participating hosts
== Build changes ==
* Linux: CI_DRM_5020 -> Patchwork_10542
CI_DRM_5020: 95151c25e0433a2fe771b8bc272f3f8fb54a7e27 @ git://anongit.freedesktop.org/gfx-ci/linux
IGT_4686: 741bf7064c467df725c14cc0b3b8b50436f9ee09 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
Patchwork_10542: 9153e6ff86f14e84ef9b9e5aae8103c407e606f1 @ 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_10542/shards.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: [PATCH v6] drm/i915: Move the DDC/AUX failure msgs to debug log
2018-10-23 14:05 ` Daniel Vetter
@ 2018-10-24 7:34 ` Daniel Vetter
0 siblings, 0 replies; 14+ messages in thread
From: Daniel Vetter @ 2018-10-24 7:34 UTC (permalink / raw)
To: Ramalingam C; +Cc: daniel.vetter, intel-gfx
On Tue, Oct 23, 2018 at 04:05:29PM +0200, Daniel Vetter wrote:
> On Tue, Oct 23, 2018 at 04:11:28PM +0530, Ramalingam C wrote:
> > When a HDCP authentication is in progress, if the display sink is
> > hot unplugged, all DDC/AUX transaction related to the HDCP
> > authentication will fail.
> >
> > This patch moves those kind of HDCP DDC/AUX failures into the debug
> > logs instead of errors.
> >
> > v2:
> > Bksv invalid state is provided as debug msg
> >
> > Signed-off-by: Ramalingam C <ramalingam.c@intel.com>
>
> For the record, summary of our irc discussion:
>
> Anything the user (e.g. hotplug while hdcp code is running by yanking the
> cable) or userspace (e.g. through invalid ioctl parameters) can provoke to
> happen must use DRM_DEBUG_* instead of DRM_ERROR. DRM_ERROR is truly only
> for the impossible stuff (hw bugs, kernel driver bugs, that kind of
> stuff).
>
> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
CI approved, so applied&pushed, thanks for your patches.
>
> > ---
> > drivers/gpu/drm/i915/intel_dp.c | 25 +++++++++++++------------
> > drivers/gpu/drm/i915/intel_hdcp.c | 2 +-
> > drivers/gpu/drm/i915/intel_hdmi.c | 18 +++++++++---------
> > 3 files changed, 23 insertions(+), 22 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
> > index 27377bf8105c..ac13aa3cef91 100644
> > --- a/drivers/gpu/drm/i915/intel_dp.c
> > +++ b/drivers/gpu/drm/i915/intel_dp.c
> > @@ -5347,7 +5347,8 @@ int intel_dp_hdcp_write_an_aksv(struct intel_digital_port *intel_dig_port,
> > dpcd_ret = drm_dp_dpcd_write(&intel_dig_port->dp.aux, DP_AUX_HDCP_AN,
> > an, DRM_HDCP_AN_LEN);
> > if (dpcd_ret != DRM_HDCP_AN_LEN) {
> > - DRM_ERROR("Failed to write An over DP/AUX (%zd)\n", dpcd_ret);
> > + DRM_DEBUG_KMS("Failed to write An over DP/AUX (%zd)\n",
> > + dpcd_ret);
> > return dpcd_ret >= 0 ? -EIO : dpcd_ret;
> > }
> >
> > @@ -5363,10 +5364,10 @@ int intel_dp_hdcp_write_an_aksv(struct intel_digital_port *intel_dig_port,
> > rxbuf, sizeof(rxbuf),
> > DP_AUX_CH_CTL_AUX_AKSV_SELECT);
> > if (ret < 0) {
> > - DRM_ERROR("Write Aksv over DP/AUX failed (%d)\n", ret);
> > + DRM_DEBUG_KMS("Write Aksv over DP/AUX failed (%d)\n", ret);
> > return ret;
> > } else if (ret == 0) {
> > - DRM_ERROR("Aksv write over DP/AUX was empty\n");
> > + DRM_DEBUG_KMS("Aksv write over DP/AUX was empty\n");
> > return -EIO;
> > }
> >
> > @@ -5381,7 +5382,7 @@ static int intel_dp_hdcp_read_bksv(struct intel_digital_port *intel_dig_port,
> > ret = drm_dp_dpcd_read(&intel_dig_port->dp.aux, DP_AUX_HDCP_BKSV, bksv,
> > DRM_HDCP_KSV_LEN);
> > if (ret != DRM_HDCP_KSV_LEN) {
> > - DRM_ERROR("Read Bksv from DP/AUX failed (%zd)\n", ret);
> > + DRM_DEBUG_KMS("Read Bksv from DP/AUX failed (%zd)\n", ret);
> > return ret >= 0 ? -EIO : ret;
> > }
> > return 0;
> > @@ -5399,7 +5400,7 @@ static int intel_dp_hdcp_read_bstatus(struct intel_digital_port *intel_dig_port,
> > ret = drm_dp_dpcd_read(&intel_dig_port->dp.aux, DP_AUX_HDCP_BINFO,
> > bstatus, DRM_HDCP_BSTATUS_LEN);
> > if (ret != DRM_HDCP_BSTATUS_LEN) {
> > - DRM_ERROR("Read bstatus from DP/AUX failed (%zd)\n", ret);
> > + DRM_DEBUG_KMS("Read bstatus from DP/AUX failed (%zd)\n", ret);
> > return ret >= 0 ? -EIO : ret;
> > }
> > return 0;
> > @@ -5414,7 +5415,7 @@ int intel_dp_hdcp_read_bcaps(struct intel_digital_port *intel_dig_port,
> > ret = drm_dp_dpcd_read(&intel_dig_port->dp.aux, DP_AUX_HDCP_BCAPS,
> > bcaps, 1);
> > if (ret != 1) {
> > - DRM_ERROR("Read bcaps from DP/AUX failed (%zd)\n", ret);
> > + DRM_DEBUG_KMS("Read bcaps from DP/AUX failed (%zd)\n", ret);
> > return ret >= 0 ? -EIO : ret;
> > }
> >
> > @@ -5444,7 +5445,7 @@ int intel_dp_hdcp_read_ri_prime(struct intel_digital_port *intel_dig_port,
> > ret = drm_dp_dpcd_read(&intel_dig_port->dp.aux, DP_AUX_HDCP_RI_PRIME,
> > ri_prime, DRM_HDCP_RI_LEN);
> > if (ret != DRM_HDCP_RI_LEN) {
> > - DRM_ERROR("Read Ri' from DP/AUX failed (%zd)\n", ret);
> > + DRM_DEBUG_KMS("Read Ri' from DP/AUX failed (%zd)\n", ret);
> > return ret >= 0 ? -EIO : ret;
> > }
> > return 0;
> > @@ -5459,7 +5460,7 @@ int intel_dp_hdcp_read_ksv_ready(struct intel_digital_port *intel_dig_port,
> > ret = drm_dp_dpcd_read(&intel_dig_port->dp.aux, DP_AUX_HDCP_BSTATUS,
> > &bstatus, 1);
> > if (ret != 1) {
> > - DRM_ERROR("Read bstatus from DP/AUX failed (%zd)\n", ret);
> > + DRM_DEBUG_KMS("Read bstatus from DP/AUX failed (%zd)\n", ret);
> > return ret >= 0 ? -EIO : ret;
> > }
> > *ksv_ready = bstatus & DP_BSTATUS_READY;
> > @@ -5481,8 +5482,8 @@ int intel_dp_hdcp_read_ksv_fifo(struct intel_digital_port *intel_dig_port,
> > ksv_fifo + i * DRM_HDCP_KSV_LEN,
> > len);
> > if (ret != len) {
> > - DRM_ERROR("Read ksv[%d] from DP/AUX failed (%zd)\n", i,
> > - ret);
> > + DRM_DEBUG_KMS("Read ksv[%d] from DP/AUX failed (%zd)\n",
> > + i, ret);
> > return ret >= 0 ? -EIO : ret;
> > }
> > }
> > @@ -5502,7 +5503,7 @@ int intel_dp_hdcp_read_v_prime_part(struct intel_digital_port *intel_dig_port,
> > DP_AUX_HDCP_V_PRIME(i), part,
> > DRM_HDCP_V_PRIME_PART_LEN);
> > if (ret != DRM_HDCP_V_PRIME_PART_LEN) {
> > - DRM_ERROR("Read v'[%d] from DP/AUX failed (%zd)\n", i, ret);
> > + DRM_DEBUG_KMS("Read v'[%d] from DP/AUX failed (%zd)\n", i, ret);
> > return ret >= 0 ? -EIO : ret;
> > }
> > return 0;
> > @@ -5525,7 +5526,7 @@ bool intel_dp_hdcp_check_link(struct intel_digital_port *intel_dig_port)
> > ret = drm_dp_dpcd_read(&intel_dig_port->dp.aux, DP_AUX_HDCP_BSTATUS,
> > &bstatus, 1);
> > if (ret != 1) {
> > - DRM_ERROR("Read bstatus from DP/AUX failed (%zd)\n", ret);
> > + DRM_DEBUG_KMS("Read bstatus from DP/AUX failed (%zd)\n", ret);
> > return false;
> > }
> >
> > diff --git a/drivers/gpu/drm/i915/intel_hdcp.c b/drivers/gpu/drm/i915/intel_hdcp.c
> > index 283b45636668..5b423a78518d 100644
> > --- a/drivers/gpu/drm/i915/intel_hdcp.c
> > +++ b/drivers/gpu/drm/i915/intel_hdcp.c
> > @@ -44,7 +44,7 @@ int intel_hdcp_read_valid_bksv(struct intel_digital_port *intel_dig_port,
> > break;
> > }
> > if (i == tries) {
> > - DRM_ERROR("Bksv is invalid\n");
> > + DRM_DEBUG_KMS("Bksv is invalid\n");
> > return -ENODEV;
> > }
> >
> > diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c
> > index 72e8a73dfa1c..d3e653640ce7 100644
> > --- a/drivers/gpu/drm/i915/intel_hdmi.c
> > +++ b/drivers/gpu/drm/i915/intel_hdmi.c
> > @@ -961,13 +961,13 @@ int intel_hdmi_hdcp_write_an_aksv(struct intel_digital_port *intel_dig_port,
> > ret = intel_hdmi_hdcp_write(intel_dig_port, DRM_HDCP_DDC_AN, an,
> > DRM_HDCP_AN_LEN);
> > if (ret) {
> > - DRM_ERROR("Write An over DDC failed (%d)\n", ret);
> > + DRM_DEBUG_KMS("Write An over DDC failed (%d)\n", ret);
> > return ret;
> > }
> >
> > ret = intel_gmbus_output_aksv(adapter);
> > if (ret < 0) {
> > - DRM_ERROR("Failed to output aksv (%d)\n", ret);
> > + DRM_DEBUG_KMS("Failed to output aksv (%d)\n", ret);
> > return ret;
> > }
> > return 0;
> > @@ -980,7 +980,7 @@ static int intel_hdmi_hdcp_read_bksv(struct intel_digital_port *intel_dig_port,
> > ret = intel_hdmi_hdcp_read(intel_dig_port, DRM_HDCP_DDC_BKSV, bksv,
> > DRM_HDCP_KSV_LEN);
> > if (ret)
> > - DRM_ERROR("Read Bksv over DDC failed (%d)\n", ret);
> > + DRM_DEBUG_KMS("Read Bksv over DDC failed (%d)\n", ret);
> > return ret;
> > }
> >
> > @@ -992,7 +992,7 @@ int intel_hdmi_hdcp_read_bstatus(struct intel_digital_port *intel_dig_port,
> > ret = intel_hdmi_hdcp_read(intel_dig_port, DRM_HDCP_DDC_BSTATUS,
> > bstatus, DRM_HDCP_BSTATUS_LEN);
> > if (ret)
> > - DRM_ERROR("Read bstatus over DDC failed (%d)\n", ret);
> > + DRM_DEBUG_KMS("Read bstatus over DDC failed (%d)\n", ret);
> > return ret;
> > }
> >
> > @@ -1005,7 +1005,7 @@ int intel_hdmi_hdcp_repeater_present(struct intel_digital_port *intel_dig_port,
> >
> > ret = intel_hdmi_hdcp_read(intel_dig_port, DRM_HDCP_DDC_BCAPS, &val, 1);
> > if (ret) {
> > - DRM_ERROR("Read bcaps over DDC failed (%d)\n", ret);
> > + DRM_DEBUG_KMS("Read bcaps over DDC failed (%d)\n", ret);
> > return ret;
> > }
> > *repeater_present = val & DRM_HDCP_DDC_BCAPS_REPEATER_PRESENT;
> > @@ -1020,7 +1020,7 @@ int intel_hdmi_hdcp_read_ri_prime(struct intel_digital_port *intel_dig_port,
> > ret = intel_hdmi_hdcp_read(intel_dig_port, DRM_HDCP_DDC_RI_PRIME,
> > ri_prime, DRM_HDCP_RI_LEN);
> > if (ret)
> > - DRM_ERROR("Read Ri' over DDC failed (%d)\n", ret);
> > + DRM_DEBUG_KMS("Read Ri' over DDC failed (%d)\n", ret);
> > return ret;
> > }
> >
> > @@ -1033,7 +1033,7 @@ int intel_hdmi_hdcp_read_ksv_ready(struct intel_digital_port *intel_dig_port,
> >
> > ret = intel_hdmi_hdcp_read(intel_dig_port, DRM_HDCP_DDC_BCAPS, &val, 1);
> > if (ret) {
> > - DRM_ERROR("Read bcaps over DDC failed (%d)\n", ret);
> > + DRM_DEBUG_KMS("Read bcaps over DDC failed (%d)\n", ret);
> > return ret;
> > }
> > *ksv_ready = val & DRM_HDCP_DDC_BCAPS_KSV_FIFO_READY;
> > @@ -1048,7 +1048,7 @@ int intel_hdmi_hdcp_read_ksv_fifo(struct intel_digital_port *intel_dig_port,
> > ret = intel_hdmi_hdcp_read(intel_dig_port, DRM_HDCP_DDC_KSV_FIFO,
> > ksv_fifo, num_downstream * DRM_HDCP_KSV_LEN);
> > if (ret) {
> > - DRM_ERROR("Read ksv fifo over DDC failed (%d)\n", ret);
> > + DRM_DEBUG_KMS("Read ksv fifo over DDC failed (%d)\n", ret);
> > return ret;
> > }
> > return 0;
> > @@ -1066,7 +1066,7 @@ int intel_hdmi_hdcp_read_v_prime_part(struct intel_digital_port *intel_dig_port,
> > ret = intel_hdmi_hdcp_read(intel_dig_port, DRM_HDCP_DDC_V_PRIME(i),
> > part, DRM_HDCP_V_PRIME_PART_LEN);
> > if (ret)
> > - DRM_ERROR("Read V'[%d] over DDC failed (%d)\n", i, ret);
> > + DRM_DEBUG_KMS("Read V'[%d] over DDC failed (%d)\n", i, ret);
> > return ret;
> > }
> >
> > --
> > 2.7.4
> >
>
> --
> Daniel Vetter
> Software Engineer, Intel Corporation
> http://blog.ffwll.ch
--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
_______________________________________________
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:[~2018-10-24 7:34 UTC | newest]
Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-10-23 9:22 [PATCH v5 0/4] Enabling the IGT for HDCP1.4 Ramalingam C
2018-10-23 9:22 ` [PATCH v5 1/4] drm/i915: Pullout the bksv read and validation Ramalingam C
2018-10-23 9:22 ` [PATCH v5 2/4] drm/i915: hdcp_check_link only on CP_IRQ Ramalingam C
2018-10-23 9:22 ` [PATCH v5 3/4] drm/i915/debugfs: hdcp capability of a sink Ramalingam C
2018-10-23 14:04 ` Daniel Vetter
2018-10-23 9:22 ` [PATCH v5 4/4] drm/i915: Move the DDC/AUX failure msgs to debug log Ramalingam C
2018-10-23 10:41 ` [PATCH v6] " Ramalingam C
2018-10-23 14:05 ` Daniel Vetter
2018-10-24 7:34 ` Daniel Vetter
2018-10-23 9:37 ` ✗ Fi.CI.CHECKPATCH: warning for Enabling the IGT for HDCP1.4 (rev5) Patchwork
2018-10-23 10:02 ` ✗ Fi.CI.BAT: failure " Patchwork
2018-10-23 11:17 ` ✗ Fi.CI.CHECKPATCH: warning for Enabling the IGT for HDCP1.4 (rev6) Patchwork
2018-10-23 11:39 ` ✓ Fi.CI.BAT: success " Patchwork
2018-10-23 14:07 ` ✗ Fi.CI.IGT: failure " 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.