[Intel-gfx] [PATCH v1] drm/i915: Add more debug information to dp aux code

Stanislav Lisovskiy stanislav.lisovskiy at intel.com
Fri Sep 6 14:20:54 UTC 2019


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 at intel.com>
---
 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



More information about the Intel-gfx mailing list