drm/i915: Fixes to support DP Compliance EDID tests

This patch addresses a few issues from the original patch for
DP Compliance EDID test support submitted by
Todd Previte<todd.previte@gmail.com>

Video Mode requested in the EDID test handler for the EDID Read
test (CTS 4.2.2.3) should be set to PREFERRED as per the CTS spec.

v2:
* Added read debugfs data from test_data.edid if its EDID test (Jani NIkula)
Signed-off-by: Manasi Navare <manasi.d.navare@intel.com>
Cc: Jani Nikula <jani.nikula@linux.intel.com>
Cc: Daniel Vetter <daniel.vetter@intel.com>
Cc: Ville Syrjala <ville.syrjala@linux.intel.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1484968170-12467-3-git-send-email-manasi.d.navare@intel.com
This commit is contained in:
Manasi Navare 2017-01-20 19:09:28 -08:00 коммит произвёл Jani Nikula
Родитель da15f7cb19
Коммит b48a5ba971
2 изменённых файлов: 6 добавлений и 3 удалений

Просмотреть файл

@ -3775,7 +3775,10 @@ static int i915_displayport_test_data_show(struct seq_file *m, void *data)
if (connector->status == connector_status_connected && if (connector->status == connector_status_connected &&
connector->encoder != NULL) { connector->encoder != NULL) {
intel_dp = enc_to_intel_dp(connector->encoder); intel_dp = enc_to_intel_dp(connector->encoder);
seq_printf(m, "%lx", intel_dp->compliance.test_data.edid); if (intel_dp->compliance.test_type ==
DP_TEST_LINK_EDID_READ)
seq_printf(m, "%lx",
intel_dp->compliance.test_data.edid);
} else } else
seq_puts(m, "0"); seq_puts(m, "0");
} }

Просмотреть файл

@ -3979,7 +3979,7 @@ static uint8_t intel_dp_autotest_video_pattern(struct intel_dp *intel_dp)
static uint8_t intel_dp_autotest_edid(struct intel_dp *intel_dp) static uint8_t intel_dp_autotest_edid(struct intel_dp *intel_dp)
{ {
uint8_t test_result = DP_TEST_NAK; uint8_t test_result = DP_TEST_ACK;
struct intel_connector *intel_connector = intel_dp->attached_connector; struct intel_connector *intel_connector = intel_dp->attached_connector;
struct drm_connector *connector = &intel_connector->base; struct drm_connector *connector = &intel_connector->base;
@ -4014,7 +4014,7 @@ static uint8_t intel_dp_autotest_edid(struct intel_dp *intel_dp)
DRM_DEBUG_KMS("Failed to write EDID checksum\n"); DRM_DEBUG_KMS("Failed to write EDID checksum\n");
test_result = DP_TEST_ACK | DP_TEST_EDID_CHECKSUM_WRITE; test_result = DP_TEST_ACK | DP_TEST_EDID_CHECKSUM_WRITE;
intel_dp->compliance.test_data.edid = INTEL_DP_RESOLUTION_STANDARD; intel_dp->compliance.test_data.edid = INTEL_DP_RESOLUTION_PREFERRED;
} }
/* Set test active flag here so userspace doesn't interrupt things */ /* Set test active flag here so userspace doesn't interrupt things */