From mboxrd@z Thu Jan 1 00:00:00 1970 From: Harry Wentland Subject: [PATCH 3/5] drm/dp/mst: change MST detection scheme Date: Fri, 22 Jan 2016 17:07:27 -0500 Message-ID: <1453500449-9224-4-git-send-email-harry.wentland@amd.com> References: <1453500449-9224-1-git-send-email-harry.wentland@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from na01-bl2-obe.outbound.protection.outlook.com (mail-bl2on0072.outbound.protection.outlook.com [65.55.169.72]) by gabe.freedesktop.org (Postfix) with ESMTPS id 9490772157 for ; Fri, 22 Jan 2016 14:08:32 -0800 (PST) Received: from satlvexedge02.amd.com (satlvexedge02.amd.com [10.177.96.29]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by atltwp02.amd.com (Axway MailGate 5.3.1) with ESMTPS id 2D792D23026 for ; Fri, 22 Jan 2016 17:08:26 -0500 (EST) In-Reply-To: <1453500449-9224-1-git-send-email-harry.wentland@amd.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org Cc: Mykola Lysenko List-Id: dri-devel@lists.freedesktop.org RnJvbTogTXlrb2xhIEx5c2Vua28gPE15a29sYS5MeXNlbmtvQGFtZC5jb20+CgoxLiBHZXQgZWRp ZCBmb3IgYWxsIGNvbm5lY3RlZCBNU1QgZGlzcGxheXMsIG5vdCBvbmx5IG9uIGxvZ2ljYWwgcG9y dHMsCiAgIGluIHRoZSBzYW1lIHRocmVhZCBhcyBNU1QgdG9wb2xvZ3kgZGV0ZWN0aW9uIGlzIGRv bmU6CiAgICAgVGhlcmUgYXJlIGRpc3BsYXlzIHRoYXQgaGF2ZSBicmFuY2hlcyBpbnNpZGUgdy9v IGxvZ2ljYWwgcG9ydHMuCiAgICAgU28gaW4gY2FzZSBhbm90aGVyIFNTVCBkaXNwbGF5IGNvbm5l Y3RlZCBkb3duc3RyZWFtIHN5c3RlbSBjYW4KICAgICBlbmQtdXAgaW4gc2l0dWF0aW9uIHdoZW4g MyBET1dOIHJlcXVlc3RzIHNlbnQ6IHR3byBmb3IKICAgIOKAmHJlbW90ZSBpMmMgcmVhZOKAmSBh bmQgb25lIGZvciDigJhlbnVtIHBhdGggcmVzb3VyY2Vz4oCZLCBtYWtpbmcgc2xvdHMgZnVsbC4K CjIuIENhbGwgbm90aWZpY2F0aW9uIGNhbGxiYWNrIGluIG9uZSBwbGFjZSBpbiB0aGUgZW5kIG9m IHRvcG9sb2d5IGRpc2NvdmVyeS91cGRhdGU6CiAgICAgVGhpcyBpcyBkb25lIHRvIHJlZHVjZSBu dW1iZXIgb2YgZXZlbnRzIHNlbnQgdG8gdXNlcnNwYWNlIGluIGNhc2UgY29tcGxleAogICAgIHRv cG9sb2d5IGRpc2NvdmVyeSBpcyBnb2luZywgYWRkaW5nIG11bHRpcGxlIG51bWJlciBvZiBjb25u ZWN0b3JzOwoKMy4gUmVtb3ZlIG5vdGlmaWNhdGlvbiBjYWxsYmFjayBjYWxsIGZyb20gc2hvcnQg cHVsc2UgaW50ZXJydXB0IHByb2Nlc3NpbmcgZnVuY3Rpb246CiAgICAgVGhpcyBpcyBkb25lIGlu IG9yZGVyIG5vdCB0byBibG9jayBpbnRlcnJ1cHQgcHJvY2Vzc2luZyBmdW5jdGlvbiwgaW4gY2Fz ZSBhbnkKICAgICBNU1QgcmVxdWVzdCB3aWxsIGJlIG1hZGUgZnJvbSBpdC4gTm90aWZpY2F0aW9u IHdpbGwgYmUgc2VuZCBmcm9tIHRvcG9sb2d5CiAgICAgZGlzY292ZXJ5L3VwZGF0ZSB3b3JrIGl0 ZW0uCgpTaWduZWQtb2ZmLWJ5OiBNeWtvbGEgTHlzZW5rbyA8TXlrb2xhLkx5c2Vua29AYW1kLmNv bT4KUmV2aWV3ZWQtYnk6IEhhcnJ5IFdlbnRsYW5kIDxIYXJyeS5XZW50bGFuZEBhbWQuY29tPgpB Y2tlZC1ieTogQWxleCBEZXVjaGVyIDxhbGV4YW5kZXIuZGV1Y2hlckBhbWQuY29tPgotLS0KIGRy aXZlcnMvZ3B1L2RybS9kcm1fZHBfbXN0X3RvcG9sb2d5LmMgfCAzNyArKysrKysrKysrKysrKysr KystLS0tLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDE5IGluc2VydGlvbnMoKyksIDE4 IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fZHBfbXN0X3Rv cG9sb2d5LmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2RwX21zdF90b3BvbG9neS5jCmluZGV4IDA0 MTU5N2I3YTdjNi4uMDUyYzIwY2EzNWVlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJt X2RwX21zdF90b3BvbG9neS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZHBfbXN0X3RvcG9s b2d5LmMKQEAgLTExMzAsMTMgKzExMzAsMTEgQEAgc3RhdGljIHZvaWQgZHJtX2RwX2FkZF9wb3J0 KHN0cnVjdCBkcm1fZHBfbXN0X2JyYW5jaCAqbXN0YiwKIAkJCWRybV9kcF9wdXRfcG9ydChwb3J0 KTsKIAkJCWdvdG8gb3V0OwogCQl9Ci0JCWlmIChwb3J0LT5wb3J0X251bSA+PSBEUF9NU1RfTE9H SUNBTF9QT1JUXzApIHsKLQkJCXBvcnQtPmNhY2hlZF9lZGlkID0gZHJtX2dldF9lZGlkKHBvcnQt PmNvbm5lY3RvciwgJnBvcnQtPmF1eC5kZGMpOwotCQkJZHJtX21vZGVfY29ubmVjdG9yX3NldF90 aWxlX3Byb3BlcnR5KHBvcnQtPmNvbm5lY3Rvcik7Ci0JCX0KKworCQlkcm1fbW9kZV9jb25uZWN0 b3Jfc2V0X3RpbGVfcHJvcGVydHkocG9ydC0+Y29ubmVjdG9yKTsKKwogCQkoKm1zdGItPm1nci0+ Y2JzLT5yZWdpc3Rlcl9jb25uZWN0b3IpKHBvcnQtPmNvbm5lY3Rvcik7CiAJfQotCiBvdXQ6CiAJ LyogcHV0IHJlZmVyZW5jZSB0byB0aGlzIHBvcnQgKi8KIAlkcm1fZHBfcHV0X3BvcnQocG9ydCk7 CkBAIC0xMTYxLDkgKzExNTksOSBAQCBzdGF0aWMgdm9pZCBkcm1fZHBfdXBkYXRlX3BvcnQoc3Ry dWN0IGRybV9kcF9tc3RfYnJhbmNoICptc3RiLAogCXBvcnQtPmRkcHMgPSBjb25uX3N0YXQtPmRp c3BsYXlwb3J0X2RldmljZV9wbHVnX3N0YXR1czsKIAogCWlmIChvbGRfZGRwcyAhPSBwb3J0LT5k ZHBzKSB7CisJCWRvd29yayA9IHRydWU7CiAJCWlmIChwb3J0LT5kZHBzKSB7CiAJCQlkcm1fZHBf Y2hlY2tfcG9ydF9ndWlkKG1zdGIsIHBvcnQpOwotCQkJZG93b3JrID0gdHJ1ZTsKIAkJfSBlbHNl IHsKIAkJCXBvcnQtPmd1aWRfdmFsaWQgPSBmYWxzZTsKIAkJCXBvcnQtPmF2YWlsYWJsZV9wYm4g PSAwOwpAQCAtMTI3MSw4ICsxMjY5LDEzIEBAIHN0YXRpYyB2b2lkIGRybV9kcF9jaGVja19hbmRf c2VuZF9saW5rX2FkZHJlc3Moc3RydWN0IGRybV9kcF9tc3RfdG9wb2xvZ3lfbWdyICptCiAJCWlm IChwb3J0LT5pbnB1dCkKIAkJCWNvbnRpbnVlOwogCi0JCWlmICghcG9ydC0+ZGRwcykKKwkJaWYg KCFwb3J0LT5kZHBzKSB7CisJCQlpZiAocG9ydC0+Y2FjaGVkX2VkaWQpIHsKKwkJCQlrZnJlZShw b3J0LT5jYWNoZWRfZWRpZCk7CisJCQkJcG9ydC0+Y2FjaGVkX2VkaWQgPSBOVUxMOworCQkJfQog CQkJY29udGludWU7CisJCX0KIAogCQlpZiAoIXBvcnQtPmF2YWlsYWJsZV9wYm4pCiAJCQlkcm1f ZHBfc2VuZF9lbnVtX3BhdGhfcmVzb3VyY2VzKG1nciwgbXN0YiwgcG9ydCk7CkBAIC0xMjgzLDYg KzEyODYsMTIgQEAgc3RhdGljIHZvaWQgZHJtX2RwX2NoZWNrX2FuZF9zZW5kX2xpbmtfYWRkcmVz cyhzdHJ1Y3QgZHJtX2RwX21zdF90b3BvbG9neV9tZ3IgKm0KIAkJCQlkcm1fZHBfY2hlY2tfYW5k X3NlbmRfbGlua19hZGRyZXNzKG1nciwgbXN0Yl9jaGlsZCk7CiAJCQkJZHJtX2RwX3B1dF9tc3Rf YnJhbmNoX2RldmljZShtc3RiX2NoaWxkKTsKIAkJCX0KKwkJfSBlbHNlIGlmIChwb3J0LT5wZHQg PT0gRFBfUEVFUl9ERVZJQ0VfU1NUX1NJTksgfHwKKwkJCXBvcnQtPnBkdCA9PSBEUF9QRUVSX0RF VklDRV9EUF9MRUdBQ1lfQ09OVikgeworCQkJaWYgKCFwb3J0LT5jYWNoZWRfZWRpZCkgeworCQkJ CXBvcnQtPmNhY2hlZF9lZGlkID0KKwkJCQkJZHJtX2dldF9lZGlkKHBvcnQtPmNvbm5lY3Rvciwg JnBvcnQtPmF1eC5kZGMpOworCQkJfQogCQl9CiAJfQogfQpAQCAtMTMwMiw2ICsxMzExLDggQEAg c3RhdGljIHZvaWQgZHJtX2RwX21zdF9saW5rX3Byb2JlX3dvcmsoc3RydWN0IHdvcmtfc3RydWN0 ICp3b3JrKQogCQlkcm1fZHBfY2hlY2tfYW5kX3NlbmRfbGlua19hZGRyZXNzKG1nciwgbXN0Yik7 CiAJCWRybV9kcF9wdXRfbXN0X2JyYW5jaF9kZXZpY2UobXN0Yik7CiAJfQorCisJKCptZ3ItPmNi cy0+aG90cGx1ZykobWdyKTsKIH0KIAogc3RhdGljIGJvb2wgZHJtX2RwX3ZhbGlkYXRlX2d1aWQo c3RydWN0IGRybV9kcF9tc3RfdG9wb2xvZ3lfbWdyICptZ3IsCkBAIC0xNTU4LDcgKzE1NjksNiBA QCBzdGF0aWMgdm9pZCBkcm1fZHBfc2VuZF9saW5rX2FkZHJlc3Moc3RydWN0IGRybV9kcF9tc3Rf dG9wb2xvZ3lfbWdyICptZ3IsCiAJCQlmb3IgKGkgPSAwOyBpIDwgdHhtc2ctPnJlcGx5LnUubGlu a19hZGRyLm5wb3J0czsgaSsrKSB7CiAJCQkJZHJtX2RwX2FkZF9wb3J0KG1zdGIsIG1nci0+ZGV2 LCAmdHhtc2ctPnJlcGx5LnUubGlua19hZGRyLnBvcnRzW2ldKTsKIAkJCX0KLQkJCSgqbWdyLT5j YnMtPmhvdHBsdWcpKG1ncik7CiAJCX0KIAl9IGVsc2UgewogCQltc3RiLT5saW5rX2FkZHJlc3Nf c2VudCA9IGZhbHNlOwpAQCAtMjIzMiw4ICsyMjQyLDYgQEAgc3RhdGljIGludCBkcm1fZHBfbXN0 X2hhbmRsZV91cF9yZXEoc3RydWN0IGRybV9kcF9tc3RfdG9wb2xvZ3lfbWdyICptZ3IpCiAKIAkJ CWRybV9kcF91cGRhdGVfcG9ydChtc3RiLCAmbXNnLnUuY29ubl9zdGF0KTsKIAkJCURSTV9ERUJV R19LTVMoIkdvdCBDU046IHBuOiAlZCBsZHBzOiVkIGRkcHM6ICVkIG1jczogJWQgaXA6ICVkIHBk dDogJWRcbiIsIG1zZy51LmNvbm5fc3RhdC5wb3J0X251bWJlciwgbXNnLnUuY29ubl9zdGF0Lmxl Z2FjeV9kZXZpY2VfcGx1Z19zdGF0dXMsIG1zZy51LmNvbm5fc3RhdC5kaXNwbGF5cG9ydF9kZXZp Y2VfcGx1Z19zdGF0dXMsIG1zZy51LmNvbm5fc3RhdC5tZXNzYWdlX2NhcGFiaWxpdHlfc3RhdHVz LCBtc2cudS5jb25uX3N0YXQuaW5wdXRfcG9ydCwgbXNnLnUuY29ubl9zdGF0LnBlZXJfZGV2aWNl X3R5cGUpOwotCQkJKCptZ3ItPmNicy0+aG90cGx1ZykobWdyKTsKLQogCQl9IGVsc2UgaWYgKG1z Zy5yZXFfdHlwZSA9PSBEUF9SRVNPVVJDRV9TVEFUVVNfTk9USUZZKSB7CiAJCQlkcm1fZHBfc2Vu ZF91cF9hY2tfcmVwbHkobWdyLCBtZ3ItPm1zdF9wcmltYXJ5LCBtc2cucmVxX3R5cGUsIHNlcW5v LCBmYWxzZSk7CiAJCQlpZiAoIW1zdGIpCkBAIC0yMzIwLDEwICsyMzI4LDYgQEAgZW51bSBkcm1f Y29ubmVjdG9yX3N0YXR1cyBkcm1fZHBfbXN0X2RldGVjdF9wb3J0KHN0cnVjdCBkcm1fY29ubmVj dG9yICpjb25uZWN0b3IKIAogCWNhc2UgRFBfUEVFUl9ERVZJQ0VfU1NUX1NJTks6CiAJCXN0YXR1 cyA9IGNvbm5lY3Rvcl9zdGF0dXNfY29ubmVjdGVkOwotCQkvKiBmb3IgbG9naWNhbCBwb3J0cyAt IGNhY2hlIHRoZSBFRElEICovCi0JCWlmIChwb3J0LT5wb3J0X251bSA+PSA4ICYmICFwb3J0LT5j YWNoZWRfZWRpZCkgewotCQkJcG9ydC0+Y2FjaGVkX2VkaWQgPSBkcm1fZ2V0X2VkaWQoY29ubmVj dG9yLCAmcG9ydC0+YXV4LmRkYyk7Ci0JCX0KIAkJYnJlYWs7CiAJY2FzZSBEUF9QRUVSX0RFVklD RV9EUF9MRUdBQ1lfQ09OVjoKIAkJaWYgKHBvcnQtPmxkcHMpCkBAIC0yMzc4LDEwICsyMzgyLDcg QEAgc3RydWN0IGVkaWQgKmRybV9kcF9tc3RfZ2V0X2VkaWQoc3RydWN0IGRybV9jb25uZWN0b3Ig KmNvbm5lY3Rvciwgc3RydWN0IGRybV9kcF8KIAogCWlmIChwb3J0LT5jYWNoZWRfZWRpZCkKIAkJ ZWRpZCA9IGRybV9lZGlkX2R1cGxpY2F0ZShwb3J0LT5jYWNoZWRfZWRpZCk7Ci0JZWxzZSB7Ci0J CWVkaWQgPSBkcm1fZ2V0X2VkaWQoY29ubmVjdG9yLCAmcG9ydC0+YXV4LmRkYyk7Ci0JCWRybV9t b2RlX2Nvbm5lY3Rvcl9zZXRfdGlsZV9wcm9wZXJ0eShjb25uZWN0b3IpOwotCX0KKwogCXBvcnQt Pmhhc19hdWRpbyA9IGRybV9kZXRlY3RfbW9uaXRvcl9hdWRpbyhlZGlkKTsKIAlkcm1fZHBfcHV0 X3BvcnQocG9ydCk7CiAJcmV0dXJuIGVkaWQ7Ci0tIAoyLjEuNAoKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmkt ZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcv bWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK