From mboxrd@z Thu Jan 1 00:00:00 1970 From: Manasi Navare Subject: [PATCH 1/4] drm/i915: Add support for DP link training compliance Date: Fri, 20 Jan 2017 19:09:27 -0800 Message-ID: <1484968170-12467-2-git-send-email-manasi.d.navare@intel.com> References: <1484968170-12467-1-git-send-email-manasi.d.navare@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1484968170-12467-1-git-send-email-manasi.d.navare@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org Cc: Manasi Navare , Daniel Vetter List-Id: dri-devel@lists.freedesktop.org VGhpcyBwYXRjaCBhZGRzIHN1cHBvcnQgdG8gaGFuZGxlIGF1dG9tYXRlZCBEUCBjb21wbGlhbmNl CmxpbmsgdHJhaW5pbmcgdGVzdCByZXF1ZXN0cy4gVGhpcyBwYXRjaCBoYXMgYmVlbiB0ZXN0ZWQg d2l0aApVbmlncmFmIERQUi0xMjAgRFAgQ29tcGxpYW5jZSBkZXZpY2UgZm9yIHRlc3RpbmcgTGlu awpUcmFpbmluZyBDb21wbGlhbmNlLgpBZnRlciB3ZSBnZXQgYSBzaG9ydCBwdWxzZSBDb21wbGlh bmNlIHRlc3QgcmVxdWVzdCwgdGVzdApyZXF1ZXN0IHZhbHVlcyBhcmUgcmVhZCBhbmQgaG90cGx1 ZyB1ZXZlbnQgaXMgc2VudCBpbiBvcmRlcgp0byB0cmlnZ2VyIGFub3RoZXIgbW9kZXNldCBkdXJp bmcgd2hpY2ggdGhlIHBpcGUgaXMgY29uZmlndXJlZAphbmQgbGluayBpcyByZXRyYWluZWQgYW5k IGVuYWJsZWQgZm9yIGxpbmsgcGFyYW1ldGVycyByZXF1ZXN0ZWQKYnkgdGhlIHRlc3QuCgp2NDoK KiBSZXR1cm4gVEVTVF9OQUsgZm9yIHJlYWQgZmFpbHVyZXMgYW5kIGludmFsaWQKdmFsdWVzIChK YW5pIE5pa3VsYSkKKiBDb252ZXIgdGhlIHRlc3QgbGluayBCVyB0byBsaW5rIHJhdGUgYmVmb3Jl IHN0b3JpbmcgKEphbmkgTmlrdWxhKQp2MzoKKiBWYWxpZGF0ZSB0aGUgdGVzdCBsaW5rIHJhdGUg YW5kIGxhbmUgY291bnQgYXMgc29vbiBhcwp0aGUgcmVxdWVzdCBjb21lcyAoSmFuaSBOaWt1bGEp CnYyOgoqIFZhbGlkYXRlIHRoZSB0ZXN0IGxhbmUgY291bnQgYmVmb3JlIHVzaW5nIGl0IGluCmlu dGVsX2RwX2NvbXB1dGVfY29uZmlnIChKYW5pIE5pa3VsYSkKU2lnbmVkLW9mZi1ieTogTWFuYXNp IE5hdmFyZSA8bWFuYXNpLmQubmF2YXJlQGludGVsLmNvbT4KQ2M6IEphbmkgTmlrdWxhIDxqYW5p Lm5pa3VsYUBsaW51eC5pbnRlbC5jb20+CkNjOiBEYW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVy QGludGVsLmNvbT4KQ2M6IFZpbGxlIFN5cmphbGEgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwu Y29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMgIHwgNjQgKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZHJ2LmggfCAgMiArKwogMiBmaWxlcyBjaGFuZ2VkLCA2MSBpbnNlcnRpb25zKCspLCA1IGRl bGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCmluZGV4IGU4MGQ2MjAuLjhkNTAwOGM3 IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMKQEAgLTE2MTMsNiArMTYxMyw3IEBAIHN0YXRpYyBp bnQgaW50ZWxfZHBfY29tcHV0ZV9icHAoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCwKIAkvKiBD b252ZW5pZW50bHksIHRoZSBsaW5rIEJXIGNvbnN0YW50cyBiZWNvbWUgaW5kaWNlcyB3aXRoIGEg c2hpZnQuLi4qLwogCWludCBtaW5fY2xvY2sgPSAwOwogCWludCBtYXhfY2xvY2s7CisJaW50IGxp bmtfcmF0ZV9pbmRleDsKIAlpbnQgYnBwLCBtb2RlX3JhdGU7CiAJaW50IGxpbmtfYXZhaWwsIGxp bmtfY2xvY2s7CiAJaW50IGNvbW1vbl9yYXRlc1tEUF9NQVhfU1VQUE9SVEVEX1JBVEVTXSA9IHt9 OwpAQCAtMTY1NCw2ICsxNjU1LDE1IEBAIHN0YXRpYyBpbnQgaW50ZWxfZHBfY29tcHV0ZV9icHAo c3RydWN0IGludGVsX2RwICppbnRlbF9kcCwKIAlpZiAoYWRqdXN0ZWRfbW9kZS0+ZmxhZ3MgJiBE Uk1fTU9ERV9GTEFHX0RCTENMSykKIAkJcmV0dXJuIGZhbHNlOwogCisJLyogVXNlIHZhbHVlcyBy ZXF1ZXN0ZWQgYnkgQ29tcGxpYW5jZSBUZXN0IFJlcXVlc3QgKi8KKwlpZiAoaW50ZWxfZHAtPmNv bXBsaWFuY2UudGVzdF90eXBlID09IERQX1RFU1RfTElOS19UUkFJTklORykgeworCQlsaW5rX3Jh dGVfaW5kZXggPSBpbnRlbF9kcF9saW5rX3JhdGVfaW5kZXgoaW50ZWxfZHAsCisJCQkJCQkJICAg Y29tbW9uX3JhdGVzLAorCQkJCQkJCSAgIGludGVsX2RwLT5jb21wbGlhbmNlLnRlc3RfbGlua19y YXRlKTsKKwkJaWYgKGxpbmtfcmF0ZV9pbmRleCA+PSAwKQorCQkJbWluX2Nsb2NrID0gbWF4X2Ns b2NrID0gbGlua19yYXRlX2luZGV4OworCQltaW5fbGFuZV9jb3VudCA9IG1heF9sYW5lX2NvdW50 ID0gaW50ZWxfZHAtPmNvbXBsaWFuY2UudGVzdF9sYW5lX2NvdW50OworCX0KIAlEUk1fREVCVUdf S01TKCJEUCBsaW5rIGNvbXB1dGF0aW9uIHdpdGggbWF4IGxhbmUgY291bnQgJWkgIgogCQkgICAg ICAibWF4IGJ3ICVkIHBpeGVsIGNsb2NrICVpS0h6XG4iLAogCQkgICAgICBtYXhfbGFuZV9jb3Vu dCwgY29tbW9uX3JhdGVzW21heF9jbG9ja10sCkBAIC0zOTIwLDcgKzM5MzAsNDYgQEAgaW50IGlu dGVsX2RwX3NpbmtfY3JjKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAsIHU4ICpjcmMpCiAKIHN0 YXRpYyB1aW50OF90IGludGVsX2RwX2F1dG90ZXN0X2xpbmtfdHJhaW5pbmcoc3RydWN0IGludGVs X2RwICppbnRlbF9kcCkKIHsKLQl1aW50OF90IHRlc3RfcmVzdWx0ID0gRFBfVEVTVF9BQ0s7CisJ dWludDhfdCB0ZXN0X3Jlc3VsdCA9IERQX1RFU1RfTkFLOworCWludCBzdGF0dXMgPSAwOworCWlu dCBtaW5fbGFuZV9jb3VudCA9IDE7CisJaW50IGNvbW1vbl9yYXRlc1tEUF9NQVhfU1VQUE9SVEVE X1JBVEVTXSA9IHt9OworCWludCBsaW5rX3JhdGVfaW5kZXgsIHRlc3RfbGlua19yYXRlOworCXVp bnQ4X3QgdGVzdF9sYW5lX2NvdW50LCB0ZXN0X2xpbmtfYnc7CisJLyogKERQIENUUyAxLjIpCisJ ICogNC4zLjEuMTEKKwkgKi8KKwkvKiBSZWFkIHRoZSBURVNUX0xBTkVfQ09VTlQgYW5kIFRFU1Rf TElOS19SVEFFIGZpZWxkcyAoRFAgQ1RTIDMuMS40KSAqLworCXN0YXR1cyA9IGRybV9kcF9kcGNk X3JlYWRiKCZpbnRlbF9kcC0+YXV4LCBEUF9URVNUX0xBTkVfQ09VTlQsCisJCQkJICAmdGVzdF9s YW5lX2NvdW50KTsKKworCWlmIChzdGF0dXMgPD0gMCkgeworCQlEUk1fREVCVUdfS01TKCJMYW5l IGNvdW50IHJlYWQgZmFpbGVkXG4iKTsKKwkJcmV0dXJuIHRlc3RfcmVzdWx0OworCX0KKwl0ZXN0 X2xhbmVfY291bnQgJj0gRFBfTUFYX0xBTkVfQ09VTlRfTUFTSzsKKwkvKiBWYWxpZGF0ZSB0aGUg cmVxdWVzdGVkIGxhbmUgY291bnQgKi8KKwlpZiAodGVzdF9sYW5lX2NvdW50IDwgbWluX2xhbmVf Y291bnQgfHwKKwkgICAgdGVzdF9sYW5lX2NvdW50ID4gaW50ZWxfZHAtPm1heF9zaW5rX2xhbmVf Y291bnQpCisJCXJldHVybiB0ZXN0X3Jlc3VsdDsKKwlpbnRlbF9kcC0+Y29tcGxpYW5jZS50ZXN0 X2xhbmVfY291bnQgPSB0ZXN0X2xhbmVfY291bnQ7CisKKwlzdGF0dXMgPSBkcm1fZHBfZHBjZF9y ZWFkYigmaW50ZWxfZHAtPmF1eCwgRFBfVEVTVF9MSU5LX1JBVEUsCisJCQkJICAgJnRlc3RfbGlu a19idyk7CisJaWYgKHN0YXR1cyA8PSAwKSB7CisJCURSTV9ERUJVR19LTVMoIkxpbmsgUmF0ZSBy ZWFkIGZhaWxlZFxuIik7CisJCXJldHVybiB0ZXN0X3Jlc3VsdDsKKwl9CisJLyogVmFsaWRhdGUg dGhlIHJlcXVlc3RlZCBsaW5rIHJhdGUgKi8KKwl0ZXN0X2xpbmtfcmF0ZSA9IGRybV9kcF9id19j b2RlX3RvX2xpbmtfcmF0ZSh0ZXN0X2xpbmtfYncpOworCWxpbmtfcmF0ZV9pbmRleCA9IGludGVs X2RwX2xpbmtfcmF0ZV9pbmRleChpbnRlbF9kcCwKKwkJCQkJCSAgIGNvbW1vbl9yYXRlcywKKwkJ CQkJCSAgIHRlc3RfbGlua19yYXRlKTsKKwlpZiAobGlua19yYXRlX2luZGV4IDwgMCkKKwkJcmV0 dXJuIHRlc3RfcmVzdWx0OworCWludGVsX2RwLT5jb21wbGlhbmNlLnRlc3RfbGlua19yYXRlID0g dGVzdF9saW5rX3JhdGU7CisKKwl0ZXN0X3Jlc3VsdCA9IERQX1RFU1RfQUNLOwogCXJldHVybiB0 ZXN0X3Jlc3VsdDsKIH0KIApAQCAtNDEzNSw5ICs0MTg0LDggQEAgc3RhdGljIHZvaWQgaW50ZWxf ZHBfaGFuZGxlX3Rlc3RfcmVxdWVzdChzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQogCWlmICgh aW50ZWxfZHAtPmxhbmVfY291bnQpCiAJCXJldHVybjsKIAotCS8qIGlmIGxpbmsgdHJhaW5pbmcg aXMgcmVxdWVzdGVkIHdlIHNob3VsZCBwZXJmb3JtIGl0IGFsd2F5cyAqLwotCWlmICgoaW50ZWxf ZHAtPmNvbXBsaWFuY2UudGVzdF90eXBlID09IERQX1RFU1RfTElOS19UUkFJTklORykgfHwKLQkg ICAgKCFkcm1fZHBfY2hhbm5lbF9lcV9vayhsaW5rX3N0YXR1cywgaW50ZWxfZHAtPmxhbmVfY291 bnQpKSkgeworCS8qIFJldHJhaW4gaWYgQ2hhbm5lbCBFUSBvciBDUiBub3Qgb2sgKi8KKwlpZiAo IWRybV9kcF9jaGFubmVsX2VxX29rKGxpbmtfc3RhdHVzLCBpbnRlbF9kcC0+bGFuZV9jb3VudCkp IHsKIAkJRFJNX0RFQlVHX0tNUygiJXM6IGNoYW5uZWwgRVEgbm90IG9rLCByZXRyYWluaW5nXG4i LAogCQkJICAgICAgaW50ZWxfZW5jb2Rlci0+YmFzZS5uYW1lKTsKIApAQCAtNDE2Miw2ICs0MjEw LDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfZHBfaGFuZGxlX3Rlc3RfcmVxdWVzdChzdHJ1Y3QgaW50 ZWxfZHAgKmludGVsX2RwKQogaW50ZWxfZHBfc2hvcnRfcHVsc2Uoc3RydWN0IGludGVsX2RwICpp bnRlbF9kcCkKIHsKIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gaW50ZWxfZHBfdG9fZGV2KGlu dGVsX2RwKTsKKwlzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqaW50ZWxfZW5jb2RlciA9ICZkcF90b19k aWdfcG9ydChpbnRlbF9kcCktPmJhc2U7CiAJdTggc2lua19pcnFfdmVjdG9yID0gMDsKIAl1OCBv bGRfc2lua19jb3VudCA9IGludGVsX2RwLT5zaW5rX2NvdW50OwogCWJvb2wgcmV0OwpAQCAtNDE5 NSw3ICs0MjQ0LDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfZHBfaGFuZGxlX3Rlc3RfcmVxdWVzdChz dHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQogCQkJCSAgIHNpbmtfaXJxX3ZlY3Rvcik7CiAKIAkJ aWYgKHNpbmtfaXJxX3ZlY3RvciAmIERQX0FVVE9NQVRFRF9URVNUX1JFUVVFU1QpCi0JCQlEUk1f REVCVUdfRFJJVkVSKCJUZXN0IHJlcXVlc3QgaW4gc2hvcnQgcHVsc2Ugbm90IGhhbmRsZWRcbiIp OworCQkJaW50ZWxfZHBfaGFuZGxlX3Rlc3RfcmVxdWVzdChpbnRlbF9kcCk7CiAJCWlmIChzaW5r X2lycV92ZWN0b3IgJiAoRFBfQ1BfSVJRIHwgRFBfU0lOS19TUEVDSUZJQ19JUlEpKQogCQkJRFJN X0RFQlVHX0RSSVZFUigiQ1Agb3Igc2luayBzcGVjaWZpYyBpcnEgdW5oYW5kbGVkXG4iKTsKIAl9 CkBAIC00MjAzLDYgKzQyNTIsMTEgQEAgc3RhdGljIHZvaWQgaW50ZWxfZHBfaGFuZGxlX3Rlc3Rf cmVxdWVzdChzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQogCWRybV9tb2Rlc2V0X2xvY2soJmRl di0+bW9kZV9jb25maWcuY29ubmVjdGlvbl9tdXRleCwgTlVMTCk7CiAJaW50ZWxfZHBfY2hlY2tf bGlua19zdGF0dXMoaW50ZWxfZHApOwogCWRybV9tb2Rlc2V0X3VubG9jaygmZGV2LT5tb2RlX2Nv bmZpZy5jb25uZWN0aW9uX211dGV4KTsKKwlpZiAoaW50ZWxfZHAtPmNvbXBsaWFuY2UudGVzdF90 eXBlID09IERQX1RFU1RfTElOS19UUkFJTklORykgeworCQlEUk1fREVCVUdfS01TKCJMaW5rIFRy YWluaW5nIENvbXBsaWFuY2UgVGVzdCByZXF1ZXN0ZWRcbiIpOworCQkvKiBTZW5kIGEgSG90cGx1 ZyBVZXZlbnQgdG8gdXNlcnNwYWNlIHRvIHN0YXJ0IG1vZGVzZXQgKi8KKwkJZHJtX2ttc19oZWxw ZXJfaG90cGx1Z19ldmVudChpbnRlbF9lbmNvZGVyLT5iYXNlLmRldik7CisJfQogCiAJcmV0dXJu IHRydWU7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCmluZGV4IDBjZWMwMDEuLjBiOGQ2ZTQg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCkBAIC04OTQsNiArODk0LDggQEAgc3RydWN0IGlu dGVsX2RwX2NvbXBsaWFuY2UgewogCXVuc2lnbmVkIGxvbmcgdGVzdF90eXBlOwogCXN0cnVjdCBp bnRlbF9kcF9jb21wbGlhbmNlX2RhdGEgdGVzdF9kYXRhOwogCWJvb2wgdGVzdF9hY3RpdmU7CisJ aW50IHRlc3RfbGlua19yYXRlOworCXU4IHRlc3RfbGFuZV9jb3VudDsKIH07CiAKIHN0cnVjdCBp bnRlbF9kcCB7Ci0tIAoxLjkuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRl c2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8v ZHJpLWRldmVsCg==