[Intel-gfx] [PATCH 3/4] drm/i915/hdcp: Send the correct aux for DPMST HDCP scenario
Suraj Kandpal
suraj.kandpal at intel.com
Thu Aug 10 07:47:58 UTC 2023
Up until now we were sending the base aux stored in dig_port which
is not correct as this causes an issue when monitor is connected via
a DPMST hub causing it to be remote hence we end up seeing AUX
failures so let's send the remote aux in case of DPMST.
Signed-off-by: Suraj Kandpal <suraj.kandpal at intel.com>
---
drivers/gpu/drm/i915/display/intel_dp_hdcp.c | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_dp_hdcp.c b/drivers/gpu/drm/i915/display/intel_dp_hdcp.c
index 5304aa73b23f..2a37a43243a3 100644
--- a/drivers/gpu/drm/i915/display/intel_dp_hdcp.c
+++ b/drivers/gpu/drm/i915/display/intel_dp_hdcp.c
@@ -452,7 +452,10 @@ int intel_dp_hdcp2_write_msg(struct intel_connector *connector,
offset = hdcp2_msg_data->offset;
- aux = &dig_port->dp.aux;
+ if (intel_encoder_is_mst(connector->encoder))
+ aux = &connector->port->aux;
+ else
+ aux = &dig_port->dp.aux;
/* No msg_id in DP HDCP2.2 msgs */
bytes_to_write = size - 1;
@@ -518,7 +521,10 @@ int intel_dp_hdcp2_read_msg(struct intel_connector *connector,
return -EINVAL;
offset = hdcp2_msg_data->offset;
- aux = &dp->aux;
+ if (intel_encoder_is_mst(connector->encoder))
+ aux = &connector->port->aux;
+ else
+ aux = &dp->aux;
ret = intel_dp_hdcp2_wait_for_msg(i915, aux, hdcp, hdcp2_msg_data);
if (ret < 0)
--
2.25.1
More information about the Intel-gfx
mailing list