From mboxrd@z Thu Jan 1 00:00:00 1970 From: John.C.Harrison@Intel.com Subject: [PATCH 26/55] drm/i915: Update overlay code to do explicit request management Date: Fri, 29 May 2015 17:43:47 +0100 Message-ID: <1432917856-12261-27-git-send-email-John.C.Harrison@Intel.com> References: <1432917856-12261-1-git-send-email-John.C.Harrison@Intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTP id 6DAD872130 for ; Fri, 29 May 2015 09:44:47 -0700 (PDT) In-Reply-To: <1432917856-12261-1-git-send-email-John.C.Harrison@Intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Intel-GFX@Lists.FreeDesktop.Org List-Id: intel-gfx@lists.freedesktop.org RnJvbTogSm9obiBIYXJyaXNvbiA8Sm9obi5DLkhhcnJpc29uQEludGVsLmNvbT4KClRoZSBvdmVy bGF5IHVwZGF0ZSBjb2RlIHBhdGggdG8gZG8gZXhwbGljaXQgcmVxdWVzdCBjcmVhdGlvbiBhbmQg c3VibWlzc2lvbgpyYXRoZXIgdGhhbiByZWx5aW5nIG9uIHRoZSBPTFIgdG8gZG8gdGhlIHJpZ2h0 IHRoaW5nLgoKRm9yOiBWSVotNTExNQpTaWduZWQtb2ZmLWJ5OiBKb2huIEhhcnJpc29uIDxKb2hu LkMuSGFycmlzb25ASW50ZWwuY29tPgpSZXZpZXdlZC1ieTogVG9tYXMgRWxmIDx0b21hcy5lbGZA aW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX292ZXJsYXkuYyB8ICAg NTcgKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDQx IGluc2VydGlvbnMoKyksIDE2IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX292ZXJsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX292 ZXJsYXkuYwppbmRleCAwZjgxODdhLi4zYWRiNjNlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9vdmVybGF5LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf b3ZlcmxheS5jCkBAIC0yMTAsMTcgKzIxMCwxNCBAQCBzdGF0aWMgdm9pZCBpbnRlbF9vdmVybGF5 X3VubWFwX3JlZ3Moc3RydWN0IGludGVsX292ZXJsYXkgKm92ZXJsYXksCiB9CiAKIHN0YXRpYyBp bnQgaW50ZWxfb3ZlcmxheV9kb193YWl0X3JlcXVlc3Qoc3RydWN0IGludGVsX292ZXJsYXkgKm92 ZXJsYXksCisJCQkJCSBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSwKIAkJCQkJIHZv aWQgKCp0YWlsKShzdHJ1Y3QgaW50ZWxfb3ZlcmxheSAqKSkKIHsKLQlzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2ID0gb3ZlcmxheS0+ZGV2OwotCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diA9IGRldi0+ZGV2X3ByaXZhdGU7Ci0Jc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZyA9ICZk ZXZfcHJpdi0+cmluZ1tSQ1NdOwogCWludCByZXQ7CiAKIAlXQVJOX09OKG92ZXJsYXktPmxhc3Rf ZmxpcF9yZXEpOwotCWk5MTVfZ2VtX3JlcXVlc3RfYXNzaWduKCZvdmVybGF5LT5sYXN0X2ZsaXBf cmVxLAotCQkJCQkgICAgIHJpbmctPm91dHN0YW5kaW5nX2xhenlfcmVxdWVzdCk7Ci0JaTkxNV9h ZGRfcmVxdWVzdChyaW5nKTsKKwlpOTE1X2dlbV9yZXF1ZXN0X2Fzc2lnbigmb3ZlcmxheS0+bGFz dF9mbGlwX3JlcSwgcmVxKTsKKwlpOTE1X2FkZF9yZXF1ZXN0KHJlcS0+cmluZyk7CiAKIAlvdmVy bGF5LT5mbGlwX3RhaWwgPSB0YWlsOwogCXJldCA9IGk5MTVfd2FpdF9yZXF1ZXN0KG92ZXJsYXkt Pmxhc3RfZmxpcF9yZXEpOwpAQCAtMjM3LDE1ICsyMzQsMjIgQEAgc3RhdGljIGludCBpbnRlbF9v dmVybGF5X29uKHN0cnVjdCBpbnRlbF9vdmVybGF5ICpvdmVybGF5KQogCXN0cnVjdCBkcm1fZGV2 aWNlICpkZXYgPSBvdmVybGF5LT5kZXY7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKIAlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nID0g JmRldl9wcml2LT5yaW5nW1JDU107CisJc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXE7 CiAJaW50IHJldDsKIAogCVdBUk5fT04ob3ZlcmxheS0+YWN0aXZlKTsKIAlXQVJOX09OKElTX0k4 MzAoZGV2KSAmJiAhKGRldl9wcml2LT5xdWlya3MgJiBRVUlSS19QSVBFQV9GT1JDRSkpOwogCi0J cmV0ID0gaW50ZWxfcmluZ19iZWdpbihyaW5nLCA0KTsKKwlyZXQgPSBpOTE1X2dlbV9yZXF1ZXN0 X2FsbG9jKHJpbmcsIHJpbmctPmRlZmF1bHRfY29udGV4dCwgJnJlcSk7CiAJaWYgKHJldCkKIAkJ cmV0dXJuIHJldDsKIAorCXJldCA9IGludGVsX3JpbmdfYmVnaW4ocmluZywgNCk7CisJaWYgKHJl dCkgeworCQlpOTE1X2dlbV9yZXF1ZXN0X2NhbmNlbChyZXEpOworCQlyZXR1cm4gcmV0OworCX0K KwogCW92ZXJsYXktPmFjdGl2ZSA9IHRydWU7CiAKIAlpbnRlbF9yaW5nX2VtaXQocmluZywgTUlf T1ZFUkxBWV9GTElQIHwgTUlfT1ZFUkxBWV9PTik7CkBAIC0yNTQsNyArMjU4LDcgQEAgc3RhdGlj IGludCBpbnRlbF9vdmVybGF5X29uKHN0cnVjdCBpbnRlbF9vdmVybGF5ICpvdmVybGF5KQogCWlu dGVsX3JpbmdfZW1pdChyaW5nLCBNSV9OT09QKTsKIAlpbnRlbF9yaW5nX2FkdmFuY2UocmluZyk7 CiAKLQlyZXR1cm4gaW50ZWxfb3ZlcmxheV9kb193YWl0X3JlcXVlc3Qob3ZlcmxheSwgTlVMTCk7 CisJcmV0dXJuIGludGVsX292ZXJsYXlfZG9fd2FpdF9yZXF1ZXN0KG92ZXJsYXksIHJlcSwgTlVM TCk7CiB9CiAKIC8qIG92ZXJsYXkgbmVlZHMgdG8gYmUgZW5hYmxlZCBpbiBPQ01EIHJlZyAqLwpA QCAtMjY0LDYgKzI2OCw3IEBAIHN0YXRpYyBpbnQgaW50ZWxfb3ZlcmxheV9jb250aW51ZShzdHJ1 Y3QgaW50ZWxfb3ZlcmxheSAqb3ZlcmxheSwKIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gb3Zl cmxheS0+ZGV2OwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2 X3ByaXZhdGU7CiAJc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZyA9ICZkZXZfcHJpdi0+cmlu Z1tSQ1NdOworCXN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxOwogCXUzMiBmbGlwX2Fk ZHIgPSBvdmVybGF5LT5mbGlwX2FkZHI7CiAJdTMyIHRtcDsKIAlpbnQgcmV0OwpAQCAtMjc4LDE4 ICsyODMsMjMgQEAgc3RhdGljIGludCBpbnRlbF9vdmVybGF5X2NvbnRpbnVlKHN0cnVjdCBpbnRl bF9vdmVybGF5ICpvdmVybGF5LAogCWlmICh0bXAgJiAoMSA8PCAxNykpCiAJCURSTV9ERUJVRygi b3ZlcmxheSB1bmRlcnJ1biwgRE9WU1RBOiAleFxuIiwgdG1wKTsKIAotCXJldCA9IGludGVsX3Jp bmdfYmVnaW4ocmluZywgMik7CisJcmV0ID0gaTkxNV9nZW1fcmVxdWVzdF9hbGxvYyhyaW5nLCBy aW5nLT5kZWZhdWx0X2NvbnRleHQsICZyZXEpOwogCWlmIChyZXQpCiAJCXJldHVybiByZXQ7CiAK KwlyZXQgPSBpbnRlbF9yaW5nX2JlZ2luKHJpbmcsIDIpOworCWlmIChyZXQpIHsKKwkJaTkxNV9n ZW1fcmVxdWVzdF9jYW5jZWwocmVxKTsKKwkJcmV0dXJuIHJldDsKKwl9CisKIAlpbnRlbF9yaW5n X2VtaXQocmluZywgTUlfT1ZFUkxBWV9GTElQIHwgTUlfT1ZFUkxBWV9DT05USU5VRSk7CiAJaW50 ZWxfcmluZ19lbWl0KHJpbmcsIGZsaXBfYWRkcik7CiAJaW50ZWxfcmluZ19hZHZhbmNlKHJpbmcp OwogCiAJV0FSTl9PTihvdmVybGF5LT5sYXN0X2ZsaXBfcmVxKTsKLQlpOTE1X2dlbV9yZXF1ZXN0 X2Fzc2lnbigmb3ZlcmxheS0+bGFzdF9mbGlwX3JlcSwKLQkJCQkJICAgICByaW5nLT5vdXRzdGFu ZGluZ19sYXp5X3JlcXVlc3QpOwotCWk5MTVfYWRkX3JlcXVlc3QocmluZyk7CisJaTkxNV9nZW1f cmVxdWVzdF9hc3NpZ24oJm92ZXJsYXktPmxhc3RfZmxpcF9yZXEsIHJlcSk7CisJaTkxNV9hZGRf cmVxdWVzdChyZXEtPnJpbmcpOwogCiAJcmV0dXJuIDA7CiB9CkBAIC0zMjcsNiArMzM3LDcgQEAg c3RhdGljIGludCBpbnRlbF9vdmVybGF5X29mZihzdHJ1Y3QgaW50ZWxfb3ZlcmxheSAqb3Zlcmxh eSkKIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gb3ZlcmxheS0+ZGV2OwogCXN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7CiAJc3RydWN0IGludGVs X2VuZ2luZV9jcyAqcmluZyA9ICZkZXZfcHJpdi0+cmluZ1tSQ1NdOworCXN0cnVjdCBkcm1faTkx NV9nZW1fcmVxdWVzdCAqcmVxOwogCXUzMiBmbGlwX2FkZHIgPSBvdmVybGF5LT5mbGlwX2FkZHI7 CiAJaW50IHJldDsKIApAQCAtMzM4LDEwICszNDksMTYgQEAgc3RhdGljIGludCBpbnRlbF9vdmVy bGF5X29mZihzdHJ1Y3QgaW50ZWxfb3ZlcmxheSAqb3ZlcmxheSkKIAkgKiBvZiB0aGUgaHcuIERv IGl0IGluIGJvdGggY2FzZXMgKi8KIAlmbGlwX2FkZHIgfD0gT0ZDX1VQREFURTsKIAotCXJldCA9 IGludGVsX3JpbmdfYmVnaW4ocmluZywgNik7CisJcmV0ID0gaTkxNV9nZW1fcmVxdWVzdF9hbGxv YyhyaW5nLCByaW5nLT5kZWZhdWx0X2NvbnRleHQsICZyZXEpOwogCWlmIChyZXQpCiAJCXJldHVy biByZXQ7CiAKKwlyZXQgPSBpbnRlbF9yaW5nX2JlZ2luKHJpbmcsIDYpOworCWlmIChyZXQpIHsK KwkJaTkxNV9nZW1fcmVxdWVzdF9jYW5jZWwocmVxKTsKKwkJcmV0dXJuIHJldDsKKwl9CisKIAkv KiB3YWl0IGZvciBvdmVybGF5IHRvIGdvIGlkbGUgKi8KIAlpbnRlbF9yaW5nX2VtaXQocmluZywg TUlfT1ZFUkxBWV9GTElQIHwgTUlfT1ZFUkxBWV9DT05USU5VRSk7CiAJaW50ZWxfcmluZ19lbWl0 KHJpbmcsIGZsaXBfYWRkcik7CkBAIC0zNjAsNyArMzc3LDcgQEAgc3RhdGljIGludCBpbnRlbF9v dmVybGF5X29mZihzdHJ1Y3QgaW50ZWxfb3ZlcmxheSAqb3ZlcmxheSkKIAl9CiAJaW50ZWxfcmlu Z19hZHZhbmNlKHJpbmcpOwogCi0JcmV0dXJuIGludGVsX292ZXJsYXlfZG9fd2FpdF9yZXF1ZXN0 KG92ZXJsYXksIGludGVsX292ZXJsYXlfb2ZmX3RhaWwpOworCXJldHVybiBpbnRlbF9vdmVybGF5 X2RvX3dhaXRfcmVxdWVzdChvdmVybGF5LCByZXEsIGludGVsX292ZXJsYXlfb2ZmX3RhaWwpOwog fQogCiAvKiByZWNvdmVyIGZyb20gYW4gaW50ZXJydXB0aW9uIGR1ZSB0byBhIHNpZ25hbApAQCAt NDA0LDE1ICs0MjEsMjMgQEAgc3RhdGljIGludCBpbnRlbF9vdmVybGF5X3JlbGVhc2Vfb2xkX3Zp ZChzdHJ1Y3QgaW50ZWxfb3ZlcmxheSAqb3ZlcmxheSkKIAogCWlmIChJOTE1X1JFQUQoSVNSKSAm IEk5MTVfT1ZFUkxBWV9QTEFORV9GTElQX1BFTkRJTkdfSU5URVJSVVBUKSB7CiAJCS8qIHN5bmNo cm9ub3VzIHNsb3dwYXRoICovCi0JCXJldCA9IGludGVsX3JpbmdfYmVnaW4ocmluZywgMik7CisJ CXN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxOworCisJCXJldCA9IGk5MTVfZ2VtX3Jl cXVlc3RfYWxsb2MocmluZywgcmluZy0+ZGVmYXVsdF9jb250ZXh0LCAmcmVxKTsKIAkJaWYgKHJl dCkKIAkJCXJldHVybiByZXQ7CiAKKwkJcmV0ID0gaW50ZWxfcmluZ19iZWdpbihyaW5nLCAyKTsK KwkJaWYgKHJldCkgeworCQkJaTkxNV9nZW1fcmVxdWVzdF9jYW5jZWwocmVxKTsKKwkJCXJldHVy biByZXQ7CisJCX0KKwogCQlpbnRlbF9yaW5nX2VtaXQocmluZywgTUlfV0FJVF9GT1JfRVZFTlQg fCBNSV9XQUlUX0ZPUl9PVkVSTEFZX0ZMSVApOwogCQlpbnRlbF9yaW5nX2VtaXQocmluZywgTUlf Tk9PUCk7CiAJCWludGVsX3JpbmdfYWR2YW5jZShyaW5nKTsKIAotCQlyZXQgPSBpbnRlbF9vdmVy bGF5X2RvX3dhaXRfcmVxdWVzdChvdmVybGF5LAorCQlyZXQgPSBpbnRlbF9vdmVybGF5X2RvX3dh aXRfcmVxdWVzdChvdmVybGF5LCByZXEsCiAJCQkJCQkgICAgaW50ZWxfb3ZlcmxheV9yZWxlYXNl X29sZF92aWRfdGFpbCk7CiAJCWlmIChyZXQpCiAJCQlyZXR1cm4gcmV0OwotLSAKMS43LjkuNQoK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4 IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0 cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK