From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dave Airlie Subject: [PATCH 5/5] drm/i915/mst: use reference counted connectors. (v2) Date: Wed, 27 Apr 2016 12:03:29 +1000 Message-ID: <1461722609-32474-5-git-send-email-airlied@gmail.com> References: <1461722609-32474-1-git-send-email-airlied@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1461722609-32474-1-git-send-email-airlied@gmail.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: dri-devel@lists.freedesktop.org, intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org RnJvbTogRGF2ZSBBaXJsaWUgPGFpcmxpZWRAcmVkaGF0LmNvbT4KCkRvbid0IGp1c3QgZnJlZSB0 aGUgY29ubmVjdG9yIHdoZW4gd2UgZ2V0IHRoZSBkZXN0cm95IGNhbGxiYWNrLgoKRHJvcCBhIHJl ZmVyZW5jZSB0byBpdCwgYW5kIHNldCBpdCdzIG1zdF9wb3J0IHRvIE5VTEwgc28Kbm8gbW9yZSBt c3Qgd29yayBpcyBkb25lIG9uIGl0LgoKdjI6IGNvcmUgbXN0IGFjY2VwdHMgTlVMTHMgZmluZS4g Q2xlYW51cCBFRElEIGNvZGUgcHJvcGVybHkuCgpTaWduZWQtb2ZmLWJ5OiBEYXZlIEFpcmxpZSA8 YWlybGllZEByZWRoYXQuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwX21z dC5jIHwgNDUgKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLQogZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggICAgfCAgMiArLQogMiBmaWxlcyBjaGFuZ2VkLCAyMyBp bnNlcnRpb25zKCspLCAyNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kcF9tc3QuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwX21z dC5jCmluZGV4IDk0YjRlODMuLjQzMzBiMjEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2RwX21zdC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwX21z dC5jCkBAIC0xMDksNyArMTA5LDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfbXN0X2Rpc2FibGVfZHAo c3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIpCiAKIAlEUk1fREVCVUdfS01TKCIlZFxuIiwg aW50ZWxfZHAtPmFjdGl2ZV9tc3RfbGlua3MpOwogCi0JZHJtX2RwX21zdF9yZXNldF92Y3BpX3Ns b3RzKCZpbnRlbF9kcC0+bXN0X21nciwgaW50ZWxfbXN0LT5wb3J0KTsKKwlkcm1fZHBfbXN0X3Jl c2V0X3ZjcGlfc2xvdHMoJmludGVsX2RwLT5tc3RfbWdyLCBpbnRlbF9tc3QtPmNvbm5lY3Rvci0+ cG9ydCk7CiAKIAlyZXQgPSBkcm1fZHBfdXBkYXRlX3BheWxvYWRfcGFydDEoJmludGVsX2RwLT5t c3RfbWdyKTsKIAlpZiAocmV0KSB7CkBAIC0xMzQsMTAgKzEzNCwxMiBAQCBzdGF0aWMgdm9pZCBp bnRlbF9tc3RfcG9zdF9kaXNhYmxlX2RwKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKQog CS8qIGFuZCB0aGlzIGNhbiBhbHNvIGZhaWwgKi8KIAlkcm1fZHBfdXBkYXRlX3BheWxvYWRfcGFy dDIoJmludGVsX2RwLT5tc3RfbWdyKTsKIAotCWRybV9kcF9tc3RfZGVhbGxvY2F0ZV92Y3BpKCZp bnRlbF9kcC0+bXN0X21nciwgaW50ZWxfbXN0LT5wb3J0KTsKKwlkcm1fZHBfbXN0X2RlYWxsb2Nh dGVfdmNwaSgmaW50ZWxfZHAtPm1zdF9tZ3IsIGludGVsX21zdC0+Y29ubmVjdG9yLT5wb3J0KTsK IAogCWludGVsX2RwLT5hY3RpdmVfbXN0X2xpbmtzLS07Ci0JaW50ZWxfbXN0LT5wb3J0ID0gTlVM TDsKKworCWRybV9jb25uZWN0b3JfdW5yZWZlcmVuY2UoJmludGVsX21zdC0+Y29ubmVjdG9yLT5i YXNlKTsKKwlpbnRlbF9tc3QtPmNvbm5lY3RvciA9IE5VTEw7CiAJaWYgKGludGVsX2RwLT5hY3Rp dmVfbXN0X2xpbmtzID09IDApIHsKIAkJaW50ZWxfZGlnX3BvcnQtPmJhc2UucG9zdF9kaXNhYmxl KCZpbnRlbF9kaWdfcG9ydC0+YmFzZSk7CiAJCWludGVsX2RwX3NpbmtfZHBtcyhpbnRlbF9kcCwg RFJNX01PREVfRFBNU19PRkYpOwpAQCAtMTc3LDcgKzE3OSw5IEBAIHN0YXRpYyB2b2lkIGludGVs X21zdF9wcmVfZW5hYmxlX2RwKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKQogCWZvdW5k LT5lbmNvZGVyID0gZW5jb2RlcjsKIAogCURSTV9ERUJVR19LTVMoIiVkXG4iLCBpbnRlbF9kcC0+ YWN0aXZlX21zdF9saW5rcyk7Ci0JaW50ZWxfbXN0LT5wb3J0ID0gZm91bmQtPnBvcnQ7CisKKwlp bnRlbF9tc3QtPmNvbm5lY3RvciA9IGZvdW5kOworCWRybV9jb25uZWN0b3JfcmVmZXJlbmNlKCZp bnRlbF9tc3QtPmNvbm5lY3Rvci0+YmFzZSk7CiAKIAlpZiAoaW50ZWxfZHAtPmFjdGl2ZV9tc3Rf bGlua3MgPT0gMCkgewogCQlpbnRlbF9wcmVwYXJlX2RkaV9idWZmZXIoJmludGVsX2RpZ19wb3J0 LT5iYXNlKTsKQEAgLTE5NSw3ICsxOTksNyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9tc3RfcHJlX2Vu YWJsZV9kcChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcikKIAl9CiAKIAlyZXQgPSBkcm1f ZHBfbXN0X2FsbG9jYXRlX3ZjcGkoJmludGVsX2RwLT5tc3RfbWdyLAotCQkJCSAgICAgICBpbnRl bF9tc3QtPnBvcnQsCisJCQkJICAgICAgIGludGVsX21zdC0+Y29ubmVjdG9yLT5wb3J0LAogCQkJ CSAgICAgICBpbnRlbF9jcnRjLT5jb25maWctPnBibiwgJnNsb3RzKTsKIAlpZiAocmV0ID09IGZh bHNlKSB7CiAJCURSTV9FUlJPUigiZmFpbGVkIHRvIGFsbG9jYXRlIHZjcGlcbiIpOwpAQCAtMjQ0 LDcgKzI0OCw3IEBAIHN0YXRpYyBib29sIGludGVsX2RwX21zdF9lbmNfZ2V0X2h3X3N0YXRlKHN0 cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogewogCXN0cnVjdCBpbnRlbF9kcF9tc3RfZW5j b2RlciAqaW50ZWxfbXN0ID0gZW5jX3RvX21zdCgmZW5jb2Rlci0+YmFzZSk7CiAJKnBpcGUgPSBp bnRlbF9tc3QtPnBpcGU7Ci0JaWYgKGludGVsX21zdC0+cG9ydCkKKwlpZiAoaW50ZWxfbXN0LT5j b25uZWN0b3IpCiAJCXJldHVybiB0cnVlOwogCXJldHVybiBmYWxzZTsKIH0KQEAgLTMwOCwxMCAr MzEyLDExIEBAIHN0YXRpYyBpbnQgaW50ZWxfZHBfbXN0X2dldF9kZGNfbW9kZXMoc3RydWN0IGRy bV9jb25uZWN0b3IgKmNvbm5lY3RvcikKIAlzdHJ1Y3QgZWRpZCAqZWRpZDsKIAlpbnQgcmV0Owog Ci0JZWRpZCA9IGRybV9kcF9tc3RfZ2V0X2VkaWQoY29ubmVjdG9yLCAmaW50ZWxfZHAtPm1zdF9t Z3IsIGludGVsX2Nvbm5lY3Rvci0+cG9ydCk7Ci0JaWYgKCFlZGlkKQotCQlyZXR1cm4gMDsKKwlp ZiAoIWludGVsX2RwKSB7CisJCXJldHVybiBpbnRlbF9jb25uZWN0b3JfdXBkYXRlX21vZGVzKGNv bm5lY3RvciwgTlVMTCk7CisJfQogCisJZWRpZCA9IGRybV9kcF9tc3RfZ2V0X2VkaWQoY29ubmVj dG9yLCAmaW50ZWxfZHAtPm1zdF9tZ3IsIGludGVsX2Nvbm5lY3Rvci0+cG9ydCk7CiAJcmV0ID0g aW50ZWxfY29ubmVjdG9yX3VwZGF0ZV9tb2Rlcyhjb25uZWN0b3IsIGVkaWQpOwogCWtmcmVlKGVk aWQpOwogCkBAIC0zMjQsNiArMzI5LDggQEAgaW50ZWxfZHBfbXN0X2RldGVjdChzdHJ1Y3QgZHJt X2Nvbm5lY3RvciAqY29ubmVjdG9yLCBib29sIGZvcmNlKQogCXN0cnVjdCBpbnRlbF9jb25uZWN0 b3IgKmludGVsX2Nvbm5lY3RvciA9IHRvX2ludGVsX2Nvbm5lY3Rvcihjb25uZWN0b3IpOwogCXN0 cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAgPSBpbnRlbF9jb25uZWN0b3ItPm1zdF9wb3J0OwogCisJ aWYgKCFpbnRlbF9kcCkKKwkJcmV0dXJuIGNvbm5lY3Rvcl9zdGF0dXNfZGlzY29ubmVjdGVkOwog CXJldHVybiBkcm1fZHBfbXN0X2RldGVjdF9wb3J0KGNvbm5lY3RvciwgJmludGVsX2RwLT5tc3Rf bWdyLCBpbnRlbF9jb25uZWN0b3ItPnBvcnQpOwogfQogCkBAIC0zODksNiArMzk2LDggQEAgc3Rh dGljIHN0cnVjdCBkcm1fZW5jb2RlciAqaW50ZWxfbXN0X2F0b21pY19iZXN0X2VuY29kZXIoc3Ry dWN0IGRybV9jb25uZWN0b3IgKmMKIAlzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwID0gaW50ZWxf Y29ubmVjdG9yLT5tc3RfcG9ydDsKIAlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVs X2NydGMoc3RhdGUtPmNydGMpOwogCisJaWYgKCFpbnRlbF9kcCkKKwkJcmV0dXJuIE5VTEw7CiAJ cmV0dXJuICZpbnRlbF9kcC0+bXN0X2VuY29kZXJzW2NydGMtPnBpcGVdLT5iYXNlLmJhc2U7CiB9 CiAKQEAgLTM5Niw2ICs0MDUsOCBAQCBzdGF0aWMgc3RydWN0IGRybV9lbmNvZGVyICppbnRlbF9t c3RfYmVzdF9lbmNvZGVyKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0bwogewogCXN0cnVj dCBpbnRlbF9jb25uZWN0b3IgKmludGVsX2Nvbm5lY3RvciA9IHRvX2ludGVsX2Nvbm5lY3Rvcihj b25uZWN0b3IpOwogCXN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAgPSBpbnRlbF9jb25uZWN0b3It Pm1zdF9wb3J0OworCWlmICghaW50ZWxfZHApCisJCXJldHVybiBOVUxMOwogCXJldHVybiAmaW50 ZWxfZHAtPm1zdF9lbmNvZGVyc1swXS0+YmFzZS5iYXNlOwogfQogCkBAIC01MDYsMjMgKzUxNywx MSBAQCBzdGF0aWMgdm9pZCBpbnRlbF9kcF9kZXN0cm95X21zdF9jb25uZWN0b3Ioc3RydWN0IGRy bV9kcF9tc3RfdG9wb2xvZ3lfbWdyICptZ3IsCiAKIAkvKiBuZWVkIHRvIG51a2UgdGhlIGNvbm5l Y3RvciAqLwogCWRybV9tb2Rlc2V0X2xvY2tfYWxsKGRldik7Ci0JaWYgKGNvbm5lY3Rvci0+c3Rh dGUtPmNydGMpIHsKLQkJc3RydWN0IGRybV9tb2RlX3NldCBzZXQ7Ci0JCWludCByZXQ7Ci0KLQkJ bWVtc2V0KCZzZXQsIDAsIHNpemVvZihzZXQpKTsKLQkJc2V0LmNydGMgPSBjb25uZWN0b3ItPnN0 YXRlLT5jcnRjLAotCi0JCXJldCA9IGRybV9hdG9taWNfaGVscGVyX3NldF9jb25maWcoJnNldCk7 Ci0KLQkJV0FSTihyZXQsICJEaXNhYmxpbmcgbXN0IGNydGMgZmFpbGVkIHdpdGggJWlcbiIsIHJl dCk7Ci0JfQotCiAJaW50ZWxfY29ubmVjdG9yX3JlbW92ZV9mcm9tX2ZiZGV2KGludGVsX2Nvbm5l Y3Rvcik7Ci0JZHJtX2Nvbm5lY3Rvcl9jbGVhbnVwKGNvbm5lY3Rvcik7CisJaW50ZWxfY29ubmVj dG9yLT5tc3RfcG9ydCA9IE5VTEw7CiAJZHJtX21vZGVzZXRfdW5sb2NrX2FsbChkZXYpOwogCi0J a2ZyZWUoaW50ZWxfY29ubmVjdG9yKTsKKwlkcm1fY29ubmVjdG9yX3VucmVmZXJlbmNlKCZpbnRl bF9jb25uZWN0b3ItPmJhc2UpOwogCURSTV9ERUJVR19LTVMoIlxuIik7CiB9CiAKZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZHJ2LmgKaW5kZXggZTBmY2ZhMS4uMjg4MTM1ZGUgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2Rydi5oCkBAIC04NzgsNyArODc4LDcgQEAgc3RydWN0IGludGVsX2RwX21zdF9lbmNvZGVy IHsKIAlzdHJ1Y3QgaW50ZWxfZW5jb2RlciBiYXNlOwogCWVudW0gcGlwZSBwaXBlOwogCXN0cnVj dCBpbnRlbF9kaWdpdGFsX3BvcnQgKnByaW1hcnk7Ci0Jdm9pZCAqcG9ydDsgLyogc3RvcmUgdGhp cyBvcGFxdWUgYXMgaXRzIGlsbGVnYWwgdG8gZGVyZWZlcmVuY2UgaXQgKi8KKwlzdHJ1Y3QgaW50 ZWxfY29ubmVjdG9yICpjb25uZWN0b3I7CiB9OwogCiBzdGF0aWMgaW5saW5lIGVudW0gZHBpb19j aGFubmVsCi0tIAoyLjUuNQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0 b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50 ZWwtZ2Z4Cg==