From mboxrd@z Thu Jan 1 00:00:00 1970 From: Manasi Navare Subject: [PATCH 7/9] drm/i915/dp: Enable upfront link training on SKL Date: Tue, 9 Aug 2016 12:29:13 -0700 Message-ID: <1470770955-5214-8-git-send-email-manasi.d.navare@intel.com> References: <1470770955-5214-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: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTP id 873386E656 for ; Tue, 9 Aug 2016 19:16:32 +0000 (UTC) In-Reply-To: <1470770955-5214-1-git-send-email-manasi.d.navare@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org RnJvbTogSmltIEJyaWRlIDxqaW0uYnJpZGVAbGludXguaW50ZWwuY29tPgoKU3BsaXQgdGhlIFBM TCBzZWxlY3Rpb24gY29kZSBvdXQgb2YgdGhlIEJYVCB1cGZyb250IGxpbmsgdHJhaW5pbmcKaW1w bGVtZW50YXRpb24gYW5kIGludG8gYSBzdGFuZC1hbG9uZSBmdW5jdGlvbiBpbiBvcmRlciB0byBh bGxvdwpmb3IgdGhlIGltcGxlbWVudGF0aW9uIG9mIGEgcGxhdGZvcm0gbmV1dHJhbCB1cGZyb250 IGxpbmsgdHJhaW5pbmcKZnVuY3Rpb24sIGFuZCB0aGVuIGVuYWJsZSB1cGZyb250IGxpbmsgdHJh aW5pbmcgZm9yIFNreWxha2UuCgpTaWduZWQtb2ZmLWJ5OiBKaW0gQnJpZGUgPGppbS5icmlkZUBs aW51eC5pbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMgICAg ICB8IDU4ICsrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kcC5jICAgICAgIHwgIDQgKy0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kcGxsX21nci5jIHwgMzggKysrKysrKysrKysrKysrKysrKysrKysKIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2RwbGxfbWdyLmggfCAgMiArKwogZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZHJ2LmggICAgICB8ICA0ICsrLQogNSBmaWxlcyBjaGFuZ2VkLCA4NSBpbnNlcnRpb25z KCspLCAyMSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kZGkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jCmluZGV4IDM5MjEy MzAuLmVkOWViY2EgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5j CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jCkBAIC0yMzc4LDggKzIzNzgs NDMgQEAgaW50ZWxfZGRpX2luaXRfaGRtaV9jb25uZWN0b3Ioc3RydWN0IGludGVsX2RpZ2l0YWxf cG9ydCAqaW50ZWxfZGlnX3BvcnQpCiAJcmV0dXJuIGNvbm5lY3RvcjsKIH0KIAorc3RydWN0IGlu dGVsX3NoYXJlZF9kcGxsICoKK2ludGVsX2RkaV9nZXRfbGlua19kcGxsKHN0cnVjdCBpbnRlbF9k cCAqaW50ZWxfZHAsIGludCBjbG9jaykKK3sKKwlzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25u ZWN0b3IgPSBpbnRlbF9kcC0+YXR0YWNoZWRfY29ubmVjdG9yOworCXN0cnVjdCBpbnRlbF9lbmNv ZGVyICplbmNvZGVyID0gY29ubmVjdG9yLT5lbmNvZGVyOworCXN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZW5jb2Rlci0+YmFzZS5kZXYpOworCXN0cnVjdCBpbnRl bF9kaWdpdGFsX3BvcnQgKmRpZ19wb3J0ID0gZHBfdG9fZGlnX3BvcnQoaW50ZWxfZHApOworCXN0 cnVjdCBpbnRlbF9zaGFyZWRfZHBsbCAqcGxsID0gTlVMTDsKKwlzdHJ1Y3QgaW50ZWxfc2hhcmVk X2RwbGxfY29uZmlnIHRtcF9wbGxfY29uZmlnOworCWVudW0gaW50ZWxfZHBsbF9pZCBkcGxsX2lk OwogCi1ib29sIGludGVsX2J4dF91cGZyb250X2xpbmtfdHJhaW4oc3RydWN0IGludGVsX2RwICpp bnRlbF9kcCwKKwlpZiAoSVNfQlJPWFRPTihkZXZfcHJpdikpIHsKKwkJZHBsbF9pZCA9ICAoZW51 bSBpbnRlbF9kcGxsX2lkKWRpZ19wb3J0LT5wb3J0OworCQkvKgorCQkgKiBTZWxlY3QgdGhlIHJl cXVpcmVkIFBMTC4gVGhpcyB3b3JrcyBmb3IgcGxhdGZvcm1zIHdoZXJlCisJCSAqIHRoZXJlIGlz IG5vIHNoYXJlZCBEUExMLgorCQkgKi8KKwkJcGxsID0gJmRldl9wcml2LT5zaGFyZWRfZHBsbHNb ZHBsbF9pZF07CisJCWlmIChXQVJOX09OKHBsbC0+YWN0aXZlX21hc2spKSB7CisKKwkJCURSTV9F UlJPUigiU2hhcmVkIERQTEwgaW4gdXNlLiBhY3RpdmVfbWFzazoleFxuIiwKKwkJCQkgIHBsbC0+ YWN0aXZlX21hc2spOworCQkJcGxsID0gTlVMTDsKKwkJfQorCQl0bXBfcGxsX2NvbmZpZyA9IHBs bC0+Y29uZmlnOworCQlpZiAoIWJ4dF9kZGlfZHBfc2V0X2RwbGxfaHdfc3RhdGUoY2xvY2ssCisJ CQkJCQkgICZwbGwtPmNvbmZpZy5od19zdGF0ZSkpIHsKKwkJCURSTV9FUlJPUigiQ291bGQgbm90 IHNldHVwIERQTExcbiIpOworCQkJcGxsLT5jb25maWcgPSB0bXBfcGxsX2NvbmZpZzsKKwkJfQor CX0gZWxzZSBpZiAoSVNfU0tZTEFLRShkZXZfcHJpdikpIHsKKwkJcGxsID0gc2tsX2ZpbmRfbGlu a19wbGwoZGV2X3ByaXYsIGNsb2NrKTsKKwl9CisJcmV0dXJuIHBsbDsKK30KKworYm9vbCBpbnRl bF9kZGlfdXBmcm9udF9saW5rX3RyYWluKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAsCiAJCQkJ ICBpbnQgY2xvY2ssIHVpbnQ4X3QgbGFuZV9jb3VudCwKIAkJCQkgIGJvb2wgbGlua19tc3QpCiB7 CkBAIC0yMzg4LDI4ICsyNDIzLDE1IEBAIGJvb2wgaW50ZWxfYnh0X3VwZnJvbnRfbGlua190cmFp bihzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLAogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdiA9IHRvX2k5MTUoZW5jb2Rlci0+YmFzZS5kZXYpOwogCXN0cnVjdCBpbnRlbF9zaGFy ZWRfZHBsbCAqcGxsOwogCXN0cnVjdCBpbnRlbF9zaGFyZWRfZHBsbF9jb25maWcgdG1wX3BsbF9j b25maWc7Ci0Jc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqZGlnX3BvcnQgPSBkcF90b19kaWdf cG9ydChpbnRlbF9kcCk7Ci0JZW51bSBpbnRlbF9kcGxsX2lkIGRwbGxfaWQgPSAoZW51bSBpbnRl bF9kcGxsX2lkKWRpZ19wb3J0LT5wb3J0OwogCi0JLyoKLQkgKiBGSVhNRTogV29ya3Mgb25seSBm b3IgQlhULgotCSAqIFNlbGVjdCB0aGUgcmVxdWlyZWQgUExMLiBUaGlzIHdvcmtzIGZvciBwbGF0 Zm9ybXMgd2hlcmUKLQkgKiB0aGVyZSBpcyBubyBzaGFyZWQgRFBMTC4KLQkgKi8KLQlwbGwgPSAm ZGV2X3ByaXYtPnNoYXJlZF9kcGxsc1tkcGxsX2lkXTsKLQlpZiAoV0FSTl9PTihwbGwtPmFjdGl2 ZV9tYXNrKSkgewotCQlEUk1fRVJST1IoIlNoYXJlZCBEUExMIGFscmVhZHkgaW4gdXNlLiBhY3Rp dmVfbWFzazoleFxuIiwgcGxsLT5hY3RpdmVfbWFzayk7CisJcGxsID0gaW50ZWxfZGRpX2dldF9s aW5rX2RwbGwoaW50ZWxfZHAsIGNsb2NrKTsKKwlpZiAocGxsID09IE5VTEwpIHsKKwkJRFJNX0VS Uk9SKCJDb3VsZCBub3QgZmluZCBEUExMIGZvciBsaW5rIHRyYWluaW5nLlxuIik7CiAJCXJldHVy biBmYWxzZTsKIAl9Ci0KKwkKIAl0bXBfcGxsX2NvbmZpZyA9IHBsbC0+Y29uZmlnOwogCi0JaWYg KCFieHRfZGRpX2RwX3NldF9kcGxsX2h3X3N0YXRlKGNsb2NrLCAmcGxsLT5jb25maWcuaHdfc3Rh dGUpKSB7Ci0JCURSTV9FUlJPUigiQ291bGQgbm90IHNldHVwIERQTExcbiIpOwotCQlwbGwtPmNv bmZpZyA9IHRtcF9wbGxfY29uZmlnOwotCQlyZXR1cm4gZmFsc2U7Ci0JfQotCiAJLyogRW5hYmxl IFBMTCBmb2xsb3dlZCBieSBwb3J0ICovCiAJcGxsLT5mdW5jcy5lbmFibGUoZGV2X3ByaXYsIHBs bCk7CiAJaW50ZWxfZGRpX3ByZV9lbmFibGVfZHAoZW5jb2RlciwgY2xvY2ssIGxhbmVfY291bnQs IHBsbCwgbGlua19tc3QpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZHAuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMKaW5kZXggNGMwM2UyOC4uNTcy MTE5ZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYworKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCkBAIC01NzYyLDggKzU3NjIsOCBAQCBpbnRl bF9kcF9pbml0X2Nvbm5lY3RvcihzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdf cG9ydCwKIAogCS8qIEluaXRpYWxpemUgdXBmcm9udCBsaW5rIHRyYWluaW5nIHZmdW5jIGZvciBE UCAqLwogCWlmIChpbnRlbF9lbmNvZGVyLT50eXBlICE9IElOVEVMX09VVFBVVF9FRFApIHsKLQkJ aWYgKElTX0JST1hUT04oZGV2KSkKLQkJCWludGVsX2RwLT51cGZyb250X2xpbmtfdHJhaW4gPSBp bnRlbF9ieHRfdXBmcm9udF9saW5rX3RyYWluOworCQlpZiAoSVNfQlJPWFRPTihkZXYpIHx8IElT X1NLWUxBS0UoZGV2KSkKKwkJCWludGVsX2RwLT51cGZyb250X2xpbmtfdHJhaW4gPSBpbnRlbF9k ZGlfdXBmcm9udF9saW5rX3RyYWluOwogCX0KIAogCS8qIGVEUCBvbmx5IG9uIHBvcnQgQiBhbmQv b3IgQyBvbiB2bHYvY2h2ICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kcGxsX21nci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHBsbF9tZ3IuYwppbmRl eCA4Y2UyMjBlLi5lNWMwMjVlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kcGxsX21nci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwbGxfbWdyLmMK QEAgLTI0LDYgKzI0LDQ0IEBACiAjaW5jbHVkZSAiaW50ZWxfZHJ2LmgiCiAKIHN0cnVjdCBpbnRl bF9zaGFyZWRfZHBsbCAqCitza2xfZmluZF9saW5rX3BsbChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYsIGludCBjbG9jaykKK3sKKwlzdHJ1Y3QgaW50ZWxfc2hhcmVkX2RwbGwgKnBs bCA9IE5VTEw7CisJc3RydWN0IGludGVsX2RwbGxfaHdfc3RhdGUgZHBsbF9od19zdGF0ZTsKKwll bnVtIGludGVsX2RwbGxfaWQgaTsKKwlib29sIGZvdW5kID0gZmFsc2U7CisKKwlpZiAoIXNrbF9k ZGlfZHBfc2V0X2RwbGxfaHdfc3RhdGUoY2xvY2ssICZkcGxsX2h3X3N0YXRlKSkKKwkJcmV0dXJu IHBsbDsKKworCWZvciAoaSA9IERQTExfSURfU0tMX0RQTEwxOyBpIDw9IERQTExfSURfU0tMX0RQ TEwzOyBpKyspIHsKKwkJcGxsID0gJmRldl9wcml2LT5zaGFyZWRfZHBsbHNbaV07CisKKwkJLyog T25seSB3YW50IHRvIGNoZWNrIGVuYWJsZWQgdGltaW5ncyBmaXJzdCAqLworCQlpZiAocGxsLT5j b25maWcuY3J0Y19tYXNrID09IDApCisJCQljb250aW51ZTsKKworCQlpZiAobWVtY21wKCZkcGxs X2h3X3N0YXRlLCAmcGxsLT5jb25maWcuaHdfc3RhdGUsCisJCQkgICBzaXplb2YocGxsLT5jb25m aWcuaHdfc3RhdGUpKSA9PSAwKSB7CisJCQlmb3VuZCA9IHRydWU7CisJCQlicmVhazsKKwkJfQor CX0KKworCS8qIE9rIG5vIG1hdGNoaW5nIHRpbWluZ3MsIG1heWJlIHRoZXJlJ3MgYSBmcmVlIG9u ZT8gKi8KKwlmb3IgKGkgPSBEUExMX0lEX1NLTF9EUExMMTsKKwkgICAgICgoZm91bmQgPT0gZmFs c2UpICYmIChpIDw9IERQTExfSURfU0tMX0RQTEwzKSk7IGkrKykgeworCQlwbGwgPSAmZGV2X3By aXYtPnNoYXJlZF9kcGxsc1tpXTsKKwkJaWYgKHBsbC0+Y29uZmlnLmNydGNfbWFzayA9PSAwKSB7 CisJCQlwbGwtPmNvbmZpZy5od19zdGF0ZSA9IGRwbGxfaHdfc3RhdGU7CisJCQlicmVhazsKKwkJ fQorCX0KKworCXJldHVybiBwbGw7Cit9CisKK3N0cnVjdCBpbnRlbF9zaGFyZWRfZHBsbCAqCiBp bnRlbF9nZXRfc2hhcmVkX2RwbGxfYnlfaWQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2LAogCQkJICAgIGVudW0gaW50ZWxfZHBsbF9pZCBpZCkKIHsKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwbGxfbWdyLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kcGxsX21nci5oCmluZGV4IGNiMjhmOGQuLmVjMGZlNjYgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwbGxfbWdyLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZHBsbF9tZ3IuaApAQCAtMTY3LDUgKzE2Nyw3IEBAIGJvb2wgYnh0X2RkaV9kcF9z ZXRfZHBsbF9od19zdGF0ZShpbnQgY2xvY2ssCiAvKiBTS0wgZHBsbCByZWxhdGVkIGZ1bmN0aW9u cyAqLwogYm9vbCBza2xfZGRpX2RwX3NldF9kcGxsX2h3X3N0YXRlKGludCBjbG9jaywKIAkJCQkg IHN0cnVjdCBpbnRlbF9kcGxsX2h3X3N0YXRlICpkcGxsX2h3X3N0YXRlKTsKK3N0cnVjdCBpbnRl bF9zaGFyZWRfZHBsbCAqc2tsX2ZpbmRfbGlua19wbGwoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2LAorCQkJCQkgICAgaW50IGNsb2NrKTsKIAogI2VuZGlmIC8qIF9JTlRFTF9EUExM X01HUl9IXyAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2Lmgg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAppbmRleCBiYzAzY2U4Li5iNjZhNzZj IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAorKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaApAQCAtMTEzOCw5ICsxMTM4LDExIEBAIHZvaWQg aW50ZWxfZGRpX2Nsb2NrX2dldChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAkJCSBz dHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25maWcpOwogdm9pZCBpbnRlbF9kZGlfc2V0 X3ZjX3BheWxvYWRfYWxsb2Moc3RydWN0IGRybV9jcnRjICpjcnRjLCBib29sIHN0YXRlKTsKIHVp bnQzMl90IGRkaV9zaWduYWxfbGV2ZWxzKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApOwotYm9v bCBpbnRlbF9ieHRfdXBmcm9udF9saW5rX3RyYWluKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAs Citib29sIGludGVsX2RkaV91cGZyb250X2xpbmtfdHJhaW4oc3RydWN0IGludGVsX2RwICppbnRl bF9kcCwKIAkJCQkgIGludCBjbG9jaywgdWludDhfdCBsYW5lX2NvdW50LAogCQkJCSAgYm9vbCBs aW5rX21zdCk7CitzdHJ1Y3QgaW50ZWxfc2hhcmVkX2RwbGwgKmludGVsX2RkaV9nZXRfbGlua19k cGxsKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAsCisJCQkJCQkgIGludCBjbG9jayk7CiAKIHVu c2lnbmVkIGludCBpbnRlbF9mYl9hbGlnbl9oZWlnaHQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwK IAkJCQkgICB1bnNpZ25lZCBpbnQgaGVpZ2h0LAotLSAKMS45LjEKCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50 ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=