Each time we handle the long pulse, we check for the test request
interrupt and populate the compliance data in the intel_dp
structure. So the previously populated data becomes stale.
Hence we need to clear the compliance data during each long
pulse handling.

Not clearing the compliance test data for each long pulse
causes compliance failures since each test starts with a new long pulse
and re populates the compliance test data.

Signed-off-by: Manasi Navare <manasi.d.nav...@intel.com>
Cc: Jani Nikula <jani.nik...@linux.intel.com>
Cc: Ville Syrjala <ville.syrj...@linux.intel.com>
---
 drivers/gpu/drm/i915/intel_dp.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
index 2dc87a5..8a21181 100644
--- a/drivers/gpu/drm/i915/intel_dp.c
+++ b/drivers/gpu/drm/i915/intel_dp.c
@@ -4646,9 +4646,11 @@ intel_dp_long_pulse(struct intel_connector 
*intel_connector)
        else
                status = connector_status_disconnected;
 
+       /* In either case, clear the stale compliance test data since this
+        * is a new long pulse handling, could be a new test request.
+        */
+       memset(&intel_dp->compliance, 0, sizeof(intel_dp->compliance));
        if (status == connector_status_disconnected) {
-               memset(&intel_dp->compliance, 0, sizeof(intel_dp->compliance));
-
                if (intel_dp->is_mst) {
                        DRM_DEBUG_KMS("MST device may have disappeared %d vs 
%d\n",
                                      intel_dp->is_mst,
-- 
2.1.4

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to