Quite many issues currently happen during intel_dp_detect during dpcd read. Sometimes we can only see that it had failed in the logs, while no actual reason is available. Signed-off-by: Stanislav Lisovskiy <stanislav.lisovskiy@xxxxxxxxx> --- drivers/gpu/drm/i915/display/intel_dp.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c index 5673ed75e428..2bf0451b3568 100644 --- a/drivers/gpu/drm/i915/display/intel_dp.c +++ b/drivers/gpu/drm/i915/display/intel_dp.c @@ -1256,6 +1256,7 @@ intel_dp_aux_xfer(struct intel_dp *intel_dp, last_status = status; } + WARN(1, "prev chan activity not finished after 3 retries"); ret = -EBUSY; goto out; } @@ -1336,6 +1337,9 @@ intel_dp_aux_xfer(struct intel_dp *intel_dp, goto out; } + if (!(status & DP_AUX_CH_CTL_DONE)) + DRM_ERROR("Unknown dp aux ctl error status 0x%08x\n", status); + /* Unload any bytes sent back from the other side */ recv_bytes = ((status & DP_AUX_CH_CTL_MESSAGE_SIZE_MASK) >> DP_AUX_CH_CTL_MESSAGE_SIZE_SHIFT); @@ -1452,6 +1456,7 @@ intel_dp_aux_transfer(struct drm_dp_aux *aux, struct drm_dp_aux_msg *msg) break; default: + WARN(1, "Unknown request type %d", msg->request & ~DP_AUX_I2C_MOT); ret = -EINVAL; break; } @@ -5028,8 +5033,10 @@ intel_dp_detect_dpcd(struct intel_dp *intel_dp) if (lspcon->active) lspcon_resume(lspcon); - if (!intel_dp_get_dpcd(intel_dp)) + if (!intel_dp_get_dpcd(intel_dp)) { + DRM_DEBUG_KMS("Could not get dpcd!"); return connector_status_disconnected; + } /* if there's no downstream port, we're done */ if (!drm_dp_is_branch(dpcd)) -- 2.17.1 _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx