From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lyude Paul Subject: [PATCH v2 03/16] drm/dp_mst: Restart last_connected_port_and_mstb() if topology ref fails Date: Wed, 19 Dec 2018 19:19:47 -0500 Message-ID: <20181220001959.12486-4-lyude@redhat.com> References: <20181220001959.12486-1-lyude@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20181220001959.12486-1-lyude-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: nouveau-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "Nouveau" To: dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, intel-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, amd-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 CgpTaWduZWQtb2ZmLWJ5OiBMeXVkZSBQYXVsIDxseXVkZUByZWRoYXQuY29tPgpDYzogRGFuaWVs IFZldHRlciA8ZGFuaWVsQGZmd2xsLmNoPgpDYzogRGF2aWQgQWlybGllIDxhaXJsaWVkQHJlZGhh dC5jb20+CkNjOiBKZXJyeSBadW8gPEplcnJ5Llp1b0BhbWQuY29tPgpDYzogSGFycnkgV2VudGxh bmQgPGhhcnJ5LndlbnRsYW5kQGFtZC5jb20+CkNjOiBKdXN0b24gTGkgPGp1c3Rvbi5saUBpbnRl bC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2RybV9kcF9tc3RfdG9wb2xvZ3kuYyB8IDU1ICsr KysrKysrKysrKysrKysrKysrKy0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDQ0IGluc2VydGlvbnMo KyksIDExIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fZHBf bXN0X3RvcG9sb2d5LmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2RwX21zdF90b3BvbG9neS5jCmlu ZGV4IGIzODBhZGEwOWU5MC4uMzU2YTk1YWJhMmQ4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vZHJtX2RwX21zdF90b3BvbG9neS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZHBfbXN0 X3RvcG9sb2d5LmMKQEAgLTIwNDMsMjUgKzIwNDMsNTAgQEAgc3RhdGljIHN0cnVjdCBkcm1fZHBf bXN0X3BvcnQgKmRybV9kcF9nZXRfbGFzdF9jb25uZWN0ZWRfcG9ydF90b19tc3RiKHN0cnVjdCBk cm0KIAlyZXR1cm4gZHJtX2RwX2dldF9sYXN0X2Nvbm5lY3RlZF9wb3J0X3RvX21zdGIobXN0Yi0+ cG9ydF9wYXJlbnQtPnBhcmVudCk7CiB9CiAKLXN0YXRpYyBzdHJ1Y3QgZHJtX2RwX21zdF9icmFu Y2ggKmRybV9kcF9nZXRfbGFzdF9jb25uZWN0ZWRfcG9ydF9hbmRfbXN0YihzdHJ1Y3QgZHJtX2Rw X21zdF90b3BvbG9neV9tZ3IgKm1nciwKLQkJCQkJCQkJCSBzdHJ1Y3QgZHJtX2RwX21zdF9icmFu Y2ggKm1zdGIsCi0JCQkJCQkJCQkgaW50ICpwb3J0X251bSkKKy8qKgorICogZHJtX2RwX2dldF9s YXN0X2Nvbm5lY3RlZF9wb3J0X2FuZF9tc3RiKCkgLSBGaW5kIHRoZSBsYXN0IGxpdmluZyByZWxh dGl2ZXMKKyAqIGluIGEgdG9wb2xvZ3kgb2YgYSBnaXZlbiBicmFuY2ggZGV2aWNlCisgKiBAbWdy OiBUaGUgdG9wb2xvZ3kgbWFuYWdlciB0byB1c2UKKyAqIEBtc3RiOiBUaGUgZGlzY29ubmVjdGVk IGJyYW5jaCBkZXZpY2UKKyAqIEBwb3J0X251bTogV2hlcmUgdG8gc3RvcmUgdGhlIG51bWJlciBv ZiB0aGUgbGFzdCBjb25uZWN0ZWQgcG9ydAorICoKKyAqIFNlYXJjaGVzIHVwd2FyZHMgaW4gdGhl IHRvcG9sb2d5IHN0YXJ0aW5nIGZyb20gQG1zdGIgdG8gdHJ5IHRvIGZpbmQgdGhlCisgKiBjbG9z ZXN0IGF2YWlsYWJsZSBwYXJlbnQgb2YgQG1zdGIgdGhhdCdzIHN0aWxsIGNvbm5lY3RlZCB0byB0 aGUgcmVzdCBvZiB0aGUKKyAqIHRvcG9sb2d5LiBUaGlzIGNhbiBiZSB1c2VkIGluIG9yZGVyIHRv IHBlcmZvcm0gb3BlcmF0aW9ucyBsaWtlIHJlbGVhc2luZworICogcGF5bG9hZHMsIHdoZXJlIHRo ZSBicmFuY2ggZGV2aWNlIHdoaWNoIG93bmVkIHRoZSBwYXlsb2FkIG1heSBubyBsb25nZXIgYmUK KyAqIGFyb3VuZCBhbmQgdGh1cyB3b3VsZCByZXF1aXJlIHRoYXQgdGhlIHBheWxvYWQgb24gdGhl IGxhc3QgbGl2aW5nIHJlbGF0aXZlCisgKiBiZSBmcmVlZCBpbnN0ZWFkLgorICoKKyAqIFJldHVy bnM6CisgKiBUaGUgbGFzdCBjb25uZWN0ZWQgJmRybV9kcF9tc3RfYnJhbmNoIGluIHRoZSB0b3Bv bG9neSB0aGF0IHdhcyBhIHBhcmVudCBvZgorICogQG1zdGIsIGlmIHRoZXJlIGlzIG9uZS4KKyAq Lworc3RhdGljIHN0cnVjdCBkcm1fZHBfbXN0X2JyYW5jaCAqCitkcm1fZHBfZ2V0X2xhc3RfY29u bmVjdGVkX3BvcnRfYW5kX21zdGIoc3RydWN0IGRybV9kcF9tc3RfdG9wb2xvZ3lfbWdyICptZ3Is CisJCQkJCXN0cnVjdCBkcm1fZHBfbXN0X2JyYW5jaCAqbXN0YiwKKwkJCQkJaW50ICpwb3J0X251 bSkKIHsKIAlzdHJ1Y3QgZHJtX2RwX21zdF9icmFuY2ggKnJtc3RiID0gTlVMTDsKIAlzdHJ1Y3Qg ZHJtX2RwX21zdF9wb3J0ICpmb3VuZF9wb3J0OworCiAJbXV0ZXhfbG9jaygmbWdyLT5sb2NrKTsK LQlpZiAobWdyLT5tc3RfcHJpbWFyeSkgeworCWlmICghbWdyLT5tc3RfcHJpbWFyeSkKKwkJZ290 byBvdXQ7CisKKwlkbyB7CiAJCWZvdW5kX3BvcnQgPSBkcm1fZHBfZ2V0X2xhc3RfY29ubmVjdGVk X3BvcnRfdG9fbXN0Yihtc3RiKTsKKwkJaWYgKCFmb3VuZF9wb3J0KQorCQkJYnJlYWs7CiAKLQkJ aWYgKGZvdW5kX3BvcnQpIHsKKwkJaWYgKGRybV9kcF9tc3RfdG9wb2xvZ3lfdHJ5X2dldF9tc3Ri KGZvdW5kX3BvcnQtPnBhcmVudCkpIHsKIAkJCXJtc3RiID0gZm91bmRfcG9ydC0+cGFyZW50Owot CQkJaWYgKGRybV9kcF9tc3RfdG9wb2xvZ3lfdHJ5X2dldF9tc3RiKHJtc3RiKSkgewotCQkJCSpw b3J0X251bSA9IGZvdW5kX3BvcnQtPnBvcnRfbnVtOwotCQkJfSBlbHNlIHsKLQkJCQlybXN0YiA9 IE5VTEw7Ci0JCQl9CisJCQkqcG9ydF9udW0gPSBmb3VuZF9wb3J0LT5wb3J0X251bTsKKwkJfSBl bHNlIHsKKwkJCS8qIFNlYXJjaCBhZ2Fpbiwgc3RhcnRpbmcgZnJvbSB0aGlzIHBhcmVudCAqLwor CQkJbXN0YiA9IGZvdW5kX3BvcnQtPnBhcmVudDsKIAkJfQotCX0KKwl9IHdoaWxlICghcm1zdGIp Oworb3V0OgogCW11dGV4X3VubG9jaygmbWdyLT5sb2NrKTsKIAlyZXR1cm4gcm1zdGI7CiB9CkBA IC0yMTEwLDYgKzIxMzUsMTQgQEAgc3RhdGljIGludCBkcm1fZHBfcGF5bG9hZF9zZW5kX21zZyhz dHJ1Y3QgZHJtX2RwX21zdF90b3BvbG9neV9tZ3IgKm1nciwKIAogCWRybV9kcF9xdWV1ZV9kb3du X3R4KG1nciwgdHhtc2cpOwogCisJLyoKKwkgKiBGSVhNRTogdGhlcmUgaXMgYSBzbWFsbCBjaGFu Y2UgdGhhdCBiZXR3ZWVuIGdldHRpbmcgdGhlIGxhc3QKKwkgKiBjb25uZWN0ZWQgbXN0YiBhbmQg c2VuZGluZyB0aGUgcGF5bG9hZCBtZXNzYWdlLCB0aGUgbGFzdCBjb25uZWN0ZWQKKwkgKiBtc3Ri IGNvdWxkIGFsc28gYmUgcmVtb3ZlZCBmcm9tIHRoZSB0b3BvbG9neS4gSW4gdGhlIGZ1dHVyZSwg dGhpcworCSAqIG5lZWRzIHRvIGJlIGZpeGVkIGJ5IHJlc3RhcnRpbmcgdGhlCisJICogZHJtX2Rw X2dldF9sYXN0X2Nvbm5lY3RlZF9wb3J0X2FuZF9tc3RiKCkgc2VhcmNoIGluIHRoZSBldmVudCBv ZiBhCisJICogdGltZW91dCBpZiB0aGUgdG9wb2xvZ3kgaXMgc3RpbGwgY29ubmVjdGVkIHRvIHRo ZSBzeXN0ZW0uCisJICovCiAJcmV0ID0gZHJtX2RwX21zdF93YWl0X3R4X3JlcGx5KG1zdGIsIHR4 bXNnKTsKIAlpZiAocmV0ID4gMCkgewogCQlpZiAodHhtc2ctPnJlcGx5LnJlcGx5X3R5cGUgPT0g MSkgewotLSAKMi4xOS4yCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpOb3V2ZWF1IG1haWxpbmcgbGlzdApOb3V2ZWF1QGxpc3RzLmZyZWVkZXNrdG9wLm9y ZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL25vdXZlYXUK