From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lucas Stach Subject: [PATCH 3/5] drm/imx: keep GEM object referenced as long as scanout is active Date: Tue, 9 Feb 2016 15:10:56 +0100 Message-ID: <1455027058-7345-3-git-send-email-l.stach@pengutronix.de> References: <1455027058-7345-1-git-send-email-l.stach@pengutronix.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from metis.ext.4.pengutronix.de (metis.ext.4.pengutronix.de [92.198.50.35]) by gabe.freedesktop.org (Postfix) with ESMTPS id 1A8D26E592 for ; Tue, 9 Feb 2016 06:11:01 -0800 (PST) In-Reply-To: <1455027058-7345-1-git-send-email-l.stach@pengutronix.de> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Philipp Zabel Cc: kernel@pengutronix.de, dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org VGhlIERSTSBjb3JlIG9ubHkgcmVmZXJlbmNlcyB0aGUgY3VycmVudGx5IHF1ZXVlZC9hY3RpdmUg ZnJhbWVidWZmZXIuClNvIHRoZXJlIGlzIGEgcGVyaW9kIG9mIHRpbWUgd2hlcmUgdGhlIGZsaXAg aXMgbm90IGNvbXBsZXRlZCwgYnV0CnRoZSBHRU0gb2JqZWN0IGJhY2tpbmcgdGhlIEZCIGlzIGFs cmVhZHkgdW5yZWZlcmVuY2VkIGFuZCBjb3VsZCBiZQpkZXN0cm95ZWQgaWYgdXNlcnNwYWNlIGNs b3NlcyBpdHMgaGFuZGxlLgoKTWFrZSBzdXJlIHRvIGtlZXAgYSByZWZlcmVuY2UgdG8gdGhlIEdF TSBvYmplY3QgdW50aWwgdGhlIGZsaXAgaXMKYWN0dWFsbHkgZXhlY3V0ZWQgY2xlYW4gdGhpbmdz IHVwIGluIGEgd29ya2VyIHJ1bm5pbmcgYmVoaW5kIHRoZQpmbGlwIGV4ZWN1dGlvbi4KCkFsc28g bW92ZSB0aGUgcGFnZSBmbGlwIGV2ZW50IGludG8gdGhlIGNvbnRleHQgb2YgdGhpcyB3b3JrZXIs IHNvCml0IGdldHMgY2xlYW5lZCB1cCBhdXRvbWF0aWNhbGx5LgoKU2lnbmVkLW9mZi1ieTogTHVj YXMgU3RhY2ggPGwuc3RhY2hAcGVuZ3V0cm9uaXguZGU+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2lt eC9pcHV2My1jcnRjLmMgfCA0OSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKyst LS0tCiAxIGZpbGUgY2hhbmdlZCwgNDQgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKCmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaW14L2lwdXYzLWNydGMuYyBiL2RyaXZlcnMvZ3B1 L2RybS9pbXgvaXB1djMtY3J0Yy5jCmluZGV4IDU1NjE5YzNkZTA2OS4uYTA3ZTY1NmU5YTMyIDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaW14L2lwdXYzLWNydGMuYworKysgYi9kcml2ZXJz L2dwdS9kcm0vaW14L2lwdXYzLWNydGMuYwpAQCAtMzYsNiArMzYsMTIgQEAgZW51bSBpcHVfZmxp cF9zdGF0dXMgewogCUlQVV9GTElQX1BFTkRJTkcsCiB9OwogCitzdHJ1Y3QgaXB1X2ZsaXBfd29y ayB7CisJc3RydWN0IHdvcmtfc3RydWN0CQl1bnJlZl93b3JrOworCXN0cnVjdCBkcm1fZ2VtX29i amVjdAkJKmJvOworCXN0cnVjdCBkcm1fcGVuZGluZ192YmxhbmtfZXZlbnQgKnBhZ2VfZmxpcF9l dmVudDsKK307CisKIHN0cnVjdCBpcHVfY3J0YyB7CiAJc3RydWN0IGRldmljZQkJKmRldjsKIAlz dHJ1Y3QgZHJtX2NydGMJCWJhc2U7CkBAIC00OCw3ICs1NCw4IEBAIHN0cnVjdCBpcHVfY3J0YyB7 CiAJc3RydWN0IGlwdV9kaQkJKmRpOwogCWludAkJCWVuYWJsZWQ7CiAJZW51bSBpcHVfZmxpcF9z dGF0dXMJZmxpcF9zdGF0ZTsKLQlzdHJ1Y3QgZHJtX3BlbmRpbmdfdmJsYW5rX2V2ZW50ICpwYWdl X2ZsaXBfZXZlbnQ7CisJc3RydWN0IHdvcmtxdWV1ZV9zdHJ1Y3QgKmZsaXBfcXVldWU7CisJc3Ry dWN0IGlwdV9mbGlwX3dvcmsJKmZsaXBfd29yazsKIAlpbnQJCQlpcnE7CiAJdTMyCQkJYnVzX2Zv cm1hdDsKIAlpbnQJCQlkaV9oc3luY19waW47CkBAIC0xMDksMTIgKzExNiwyMiBAQCBzdGF0aWMg dm9pZCBpcHVfY3J0Y19kcG1zKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywgaW50IG1vZGUpCiAJfQog fQogCitzdGF0aWMgdm9pZCBpcHVfZmxpcF91bnJlZl93b3JrX2Z1bmMoc3RydWN0IHdvcmtfc3Ry dWN0ICpfX3dvcmspCit7CisJc3RydWN0IGlwdV9mbGlwX3dvcmsgKndvcmsgPQorCQkJY29udGFp bmVyX29mKF9fd29yaywgc3RydWN0IGlwdV9mbGlwX3dvcmssIHVucmVmX3dvcmspOworCisJZHJt X2dlbV9vYmplY3RfdW5yZWZlcmVuY2VfdW5sb2NrZWQod29yay0+Ym8pOworCWtmcmVlKHdvcmsp OworfQorCiBzdGF0aWMgaW50IGlwdV9wYWdlX2ZsaXAoc3RydWN0IGRybV9jcnRjICpjcnRjLAog CQlzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYiwKIAkJc3RydWN0IGRybV9wZW5kaW5nX3ZibGFu a19ldmVudCAqZXZlbnQsCiAJCXVpbnQzMl90IHBhZ2VfZmxpcF9mbGFncykKIHsKIAlzdHJ1Y3Qg aXB1X2NydGMgKmlwdV9jcnRjID0gdG9faXB1X2NydGMoY3J0Yyk7CisJc3RydWN0IGlwdV9mbGlw X3dvcmsgKmZsaXBfd29yazsKIAlpbnQgcmV0OwogCiAJaWYgKGlwdV9jcnRjLT5mbGlwX3N0YXRl ICE9IElQVV9GTElQX05PTkUpCkBAIC0xMjgsMTAgKzE0NSwyNyBAQCBzdGF0aWMgaW50IGlwdV9w YWdlX2ZsaXAoc3RydWN0IGRybV9jcnRjICpjcnRjLAogCQlyZXR1cm4gcmV0OwogCX0KIAotCWlw dV9jcnRjLT5wYWdlX2ZsaXBfZXZlbnQgPSBldmVudDsKKwlmbGlwX3dvcmsgPSBremFsbG9jKHNp emVvZiAqZmxpcF93b3JrLCBHRlBfS0VSTkVMKTsKKwlpZiAoIWZsaXBfd29yaykgeworCQlyZXQg PSAtRU5PTUVNOworCQlnb3RvIHB1dF92Ymxhbms7CisJfQorCUlOSVRfV09SSygmZmxpcF93b3Jr LT51bnJlZl93b3JrLCBpcHVfZmxpcF91bnJlZl93b3JrX2Z1bmMpOworCWZsaXBfd29yay0+cGFn ZV9mbGlwX2V2ZW50ID0gZXZlbnQ7CisKKwkvKiBnZXQgQk8gYmFja2luZyB0aGUgb2xkIGZyYW1l YnVmZmVyIGFuZCB0YWtlIGEgcmVmZXJlbmNlICovCisJZmxpcF93b3JrLT5ibyA9ICZkcm1fZmJf Y21hX2dldF9nZW1fb2JqKGNydGMtPnByaW1hcnktPmZiLCAwKS0+YmFzZTsKKwlkcm1fZ2VtX29i amVjdF9yZWZlcmVuY2UoZmxpcF93b3JrLT5ibyk7CisKKwlpcHVfY3J0Yy0+ZmxpcF93b3JrID0g ZmxpcF93b3JrOwogCWlwdV9jcnRjLT5mbGlwX3N0YXRlID0gSVBVX0ZMSVBfUEVORElORzsKIAog CXJldHVybiAwOworCitwdXRfdmJsYW5rOgorCWlteF9kcm1fY3J0Y192YmxhbmtfcHV0KGlwdV9j cnRjLT5pbXhfY3J0Yyk7CisKKwlyZXR1cm4gcmV0OwogfQogCiBzdGF0aWMgY29uc3Qgc3RydWN0 IGRybV9jcnRjX2Z1bmNzIGlwdV9jcnRjX2Z1bmNzID0gewpAQCAtMjE2LDEyICsyNTAsMTIgQEAg c3RhdGljIHZvaWQgaXB1X2NydGNfaGFuZGxlX3BhZ2VmbGlwKHN0cnVjdCBpcHVfY3J0YyAqaXB1 X2NydGMpCiB7CiAJdW5zaWduZWQgbG9uZyBmbGFnczsKIAlzdHJ1Y3QgZHJtX2RldmljZSAqZHJt ID0gaXB1X2NydGMtPmJhc2UuZGV2OworCXN0cnVjdCBpcHVfZmxpcF93b3JrICp3b3JrID0gaXB1 X2NydGMtPmZsaXBfd29yazsKIAogCXNwaW5fbG9ja19pcnFzYXZlKCZkcm0tPmV2ZW50X2xvY2ss IGZsYWdzKTsKLQlpZiAoaXB1X2NydGMtPnBhZ2VfZmxpcF9ldmVudCkKKwlpZiAod29yay0+cGFn ZV9mbGlwX2V2ZW50KQogCQlkcm1fY3J0Y19zZW5kX3ZibGFua19ldmVudCgmaXB1X2NydGMtPmJh c2UsCi0JCQkJCSAgIGlwdV9jcnRjLT5wYWdlX2ZsaXBfZXZlbnQpOwotCWlwdV9jcnRjLT5wYWdl X2ZsaXBfZXZlbnQgPSBOVUxMOworCQkJCQkgICB3b3JrLT5wYWdlX2ZsaXBfZXZlbnQpOwogCWlt eF9kcm1fY3J0Y192YmxhbmtfcHV0KGlwdV9jcnRjLT5pbXhfY3J0Yyk7CiAJc3Bpbl91bmxvY2tf aXJxcmVzdG9yZSgmZHJtLT5ldmVudF9sb2NrLCBmbGFncyk7CiB9CkBAIC0yMzgsNiArMjcyLDgg QEAgc3RhdGljIGlycXJldHVybl90IGlwdV9pcnFfaGFuZGxlcihpbnQgaXJxLCB2b2lkICpkZXZf aWQpCiAJCWlwdV9wbGFuZV9zZXRfYmFzZShwbGFuZSwgaXB1X2NydGMtPmJhc2UucHJpbWFyeS0+ ZmIsCiAJCQkJICAgcGxhbmUtPngsIHBsYW5lLT55KTsKIAkJaXB1X2NydGNfaGFuZGxlX3BhZ2Vm bGlwKGlwdV9jcnRjKTsKKwkJcXVldWVfd29yayhpcHVfY3J0Yy0+ZmxpcF9xdWV1ZSwKKwkJCSAg ICZpcHVfY3J0Yy0+ZmxpcF93b3JrLT51bnJlZl93b3JrKTsKIAkJaXB1X2NydGMtPmZsaXBfc3Rh dGUgPSBJUFVfRkxJUF9OT05FOwogCX0KIApAQCAtNDAzLDYgKzQzOSw4IEBAIHN0YXRpYyBpbnQg aXB1X2NydGNfaW5pdChzdHJ1Y3QgaXB1X2NydGMgKmlwdV9jcnRjLAogCQlnb3RvIGVycl9wdXRf cGxhbmVfcmVzOwogCX0KIAorCWlwdV9jcnRjLT5mbGlwX3F1ZXVlID0gY3JlYXRlX3NpbmdsZXRo cmVhZF93b3JrcXVldWUoImlwdS1jcnRjLWZsaXAiKTsKKwogCXJldHVybiAwOwogCiBlcnJfcHV0 X3BsYW5lX3JlczoKQEAgLTQ0NCw2ICs0ODIsNyBAQCBzdGF0aWMgdm9pZCBpcHVfZHJtX3VuYmlu ZChzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBkZXZpY2UgKm1hc3RlciwKIAogCWlteF9kcm1f cmVtb3ZlX2NydGMoaXB1X2NydGMtPmlteF9jcnRjKTsKIAorCWRlc3Ryb3lfd29ya3F1ZXVlKGlw dV9jcnRjLT5mbGlwX3F1ZXVlKTsKIAlpcHVfcGxhbmVfcHV0X3Jlc291cmNlcyhpcHVfY3J0Yy0+ cGxhbmVbMF0pOwogCWlwdV9wdXRfcmVzb3VyY2VzKGlwdV9jcnRjKTsKIH0KLS0gCjIuNy4wLnJj MwoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRl dmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8v bGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==