From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paulo Zanoni Subject: [PATCH 27/24] drm/i915/dp: Add support for HBR3 and TPS4 during link training Date: Thu, 24 May 2018 16:42:38 -0700 Message-ID: <20180524234241.3665-3-paulo.r.zanoni@intel.com> References: <20180522002558.29262-1-paulo.r.zanoni@intel.com> <20180524234241.3665-1-paulo.r.zanoni@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by gabe.freedesktop.org (Postfix) with ESMTPS id 7AF8A6E6F4 for ; Thu, 24 May 2018 23:42:46 +0000 (UTC) In-Reply-To: <20180524234241.3665-1-paulo.r.zanoni@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 Cc: Rodrigo Vivi List-Id: intel-gfx@lists.freedesktop.org RnJvbTogTWFuYXNpIE5hdmFyZSA8bWFuYXNpLmQubmF2YXJlQGludGVsLmNvbT4KCkRQIHNwZWMg MS40IHN1cHBvcnRzIHRyYWluaW5nIHBhdHRlcm4gc2V0IDQgKFRQUzQpIGZvciBIQlIzIGxpbmsK cmF0ZS4gVGhpcyB3aWxsIGJlIHVzZWQgaW4gbGluayB0cmFpbmluZydzIGNoYW5uZWwgZXF1YWxp emF0aW9uCnBoYXNlIGlmIHN1cHBvcnRlZCBieSBib3RoIHNvdXJjZSBhbmQgc2luay4KVGhpcyBw YXRjaCBhZGRzIHRoZSBoZWxwZXJzIHRvIGNoZWNrIGlmIEhCUjMgaXMgc3VwcG9ydGVkIGFuZCB1 c2VzClRQUzQgaW4gdHJhaW5pbmcgcGF0dGVybiBzZWxlY3Rpb24gZHVyaW5nIGxpbmsgdHJhaW5p bmcuCgpDYzogSmFtZXMgQXVzbXVzIDxqYW1lcy5hdXNtdXNAaW50ZWwuY29tPgpDYzogUm9kcmln byBWaXZpIDxyb2RyaWdvLnZpdmlAaW50ZWwuY29tPgpDYzogSmFuaSBOaWt1bGEgPGphbmkubmlr dWxhQGxpbnV4LmludGVsLmNvbT4KU2lnbmVkLW9mZi1ieTogTWFuYXNpIE5hdmFyZSA8bWFuYXNp LmQubmF2YXJlQGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5o ICAgICAgICAgICAgICAgfCAgMSArCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jICAg ICAgICAgICAgICAgfCAxNyArKysrKysrKystLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2RwX2xpbmtfdHJhaW5pbmcuYyB8IDM5ICsrKysrKysrKysrKysrKysrKystLS0tLS0tLQogZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggICAgICAgICAgICAgIHwgIDEgKwogNCBmaWxl cyBjaGFuZ2VkLCA0NCBpbnNlcnRpb25zKCspLCAxNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9yZWcuaAppbmRleCBlNDhiNzE3NzY5YjIuLmFlNzA3MGMwODA2ZCAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X3JlZy5oCkBAIC04NzkxLDYgKzg3OTEsNyBAQCBlbnVtIHNrbF9wb3dlcl9nYXRlIHsK ICNkZWZpbmUgIERQX1RQX0NUTF9MSU5LX1RSQUlOX1BBVDEJCSgwPDw4KQogI2RlZmluZSAgRFBf VFBfQ1RMX0xJTktfVFJBSU5fUEFUMgkJKDE8PDgpCiAjZGVmaW5lICBEUF9UUF9DVExfTElOS19U UkFJTl9QQVQzCQkoNDw8OCkKKyNkZWZpbmUgIERQX1RQX0NUTF9MSU5LX1RSQUlOX1BBVDQJCSg1 PDw4KQogI2RlZmluZSAgRFBfVFBfQ1RMX0xJTktfVFJBSU5fSURMRQkJKDI8PDgpCiAjZGVmaW5l ICBEUF9UUF9DVExfTElOS19UUkFJTl9OT1JNQUwJCSgzPDw4KQogI2RlZmluZSAgRFBfVFBfQ1RM X1NDUkFNQkxFX0RJU0FCTEUJCSgxPDw3KQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZHAuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMKaW5kZXggM2Vl OGU3NGNmMmI4Li5iY2MzZjMzMGIzMDEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2RwLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYwpAQCAtMTcy MSw2ICsxNzIxLDEzIEBAIGJvb2wgaW50ZWxfZHBfc291cmNlX3N1cHBvcnRzX2hicjIoc3RydWN0 IGludGVsX2RwICppbnRlbF9kcCkKIAlyZXR1cm4gbWF4X3JhdGUgPj0gNTQwMDAwOwogfQogCiti b29sIGludGVsX2RwX3NvdXJjZV9zdXBwb3J0c19oYnIzKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxf ZHApCit7CisJaW50IG1heF9yYXRlID0gaW50ZWxfZHAtPnNvdXJjZV9yYXRlc1tpbnRlbF9kcC0+ bnVtX3NvdXJjZV9yYXRlcyAtIDFdOworCisJcmV0dXJuIG1heF9yYXRlID49IDgxMDAwMDsKK30K Kwogc3RhdGljIHZvaWQKIGludGVsX2RwX3NldF9jbG9jayhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAq ZW5jb2RlciwKIAkJICAgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnKQpAQCAt MzA0NiwxMCArMzA1MywxMSBAQCBfaW50ZWxfZHBfc2V0X2xpbmtfdHJhaW4oc3RydWN0IGludGVs X2RwICppbnRlbF9kcCwKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19p OTE1KGludGVsX2RwX3RvX2RldihpbnRlbF9kcCkpOwogCXN0cnVjdCBpbnRlbF9kaWdpdGFsX3Bv cnQgKmludGVsX2RpZ19wb3J0ID0gZHBfdG9fZGlnX3BvcnQoaW50ZWxfZHApOwogCWVudW0gcG9y dCBwb3J0ID0gaW50ZWxfZGlnX3BvcnQtPmJhc2UucG9ydDsKKwl1aW50OF90IHRyYWluX3BhdF9t YXNrID0gZHJtX2RwX3RyYWluaW5nX3BhdHRlcm5fbWFzayhpbnRlbF9kcC0+ZHBjZCk7CiAKLQlp ZiAoZHBfdHJhaW5fcGF0ICYgRFBfVFJBSU5JTkdfUEFUVEVSTl9NQVNLKQorCWlmIChkcF90cmFp bl9wYXQgJiB0cmFpbl9wYXRfbWFzaykKIAkJRFJNX0RFQlVHX0tNUygiVXNpbmcgRFAgdHJhaW5p bmcgcGF0dGVybiBUUFMlZFxuIiwKLQkJCSAgICAgIGRwX3RyYWluX3BhdCAmIERQX1RSQUlOSU5H X1BBVFRFUk5fTUFTSyk7CisJCQkgICAgICBkcF90cmFpbl9wYXQgJiB0cmFpbl9wYXRfbWFzayk7 CiAKIAlpZiAoSEFTX0RESShkZXZfcHJpdikpIHsKIAkJdWludDMyX3QgdGVtcCA9IEk5MTVfUkVB RChEUF9UUF9DVEwocG9ydCkpOwpAQCAtMzA2MCw3ICszMDY4LDcgQEAgX2ludGVsX2RwX3NldF9s aW5rX3RyYWluKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAsCiAJCQl0ZW1wICY9IH5EUF9UUF9D VExfU0NSQU1CTEVfRElTQUJMRTsKIAogCQl0ZW1wICY9IH5EUF9UUF9DVExfTElOS19UUkFJTl9N QVNLOwotCQlzd2l0Y2ggKGRwX3RyYWluX3BhdCAmIERQX1RSQUlOSU5HX1BBVFRFUk5fTUFTSykg eworCQlzd2l0Y2ggKGRwX3RyYWluX3BhdCAmIHRyYWluX3BhdF9tYXNrKSB7CiAJCWNhc2UgRFBf VFJBSU5JTkdfUEFUVEVSTl9ESVNBQkxFOgogCQkJdGVtcCB8PSBEUF9UUF9DVExfTElOS19UUkFJ Tl9OT1JNQUw7CiAKQEAgLTMwNzQsNiArMzA4Miw5IEBAIF9pbnRlbF9kcF9zZXRfbGlua190cmFp bihzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLAogCQljYXNlIERQX1RSQUlOSU5HX1BBVFRFUk5f MzoKIAkJCXRlbXAgfD0gRFBfVFBfQ1RMX0xJTktfVFJBSU5fUEFUMzsKIAkJCWJyZWFrOworCQlj YXNlIERQX1RSQUlOSU5HX1BBVFRFUk5fNDoKKwkJCXRlbXAgfD0gRFBfVFBfQ1RMX0xJTktfVFJB SU5fUEFUNDsKKwkJCWJyZWFrOwogCQl9CiAJCUk5MTVfV1JJVEUoRFBfVFBfQ1RMKHBvcnQpLCB0 ZW1wKTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHBfbGlua190 cmFpbmluZy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHBfbGlua190cmFpbmluZy5j CmluZGV4IDNmY2FhOThiOTA1NS4uNGRhNmUzM2M3ZmExIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kcF9saW5rX3RyYWluaW5nLmMKKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZHBfbGlua190cmFpbmluZy5jCkBAIC0yMTksMTQgKzIxOSwzMCBAQCBpbnRl bF9kcF9saW5rX3RyYWluaW5nX2Nsb2NrX3JlY292ZXJ5KHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxf ZHApCiB9CiAKIC8qCi0gKiBQaWNrIHRyYWluaW5nIHBhdHRlcm4gZm9yIGNoYW5uZWwgZXF1YWxp emF0aW9uLiBUcmFpbmluZyBQYXR0ZXJuIDMgZm9yIEhCUjIKKyAqIFBpY2sgdHJhaW5pbmcgcGF0 dGVybiBmb3IgY2hhbm5lbCBlcXVhbGl6YXRpb24uIFRyYWluaW5nIHBhdHRlcm4gNCBmb3IgSEJS MworICogb3IgZm9yIDEuNCBkZXZpY2VzIHRoYXQgc3VwcG9ydCBpdCwgdHJhaW5pbmcgUGF0dGVy biAzIGZvciBIQlIyCiAgKiBvciAxLjIgZGV2aWNlcyB0aGF0IHN1cHBvcnQgaXQsIFRyYWluaW5n IFBhdHRlcm4gMiBvdGhlcndpc2UuCiAgKi8KIHN0YXRpYyB1MzIgaW50ZWxfZHBfdHJhaW5pbmdf cGF0dGVybihzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQogewotCXUzMiB0cmFpbmluZ19wYXR0 ZXJuID0gRFBfVFJBSU5JTkdfUEFUVEVSTl8yOwotCWJvb2wgc291cmNlX3RwczMsIHNpbmtfdHBz MzsKKwlib29sIHNvdXJjZV90cHMzLCBzaW5rX3RwczMsIHNvdXJjZV90cHM0LCBzaW5rX3RwczQ7 CiAKKwkvKgorCSAqIEludGVsIHBsYXRmb3JtcyB0aGF0IHN1cHBvcnQgSEJSMyBhbHNvIHN1cHBv cnQgVFBTNC4gSXQgaXMgbWFuZGF0b3J5CisJICogZm9yIGFsbCBkb3duc3RyZWFtIGRldmljZXMg dGhhdCBzdXBwb3J0IEhCUjMuIFRoZXJlIGFyZSBubyBrbm93biBlRFAKKwkgKiBwYW5lbHMgdGhh dCBzdXBwb3J0IFRQUzQgYXMgb2YgRmViIDIwMTggYXMgcGVyIFZFU0EgZURQX3YxLjRiX0UxCisJ ICogc3BlY2lmaWNhdGlvbi4KKwkgKi8KKwlzb3VyY2VfdHBzNCA9IGludGVsX2RwX3NvdXJjZV9z dXBwb3J0c19oYnIzKGludGVsX2RwKTsKKwlzaW5rX3RwczQgPSBkcm1fZHBfdHBzNF9zdXBwb3J0 ZWQoaW50ZWxfZHAtPmRwY2QpOworCWlmIChzb3VyY2VfdHBzNCAmJiBzaW5rX3RwczQpIHsKKwkJ cmV0dXJuIERQX1RSQUlOSU5HX1BBVFRFUk5fNDsKKwl9IGVsc2UgaWYgKGludGVsX2RwLT5saW5r X3JhdGUgPT0gODEwMDAwKSB7CisJCWlmICghc291cmNlX3RwczQpCisJCQlEUk1fREVCVUdfS01T KCI4LjEgR2JwcyBsaW5rIHJhdGUgd2l0aG91dCBzb3VyY2UgSEJSMy9UUFM0IHN1cHBvcnRcbiIp OworCQlpZiAoIXNpbmtfdHBzNCkKKwkJCURSTV9ERUJVR19LTVMoIjguMSBHYnBzIGxpbmsgcmF0 ZSB3aXRob3V0IHNpbmsgVFBTNCBzdXBwb3J0XG4iKTsKKwl9CiAJLyoKIAkgKiBJbnRlbCBwbGF0 Zm9ybXMgdGhhdCBzdXBwb3J0IEhCUjIgYWxzbyBzdXBwb3J0IFRQUzMuIFRQUzMgc3VwcG9ydCBp cwogCSAqIGFsc28gbWFuZGF0b3J5IGZvciBkb3duc3RyZWFtIGRldmljZXMgdGhhdCBzdXBwb3J0 IEhCUjIuIEhvd2V2ZXIsIG5vdApAQCAtMjM0LDE3ICsyNTAsMTYgQEAgc3RhdGljIHUzMiBpbnRl bF9kcF90cmFpbmluZ19wYXR0ZXJuKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCiAJICovCiAJ c291cmNlX3RwczMgPSBpbnRlbF9kcF9zb3VyY2Vfc3VwcG9ydHNfaGJyMihpbnRlbF9kcCk7CiAJ c2lua190cHMzID0gZHJtX2RwX3RwczNfc3VwcG9ydGVkKGludGVsX2RwLT5kcGNkKTsKLQogCWlm IChzb3VyY2VfdHBzMyAmJiBzaW5rX3RwczMpIHsKLQkJdHJhaW5pbmdfcGF0dGVybiA9IERQX1RS QUlOSU5HX1BBVFRFUk5fMzsKLQl9IGVsc2UgaWYgKGludGVsX2RwLT5saW5rX3JhdGUgPT0gNTQw MDAwKSB7CisJCXJldHVybiAgRFBfVFJBSU5JTkdfUEFUVEVSTl8zOworCX0gZWxzZSBpZiAoaW50 ZWxfZHAtPmxpbmtfcmF0ZSA+PSA1NDAwMDApIHsKIAkJaWYgKCFzb3VyY2VfdHBzMykKLQkJCURS TV9ERUJVR19LTVMoIjUuNCBHYnBzIGxpbmsgcmF0ZSB3aXRob3V0IHNvdXJjZSBIQlIyL1RQUzMg c3VwcG9ydFxuIik7CisJCQlEUk1fREVCVUdfS01TKCI+PTUuNC82LjQ4IEdicHMgbGluayByYXRl IHdpdGhvdXQgc291cmNlIEhCUjIvVFBTMyBzdXBwb3J0XG4iKTsKIAkJaWYgKCFzaW5rX3RwczMp Ci0JCQlEUk1fREVCVUdfS01TKCI1LjQgR2JwcyBsaW5rIHJhdGUgd2l0aG91dCBzaW5rIFRQUzMg c3VwcG9ydFxuIik7CisJCQlEUk1fREVCVUdfS01TKCI+PTUuNC82LjQ4IEdicHMgbGluayByYXRl IHdpdGhvdXQgc2luayBUUFMzIHN1cHBvcnRcbiIpOwogCX0KIAotCXJldHVybiB0cmFpbmluZ19w YXR0ZXJuOworCXJldHVybiBEUF9UUkFJTklOR19QQVRURVJOXzI7CiB9CiAKIHN0YXRpYyBib29s CkBAIC0yNTYsMTEgKzI3MSwxMyBAQCBpbnRlbF9kcF9saW5rX3RyYWluaW5nX2NoYW5uZWxfZXF1 YWxpemF0aW9uKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCiAJYm9vbCBjaGFubmVsX2VxID0g ZmFsc2U7CiAKIAl0cmFpbmluZ19wYXR0ZXJuID0gaW50ZWxfZHBfdHJhaW5pbmdfcGF0dGVybihp bnRlbF9kcCk7CisJLyogU2NyYW1ibGluZyBpcyBkaXNhYmxlZCBmb3IgVFBTMi8zIGFuZCBlbmFi bGVkIGZvciBUUFM0ICovCisJaWYgKHRyYWluaW5nX3BhdHRlcm4gIT0gRFBfVFJBSU5JTkdfUEFU VEVSTl80KQorCQl0cmFpbmluZ19wYXR0ZXJuIHw9IERQX0xJTktfU0NSQU1CTElOR19ESVNBQkxF OwogCiAJLyogY2hhbm5lbCBlcXVhbGl6YXRpb24gKi8KIAlpZiAoIWludGVsX2RwX3NldF9saW5r X3RyYWluKGludGVsX2RwLAotCQkJCSAgICAgdHJhaW5pbmdfcGF0dGVybiB8Ci0JCQkJICAgICBE UF9MSU5LX1NDUkFNQkxJTkdfRElTQUJMRSkpIHsKKwkJCQkgICAgIHRyYWluaW5nX3BhdHRlcm4p KSB7CiAJCURSTV9FUlJPUigiZmFpbGVkIHRvIHN0YXJ0IGNoYW5uZWwgZXF1YWxpemF0aW9uXG4i KTsKIAkJcmV0dXJuIGZhbHNlOwogCX0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKaW5kZXggZTNj MjQxOTMwMWI0Li5jOTdhN2FiM2EyYjEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCkBAIC0x NzE4LDYgKzE3MTgsNyBAQCBpbnRlbF9kcF9wcmVfZW1waGFzaXNfbWF4KHN0cnVjdCBpbnRlbF9k cCAqaW50ZWxfZHAsIHVpbnQ4X3Qgdm9sdGFnZV9zd2luZyk7CiB2b2lkIGludGVsX2RwX2NvbXB1 dGVfcmF0ZShzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLCBpbnQgcG9ydF9jbG9jaywKIAkJCSAg IHVpbnQ4X3QgKmxpbmtfYncsIHVpbnQ4X3QgKnJhdGVfc2VsZWN0KTsKIGJvb2wgaW50ZWxfZHBf c291cmNlX3N1cHBvcnRzX2hicjIoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCk7Citib29sIGlu dGVsX2RwX3NvdXJjZV9zdXBwb3J0c19oYnIzKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApOwog Ym9vbAogaW50ZWxfZHBfZ2V0X2xpbmtfc3RhdHVzKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAs IHVpbnQ4X3QgbGlua19zdGF0dXNbRFBfTElOS19TVEFUVVNfU0laRV0pOwogCi0tIAoyLjE0LjMK Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdm eCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xp c3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=