diff mbox

[02/10] drm/i915: Add counters in the drm_dp_aux struct for I2C NACKs and DEFERs

Message ID 001001cfe3d6$dd246490$976d2db0$@gmail.com (mailing list archive)
State New, archived
Headers show

Commit Message

Todd Previte Oct. 9, 2014, 3:36 p.m. UTC
Sorry for the spam - Ignore the duplicates. There will be one more coming
when I post this series to intel-gfx.

-T

-----Original Message-----
From: Todd Previte [mailto:tprevite@gmail.com] 
Sent: Thursday, October 09, 2014 8:33 AM
To: tprevite@gmail.com
Cc: dri-devel@lists.freedesktop.org
Subject: [PATCH 02/10] drm/i915: Add counters in the drm_dp_aux struct for
I2C NACKs and DEFERs

These counters are used for Displayort complinace testing to detect error
conditions when executing certain compliance tests. Currently these are used
in the EDID tests to determine if the video mode needs to be set to the
preferred mode or the failsafe mode.

Cc: dri-devel@lists.freedesktop.org
Signed-off-by: Todd Previte <tprevite@gmail.com>
---
 drivers/gpu/drm/drm_dp_helper.c | 2 ++
 include/drm/drm_dp_helper.h     | 1 +
 2 files changed, 3 insertions(+)

--
1.9.1
diff mbox

Patch

diff --git a/drivers/gpu/drm/drm_dp_helper.c
b/drivers/gpu/drm/drm_dp_helper.c index 08e33b8..8353051 100644
--- a/drivers/gpu/drm/drm_dp_helper.c
+++ b/drivers/gpu/drm/drm_dp_helper.c
@@ -654,10 +654,12 @@  static int drm_dp_i2c_do_msg(struct drm_dp_aux *aux,
struct drm_dp_aux_msg *msg)
 
 		case DP_AUX_I2C_REPLY_NACK:
 			DRM_DEBUG_KMS("I2C nack\n");
+			aux->i2c_nack_count++;
 			return -EREMOTEIO;
 
 		case DP_AUX_I2C_REPLY_DEFER:
 			DRM_DEBUG_KMS("I2C defer\n");
+			aux->i2c_defer_count++;
 			usleep_range(400, 500);
 			continue;
 
diff --git a/include/drm/drm_dp_helper.h b/include/drm/drm_dp_helper.h index
8edeed0..45f3ee8 100644
--- a/include/drm/drm_dp_helper.h
+++ b/include/drm/drm_dp_helper.h
@@ -551,6 +551,7 @@  struct drm_dp_aux {
 	struct mutex hw_mutex;
 	ssize_t (*transfer)(struct drm_dp_aux *aux,
 			    struct drm_dp_aux_msg *msg);
+	uint8_t i2c_nack_count, i2c_defer_count;
 };
 
 ssize_t drm_dp_dpcd_read(struct drm_dp_aux *aux, unsigned int offset,