| From 8a0ef882a773379ea5b08464d0c8018dddfd3c69 Mon Sep 17 00:00:00 2001 |
| From: Chris Wilson <chris@chris-wilson.co.uk> |
| Date: Sat, 20 Jul 2013 20:27:08 +0100 |
| Subject: drm/i915: Add some debug breadcrumbs to connector detection |
| |
| Try to decypher detection failures is a little tricker at the moment as |
| the only indicator of progress is when output_poll_execute() tells us |
| the result after the connector->detect() has run. This patch adds a |
| telltale to the start of each detect function so that we can track |
| progress and associate activity more clearly with each connector. |
| |
| Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> |
| Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> |
| (cherry picked from commit 164c8598450657d01fa75d6c997e95eb35672eef) |
| Signed-off-by: Darren Hart <dvhart@linux.intel.com> |
| --- |
| drivers/gpu/drm/i915/intel_crt.c | 4 ++++ |
| drivers/gpu/drm/i915/intel_dp.c | 3 +++ |
| drivers/gpu/drm/i915/intel_dvo.c | 2 ++ |
| drivers/gpu/drm/i915/intel_hdmi.c | 3 +++ |
| drivers/gpu/drm/i915/intel_lvds.c | 3 +++ |
| drivers/gpu/drm/i915/intel_sdvo.c | 3 +++ |
| drivers/gpu/drm/i915/intel_tv.c | 4 ++++ |
| 7 files changed, 22 insertions(+) |
| |
| --- a/drivers/gpu/drm/i915/intel_crt.c |
| +++ b/drivers/gpu/drm/i915/intel_crt.c |
| @@ -614,6 +614,10 @@ intel_crt_detect(struct drm_connector *c |
| enum drm_connector_status status; |
| struct intel_load_detect_pipe tmp; |
| |
| + DRM_DEBUG_KMS("[CONNECTOR:%d:%s] force=%d\n", |
| + connector->base.id, drm_get_connector_name(connector), |
| + force); |
| + |
| if (I915_HAS_HOTPLUG(dev)) { |
| /* We can not rely on the HPD pin always being correctly wired |
| * up, for example many KVM do not pass it through, and so |
| --- a/drivers/gpu/drm/i915/intel_dp.c |
| +++ b/drivers/gpu/drm/i915/intel_dp.c |
| @@ -2847,6 +2847,9 @@ intel_dp_detect(struct drm_connector *co |
| enum drm_connector_status status; |
| struct edid *edid = NULL; |
| |
| + DRM_DEBUG_KMS("[CONNECTOR:%d:%s]\n", |
| + connector->base.id, drm_get_connector_name(connector)); |
| + |
| intel_dp->has_audio = false; |
| |
| if (HAS_PCH_SPLIT(dev)) |
| --- a/drivers/gpu/drm/i915/intel_dvo.c |
| +++ b/drivers/gpu/drm/i915/intel_dvo.c |
| @@ -332,6 +332,8 @@ static enum drm_connector_status |
| intel_dvo_detect(struct drm_connector *connector, bool force) |
| { |
| struct intel_dvo *intel_dvo = intel_attached_dvo(connector); |
| + DRM_DEBUG_KMS("[CONNECTOR:%d:%s]\n", |
| + connector->base.id, drm_get_connector_name(connector)); |
| return intel_dvo->dev.dev_ops->detect(&intel_dvo->dev); |
| } |
| |
| --- a/drivers/gpu/drm/i915/intel_hdmi.c |
| +++ b/drivers/gpu/drm/i915/intel_hdmi.c |
| @@ -879,6 +879,9 @@ intel_hdmi_detect(struct drm_connector * |
| struct edid *edid; |
| enum drm_connector_status status = connector_status_disconnected; |
| |
| + DRM_DEBUG_KMS("[CONNECTOR:%d:%s]\n", |
| + connector->base.id, drm_get_connector_name(connector)); |
| + |
| intel_hdmi->has_hdmi_sink = false; |
| intel_hdmi->has_audio = false; |
| intel_hdmi->rgb_quant_range_selectable = false; |
| --- a/drivers/gpu/drm/i915/intel_lvds.c |
| +++ b/drivers/gpu/drm/i915/intel_lvds.c |
| @@ -343,6 +343,9 @@ intel_lvds_detect(struct drm_connector * |
| struct drm_device *dev = connector->dev; |
| enum drm_connector_status status; |
| |
| + DRM_DEBUG_KMS("[CONNECTOR:%d:%s]\n", |
| + connector->base.id, drm_get_connector_name(connector)); |
| + |
| status = intel_panel_detect(dev); |
| if (status != connector_status_unknown) |
| return status; |
| --- a/drivers/gpu/drm/i915/intel_sdvo.c |
| +++ b/drivers/gpu/drm/i915/intel_sdvo.c |
| @@ -1696,6 +1696,9 @@ intel_sdvo_detect(struct drm_connector * |
| struct intel_sdvo_connector *intel_sdvo_connector = to_intel_sdvo_connector(connector); |
| enum drm_connector_status ret; |
| |
| + DRM_DEBUG_KMS("[CONNECTOR:%d:%s]\n", |
| + connector->base.id, drm_get_connector_name(connector)); |
| + |
| if (!intel_sdvo_get_value(intel_sdvo, |
| SDVO_CMD_GET_ATTACHED_DISPLAYS, |
| &response, 2)) |
| --- a/drivers/gpu/drm/i915/intel_tv.c |
| +++ b/drivers/gpu/drm/i915/intel_tv.c |
| @@ -1317,6 +1317,10 @@ intel_tv_detect(struct drm_connector *co |
| struct intel_tv *intel_tv = intel_attached_tv(connector); |
| int type; |
| |
| + DRM_DEBUG_KMS("[CONNECTOR:%d:%s] force=%d\n", |
| + connector->base.id, drm_get_connector_name(connector), |
| + force); |
| + |
| mode = reported_modes[0]; |
| |
| if (force) { |