From mboxrd@z Thu Jan 1 00:00:00 1970 From: John.C.Harrison@Intel.com Subject: [PATCH 27/53] drm/i915: Update overlay code to do explicit request management Date: Thu, 19 Feb 2015 17:17:39 +0000 Message-ID: <1424366285-29232-28-git-send-email-John.C.Harrison@Intel.com> References: <1423828140-10653-1-git-send-email-John.C.Harrison@Intel.com> <1424366285-29232-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 mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTP id 211FA72095 for ; Thu, 19 Feb 2015 09:18:35 -0800 (PST) In-Reply-To: <1424366285-29232-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 LkMuSGFycmlzb25ASW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX292 ZXJsYXkuYyB8ICAgNjQgKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLQogMSBmaWxl IGNoYW5nZWQsIDQ4IGluc2VydGlvbnMoKyksIDE2IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX292ZXJsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX292ZXJsYXkuYwppbmRleCBmOTNkZmMxLi5kYzIwOWJmIDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9vdmVybGF5LmMKKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfb3ZlcmxheS5jCkBAIC0yMDksMTkgKzIwOSwxOSBAQCBzdGF0aWMgdm9pZCBp bnRlbF9vdmVybGF5X3VubWFwX3JlZ3Moc3RydWN0IGludGVsX292ZXJsYXkgKm92ZXJsYXksCiB9 CiAKIHN0YXRpYyBpbnQgaW50ZWxfb3ZlcmxheV9kb193YWl0X3JlcXVlc3Qoc3RydWN0IGludGVs X292ZXJsYXkgKm92ZXJsYXksCisJCQkJCSBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJl cSwKIAkJCQkJIHZvaWQgKCp0YWlsKShzdHJ1Y3QgaW50ZWxfb3ZlcmxheSAqKSkKIHsKIAlzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2ID0gb3ZlcmxheS0+ZGV2OwotCXN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7Ci0Jc3RydWN0IGludGVsX2VuZ2luZV9j cyAqcmluZyA9ICZkZXZfcHJpdi0+cmluZ1tSQ1NdOwogCWludCByZXQ7CiAKIAlCVUdfT04ob3Zl cmxheS0+bGFzdF9mbGlwX3JlcSk7Ci0JaTkxNV9nZW1fcmVxdWVzdF9hc3NpZ24oJm92ZXJsYXkt Pmxhc3RfZmxpcF9yZXEsCi0JCQkJCSAgICAgcmluZy0+b3V0c3RhbmRpbmdfbGF6eV9yZXF1ZXN0 KTsKLQlyZXQgPSBpOTE1X2FkZF9yZXF1ZXN0KHJpbmcpOwotCWlmIChyZXQpCisJaTkxNV9nZW1f cmVxdWVzdF9hc3NpZ24oJm92ZXJsYXktPmxhc3RfZmxpcF9yZXEsIHJlcSk7CisJcmV0ID0gaTkx NV9hZGRfcmVxdWVzdChyZXEtPnJpbmcpOworCWlmIChyZXQpIHsKKwkJaTkxNV9nZW1fcmVxdWVz dF91bnJlZmVyZW5jZShyZXEpOwogCQlyZXR1cm4gcmV0OworCX0KIAogCW92ZXJsYXktPmZsaXBf dGFpbCA9IHRhaWw7CiAJcmV0ID0gaTkxNV93YWl0X3JlcXVlc3Qob3ZlcmxheS0+bGFzdF9mbGlw X3JlcSk7CkBAIC0yMzksNiArMjM5LDcgQEAgc3RhdGljIGludCBpbnRlbF9vdmVybGF5X29uKHN0 cnVjdCBpbnRlbF9vdmVybGF5ICpvdmVybGF5KQogCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBv dmVybGF5LT5kZXY7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5k ZXZfcHJpdmF0ZTsKIAlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nID0gJmRldl9wcml2LT5y aW5nW1JDU107CisJc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXE7CiAJaW50IHJldDsK IAogCUJVR19PTihvdmVybGF5LT5hY3RpdmUpOwpAQCAtMjQ2LDE3ICsyNDcsMjMgQEAgc3RhdGlj IGludCBpbnRlbF9vdmVybGF5X29uKHN0cnVjdCBpbnRlbF9vdmVybGF5ICpvdmVybGF5KQogCiAJ V0FSTl9PTihJU19JODMwKGRldikgJiYgIShkZXZfcHJpdi0+cXVpcmtzICYgUVVJUktfUElQRUFf Rk9SQ0UpKTsKIAotCXJldCA9IGludGVsX3JpbmdfYmVnaW4ocmluZywgNCk7CisJcmV0ID0gZGV2 X3ByaXYtPmd0LmFsbG9jX3JlcXVlc3QocmluZywgcmluZy0+ZGVmYXVsdF9jb250ZXh0LCAmcmVx KTsKIAlpZiAocmV0KQogCQlyZXR1cm4gcmV0OwogCisJcmV0ID0gaW50ZWxfcmluZ19iZWdpbihy aW5nLCA0KTsKKwlpZiAocmV0KSB7CisJCWk5MTVfZ2VtX3JlcXVlc3RfdW5yZWZlcmVuY2UocmVx KTsKKwkJcmV0dXJuIHJldDsKKwl9CisKIAlpbnRlbF9yaW5nX2VtaXQocmluZywgTUlfT1ZFUkxB WV9GTElQIHwgTUlfT1ZFUkxBWV9PTik7CiAJaW50ZWxfcmluZ19lbWl0KHJpbmcsIG92ZXJsYXkt PmZsaXBfYWRkciB8IE9GQ19VUERBVEUpOwogCWludGVsX3JpbmdfZW1pdChyaW5nLCBNSV9XQUlU X0ZPUl9FVkVOVCB8IE1JX1dBSVRfRk9SX09WRVJMQVlfRkxJUCk7CiAJaW50ZWxfcmluZ19lbWl0 KHJpbmcsIE1JX05PT1ApOwogCWludGVsX3JpbmdfYWR2YW5jZShyaW5nKTsKIAotCXJldHVybiBp bnRlbF9vdmVybGF5X2RvX3dhaXRfcmVxdWVzdChvdmVybGF5LCBOVUxMKTsKKwlyZXR1cm4gaW50 ZWxfb3ZlcmxheV9kb193YWl0X3JlcXVlc3Qob3ZlcmxheSwgcmVxLCBOVUxMKTsKIH0KIAogLyog b3ZlcmxheSBuZWVkcyB0byBiZSBlbmFibGVkIGluIE9DTUQgcmVnICovCkBAIC0yNjYsNiArMjcz LDcgQEAgc3RhdGljIGludCBpbnRlbF9vdmVybGF5X2NvbnRpbnVlKHN0cnVjdCBpbnRlbF9vdmVy bGF5ICpvdmVybGF5LAogCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBvdmVybGF5LT5kZXY7CiAJ c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKIAlz dHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nID0gJmRldl9wcml2LT5yaW5nW1JDU107CisJc3Ry dWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXE7CiAJdTMyIGZsaXBfYWRkciA9IG92ZXJsYXkt PmZsaXBfYWRkcjsKIAl1MzIgdG1wOwogCWludCByZXQ7CkBAIC0yODAsMTggKzI4OCwyNyBAQCBz dGF0aWMgaW50IGludGVsX292ZXJsYXlfY29udGludWUoc3RydWN0IGludGVsX292ZXJsYXkgKm92 ZXJsYXksCiAJaWYgKHRtcCAmICgxIDw8IDE3KSkKIAkJRFJNX0RFQlVHKCJvdmVybGF5IHVuZGVy cnVuLCBET1ZTVEE6ICV4XG4iLCB0bXApOwogCi0JcmV0ID0gaW50ZWxfcmluZ19iZWdpbihyaW5n LCAyKTsKKwlyZXQgPSBkZXZfcHJpdi0+Z3QuYWxsb2NfcmVxdWVzdChyaW5nLCByaW5nLT5kZWZh dWx0X2NvbnRleHQsICZyZXEpOwogCWlmIChyZXQpCiAJCXJldHVybiByZXQ7CiAKKwlyZXQgPSBp bnRlbF9yaW5nX2JlZ2luKHJpbmcsIDIpOworCWlmIChyZXQpIHsKKwkJaTkxNV9nZW1fcmVxdWVz dF91bnJlZmVyZW5jZShyZXEpOworCQlyZXR1cm4gcmV0OworCX0KKwogCWludGVsX3JpbmdfZW1p dChyaW5nLCBNSV9PVkVSTEFZX0ZMSVAgfCBNSV9PVkVSTEFZX0NPTlRJTlVFKTsKIAlpbnRlbF9y aW5nX2VtaXQocmluZywgZmxpcF9hZGRyKTsKIAlpbnRlbF9yaW5nX2FkdmFuY2UocmluZyk7CiAK IAlXQVJOX09OKG92ZXJsYXktPmxhc3RfZmxpcF9yZXEpOwotCWk5MTVfZ2VtX3JlcXVlc3RfYXNz aWduKCZvdmVybGF5LT5sYXN0X2ZsaXBfcmVxLAotCQkJCQkgICAgIHJpbmctPm91dHN0YW5kaW5n X2xhenlfcmVxdWVzdCk7Ci0JcmV0dXJuIGk5MTVfYWRkX3JlcXVlc3QocmluZyk7CisJaTkxNV9n ZW1fcmVxdWVzdF9hc3NpZ24oJm92ZXJsYXktPmxhc3RfZmxpcF9yZXEsIHJlcSk7CisJcmV0ID0g aTkxNV9hZGRfcmVxdWVzdChyZXEtPnJpbmcpOworCWlmIChyZXQpCisJCWk5MTVfZ2VtX3JlcXVl c3RfdW5yZWZlcmVuY2UocmVxKTsKKworCXJldHVybiByZXQ7CiB9CiAKIHN0YXRpYyB2b2lkIGlu dGVsX292ZXJsYXlfcmVsZWFzZV9vbGRfdmlkX3RhaWwoc3RydWN0IGludGVsX292ZXJsYXkgKm92 ZXJsYXkpCkBAIC0zMjYsNiArMzQzLDcgQEAgc3RhdGljIGludCBpbnRlbF9vdmVybGF5X29mZihz dHJ1Y3QgaW50ZWxfb3ZlcmxheSAqb3ZlcmxheSkKIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0g b3ZlcmxheS0+ZGV2OwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ ZGV2X3ByaXZhdGU7CiAJc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZyA9ICZkZXZfcHJpdi0+ cmluZ1tSQ1NdOworCXN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxOwogCXUzMiBmbGlw X2FkZHIgPSBvdmVybGF5LT5mbGlwX2FkZHI7CiAJaW50IHJldDsKIApAQCAtMzM3LDEwICszNTUs MTYgQEAgc3RhdGljIGludCBpbnRlbF9vdmVybGF5X29mZihzdHJ1Y3QgaW50ZWxfb3ZlcmxheSAq b3ZlcmxheSkKIAkgKiBvZiB0aGUgaHcuIERvIGl0IGluIGJvdGggY2FzZXMgKi8KIAlmbGlwX2Fk ZHIgfD0gT0ZDX1VQREFURTsKIAotCXJldCA9IGludGVsX3JpbmdfYmVnaW4ocmluZywgNik7CisJ cmV0ID0gZGV2X3ByaXYtPmd0LmFsbG9jX3JlcXVlc3QocmluZywgcmluZy0+ZGVmYXVsdF9jb250 ZXh0LCAmcmVxKTsKIAlpZiAocmV0KQogCQlyZXR1cm4gcmV0OwogCisJcmV0ID0gaW50ZWxfcmlu Z19iZWdpbihyaW5nLCA2KTsKKwlpZiAocmV0KSB7CisJCWk5MTVfZ2VtX3JlcXVlc3RfdW5yZWZl cmVuY2UocmVxKTsKKwkJcmV0dXJuIHJldDsKKwl9CisKIAkvKiB3YWl0IGZvciBvdmVybGF5IHRv IGdvIGlkbGUgKi8KIAlpbnRlbF9yaW5nX2VtaXQocmluZywgTUlfT1ZFUkxBWV9GTElQIHwgTUlf T1ZFUkxBWV9DT05USU5VRSk7CiAJaW50ZWxfcmluZ19lbWl0KHJpbmcsIGZsaXBfYWRkcik7CkBA IC0zNTksNyArMzgzLDcgQEAgc3RhdGljIGludCBpbnRlbF9vdmVybGF5X29mZihzdHJ1Y3QgaW50 ZWxfb3ZlcmxheSAqb3ZlcmxheSkKIAl9CiAJaW50ZWxfcmluZ19hZHZhbmNlKHJpbmcpOwogCi0J cmV0dXJuIGludGVsX292ZXJsYXlfZG9fd2FpdF9yZXF1ZXN0KG92ZXJsYXksIGludGVsX292ZXJs YXlfb2ZmX3RhaWwpOworCXJldHVybiBpbnRlbF9vdmVybGF5X2RvX3dhaXRfcmVxdWVzdChvdmVy bGF5LCByZXEsIGludGVsX292ZXJsYXlfb2ZmX3RhaWwpOwogfQogCiAvKiByZWNvdmVyIGZyb20g YW4gaW50ZXJydXB0aW9uIGR1ZSB0byBhIHNpZ25hbApAQCAtNDA0LDE1ICs0MjgsMjMgQEAgc3Rh dGljIGludCBpbnRlbF9vdmVybGF5X3JlbGVhc2Vfb2xkX3ZpZChzdHJ1Y3QgaW50ZWxfb3Zlcmxh eSAqb3ZlcmxheSkKIAogCWlmIChJOTE1X1JFQUQoSVNSKSAmIEk5MTVfT1ZFUkxBWV9QTEFORV9G TElQX1BFTkRJTkdfSU5URVJSVVBUKSB7CiAJCS8qIHN5bmNocm9ub3VzIHNsb3dwYXRoICovCi0J CXJldCA9IGludGVsX3JpbmdfYmVnaW4ocmluZywgMik7CisJCXN0cnVjdCBkcm1faTkxNV9nZW1f cmVxdWVzdCAqcmVxOworCisJCXJldCA9IGRldl9wcml2LT5ndC5hbGxvY19yZXF1ZXN0KHJpbmcs IHJpbmctPmRlZmF1bHRfY29udGV4dCwgJnJlcSk7CiAJCWlmIChyZXQpCiAJCQlyZXR1cm4gcmV0 OwogCisJCXJldCA9IGludGVsX3JpbmdfYmVnaW4ocmluZywgMik7CisJCWlmIChyZXQpIHsKKwkJ CWk5MTVfZ2VtX3JlcXVlc3RfdW5yZWZlcmVuY2UocmVxKTsKKwkJCXJldHVybiByZXQ7CisJCX0K KwogCQlpbnRlbF9yaW5nX2VtaXQocmluZywgTUlfV0FJVF9GT1JfRVZFTlQgfCBNSV9XQUlUX0ZP Ul9PVkVSTEFZX0ZMSVApOwogCQlpbnRlbF9yaW5nX2VtaXQocmluZywgTUlfTk9PUCk7CiAJCWlu dGVsX3JpbmdfYWR2YW5jZShyaW5nKTsKIAotCQlyZXQgPSBpbnRlbF9vdmVybGF5X2RvX3dhaXRf cmVxdWVzdChvdmVybGF5LAorCQlyZXQgPSBpbnRlbF9vdmVybGF5X2RvX3dhaXRfcmVxdWVzdChv dmVybGF5LCByZXEsCiAJCQkJCQkgICAgaW50ZWxfb3ZlcmxheV9yZWxlYXNlX29sZF92aWRfdGFp bCk7CiAJCWlmIChyZXQpCiAJCQlyZXR1cm4gcmV0OwotLSAKMS43LjkuNQoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlz dApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3Rv cC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK