From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lyude Paul Subject: [PATCH v5 07/20] drm/dp_mst: Restart last_connected_port_and_mstb() if topology ref fails Date: Tue, 8 Jan 2019 19:35:04 -0500 Message-ID: <20190109003516.14752-8-lyude@redhat.com> References: <20190109003516.14752-1-lyude@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20190109003516.14752-1-lyude-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, intel-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Cc: Jerry Zuo , Daniel Vetter , David Airlie , Harry Wentland , Juston Li List-Id: intel-gfx@lists.freedesktop.org V2hpbGUgdGhpcyBpc24ndCBhIGNvbXBsZXRlIGZpeCwgdGhpcyB3aWxsIGltcHJvdmUgdGhlIHJl bGlhYmlsaXR5IG9mCmRybV9kcF9nZXRfbGFzdF9jb25uZWN0ZWRfcG9ydF9hbmRfbXN0YigpIHBy ZXR0eSBzaWduaWZpY2FudGx5IGR1cmluZwpob3RwbHVnIGV2ZW50cywgc2luY2UgdGhlcmUncyBh IGNoYW5jZSB0aGF0IHRoZSBpbi1tZW1vcnkgdG9wb2xvZ3kgdHJlZQptYXkgbm90IGJlIGZ1bGx5 IHVwZGF0ZWQgd2hlbiBkcm1fZHBfZ2V0X2xhc3RfY29ubmVjdGVkX3BvcnRfYW5kX21zdGIoKQpp cyBjYWxsZWQgYW5kIHRodXMgbWlnaHQgZW5kIHVwIGNhdXNpbmcgb3VyIHNlYXJjaCB0byBmYWls IG9uIGFuIG1zdGIKd2hvc2UgdG9wb2xvZ3kgcmVmY291bnQgaGFzIHJlYWNoZWQgMCwgYnV0IGhh cyBub3QgeWV0IGJlZW4gcmVtb3ZlZCBmcm9tCml0J3MgcGFyZW50LgoKSWRlYWxseSwgd2Ugc2hv dWxkIGZ1cnRoZXIgZml4IHRoaXMgcHJvYmxlbSBieSBlbnN1cmluZyB0aGF0IHdlIGRlYWwKd2l0 aCB0aGUgcG90ZW50aWFsIGZvciByYWNpbmcgd2l0aCBhIGhvdHBsdWcgZXZlbnQsIHdoaWNoIHdv dWxkIGxvb2sKbGlrZSB0aGlzOgoKKiBkcm1fZHBfcGF5bG9hZF9zZW5kX21zZygpIHJldHJpZXZl cyB0aGUgbGFzdCBsaXZpbmcgcmVsYXRpdmUgb2YgbXN0YgogIHdpdGggZHJtX2RwX2dldF9sYXN0 X2Nvbm5lY3RlZF9wb3J0X2FuZF9tc3RiKCkKKiBkcm1fZHBfcGF5bG9hZF9zZW5kX21zZygpIHN0 YXJ0cyBidWlsZGluZyBwYXlsb2FkIG1lc3NhZ2UKICBBdCB0aGUgc2FtZSB0aW1lLCBtc3RiIGdl dHMgdW5wbHVnZ2VkIGZyb20gdGhlIHRvcG9sb2d5IGFuZCBpcyBubwogIGxvbmdlciB0aGUgYWN0 dWFsIGxhc3QgbGl2aW5nIHJlbGF0aXZlIG9mIHRoZSBvcmlnaW5hbCBtc3RiCiogZHJtX2RwX3Bh eWxvYWRfc2VuZF9tc2coKSB0cmllcyBzZW5kaW5nIHRoZSBwYXlsb2FkIG1lc3NhZ2UsIGh1YiB0 aW1lcwogIG91dAoqIEh1YiB0aW1lZCBvdXQsIHdlIGdpdmUgdXAgYW5kIHJ1biBhd2F5LXJlc3Vs dGluZyBpbiB0aGUgcGF5bG9hZCBiZWluZwogIGxlYWtlZAoKVGhpcyBjb3VsZCBiZSBmaXhlZCBi eSByZXN0YXJ0aW5nIHRoZQpkcm1fZHBfZ2V0X2xhc3RfY29ubmVjdGVkX3BvcnRfYW5kX21zdGIo KSBzZWFyY2ggd2hlbmV2ZXIgd2UgZ2V0IGEKdGltZW91dCwgc2VuZGluZyB0aGUgcGF5bG9hZCB0 byB0aGUgbmV3IG1zdGIsIHRoZW4gcmVwZWF0aW5nIHVudGlsCmVpdGhlciB0aGUgZW50aXJlIHRv cG9sb2d5IGlzIHJlbW92ZWQgZnJvbSB0aGUgc3lzdGVtIG9yCmRybV9kcF9nZXRfbGFzdF9jb25u ZWN0ZWRfcG9ydF9hbmRfbXN0YigpIGZhaWxzLiBCdXQgc2luY2UgdGhlIGFib3ZlCnJhY2UgY29u ZGl0aW9uIGlzIG5vdCB0ZXJyaWJseSBsaWtlbHksIHdlJ2xsIGFkZHJlc3MgdGhhdCBpbiBhIGxh dGVyCnBhdGNoIHNlcmllcyBvbmNlIHdlJ3ZlIGltcHJvdmVkIHRoZSByZWNvdmVyeSBoYW5kbGlu ZyBmb3IgVkNQSQphbGxvY2F0aW9ucyBpbiB0aGUgcmVzdCBvZiB0aGUgRFAgTVNUIGhlbHBlcnMu CgpTaWduZWQtb2ZmLWJ5OiBMeXVkZSBQYXVsIDxseXVkZUByZWRoYXQuY29tPgpSZXZpZXdlZC1i eTogSGFycnkgV2VudGxhbmQgPGhhcnJ5LndlbnRsYW5kQGFtZC5jb20+CkNjOiBEYW5pZWwgVmV0 dGVyIDxkYW5pZWxAZmZ3bGwuY2g+CkNjOiBEYXZpZCBBaXJsaWUgPGFpcmxpZWRAcmVkaGF0LmNv bT4KQ2M6IEplcnJ5IFp1byA8SmVycnkuWnVvQGFtZC5jb20+CkNjOiBKdXN0b24gTGkgPGp1c3Rv bi5saUBpbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2RybV9kcF9tc3RfdG9wb2xvZ3ku YyB8IDU0ICsrKysrKysrKysrKysrKysrKysrKystLS0tLQogMSBmaWxlIGNoYW5nZWQsIDQ0IGlu c2VydGlvbnMoKyksIDEwIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9kcm1fZHBfbXN0X3RvcG9sb2d5LmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2RwX21zdF90b3Bv bG9neS5jCmluZGV4IGM1M2NmN2ViMWRiYy4uYmFmYzg1ZjA4NjA2IDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vZHJtX2RwX21zdF90b3BvbG9neS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9k cm1fZHBfbXN0X3RvcG9sb2d5LmMKQEAgLTIwNDcsMjQgKzIwNDcsNTAgQEAgc3RhdGljIHN0cnVj dCBkcm1fZHBfbXN0X3BvcnQgKmRybV9kcF9nZXRfbGFzdF9jb25uZWN0ZWRfcG9ydF90b19tc3Ri KHN0cnVjdCBkcm0KIAlyZXR1cm4gZHJtX2RwX2dldF9sYXN0X2Nvbm5lY3RlZF9wb3J0X3RvX21z dGIobXN0Yi0+cG9ydF9wYXJlbnQtPnBhcmVudCk7CiB9CiAKLXN0YXRpYyBzdHJ1Y3QgZHJtX2Rw X21zdF9icmFuY2ggKmRybV9kcF9nZXRfbGFzdF9jb25uZWN0ZWRfcG9ydF9hbmRfbXN0YihzdHJ1 Y3QgZHJtX2RwX21zdF90b3BvbG9neV9tZ3IgKm1nciwKLQkJCQkJCQkJCSBzdHJ1Y3QgZHJtX2Rw X21zdF9icmFuY2ggKm1zdGIsCi0JCQkJCQkJCQkgaW50ICpwb3J0X251bSkKKy8qKgorICogZHJt X2RwX2dldF9sYXN0X2Nvbm5lY3RlZF9wb3J0X2FuZF9tc3RiKCkgLSBGaW5kIHRoZSBsYXN0IGxp dmluZyByZWxhdGl2ZXMKKyAqIGluIGEgdG9wb2xvZ3kgb2YgYSBnaXZlbiBicmFuY2ggZGV2aWNl CisgKiBAbWdyOiBUaGUgdG9wb2xvZ3kgbWFuYWdlciB0byB1c2UKKyAqIEBtc3RiOiBUaGUgZGlz Y29ubmVjdGVkIGJyYW5jaCBkZXZpY2UKKyAqIEBwb3J0X251bTogV2hlcmUgdG8gc3RvcmUgdGhl IG51bWJlciBvZiB0aGUgbGFzdCBjb25uZWN0ZWQgcG9ydAorICoKKyAqIFNlYXJjaGVzIHVwd2Fy ZHMgaW4gdGhlIHRvcG9sb2d5IHN0YXJ0aW5nIGZyb20gQG1zdGIgdG8gdHJ5IHRvIGZpbmQgdGhl CisgKiBjbG9zZXN0IGF2YWlsYWJsZSBwYXJlbnQgb2YgQG1zdGIgdGhhdCdzIHN0aWxsIGNvbm5l Y3RlZCB0byB0aGUgcmVzdCBvZiB0aGUKKyAqIHRvcG9sb2d5LiBUaGlzIGNhbiBiZSB1c2VkIGlu IG9yZGVyIHRvIHBlcmZvcm0gb3BlcmF0aW9ucyBsaWtlIHJlbGVhc2luZworICogcGF5bG9hZHMs IHdoZXJlIHRoZSBicmFuY2ggZGV2aWNlIHdoaWNoIG93bmVkIHRoZSBwYXlsb2FkIG1heSBubyBs b25nZXIgYmUKKyAqIGFyb3VuZCBhbmQgdGh1cyB3b3VsZCByZXF1aXJlIHRoYXQgdGhlIHBheWxv YWQgb24gdGhlIGxhc3QgbGl2aW5nIHJlbGF0aXZlCisgKiBiZSBmcmVlZCBpbnN0ZWFkLgorICoK KyAqIFJldHVybnM6CisgKiBUaGUgbGFzdCBjb25uZWN0ZWQgJmRybV9kcF9tc3RfYnJhbmNoIGlu IHRoZSB0b3BvbG9neSB0aGF0IHdhcyBhIHBhcmVudCBvZgorICogQG1zdGIsIGlmIHRoZXJlIGlz IG9uZS4KKyAqLworc3RhdGljIHN0cnVjdCBkcm1fZHBfbXN0X2JyYW5jaCAqCitkcm1fZHBfZ2V0 X2xhc3RfY29ubmVjdGVkX3BvcnRfYW5kX21zdGIoc3RydWN0IGRybV9kcF9tc3RfdG9wb2xvZ3lf bWdyICptZ3IsCisJCQkJCXN0cnVjdCBkcm1fZHBfbXN0X2JyYW5jaCAqbXN0YiwKKwkJCQkJaW50 ICpwb3J0X251bSkKIHsKIAlzdHJ1Y3QgZHJtX2RwX21zdF9icmFuY2ggKnJtc3RiID0gTlVMTDsK IAlzdHJ1Y3QgZHJtX2RwX21zdF9wb3J0ICpmb3VuZF9wb3J0OworCiAJbXV0ZXhfbG9jaygmbWdy LT5sb2NrKTsKLQlpZiAobWdyLT5tc3RfcHJpbWFyeSkgeworCWlmICghbWdyLT5tc3RfcHJpbWFy eSkKKwkJZ290byBvdXQ7CisKKwlkbyB7CiAJCWZvdW5kX3BvcnQgPSBkcm1fZHBfZ2V0X2xhc3Rf Y29ubmVjdGVkX3BvcnRfdG9fbXN0Yihtc3RiKTsKKwkJaWYgKCFmb3VuZF9wb3J0KQorCQkJYnJl YWs7CiAKLQkJaWYgKGZvdW5kX3BvcnQpIHsKKwkJaWYgKGRybV9kcF9tc3RfdG9wb2xvZ3lfdHJ5 X2dldF9tc3RiKGZvdW5kX3BvcnQtPnBhcmVudCkpIHsKIAkJCXJtc3RiID0gZm91bmRfcG9ydC0+ cGFyZW50OwotCQkJaWYgKGRybV9kcF9tc3RfdG9wb2xvZ3lfdHJ5X2dldF9tc3RiKHJtc3RiKSkK LQkJCQkqcG9ydF9udW0gPSBmb3VuZF9wb3J0LT5wb3J0X251bTsKLQkJCWVsc2UKLQkJCQlybXN0 YiA9IE5VTEw7CisJCQkqcG9ydF9udW0gPSBmb3VuZF9wb3J0LT5wb3J0X251bTsKKwkJfSBlbHNl IHsKKwkJCS8qIFNlYXJjaCBhZ2Fpbiwgc3RhcnRpbmcgZnJvbSB0aGlzIHBhcmVudCAqLworCQkJ bXN0YiA9IGZvdW5kX3BvcnQtPnBhcmVudDsKIAkJfQotCX0KKwl9IHdoaWxlICghcm1zdGIpOwor b3V0OgogCW11dGV4X3VubG9jaygmbWdyLT5sb2NrKTsKIAlyZXR1cm4gcm1zdGI7CiB9CkBAIC0y MTEzLDYgKzIxMzksMTQgQEAgc3RhdGljIGludCBkcm1fZHBfcGF5bG9hZF9zZW5kX21zZyhzdHJ1 Y3QgZHJtX2RwX21zdF90b3BvbG9neV9tZ3IgKm1nciwKIAogCWRybV9kcF9xdWV1ZV9kb3duX3R4 KG1nciwgdHhtc2cpOwogCisJLyoKKwkgKiBGSVhNRTogdGhlcmUgaXMgYSBzbWFsbCBjaGFuY2Ug dGhhdCBiZXR3ZWVuIGdldHRpbmcgdGhlIGxhc3QKKwkgKiBjb25uZWN0ZWQgbXN0YiBhbmQgc2Vu ZGluZyB0aGUgcGF5bG9hZCBtZXNzYWdlLCB0aGUgbGFzdCBjb25uZWN0ZWQKKwkgKiBtc3RiIGNv dWxkIGFsc28gYmUgcmVtb3ZlZCBmcm9tIHRoZSB0b3BvbG9neS4gSW4gdGhlIGZ1dHVyZSwgdGhp cworCSAqIG5lZWRzIHRvIGJlIGZpeGVkIGJ5IHJlc3RhcnRpbmcgdGhlCisJICogZHJtX2RwX2dl dF9sYXN0X2Nvbm5lY3RlZF9wb3J0X2FuZF9tc3RiKCkgc2VhcmNoIGluIHRoZSBldmVudCBvZiBh CisJICogdGltZW91dCBpZiB0aGUgdG9wb2xvZ3kgaXMgc3RpbGwgY29ubmVjdGVkIHRvIHRoZSBz eXN0ZW0uCisJICovCiAJcmV0ID0gZHJtX2RwX21zdF93YWl0X3R4X3JlcGx5KG1zdGIsIHR4bXNn KTsKIAlpZiAocmV0ID4gMCkgewogCQlpZiAodHhtc2ctPnJlcGx5LnJlcGx5X3R5cGUgPT0gMSkK LS0gCjIuMjAuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KYW1kLWdmeCBtYWlsaW5nIGxpc3QKYW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0 cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9hbWQtZ2Z4Cg==