From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dave Airlie Subject: [PATCH 3/6] drm/fb_helper: add connector reference counting. (v2) Date: Tue, 3 May 2016 14:28:23 +1000 Message-ID: <1462249706-4759-3-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 RnJvbTogRGF2ZSBBaXJsaWUgPGFpcmxpZWRAcmVkaGF0LmNvbT4KClRoaXMgdGFrZXMgYSByZWZl cmVuY2UgY291bnQgd2hlbiBmYmRldiBhZGRzIHRoZSBjb25uZWN0b3IsCmFuZCBkcm9wcyBpdCB3 aGVuIGl0IHJlbW92ZXMgdGhlIGNvbm5lY3Rvci4KCkl0IGFsc28gZHJvcHMgdGhlIG5vdyB1bm5l ZWRlZCBjb2RlIHRvIGZpbmQgY29ubmVjdG9ycwphbmQgcmVtb3ZlIHRoZSBmcm9tIHRoZSBtb2Rl c2V0IGFzIHRoZXkgYXJlIHJlZmVyZW5jZSBjb3VudGVkLgoKdjI6IGRyb3AgcmVmZXJlbmNlcyB3 aGVuIHJlbW92aW5nIGFsbCBjb25uZWN0b3JzIGF0IGVuZC4KClNpZ25lZC1vZmYtYnk6IERhdmUg QWlybGllIDxhaXJsaWVkQHJlZGhhdC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2RybV9mYl9o ZWxwZXIuYyB8IDM4ICsrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAxIGZp bGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspLCAzMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vZHJtX2ZiX2hlbHBlci5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9m Yl9oZWxwZXIuYwppbmRleCA4NTUxMDhlLi4xOWE3YTcxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vZHJtX2ZiX2hlbHBlci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZmJfaGVscGVy LmMKQEAgLTE1Myw0MCArMTUzLDEzIEBAIGludCBkcm1fZmJfaGVscGVyX2FkZF9vbmVfY29ubmVj dG9yKHN0cnVjdCBkcm1fZmJfaGVscGVyICpmYl9oZWxwZXIsIHN0cnVjdCBkcm1fCiAJaWYgKCFm Yl9oZWxwZXJfY29ubmVjdG9yKQogCQlyZXR1cm4gLUVOT01FTTsKIAorCWRybV9jb25uZWN0b3Jf cmVmZXJlbmNlKGNvbm5lY3Rvcik7CiAJZmJfaGVscGVyX2Nvbm5lY3Rvci0+Y29ubmVjdG9yID0g Y29ubmVjdG9yOwogCWZiX2hlbHBlci0+Y29ubmVjdG9yX2luZm9bZmJfaGVscGVyLT5jb25uZWN0 b3JfY291bnQrK10gPSBmYl9oZWxwZXJfY29ubmVjdG9yOwogCXJldHVybiAwOwogfQogRVhQT1JU X1NZTUJPTChkcm1fZmJfaGVscGVyX2FkZF9vbmVfY29ubmVjdG9yKTsKIAotc3RhdGljIHZvaWQg cmVtb3ZlX2Zyb21fbW9kZXNldChzdHJ1Y3QgZHJtX21vZGVfc2V0ICpzZXQsCi0JCXN0cnVjdCBk cm1fY29ubmVjdG9yICpjb25uZWN0b3IpCi17Ci0JaW50IGksIGo7Ci0KLQlmb3IgKGkgPSAwOyBp IDwgc2V0LT5udW1fY29ubmVjdG9yczsgaSsrKSB7Ci0JCWlmIChzZXQtPmNvbm5lY3RvcnNbaV0g PT0gY29ubmVjdG9yKQotCQkJYnJlYWs7Ci0JfQotCi0JaWYgKGkgPT0gc2V0LT5udW1fY29ubmVj dG9ycykKLQkJcmV0dXJuOwotCi0JZm9yIChqID0gaSArIDE7IGogPCBzZXQtPm51bV9jb25uZWN0 b3JzOyBqKyspIHsKLQkJc2V0LT5jb25uZWN0b3JzW2ogLSAxXSA9IHNldC0+Y29ubmVjdG9yc1tq XTsKLQl9Ci0Jc2V0LT5udW1fY29ubmVjdG9ycy0tOwotCi0JLyoKLQkgKiBUT0RPIG1heWJlIG5l ZWQgdG8gbWFrZXMgc3VyZSB3ZSBzZXQgaXQgYmFjayB0byAhPU5VTEwgc29tZXdoZXJlPwotCSAq LwotCWlmIChzZXQtPm51bV9jb25uZWN0b3JzID09IDApIHsKLQkJc2V0LT5mYiA9IE5VTEw7Ci0J CWRybV9tb2RlX2Rlc3Ryb3koY29ubmVjdG9yLT5kZXYsIHNldC0+bW9kZSk7Ci0JCXNldC0+bW9k ZSA9IE5VTEw7Ci0JfQotfQotCiBpbnQgZHJtX2ZiX2hlbHBlcl9yZW1vdmVfb25lX2Nvbm5lY3Rv cihzdHJ1Y3QgZHJtX2ZiX2hlbHBlciAqZmJfaGVscGVyLAogCQkJCSAgICAgICBzdHJ1Y3QgZHJt X2Nvbm5lY3RvciAqY29ubmVjdG9yKQogewpAQCAtMjA2LDYgKzE3OSw3IEBAIGludCBkcm1fZmJf aGVscGVyX3JlbW92ZV9vbmVfY29ubmVjdG9yKHN0cnVjdCBkcm1fZmJfaGVscGVyICpmYl9oZWxw ZXIsCiAJaWYgKGkgPT0gZmJfaGVscGVyLT5jb25uZWN0b3JfY291bnQpCiAJCXJldHVybiAtRUlO VkFMOwogCWZiX2hlbHBlcl9jb25uZWN0b3IgPSBmYl9oZWxwZXItPmNvbm5lY3Rvcl9pbmZvW2ld OworCWRybV9jb25uZWN0b3JfdW5yZWZlcmVuY2UoZmJfaGVscGVyX2Nvbm5lY3Rvci0+Y29ubmVj dG9yKTsKIAogCWZvciAoaiA9IGkgKyAxOyBqIDwgZmJfaGVscGVyLT5jb25uZWN0b3JfY291bnQ7 IGorKykgewogCQlmYl9oZWxwZXItPmNvbm5lY3Rvcl9pbmZvW2ogLSAxXSA9IGZiX2hlbHBlci0+ Y29ubmVjdG9yX2luZm9bal07CkBAIC0yMTMsMTAgKzE4Nyw2IEBAIGludCBkcm1fZmJfaGVscGVy X3JlbW92ZV9vbmVfY29ubmVjdG9yKHN0cnVjdCBkcm1fZmJfaGVscGVyICpmYl9oZWxwZXIsCiAJ ZmJfaGVscGVyLT5jb25uZWN0b3JfY291bnQtLTsKIAlrZnJlZShmYl9oZWxwZXJfY29ubmVjdG9y KTsKIAotCS8qIGFsc28gY2xlYW51cCBkYW5nbGluZyByZWZlcmVuY2VzIHRvIHRoZSBjb25uZWN0 b3I6ICovCi0JZm9yIChpID0gMDsgaSA8IGZiX2hlbHBlci0+Y3J0Y19jb3VudDsgaSsrKQotCQly ZW1vdmVfZnJvbV9tb2Rlc2V0KCZmYl9oZWxwZXItPmNydGNfaW5mb1tpXS5tb2RlX3NldCwgY29u bmVjdG9yKTsKLQogCXJldHVybiAwOwogfQogRVhQT1JUX1NZTUJPTChkcm1fZmJfaGVscGVyX3Jl bW92ZV9vbmVfY29ubmVjdG9yKTsKQEAgLTYyNiw4ICs1OTYsMTAgQEAgc3RhdGljIHZvaWQgZHJt X2ZiX2hlbHBlcl9jcnRjX2ZyZWUoc3RydWN0IGRybV9mYl9oZWxwZXIgKmhlbHBlcikKIHsKIAlp bnQgaTsKIAotCWZvciAoaSA9IDA7IGkgPCBoZWxwZXItPmNvbm5lY3Rvcl9jb3VudDsgaSsrKQor CWZvciAoaSA9IDA7IGkgPCBoZWxwZXItPmNvbm5lY3Rvcl9jb3VudDsgaSsrKSB7CisJCWRybV9j b25uZWN0b3JfdW5yZWZlcmVuY2UoaGVscGVyLT5jb25uZWN0b3JfaW5mb1tpXS0+Y29ubmVjdG9y KTsKIAkJa2ZyZWUoaGVscGVyLT5jb25uZWN0b3JfaW5mb1tpXSk7CisJfQogCWtmcmVlKGhlbHBl ci0+Y29ubmVjdG9yX2luZm8pOwogCWZvciAoaSA9IDA7IGkgPCBoZWxwZXItPmNydGNfY291bnQ7 IGkrKykgewogCQlrZnJlZShoZWxwZXItPmNydGNfaW5mb1tpXS5tb2RlX3NldC5jb25uZWN0b3Jz KTsKLS0gCjIuNS41CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5v cmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2 ZWwK