History

drm/i915: HDCP: fix Ri prime check done during link check

The check was always succeeding even in case of a mismatch due to the HDCP_STATUS_ENC bit being set. Make sure both bits are actually set.

Oliver Barta committed 6 years ago

Commit 3ffaf561 parent da904171 file · +2 −1Browse files

Unified · Split

drivers/gpu/drm/i915/display/intel_hdmi.c+2−1
@@ -1561,7 +1561,8 @@ bool intel_hdmi_hdcp_check_link(struct intel_digital_port *intel_dig_port) · 1560 unmodified lines
15611561 intel_de_write(i915, HDCP_RPRIME(i915, cpu_transcoder, port), ri.reg);
15621562
15631563 /* Wait for Ri prime match */
1564− if (wait_for(intel_de_read(i915, HDCP_STATUS(i915, cpu_transcoder, port)) &
1564+ if (wait_for((intel_de_read(i915, HDCP_STATUS(i915, cpu_transcoder, port)) &
1565+ (HDCP_STATUS_RI_MATCH | HDCP_STATUS_ENC)) ==
15651566 (HDCP_STATUS_RI_MATCH | HDCP_STATUS_ENC), 1)) {
15661567 drm_err(&i915->drm,
15671568 "Ri' mismatch detected, link check failed (%x)\n",