From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dave Airlie Subject: [PATCH 6/6] drm/i915/mst: use reference counted connectors. (v3) Date: Tue, 3 May 2016 14:28:26 +1000 Message-ID: <1462249706-4759-6-git-send-email-airlied@gmail.com> References: <1462249706-4759-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: <1462249706-4759-1-git-send-email-airlied@gmail.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, intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org RnJvbTogRGF2ZSBBaXJsaWUgPGFpcmxpZWRAcmVkaGF0LmNvbT4KCkRvbid0IGp1c3QgZnJlZSB0 aGUgY29ubmVjdG9yIHdoZW4gd2UgZ2V0IHRoZSBkZXN0cm95IGNhbGxiYWNrLgoKRHJvcCBhIHJl ZmVyZW5jZSB0byBpdCwgYW5kIHNldCBpdCdzIG1zdF9wb3J0IHRvIE5VTEwgc28Kbm8gbW9yZSBt c3Qgd29yayBpcyBkb25lIG9uIGl0LgoKdjI6IGNvcmUgbXN0IGFjY2VwdHMgTlVMTHMgZmluZS4g Q2xlYW51cCBFRElEIGNvZGUgcHJvcGVybHkuCnYzOiBkcm9wIHRoZSBleHRyYSByZWZlcmVuY2Ug d2Ugd2VyZSB0YWtpbmcuCgpSZXZpZXdlZC1ieTogRGFuaWVsIFZldHRlciA8ZGFuaWVsLnZldHRl ckBmZndsbC5jaD4KU2lnbmVkLW9mZi1ieTogRGF2ZSBBaXJsaWUgPGFpcmxpZWRAcmVkaGF0LmNv bT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcF9tc3QuYyB8IDQzICsrKysrKysr KysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2Rydi5oICAgIHwgIDIgKy0KIDIgZmlsZXMgY2hhbmdlZCwgMjEgaW5zZXJ0aW9ucygrKSwgMjQg ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHBf bXN0LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcF9tc3QuYwppbmRleCA5NGI0ZTgz Li5iNmJmN2ZkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcF9tc3Qu YworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcF9tc3QuYwpAQCAtMTA5LDcgKzEw OSw3IEBAIHN0YXRpYyB2b2lkIGludGVsX21zdF9kaXNhYmxlX2RwKHN0cnVjdCBpbnRlbF9lbmNv ZGVyICplbmNvZGVyKQogCiAJRFJNX0RFQlVHX0tNUygiJWRcbiIsIGludGVsX2RwLT5hY3RpdmVf bXN0X2xpbmtzKTsKIAotCWRybV9kcF9tc3RfcmVzZXRfdmNwaV9zbG90cygmaW50ZWxfZHAtPm1z dF9tZ3IsIGludGVsX21zdC0+cG9ydCk7CisJZHJtX2RwX21zdF9yZXNldF92Y3BpX3Nsb3RzKCZp bnRlbF9kcC0+bXN0X21nciwgaW50ZWxfbXN0LT5jb25uZWN0b3ItPnBvcnQpOwogCiAJcmV0ID0g ZHJtX2RwX3VwZGF0ZV9wYXlsb2FkX3BhcnQxKCZpbnRlbF9kcC0+bXN0X21ncik7CiAJaWYgKHJl dCkgewpAQCAtMTM0LDEwICsxMzQsMTEgQEAgc3RhdGljIHZvaWQgaW50ZWxfbXN0X3Bvc3RfZGlz YWJsZV9kcChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcikKIAkvKiBhbmQgdGhpcyBjYW4g YWxzbyBmYWlsICovCiAJZHJtX2RwX3VwZGF0ZV9wYXlsb2FkX3BhcnQyKCZpbnRlbF9kcC0+bXN0 X21ncik7CiAKLQlkcm1fZHBfbXN0X2RlYWxsb2NhdGVfdmNwaSgmaW50ZWxfZHAtPm1zdF9tZ3Is IGludGVsX21zdC0+cG9ydCk7CisJZHJtX2RwX21zdF9kZWFsbG9jYXRlX3ZjcGkoJmludGVsX2Rw LT5tc3RfbWdyLCBpbnRlbF9tc3QtPmNvbm5lY3Rvci0+cG9ydCk7CiAKIAlpbnRlbF9kcC0+YWN0 aXZlX21zdF9saW5rcy0tOwotCWludGVsX21zdC0+cG9ydCA9IE5VTEw7CisKKwlpbnRlbF9tc3Qt PmNvbm5lY3RvciA9IE5VTEw7CiAJaWYgKGludGVsX2RwLT5hY3RpdmVfbXN0X2xpbmtzID09IDAp IHsKIAkJaW50ZWxfZGlnX3BvcnQtPmJhc2UucG9zdF9kaXNhYmxlKCZpbnRlbF9kaWdfcG9ydC0+ YmFzZSk7CiAJCWludGVsX2RwX3NpbmtfZHBtcyhpbnRlbF9kcCwgRFJNX01PREVfRFBNU19PRkYp OwpAQCAtMTc3LDcgKzE3OCw4IEBAIHN0YXRpYyB2b2lkIGludGVsX21zdF9wcmVfZW5hYmxlX2Rw KHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKQogCWZvdW5kLT5lbmNvZGVyID0gZW5jb2Rl cjsKIAogCURSTV9ERUJVR19LTVMoIiVkXG4iLCBpbnRlbF9kcC0+YWN0aXZlX21zdF9saW5rcyk7 Ci0JaW50ZWxfbXN0LT5wb3J0ID0gZm91bmQtPnBvcnQ7CisKKwlpbnRlbF9tc3QtPmNvbm5lY3Rv ciA9IGZvdW5kOwogCiAJaWYgKGludGVsX2RwLT5hY3RpdmVfbXN0X2xpbmtzID09IDApIHsKIAkJ aW50ZWxfcHJlcGFyZV9kZGlfYnVmZmVyKCZpbnRlbF9kaWdfcG9ydC0+YmFzZSk7CkBAIC0xOTUs NyArMTk3LDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfbXN0X3ByZV9lbmFibGVfZHAoc3RydWN0IGlu dGVsX2VuY29kZXIgKmVuY29kZXIpCiAJfQogCiAJcmV0ID0gZHJtX2RwX21zdF9hbGxvY2F0ZV92 Y3BpKCZpbnRlbF9kcC0+bXN0X21nciwKLQkJCQkgICAgICAgaW50ZWxfbXN0LT5wb3J0LAorCQkJ CSAgICAgICBpbnRlbF9tc3QtPmNvbm5lY3Rvci0+cG9ydCwKIAkJCQkgICAgICAgaW50ZWxfY3J0 Yy0+Y29uZmlnLT5wYm4sICZzbG90cyk7CiAJaWYgKHJldCA9PSBmYWxzZSkgewogCQlEUk1fRVJS T1IoImZhaWxlZCB0byBhbGxvY2F0ZSB2Y3BpXG4iKTsKQEAgLTI0NCw3ICsyNDYsNyBAQCBzdGF0 aWMgYm9vbCBpbnRlbF9kcF9tc3RfZW5jX2dldF9od19zdGF0ZShzdHJ1Y3QgaW50ZWxfZW5jb2Rl ciAqZW5jb2RlciwKIHsKIAlzdHJ1Y3QgaW50ZWxfZHBfbXN0X2VuY29kZXIgKmludGVsX21zdCA9 IGVuY190b19tc3QoJmVuY29kZXItPmJhc2UpOwogCSpwaXBlID0gaW50ZWxfbXN0LT5waXBlOwot CWlmIChpbnRlbF9tc3QtPnBvcnQpCisJaWYgKGludGVsX21zdC0+Y29ubmVjdG9yKQogCQlyZXR1 cm4gdHJ1ZTsKIAlyZXR1cm4gZmFsc2U7CiB9CkBAIC0zMDgsMTAgKzMxMCwxMSBAQCBzdGF0aWMg aW50IGludGVsX2RwX21zdF9nZXRfZGRjX21vZGVzKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25u ZWN0b3IpCiAJc3RydWN0IGVkaWQgKmVkaWQ7CiAJaW50IHJldDsKIAotCWVkaWQgPSBkcm1fZHBf bXN0X2dldF9lZGlkKGNvbm5lY3RvciwgJmludGVsX2RwLT5tc3RfbWdyLCBpbnRlbF9jb25uZWN0 b3ItPnBvcnQpOwotCWlmICghZWRpZCkKLQkJcmV0dXJuIDA7CisJaWYgKCFpbnRlbF9kcCkgewor CQlyZXR1cm4gaW50ZWxfY29ubmVjdG9yX3VwZGF0ZV9tb2Rlcyhjb25uZWN0b3IsIE5VTEwpOwor CX0KIAorCWVkaWQgPSBkcm1fZHBfbXN0X2dldF9lZGlkKGNvbm5lY3RvciwgJmludGVsX2RwLT5t c3RfbWdyLCBpbnRlbF9jb25uZWN0b3ItPnBvcnQpOwogCXJldCA9IGludGVsX2Nvbm5lY3Rvcl91 cGRhdGVfbW9kZXMoY29ubmVjdG9yLCBlZGlkKTsKIAlrZnJlZShlZGlkKTsKIApAQCAtMzI0LDYg KzMyNyw4IEBAIGludGVsX2RwX21zdF9kZXRlY3Qoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5l Y3RvciwgYm9vbCBmb3JjZSkKIAlzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICppbnRlbF9jb25uZWN0 b3IgPSB0b19pbnRlbF9jb25uZWN0b3IoY29ubmVjdG9yKTsKIAlzdHJ1Y3QgaW50ZWxfZHAgKmlu dGVsX2RwID0gaW50ZWxfY29ubmVjdG9yLT5tc3RfcG9ydDsKIAorCWlmICghaW50ZWxfZHApCisJ CXJldHVybiBjb25uZWN0b3Jfc3RhdHVzX2Rpc2Nvbm5lY3RlZDsKIAlyZXR1cm4gZHJtX2RwX21z dF9kZXRlY3RfcG9ydChjb25uZWN0b3IsICZpbnRlbF9kcC0+bXN0X21nciwgaW50ZWxfY29ubmVj dG9yLT5wb3J0KTsKIH0KIApAQCAtMzg5LDYgKzM5NCw4IEBAIHN0YXRpYyBzdHJ1Y3QgZHJtX2Vu Y29kZXIgKmludGVsX21zdF9hdG9taWNfYmVzdF9lbmNvZGVyKHN0cnVjdCBkcm1fY29ubmVjdG9y ICpjCiAJc3RydWN0IGludGVsX2RwICppbnRlbF9kcCA9IGludGVsX2Nvbm5lY3Rvci0+bXN0X3Bv cnQ7CiAJc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKHN0YXRlLT5jcnRj KTsKIAorCWlmICghaW50ZWxfZHApCisJCXJldHVybiBOVUxMOwogCXJldHVybiAmaW50ZWxfZHAt Pm1zdF9lbmNvZGVyc1tjcnRjLT5waXBlXS0+YmFzZS5iYXNlOwogfQogCkBAIC0zOTYsNiArNDAz LDggQEAgc3RhdGljIHN0cnVjdCBkcm1fZW5jb2RlciAqaW50ZWxfbXN0X2Jlc3RfZW5jb2Rlcihz dHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG8KIHsKIAlzdHJ1Y3QgaW50ZWxfY29ubmVjdG9y ICppbnRlbF9jb25uZWN0b3IgPSB0b19pbnRlbF9jb25uZWN0b3IoY29ubmVjdG9yKTsKIAlzdHJ1 Y3QgaW50ZWxfZHAgKmludGVsX2RwID0gaW50ZWxfY29ubmVjdG9yLT5tc3RfcG9ydDsKKwlpZiAo IWludGVsX2RwKQorCQlyZXR1cm4gTlVMTDsKIAlyZXR1cm4gJmludGVsX2RwLT5tc3RfZW5jb2Rl cnNbMF0tPmJhc2UuYmFzZTsKIH0KIApAQCAtNTA2LDIzICs1MTUsMTEgQEAgc3RhdGljIHZvaWQg aW50ZWxfZHBfZGVzdHJveV9tc3RfY29ubmVjdG9yKHN0cnVjdCBkcm1fZHBfbXN0X3RvcG9sb2d5 X21nciAqbWdyLAogCiAJLyogbmVlZCB0byBudWtlIHRoZSBjb25uZWN0b3IgKi8KIAlkcm1fbW9k ZXNldF9sb2NrX2FsbChkZXYpOwotCWlmIChjb25uZWN0b3ItPnN0YXRlLT5jcnRjKSB7Ci0JCXN0 cnVjdCBkcm1fbW9kZV9zZXQgc2V0OwotCQlpbnQgcmV0OwotCi0JCW1lbXNldCgmc2V0LCAwLCBz aXplb2Yoc2V0KSk7Ci0JCXNldC5jcnRjID0gY29ubmVjdG9yLT5zdGF0ZS0+Y3J0YywKLQotCQly ZXQgPSBkcm1fYXRvbWljX2hlbHBlcl9zZXRfY29uZmlnKCZzZXQpOwotCi0JCVdBUk4ocmV0LCAi RGlzYWJsaW5nIG1zdCBjcnRjIGZhaWxlZCB3aXRoICVpXG4iLCByZXQpOwotCX0KLQogCWludGVs X2Nvbm5lY3Rvcl9yZW1vdmVfZnJvbV9mYmRldihpbnRlbF9jb25uZWN0b3IpOwotCWRybV9jb25u ZWN0b3JfY2xlYW51cChjb25uZWN0b3IpOworCWludGVsX2Nvbm5lY3Rvci0+bXN0X3BvcnQgPSBO VUxMOwogCWRybV9tb2Rlc2V0X3VubG9ja19hbGwoZGV2KTsKIAotCWtmcmVlKGludGVsX2Nvbm5l Y3Rvcik7CisJZHJtX2Nvbm5lY3Rvcl91bnJlZmVyZW5jZSgmaW50ZWxfY29ubmVjdG9yLT5iYXNl KTsKIAlEUk1fREVCVUdfS01TKCJcbiIpOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCmlu ZGV4IGUwZmNmYTEuLjI4ODEzNWRlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kcnYuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaApAQCAtODc4 LDcgKzg3OCw3IEBAIHN0cnVjdCBpbnRlbF9kcF9tc3RfZW5jb2RlciB7CiAJc3RydWN0IGludGVs X2VuY29kZXIgYmFzZTsKIAllbnVtIHBpcGUgcGlwZTsKIAlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9w b3J0ICpwcmltYXJ5OwotCXZvaWQgKnBvcnQ7IC8qIHN0b3JlIHRoaXMgb3BhcXVlIGFzIGl0cyBp bGxlZ2FsIHRvIGRlcmVmZXJlbmNlIGl0ICovCisJc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29u bmVjdG9yOwogfTsKIAogc3RhdGljIGlubGluZSBlbnVtIGRwaW9fY2hhbm5lbAotLSAKMi41LjUK Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZl bCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xp c3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=