From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: [PATCH 1/3] drm/plane: Make framebuffer refcounting the responsibility of setplane_internal callers Date: Wed, 20 Dec 2017 10:35:43 +0100 Message-ID: <20171220093545.613-2-maarten.lankhorst@linux.intel.com> References: <20171220093545.613-1-maarten.lankhorst@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20171220093545.613-1-maarten.lankhorst@linux.intel.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 Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org bG9ja19hbGxfY3R4IGluIHNldHBsYW5lX2ludGVybmFsIG1heSByZXR1cm4gLUVJTlRSLCBhbmQK X19zZXRwbGFuZV9pbnRlcm5hbCBjb3VsZCByZXR1cm4gLUVERUFETEsuIE1ha2luZyBtb3JlCnNw ZWNpYWwgY2FzZXMgZm9yIGZiIHdvdWxkIG1ha2UgdGhlIGNvZGUgZXZlbiBoYXJkZXIgdG8KcmVh ZCwgc28gdGhlIGVhc2llc3Qgc29sdXRpb24gaXMgbm90IHRha2luZyBvdmVyIHRoZSBmYgpyZWZj b3VudCwgYW5kIG1ha2luZyBjYWxsZXJzIHJlc3BvbnNpYmxlIGZvciBkcm9wcGluZwp0aGUgcmVm LgoKQnVnemlsbGE6IGh0dHBzOi8vYnVncy5mcmVlZGVza3RvcC5vcmcvc2hvd19idWcuY2dpP2lk PTEwMjcwNwpGaXhlczogMTM3MzZiYTNiMzhiICgiZHJtL2xlZ2FjeTogQ29udmVydCBzZXRwbGFu ZSBpb2N0bCBsb2NraW5nIHRvIGludGVycnVwdGlibGUuIikKVGVzdGNhc2U6IGttc19hdG9taWNf aW50ZXJydXB0aWJsZQpTaWduZWQtb2ZmLWJ5OiBNYWFydGVuIExhbmtob3JzdCA8bWFhcnRlbi5s YW5raG9yc3RAbGludXguaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9kcm1fcGxhbmUu YyB8IDQyICsrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogMSBmaWxl IGNoYW5nZWQsIDIwIGluc2VydGlvbnMoKyksIDIyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9kcm1fcGxhbmUuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fcGxhbmUu YwppbmRleCAzN2E5M2NkZmZiNGEuLjJjOTA1MTk1NzZhMyAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2RybV9wbGFuZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fcGxhbmUuYwpAQCAt NTU4LDExICs1NTgsMTAgQEAgaW50IGRybV9wbGFuZV9jaGVja19waXhlbF9mb3JtYXQoY29uc3Qg c3RydWN0IGRybV9wbGFuZSAqcGxhbmUsIHUzMiBmb3JtYXQpCiB9CiAKIC8qCi0gKiBzZXRwbGFu ZV9pbnRlcm5hbCAtIHNldHBsYW5lIGhhbmRsZXIgZm9yIGludGVybmFsIGNhbGxlcnMKKyAqIF9f c2V0cGxhbmVfaW50ZXJuYWwgLSBzZXRwbGFuZSBoYW5kbGVyIGZvciBpbnRlcm5hbCBjYWxsZXJz CiAgKgotICogTm90ZSB0aGF0IHdlIGFzc3VtZSBhbiBleHRyYSByZWZlcmVuY2UgaGFzIGFscmVh ZHkgYmVlbiB0YWtlbiBvbiBmYi4gIElmIHRoZQotICogdXBkYXRlIGZhaWxzLCB0aGlzIHJlZmVy ZW5jZSB3aWxsIGJlIGRyb3BwZWQgYmVmb3JlIHJldHVybjsgaWYgaXQgc3VjY2VlZHMsCi0gKiB0 aGUgcHJldmlvdXMgZnJhbWVidWZmZXIgKGlmIGFueSkgd2lsbCBiZSB1bnJlZmVyZW5jZWQgaW5z dGVhZC4KKyAqIFRoaXMgZnVuY3Rpb24gd2lsbCB0YWtlIGEgcmVmZXJlbmNlIG9uIHRoZSBuZXcg ZmIgZm9yIHRoZSBwbGFuZQorICogb24gc3VjY2Vzcy4KICAqCiAgKiBzcmNfe3gseSx3LGh9IGFy ZSBwcm92aWRlZCBpbiAxNi4xNiBmaXhlZCBwb2ludCBmb3JtYXQKICAqLwpAQCAtNjMwLDE0ICs2 MjksMTIgQEAgc3RhdGljIGludCBfX3NldHBsYW5lX2ludGVybmFsKHN0cnVjdCBkcm1fcGxhbmUg KnBsYW5lLAogCWlmICghcmV0KSB7CiAJCXBsYW5lLT5jcnRjID0gY3J0YzsKIAkJcGxhbmUtPmZi ID0gZmI7Ci0JCWZiID0gTlVMTDsKKwkJZHJtX2ZyYW1lYnVmZmVyX2dldChwbGFuZS0+ZmIpOwog CX0gZWxzZSB7CiAJCXBsYW5lLT5vbGRfZmIgPSBOVUxMOwogCX0KIAogb3V0OgotCWlmIChmYikK LQkJZHJtX2ZyYW1lYnVmZmVyX3B1dChmYik7CiAJaWYgKHBsYW5lLT5vbGRfZmIpCiAJCWRybV9m cmFtZWJ1ZmZlcl9wdXQocGxhbmUtPm9sZF9mYik7CiAJcGxhbmUtPm9sZF9mYiA9IE5VTEw7CkBA IC02ODUsNiArNjgyLDcgQEAgaW50IGRybV9tb2RlX3NldHBsYW5lKHN0cnVjdCBkcm1fZGV2aWNl ICpkZXYsIHZvaWQgKmRhdGEsCiAJc3RydWN0IGRybV9wbGFuZSAqcGxhbmU7CiAJc3RydWN0IGRy bV9jcnRjICpjcnRjID0gTlVMTDsKIAlzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYiA9IE5VTEw7 CisJaW50IHJldDsKIAogCWlmICghZHJtX2NvcmVfY2hlY2tfZmVhdHVyZShkZXYsIERSSVZFUl9N T0RFU0VUKSkKIAkJcmV0dXJuIC1FSU5WQUw7CkBAIC03MTcsMTUgKzcxNSwxNiBAQCBpbnQgZHJt X21vZGVfc2V0cGxhbmUoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKIAkJfQog CX0KIAotCS8qCi0JICogc2V0cGxhbmVfaW50ZXJuYWwgd2lsbCB0YWtlIGNhcmUgb2YgZGVyZWYn aW5nIGVpdGhlciB0aGUgb2xkIG9yIG5ldwotCSAqIGZyYW1lYnVmZmVyIGRlcGVuZGluZyBvbiBz dWNjZXNzLgotCSAqLwotCXJldHVybiBzZXRwbGFuZV9pbnRlcm5hbChwbGFuZSwgY3J0YywgZmIs Ci0JCQkJIHBsYW5lX3JlcS0+Y3J0Y194LCBwbGFuZV9yZXEtPmNydGNfeSwKLQkJCQkgcGxhbmVf cmVxLT5jcnRjX3csIHBsYW5lX3JlcS0+Y3J0Y19oLAotCQkJCSBwbGFuZV9yZXEtPnNyY194LCBw bGFuZV9yZXEtPnNyY195LAotCQkJCSBwbGFuZV9yZXEtPnNyY193LCBwbGFuZV9yZXEtPnNyY19o KTsKKwlyZXQgPSBzZXRwbGFuZV9pbnRlcm5hbChwbGFuZSwgY3J0YywgZmIsCisJCQkJcGxhbmVf cmVxLT5jcnRjX3gsIHBsYW5lX3JlcS0+Y3J0Y195LAorCQkJCXBsYW5lX3JlcS0+Y3J0Y193LCBw bGFuZV9yZXEtPmNydGNfaCwKKwkJCQlwbGFuZV9yZXEtPnNyY194LCBwbGFuZV9yZXEtPnNyY195 LAorCQkJCXBsYW5lX3JlcS0+c3JjX3csIHBsYW5lX3JlcS0+c3JjX2gpOworCisJaWYgKGZiKQor CQlkcm1fZnJhbWVidWZmZXJfcHV0KGZiKTsKKworCXJldHVybiByZXQ7CiB9CiAKIHN0YXRpYyBp bnQgZHJtX21vZGVfY3Vyc29yX3VuaXZlcnNhbChzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCkBAIC03 ODgsMTMgKzc4NywxMiBAQCBzdGF0aWMgaW50IGRybV9tb2RlX2N1cnNvcl91bml2ZXJzYWwoc3Ry dWN0IGRybV9jcnRjICpjcnRjLAogCQlzcmNfaCA9IGZiLT5oZWlnaHQgPDwgMTY7CiAJfQogCi0J LyoKLQkgKiBzZXRwbGFuZV9pbnRlcm5hbCB3aWxsIHRha2UgY2FyZSBvZiBkZXJlZidpbmcgZWl0 aGVyIHRoZSBvbGQgb3IgbmV3Ci0JICogZnJhbWVidWZmZXIgZGVwZW5kaW5nIG9uIHN1Y2Nlc3Mu Ci0JICovCiAJcmV0ID0gX19zZXRwbGFuZV9pbnRlcm5hbChjcnRjLT5jdXJzb3IsIGNydGMsIGZi LAotCQkJCWNydGNfeCwgY3J0Y195LCBjcnRjX3csIGNydGNfaCwKLQkJCQkwLCAwLCBzcmNfdywg c3JjX2gsIGN0eCk7CisJCQkJICBjcnRjX3gsIGNydGNfeSwgY3J0Y193LCBjcnRjX2gsCisJCQkJ ICAwLCAwLCBzcmNfdywgc3JjX2gsIGN0eCk7CisKKwlpZiAoZmIpCisJCWRybV9mcmFtZWJ1ZmZl cl9wdXQoZmIpOwogCiAJLyogVXBkYXRlIHN1Y2Nlc3NmdWw7IHNhdmUgbmV3IGN1cnNvciBwb3Np dGlvbiwgaWYgbmVjZXNzYXJ5ICovCiAJaWYgKHJldCA9PSAwICYmIHJlcS0+ZmxhZ3MgJiBEUk1f TU9ERV9DVVJTT1JfTU9WRSkgewotLSAKMi4xNS4xCgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBs aXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1h bi9saXN0aW5mby9kcmktZGV2ZWwK