Commit 88afbfdb authored by Animesh Manna's avatar Animesh Manna Committed by Maarten Lankhorst
Browse files

drm/i915/dp: Preparation for DP phy compliance auto test



During DP phy compliance auto test mode, sink will request
combination of different test pattern with differnt level of
vswing, pre-emphasis. Function added to prepare for it.

Reviewed-by: default avatarManasi Navare <manasi.d.navare@intel.com>
Signed-off-by: default avatarAnimesh Manna <animesh.manna@intel.com>
Signed-off-by: default avatarMaarten Lankhorst <maarten.lankhorst@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200316103759.12867-5-animesh.manna@intel.com
parent 5d1453d5
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -1238,6 +1238,7 @@ struct intel_dp_compliance_data {
	u8 video_pattern;
	u16 hdisplay, vdisplay;
	u8 bpc;
	struct drm_dp_phy_test_params phytest;
};

struct intel_dp_compliance {
+24 −0
Original line number Diff line number Diff line
@@ -5001,9 +5001,33 @@ static u8 intel_dp_autotest_edid(struct intel_dp *intel_dp)
	return test_result;
}

static u8 intel_dp_prepare_phytest(struct intel_dp *intel_dp)
{
	struct drm_dp_phy_test_params *data =
		&intel_dp->compliance.test_data.phytest;

	if (drm_dp_get_phy_test_pattern(&intel_dp->aux, data)) {
		DRM_DEBUG_KMS("DP Phy Test pattern AUX read failure\n");
		return DP_TEST_NAK;
	}

	/*
	 * link_mst is set to false to avoid executing mst related code
	 * during compliance testing.
	 */
	intel_dp->link_mst = false;

	return DP_TEST_ACK;
}

static u8 intel_dp_autotest_phy_pattern(struct intel_dp *intel_dp)
{
	u8 test_result = DP_TEST_NAK;

	test_result = intel_dp_prepare_phytest(intel_dp);
	if (test_result != DP_TEST_ACK)
		DRM_ERROR("Phy test preparation failed\n");

	return test_result;
}