Adds support for the test 4.2.2.8 EDID read on IRQ_HPD event after Branch Device Detection in the Displayport Link CTS Core 1.2 rev1.1. This test checks to see that the source device reads the EDID from the attached sink device upon detection of a downstream port. A short pulse is generated by the sink device to indicate a status change in the downstream ports to which the source device must respond by reading the EDID from the attached sink. Since this is a test that occurs during a short pulse instead of a long pulse, the normal EDID read that occurs during the call to intel_dp_detect() does happen. Currently this read must be placed here in order to pass the compliance tests. However, the EDID data from this read is discarded at this time. In the future, this EDID read may be used for other purposes and can be stored as necessary at that time should be need arise. Signed-off-by: Todd Previte <tprevite@xxxxxxxxx> --- drivers/gpu/drm/i915/intel_dp.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c index 697857a..99d2e81 100644 --- a/drivers/gpu/drm/i915/intel_dp.c +++ b/drivers/gpu/drm/i915/intel_dp.c @@ -4220,6 +4220,14 @@ intel_dp_check_link_status(struct intel_dp *intel_dp) if (sink_irq_vector & (DP_CP_IRQ | DP_SINK_SPECIFIC_IRQ)) DRM_DEBUG_DRIVER("CP or sink specific irq unhandled\n"); } + /* Displayport Link CTS 1.2a rev1.1 + * 4.2.2.8 : Check for downstream port status change + */ + if (link_status[2] & DP_DOWNSTREAM_PORT_STATUS_CHANGED) { + struct edid *edid_read = NULL; + edid_read = drm_get_edid(&intel_dp->attached_connector->base, + &intel_dp->aux.ddc); + } if (!drm_dp_channel_eq_ok(link_status, intel_dp->lane_count)) { DRM_DEBUG_KMS("%s: channel EQ not ok, retraining\n", -- 1.9.1 _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx