From mboxrd@z Thu Jan 1 00:00:00 1970 From: John.C.Harrison@Intel.com Subject: [PATCH 29/59] drm/i915: Update overlay code to do explicit request management Date: Thu, 19 Mar 2015 12:30:34 +0000 Message-ID: <1426768264-16996-30-git-send-email-John.C.Harrison@Intel.com> References: <1426768264-16996-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 mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTP id 2B3F56EA2E for ; Thu, 19 Mar 2015 05:31:40 -0700 (PDT) In-Reply-To: <1426768264-16996-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 ZXJsYXkuYyB8ICAgNTYgKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLQogMSBmaWxl IGNoYW5nZWQsIDQxIGluc2VydGlvbnMoKyksIDE1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX292ZXJsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX292ZXJsYXkuYwppbmRleCBjZTc3OTdjLi4wOTBmZWRkIDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9vdmVybGF5LmMKKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfb3ZlcmxheS5jCkBAIC0yMDksMTcgKzIwOSwxNSBAQCBzdGF0aWMgdm9pZCBp bnRlbF9vdmVybGF5X3VubWFwX3JlZ3Moc3RydWN0IGludGVsX292ZXJsYXkgKm92ZXJsYXksCiB9 CiAKIHN0YXRpYyBpbnQgaW50ZWxfb3ZlcmxheV9kb193YWl0X3JlcXVlc3Qoc3RydWN0IGludGVs X292ZXJsYXkgKm92ZXJsYXksCisJCQkJCSBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJl cSwKIAkJCQkJIHZvaWQgKCp0YWlsKShzdHJ1Y3QgaW50ZWxfb3ZlcmxheSAqKSkKIHsKIAlzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2ID0gb3ZlcmxheS0+ZGV2OwotCXN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7Ci0Jc3RydWN0IGludGVsX2VuZ2luZV9j cyAqcmluZyA9ICZkZXZfcHJpdi0+cmluZ1tSQ1NdOwogCWludCByZXQ7CiAKIAlCVUdfT04ob3Zl cmxheS0+bGFzdF9mbGlwX3JlcSk7Ci0JaTkxNV9nZW1fcmVxdWVzdF9hc3NpZ24oJm92ZXJsYXkt Pmxhc3RfZmxpcF9yZXEsCi0JCQkJCSAgICAgcmluZy0+b3V0c3RhbmRpbmdfbGF6eV9yZXF1ZXN0 KTsKLQlpOTE1X2FkZF9yZXF1ZXN0KHJpbmcpOworCWk5MTVfZ2VtX3JlcXVlc3RfYXNzaWduKCZv dmVybGF5LT5sYXN0X2ZsaXBfcmVxLCByZXEpOworCWk5MTVfYWRkX3JlcXVlc3QocmVxLT5yaW5n KTsKIAogCW92ZXJsYXktPmZsaXBfdGFpbCA9IHRhaWw7CiAJcmV0ID0gaTkxNV93YWl0X3JlcXVl c3Qob3ZlcmxheS0+bGFzdF9mbGlwX3JlcSk7CkBAIC0yMzcsNiArMjM1LDcgQEAgc3RhdGljIGlu dCBpbnRlbF9vdmVybGF5X29uKHN0cnVjdCBpbnRlbF9vdmVybGF5ICpvdmVybGF5KQogCXN0cnVj dCBkcm1fZGV2aWNlICpkZXYgPSBvdmVybGF5LT5kZXY7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKIAlzdHJ1Y3QgaW50ZWxfZW5naW5lX2Nz ICpyaW5nID0gJmRldl9wcml2LT5yaW5nW1JDU107CisJc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1 ZXN0ICpyZXE7CiAJaW50IHJldDsKIAogCUJVR19PTihvdmVybGF5LT5hY3RpdmUpOwpAQCAtMjQ0 LDE3ICsyNDMsMjMgQEAgc3RhdGljIGludCBpbnRlbF9vdmVybGF5X29uKHN0cnVjdCBpbnRlbF9v dmVybGF5ICpvdmVybGF5KQogCiAJV0FSTl9PTihJU19JODMwKGRldikgJiYgIShkZXZfcHJpdi0+ cXVpcmtzICYgUVVJUktfUElQRUFfRk9SQ0UpKTsKIAotCXJldCA9IGludGVsX3JpbmdfYmVnaW4o cmluZywgNCk7CisJcmV0ID0gaTkxNV9nZW1fcmVxdWVzdF9hbGxvYyhyaW5nLCByaW5nLT5kZWZh dWx0X2NvbnRleHQsICZyZXEpOwogCWlmIChyZXQpCiAJCXJldHVybiByZXQ7CiAKKwlyZXQgPSBp bnRlbF9yaW5nX2JlZ2luKHJpbmcsIDQpOworCWlmIChyZXQpIHsKKwkJaTkxNV9nZW1fcmVxdWVz dF9jYW5jZWwocmVxKTsKKwkJcmV0dXJuIHJldDsKKwl9CisKIAlpbnRlbF9yaW5nX2VtaXQocmlu ZywgTUlfT1ZFUkxBWV9GTElQIHwgTUlfT1ZFUkxBWV9PTik7CiAJaW50ZWxfcmluZ19lbWl0KHJp bmcsIG92ZXJsYXktPmZsaXBfYWRkciB8IE9GQ19VUERBVEUpOwogCWludGVsX3JpbmdfZW1pdChy aW5nLCBNSV9XQUlUX0ZPUl9FVkVOVCB8IE1JX1dBSVRfRk9SX09WRVJMQVlfRkxJUCk7CiAJaW50 ZWxfcmluZ19lbWl0KHJpbmcsIE1JX05PT1ApOwogCWludGVsX3JpbmdfYWR2YW5jZShyaW5nKTsK IAotCXJldHVybiBpbnRlbF9vdmVybGF5X2RvX3dhaXRfcmVxdWVzdChvdmVybGF5LCBOVUxMKTsK KwlyZXR1cm4gaW50ZWxfb3ZlcmxheV9kb193YWl0X3JlcXVlc3Qob3ZlcmxheSwgcmVxLCBOVUxM KTsKIH0KIAogLyogb3ZlcmxheSBuZWVkcyB0byBiZSBlbmFibGVkIGluIE9DTUQgcmVnICovCkBA IC0yNjQsNiArMjY5LDcgQEAgc3RhdGljIGludCBpbnRlbF9vdmVybGF5X2NvbnRpbnVlKHN0cnVj dCBpbnRlbF9vdmVybGF5ICpvdmVybGF5LAogCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBvdmVy bGF5LT5kZXY7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZf cHJpdmF0ZTsKIAlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nID0gJmRldl9wcml2LT5yaW5n W1JDU107CisJc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXE7CiAJdTMyIGZsaXBfYWRk ciA9IG92ZXJsYXktPmZsaXBfYWRkcjsKIAl1MzIgdG1wOwogCWludCByZXQ7CkBAIC0yNzgsMTgg KzI4NCwyMyBAQCBzdGF0aWMgaW50IGludGVsX292ZXJsYXlfY29udGludWUoc3RydWN0IGludGVs X292ZXJsYXkgKm92ZXJsYXksCiAJaWYgKHRtcCAmICgxIDw8IDE3KSkKIAkJRFJNX0RFQlVHKCJv dmVybGF5IHVuZGVycnVuLCBET1ZTVEE6ICV4XG4iLCB0bXApOwogCi0JcmV0ID0gaW50ZWxfcmlu Z19iZWdpbihyaW5nLCAyKTsKKwlyZXQgPSBpOTE1X2dlbV9yZXF1ZXN0X2FsbG9jKHJpbmcsIHJp bmctPmRlZmF1bHRfY29udGV4dCwgJnJlcSk7CiAJaWYgKHJldCkKIAkJcmV0dXJuIHJldDsKIAor CXJldCA9IGludGVsX3JpbmdfYmVnaW4ocmluZywgMik7CisJaWYgKHJldCkgeworCQlpOTE1X2dl bV9yZXF1ZXN0X2NhbmNlbChyZXEpOworCQlyZXR1cm4gcmV0OworCX0KKwogCWludGVsX3Jpbmdf ZW1pdChyaW5nLCBNSV9PVkVSTEFZX0ZMSVAgfCBNSV9PVkVSTEFZX0NPTlRJTlVFKTsKIAlpbnRl bF9yaW5nX2VtaXQocmluZywgZmxpcF9hZGRyKTsKIAlpbnRlbF9yaW5nX2FkdmFuY2UocmluZyk7 CiAKIAlXQVJOX09OKG92ZXJsYXktPmxhc3RfZmxpcF9yZXEpOwotCWk5MTVfZ2VtX3JlcXVlc3Rf YXNzaWduKCZvdmVybGF5LT5sYXN0X2ZsaXBfcmVxLAotCQkJCQkgICAgIHJpbmctPm91dHN0YW5k aW5nX2xhenlfcmVxdWVzdCk7Ci0JaTkxNV9hZGRfcmVxdWVzdChyaW5nKTsKKwlpOTE1X2dlbV9y ZXF1ZXN0X2Fzc2lnbigmb3ZlcmxheS0+bGFzdF9mbGlwX3JlcSwgcmVxKTsKKwlpOTE1X2FkZF9y ZXF1ZXN0KHJlcS0+cmluZyk7CiAKIAlyZXR1cm4gMDsKIH0KQEAgLTMyNiw2ICszMzcsNyBAQCBz dGF0aWMgaW50IGludGVsX292ZXJsYXlfb2ZmKHN0cnVjdCBpbnRlbF9vdmVybGF5ICpvdmVybGF5 KQogCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBvdmVybGF5LT5kZXY7CiAJc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKIAlzdHJ1Y3QgaW50ZWxf ZW5naW5lX2NzICpyaW5nID0gJmRldl9wcml2LT5yaW5nW1JDU107CisJc3RydWN0IGRybV9pOTE1 X2dlbV9yZXF1ZXN0ICpyZXE7CiAJdTMyIGZsaXBfYWRkciA9IG92ZXJsYXktPmZsaXBfYWRkcjsK IAlpbnQgcmV0OwogCkBAIC0zMzcsMTAgKzM0OSwxNiBAQCBzdGF0aWMgaW50IGludGVsX292ZXJs YXlfb2ZmKHN0cnVjdCBpbnRlbF9vdmVybGF5ICpvdmVybGF5KQogCSAqIG9mIHRoZSBody4gRG8g aXQgaW4gYm90aCBjYXNlcyAqLwogCWZsaXBfYWRkciB8PSBPRkNfVVBEQVRFOwogCi0JcmV0ID0g aW50ZWxfcmluZ19iZWdpbihyaW5nLCA2KTsKKwlyZXQgPSBpOTE1X2dlbV9yZXF1ZXN0X2FsbG9j KHJpbmcsIHJpbmctPmRlZmF1bHRfY29udGV4dCwgJnJlcSk7CiAJaWYgKHJldCkKIAkJcmV0dXJu IHJldDsKIAorCXJldCA9IGludGVsX3JpbmdfYmVnaW4ocmluZywgNik7CisJaWYgKHJldCkgewor CQlpOTE1X2dlbV9yZXF1ZXN0X2NhbmNlbChyZXEpOworCQlyZXR1cm4gcmV0OworCX0KKwogCS8q IHdhaXQgZm9yIG92ZXJsYXkgdG8gZ28gaWRsZSAqLwogCWludGVsX3JpbmdfZW1pdChyaW5nLCBN SV9PVkVSTEFZX0ZMSVAgfCBNSV9PVkVSTEFZX0NPTlRJTlVFKTsKIAlpbnRlbF9yaW5nX2VtaXQo cmluZywgZmxpcF9hZGRyKTsKQEAgLTM1OSw3ICszNzcsNyBAQCBzdGF0aWMgaW50IGludGVsX292 ZXJsYXlfb2ZmKHN0cnVjdCBpbnRlbF9vdmVybGF5ICpvdmVybGF5KQogCX0KIAlpbnRlbF9yaW5n X2FkdmFuY2UocmluZyk7CiAKLQlyZXR1cm4gaW50ZWxfb3ZlcmxheV9kb193YWl0X3JlcXVlc3Qo b3ZlcmxheSwgaW50ZWxfb3ZlcmxheV9vZmZfdGFpbCk7CisJcmV0dXJuIGludGVsX292ZXJsYXlf ZG9fd2FpdF9yZXF1ZXN0KG92ZXJsYXksIHJlcSwgaW50ZWxfb3ZlcmxheV9vZmZfdGFpbCk7CiB9 CiAKIC8qIHJlY292ZXIgZnJvbSBhbiBpbnRlcnJ1cHRpb24gZHVlIHRvIGEgc2lnbmFsCkBAIC00 MDQsMTUgKzQyMiwyMyBAQCBzdGF0aWMgaW50IGludGVsX292ZXJsYXlfcmVsZWFzZV9vbGRfdmlk KHN0cnVjdCBpbnRlbF9vdmVybGF5ICpvdmVybGF5KQogCiAJaWYgKEk5MTVfUkVBRChJU1IpICYg STkxNV9PVkVSTEFZX1BMQU5FX0ZMSVBfUEVORElOR19JTlRFUlJVUFQpIHsKIAkJLyogc3luY2hy b25vdXMgc2xvd3BhdGggKi8KLQkJcmV0ID0gaW50ZWxfcmluZ19iZWdpbihyaW5nLCAyKTsKKwkJ c3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXE7CisKKwkJcmV0ID0gaTkxNV9nZW1fcmVx dWVzdF9hbGxvYyhyaW5nLCByaW5nLT5kZWZhdWx0X2NvbnRleHQsICZyZXEpOwogCQlpZiAocmV0 KQogCQkJcmV0dXJuIHJldDsKIAorCQlyZXQgPSBpbnRlbF9yaW5nX2JlZ2luKHJpbmcsIDIpOwor CQlpZiAocmV0KSB7CisJCQlpOTE1X2dlbV9yZXF1ZXN0X2NhbmNlbChyZXEpOworCQkJcmV0dXJu IHJldDsKKwkJfQorCiAJCWludGVsX3JpbmdfZW1pdChyaW5nLCBNSV9XQUlUX0ZPUl9FVkVOVCB8 IE1JX1dBSVRfRk9SX09WRVJMQVlfRkxJUCk7CiAJCWludGVsX3JpbmdfZW1pdChyaW5nLCBNSV9O T09QKTsKIAkJaW50ZWxfcmluZ19hZHZhbmNlKHJpbmcpOwogCi0JCXJldCA9IGludGVsX292ZXJs YXlfZG9fd2FpdF9yZXF1ZXN0KG92ZXJsYXksCisJCXJldCA9IGludGVsX292ZXJsYXlfZG9fd2Fp dF9yZXF1ZXN0KG92ZXJsYXksIHJlcSwKIAkJCQkJCSAgICBpbnRlbF9vdmVybGF5X3JlbGVhc2Vf b2xkX3ZpZF90YWlsKTsKIAkJaWYgKHJldCkKIAkJCXJldHVybiByZXQ7Ci0tIAoxLjcuOS41Cgpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZngg bWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3Rz LmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=