From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paulo Zanoni Subject: [PATCH 4/8] drm/i915/icl: implement the tc/legacy HPD {dis, }connect flow for DP Date: Wed, 11 Jul 2018 14:59:05 -0700 Message-ID: <20180711215909.23945-5-paulo.r.zanoni@intel.com> References: <20180711215909.23945-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 mga18.intel.com (mga18.intel.com [134.134.136.126]) by gabe.freedesktop.org (Postfix) with ESMTPS id F0CE86EE00 for ; Wed, 11 Jul 2018 21:59:13 +0000 (UTC) In-Reply-To: <20180711215909.23945-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: Paulo Zanoni List-Id: intel-gfx@lists.freedesktop.org SW1wbGVtZW50IHRoZSBERkxFWERQUE1TL0RGTEVYRFBDU1NTIGRhbmNlIGZvciBEaXNwbGF5UG9y dC4gVGhlc2UKZnVuY3Rpb25zIG5lZWQgdG8gYmUgY2FsbGVkIGR1cmluZyBIUEQgYXNzZXJ0L2Rl YXNzZXJ0LCBidXQgZHVlIHRvIGhvdwpvdXIgZHJpdmVyIHdvcmtzIGl0J3MgbXVjaCBzaW1wbGVy IGlmIHdlIGFsd2F5cyBjYWxsIHRoZW0gd2hlbgppY2xfZGlnaXRhbF9wb3J0X2Nvbm5lY3RlZCgp IGlzIGNhbGxlZCwgd2hpY2ggbWVhbnMgd2Ugd29uJ3QgY2FsbCB0aGVtCmV4YWN0bHkgb25jZSBw ZXIgSFBEIGV2ZW50LiBUaGlzIHNob3VsZCBhbHNvIGNvdmVyIHRoZSBjb25uZWN0ZWQgYm9vdApj YXNlLCB3aGF0ZXZlciB0aGUgQklPUyBkb2VzLgoKV2UncmUgc3RpbGwgbWlzc2luZyB0aGUgSERN SSBjYXNlLCB3aGljaCBzaG91bGQgYmUgaW1wbGVtZW50ZWQgaW4gdGhlCm5leHQgcGF0Y2guCgpB bHNvIG5vdGljZSB0aGF0LCB0b2RheSwgdGhlIEJTcGVjIHBhZ2VzIGZvciB0aGUgREZMRVhEUFBN UyBhbmQKREZMRVhEUENTU1MgcmVnaXN0ZXJzIGFyZSB3cm9uZywgc28geW91IHNob3VsZCBvbmx5 IHRydXN0IHRoZSBmbG93cwpkZXNjcmliZWQgYnkgdGhlICJHZW4xMSBUeXBlQyBQcm9ncmFtbWlu ZyIgcGFnZSBpbiBvdXIgc3BlYy4KCkNjOiBBbmltZXNoIE1hbm5hIDxhbmltZXNoLm1hbm5hQGlu dGVsLmNvbT4KU2lnbmVkLW9mZi1ieTogUGF1bG8gWmFub25pIDxwYXVsby5yLnphbm9uaUBpbnRl bC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaCB8ICA2ICsrKysrCiBk cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jIHwgNTcgKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKy0KIDIgZmlsZXMgY2hhbmdlZCwgNjIgaW5zZXJ0aW9ucygrKSwg MSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVn LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCmluZGV4IGMxZjM1MDQ2OWZmNi4u OTZmNTkwYTIyYjI2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5o CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKQEAgLTEwMjIzLDQgKzEwMjIz LDEwIEBAIGVudW0gc2tsX3Bvd2VyX2dhdGUgewogCQkJCQkJIF9JQ0xfUEhZX01JU0NfQikKICNk ZWZpbmUgIElDTF9QSFlfTUlTQ19ERV9JT19DT01QX1BXUl9ET1dOCSgxIDw8IDIzKQogCisjZGVm aW5lIFBPUlRfVFhfREZMRVhEUFBNUwkJCQlfTU1JTygweDE2Mzg5MCkKKyNkZWZpbmUgICBEUF9Q SFlfTU9ERV9TVEFUVVNfQ09NUExFVEVEKHRjX3BvcnQpCQkoMSA8PCAodGNfcG9ydCkpCisKKyNk ZWZpbmUgUE9SVF9UWF9ERkxFWERQQ1NTUwkJCQlfTU1JTygweDE2Mzg5NCkKKyNkZWZpbmUgICBE UF9QSFlfTU9ERV9TVEFUVVNfTk9UX1NBRkUodGNfcG9ydCkJCSgxIDw8ICh0Y19wb3J0KSkKKwog I2VuZGlmIC8qIF9JOTE1X1JFR19IXyAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZHAuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMKaW5kZXggNDg2 Yjg3OWNkZWY3Li4wZWJjZTdlNGM1MzggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2RwLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYwpAQCAtNDc4 NCw2ICs0Nzg0LDU2IEBAIHN0YXRpYyB2b2lkIGljbF91cGRhdGVfdGNfcG9ydF90eXBlKHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAkJCSAgICAgIHR5cGVfc3RyKTsKIH0KIAor c3RhdGljIGJvb2wgaWNsX3RjX3BoeV9tb2RlX3N0YXR1c19jb25uZWN0KHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdiwKKwkJCQkJICAgc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAq ZGlnX3BvcnQpCit7CisJZW51bSB0Y19wb3J0IHRjX3BvcnQgPSBpbnRlbF9wb3J0X3RvX3RjKGRl dl9wcml2LCBkaWdfcG9ydC0+YmFzZS5wb3J0KTsKKwl1MzIgdmFsOworCisJaWYgKGRpZ19wb3J0 LT50Y190eXBlICE9IFRDX1BPUlRfTEVHQUNZICYmCisJICAgIGRpZ19wb3J0LT50Y190eXBlICE9 IFRDX1BPUlRfVFlQRUMpCisJCXJldHVybiB0cnVlOworCisJdmFsID0gSTkxNV9SRUFEKFBPUlRf VFhfREZMRVhEUFBNUyk7CisJaWYgKCEodmFsICYgRFBfUEhZX01PREVfU1RBVFVTX0NPTVBMRVRF RCh0Y19wb3J0KSkpIHsKKwkJRFJNX0VSUk9SKCJEUCBQSFkgZm9yIFRDIHBvcnQgJWQgbm90IHJl YWR5XG4iLCB0Y19wb3J0KTsKKwkJcmV0dXJuIGZhbHNlOworCX0KKworCS8qCisJICogVGhpcyBm dW5jdGlvbiBtYXkgYmUgY2FsbGVkIG1hbnkgdGltZXMgaW4gYSByb3cgd2l0aG91dCBhbiBIUEQg ZXZlbnQKKwkgKiBpbiBiZXR3ZWVuLCBzbyB0cnkgdG8gYXZvaWQgdGhlIHdyaXRlIHdoZW4gd2Ug Y2FuLgorCSAqLworCXZhbCA9IEk5MTVfUkVBRChQT1JUX1RYX0RGTEVYRFBDU1NTKTsKKwlpZiAo ISh2YWwgJiBEUF9QSFlfTU9ERV9TVEFUVVNfTk9UX1NBRkUodGNfcG9ydCkpKSB7CisJCXZhbCB8 PSBEUF9QSFlfTU9ERV9TVEFUVVNfTk9UX1NBRkUodGNfcG9ydCk7CisJCUk5MTVfV1JJVEUoUE9S VF9UWF9ERkxFWERQQ1NTUywgdmFsKTsKKwl9CisKKwlyZXR1cm4gdHJ1ZTsKK30KKworc3RhdGlj IHZvaWQgaWNsX3RjX3BoeV9tb2RlX3N0YXR1c19kaXNjb25uZWN0KHN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdiwKKwkJCQkJICAgICAgc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAq ZGlnX3BvcnQpCit7CisJZW51bSB0Y19wb3J0IHRjX3BvcnQgPSBpbnRlbF9wb3J0X3RvX3RjKGRl dl9wcml2LCBkaWdfcG9ydC0+YmFzZS5wb3J0KTsKKwl1MzIgdmFsOworCisJaWYgKGRpZ19wb3J0 LT50Y190eXBlICE9IFRDX1BPUlRfTEVHQUNZICYmCisJICAgIGRpZ19wb3J0LT50Y190eXBlICE9 IFRDX1BPUlRfVFlQRUMpCisJCXJldHVybjsKKworCS8qCisJICogVGhpcyBmdW5jdGlvbiBtYXkg YmUgY2FsbGVkIG1hbnkgdGltZXMgaW4gYSByb3cgd2l0aG91dCBhbiBIUEQgZXZlbnQKKwkgKiBp biBiZXR3ZWVuLCBzbyB0cnkgdG8gYXZvaWQgdGhlIHdyaXRlIHdoZW4gd2UgY2FuLgorCSAqLwor CXZhbCA9IEk5MTVfUkVBRChQT1JUX1RYX0RGTEVYRFBDU1NTKTsKKwlpZiAodmFsICYgRFBfUEhZ X01PREVfU1RBVFVTX05PVF9TQUZFKHRjX3BvcnQpKSB7CisJCXZhbCAmPSB+RFBfUEhZX01PREVf U1RBVFVTX05PVF9TQUZFKHRjX3BvcnQpOworCQlJOTE1X1dSSVRFKFBPUlRfVFhfREZMRVhEUENT U1MsIHZhbCk7CisJfQorfQorCiBzdGF0aWMgYm9vbCBpY2xfdGNfcG9ydF9jb25uZWN0ZWQoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCQkJCSAgc3RydWN0IGludGVsX2RpZ2l0 YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQpCiB7CkBAIC00ODA0LDEyICs0ODU0LDE3IEBAIHN0YXRp YyBib29sIGljbF90Y19wb3J0X2Nvbm5lY3RlZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYsCiAJaWYgKGNwdV9pc3IgJiB0YnRfYml0KQogCQlpc190YnQgPSB0cnVlOwogCi0JaWYg KCFpc19sZWdhY3kgJiYgIWlzX3R5cGVjICYmICFpc190YnQpCisJaWYgKCFpc19sZWdhY3kgJiYg IWlzX3R5cGVjICYmICFpc190YnQpIHsKKwkJaWNsX3RjX3BoeV9tb2RlX3N0YXR1c19kaXNjb25u ZWN0KGRldl9wcml2LCBpbnRlbF9kaWdfcG9ydCk7CiAJCXJldHVybiBmYWxzZTsKKwl9CiAKIAlp Y2xfdXBkYXRlX3RjX3BvcnRfdHlwZShkZXZfcHJpdiwgaW50ZWxfZGlnX3BvcnQsIGlzX2xlZ2Fj eSwgaXNfdHlwZWMsCiAJCQkJaXNfdGJ0KTsKIAorCWlmICghaWNsX3RjX3BoeV9tb2RlX3N0YXR1 c19jb25uZWN0KGRldl9wcml2LCBpbnRlbF9kaWdfcG9ydCkpCisJCXJldHVybiBmYWxzZTsKKwog CXJldHVybiB0cnVlOwogfQogCi0tIAoyLjE0LjQKCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxp c3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2ludGVsLWdmeAo=