diff mbox series

[v1] drm/i915: Add more debug information to dp aux code

Message ID 20190906142054.32717-1-stanislav.lisovskiy@intel.com (mailing list archive)
State New, archived
Headers show
Series [v1] drm/i915: Add more debug information to dp aux code | expand

Commit Message

Lisovskiy, Stanislav Sept. 6, 2019, 2:20 p.m. UTC
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@intel.com>
---
 drivers/gpu/drm/i915/display/intel_dp.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)
diff mbox series

Patch

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))