| From 387350762324e301af573750674831dbacdedffc Mon Sep 17 00:00:00 2001 |
| From: Jani Nikula <jani.nikula@intel.com> |
| Date: Tue, 17 Sep 2013 14:26:34 +0300 |
| Subject: drm/i915: only report hpd connector status change when it actually |
| changed |
| |
| This reduces dmesg noise when there's a glitch on the hpd line, or there |
| are more than one connectors on the same hpd line and only one of them |
| changes. |
| |
| While at it, switch to use the friendly status names instead of numbers. |
| |
| Signed-off-by: Jani Nikula <jani.nikula@intel.com> |
| Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> |
| (cherry picked from commit 67c347ff9b056d63e456664cbba189ed6467c039) |
| Signed-off-by: Darren Hart <dvhart@linux.intel.com> |
| --- |
| drivers/gpu/drm/i915/i915_irq.c | 14 ++++++++++---- |
| 1 file changed, 10 insertions(+), 4 deletions(-) |
| |
| diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c |
| index 13d26cf49f03..a42f30b9cdba 100644 |
| --- a/drivers/gpu/drm/i915/i915_irq.c |
| +++ b/drivers/gpu/drm/i915/i915_irq.c |
| @@ -665,7 +665,8 @@ static int i915_get_vblank_timestamp(struct drm_device *dev, int pipe, |
| crtc); |
| } |
| |
| -static int intel_hpd_irq_event(struct drm_device *dev, struct drm_connector *connector) |
| +static bool intel_hpd_irq_event(struct drm_device *dev, |
| + struct drm_connector *connector) |
| { |
| enum drm_connector_status old_status; |
| |
| @@ -673,11 +674,16 @@ static int intel_hpd_irq_event(struct drm_device *dev, struct drm_connector *con |
| old_status = connector->status; |
| |
| connector->status = connector->funcs->detect(connector, false); |
| - DRM_DEBUG_KMS("[CONNECTOR:%d:%s] status updated from %d to %d\n", |
| + if (old_status == connector->status) |
| + return false; |
| + |
| + DRM_DEBUG_KMS("[CONNECTOR:%d:%s] status updated from %s to %s\n", |
| connector->base.id, |
| drm_get_connector_name(connector), |
| - old_status, connector->status); |
| - return (old_status != connector->status); |
| + drm_get_connector_status_name(old_status), |
| + drm_get_connector_status_name(connector->status)); |
| + |
| + return true; |
| } |
| |
| /* |
| -- |
| 1.8.5.rc3 |
| |