From mboxrd@z Thu Jan 1 00:00:00 1970 From: sourab.gupta@intel.com Subject: [PATCH 1/4] drm/i915: Clearing buffer objects via blitter engine Date: Fri, 20 Jun 2014 15:32:07 +0530 Message-ID: <1403258530-12548-2-git-send-email-sourab.gupta@intel.com> References: <1403258530-12548-1-git-send-email-sourab.gupta@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 85BCB6E9CC for ; Fri, 20 Jun 2014 03:01:26 -0700 (PDT) In-Reply-To: <1403258530-12548-1-git-send-email-sourab.gupta@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 Cc: Daniel Vetter , Akash Goel List-Id: intel-gfx@lists.freedesktop.org RnJvbTogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+CgpUaGlzIHBhdGNo IGFkZHMgc3VwcG9ydCBmb3IgY2xlYXJpbmcgYnVmZmVyIG9iamVjdHMgdmlhIGJsaXR0ZXIKZW5n aW5lcy4gVGhpcyBpcyBwYXJ0aWN1bGFybHkgdXNlZnVsIGZvciBjbGVhcmluZyBvdXQgdGhlIG1l bW9yeQpmcm9tIHN0b2xlbiByZWdpb24uCgp0ZXN0Y2FzZTogaWd0L2dlbV9jcmVhdGUyCgpTaWdu ZWQtb2ZmLWJ5OiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KLS0tCiBk cml2ZXJzL2dwdS9kcm0vaTkxNS9NYWtlZmlsZSAgICAgICAgfCAgIDEgKwogZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9kcnYuaCAgICAgIHwgICAzICsKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZ2VtX2V4ZWMuYyB8IDEyMCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwog MyBmaWxlcyBjaGFuZ2VkLCAxMjQgaW5zZXJ0aW9ucygrKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGRy aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2V4ZWMuYwoKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L01ha2VmaWxlIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvTWFrZWZpbGUKaW5k ZXggY2FkMTY4My4uYTE4ZjdlNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvTWFr ZWZpbGUKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvTWFrZWZpbGUKQEAgLTIyLDYgKzIyLDcg QEAgaTkxNS15ICs9IGk5MTVfY21kX3BhcnNlci5vIFwKIAkgIGk5MTVfZ2VtX2RlYnVnLm8gXAog CSAgaTkxNV9nZW1fZG1hYnVmLm8gXAogCSAgaTkxNV9nZW1fZXZpY3QubyBcCisJICBpOTE1X2dl bV9leGVjLm8gXAogCSAgaTkxNV9nZW1fZXhlY2J1ZmZlci5vIFwKIAkgIGk5MTVfZ2VtX2d0dC5v IFwKIAkgIGk5MTVfZ2VtLm8gXApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKaW5kZXggOGNlYTU5Ni4u NDQ3MDEwNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAorKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCkBAIC0yNDgwLDYgKzI0ODAsOSBAQCBp bnQgX19tdXN0X2NoZWNrIGk5MTVfZ2VtX2V2aWN0X3NvbWV0aGluZyhzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2LAogaW50IGk5MTVfZ2VtX2V2aWN0X3ZtKHN0cnVjdCBpOTE1X2FkZHJlc3Nfc3BhY2Ug KnZtLCBib29sIGRvX2lkbGUpOwogaW50IGk5MTVfZ2VtX2V2aWN0X2V2ZXJ5dGhpbmcoc3RydWN0 IGRybV9kZXZpY2UgKmRldik7CiAKKy8qIGk5MTVfZ2VtX2V4ZWMuYyAqLworaW50IGk5MTVfZ2Vt X2V4ZWNfY2xlYXJfb2JqZWN0KHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmopOworCiAv KiBiZWxvbmdzIGluIGk5MTVfZ2VtX2d0dC5oICovCiBzdGF0aWMgaW5saW5lIHZvaWQgaTkxNV9n ZW1fY2hpcHNldF9mbHVzaChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogewpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZXhlYy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9nZW1fZXhlYy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM3 NGYxZTEKLS0tIC9kZXYvbnVsbAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9l eGVjLmMKQEAgLTAsMCArMSwxMjAgQEAKKy8qCisgKiBDb3B5cmlnaHQgwqkgMjAxMyBJbnRlbCBD b3Jwb3JhdGlvbgorICoKKyAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2Yg Y2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisgKiBjb3B5IG9mIHRoaXMgc29mdHdh cmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLAor ICogdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5n IHdpdGhvdXQgbGltaXRhdGlvbgorICogdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwg bWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsCisgKiBhbmQvb3Igc2VsbCBj b3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUK KyAqIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93 aW5nIGNvbmRpdGlvbnM6CisgKgorICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRo aXMgcGVybWlzc2lvbiBub3RpY2UgKGluY2x1ZGluZyB0aGUgbmV4dAorICogcGFyYWdyYXBoKSBz aGFsbCBiZSBpbmNsdWRlZCBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9m IHRoZQorICogU29mdHdhcmUuCisgKgorICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJ UyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IKKyAqIElNUExJRUQs IElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB QklMSVRZLAorICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJ TkdFTUVOVC4gIElOIE5PIEVWRU5UIFNIQUxMCisgKiBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQg SE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUgorICogTElB QklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJ U0UsIEFSSVNJTkcKKyAqIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNP RlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MKKyAqIElOIFRIRSBTT0ZUV0FSRS4K KyAqCisgKiBBdXRob3JzOgorICogICAgQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24u Y28udWs+CisgKgorICovCisKKyNpbmNsdWRlIDxkcm0vZHJtUC5oPgorI2luY2x1ZGUgPGRybS9p OTE1X2RybS5oPgorI2luY2x1ZGUgImk5MTVfZHJ2LmgiCisKKyNkZWZpbmUgQ09MT1JfQkxUX0NN RCAoMjw8MjkgfCAweDQwPDwyMikKKyNkZWZpbmUgQkxUX1dSSVRFX0FMUEhBICgxPDwyMSkKKyNk ZWZpbmUgQkxUX1dSSVRFX1JHQiAoMTw8MjApCisjZGVmaW5lIEJMVF9XUklURV9SR0JBIChCTFRf V1JJVEVfUkdCfEJMVF9XUklURV9BTFBIQSkKKworI2RlZmluZSBCUFBfOCAwCisjZGVmaW5lIEJQ UF8xNiAoMTw8MjQpCisjZGVmaW5lIEJQUF8zMiAoMTw8MjUgfCAxPDwyNCkKKworI2RlZmluZSBS T1BfRklMTF9DT1BZICgweGYwIDw8IDE2KQorCitzdGF0aWMgaW50IGk5MTVfZ2VtX2V4ZWNfZmx1 c2hfb2JqZWN0KHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCisJCQkJICAgICAgc3Ry dWN0IGludGVsX2VuZ2luZV9jcyAqcmluZykKK3sKKwlpbnQgcmV0OworCisJcmV0ID0gaTkxNV9n ZW1fb2JqZWN0X3N5bmMob2JqLCByaW5nKTsKKwlpZiAocmV0KQorCQlyZXR1cm4gcmV0OworCisJ aWYgKG9iai0+YmFzZS53cml0ZV9kb21haW4gJiBJOTE1X0dFTV9ET01BSU5fQ1BVKSB7CisJCWlm IChpOTE1X2dlbV9jbGZsdXNoX29iamVjdChvYmosIGZhbHNlKSkKKwkJCWk5MTVfZ2VtX2NoaXBz ZXRfZmx1c2gob2JqLT5iYXNlLmRldik7CisJCW9iai0+YmFzZS53cml0ZV9kb21haW4gJj0gfkk5 MTVfR0VNX0RPTUFJTl9DUFU7CisJfQorCWlmIChvYmotPmJhc2Uud3JpdGVfZG9tYWluICYgSTkx NV9HRU1fRE9NQUlOX0dUVCkgeworCQl3bWIoKTsKKwkJb2JqLT5iYXNlLndyaXRlX2RvbWFpbiAm PSB+STkxNV9HRU1fRE9NQUlOX0dUVDsKKwl9CisKKwlyZXR1cm4gaW50ZWxfcmluZ19pbnZhbGlk YXRlX2FsbF9jYWNoZXMocmluZyk7Cit9CisKK3N0YXRpYyB2b2lkIGk5MTVfZ2VtX2V4ZWNfZGly dHlfb2JqZWN0KHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCisJCQkJICAgICAgIHN0 cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcpCit7CisJb2JqLT5mZW5jZWRfZ3B1X2FjY2VzcyA9 IGZhbHNlOworCW9iai0+YmFzZS5yZWFkX2RvbWFpbnMgPSBJOTE1X0dFTV9ET01BSU5fUkVOREVS OworCW9iai0+YmFzZS53cml0ZV9kb21haW4gPSBJOTE1X0dFTV9ET01BSU5fUkVOREVSOworCWk5 MTVfdm1hX21vdmVfdG9fYWN0aXZlKGk5MTVfZ2VtX29ial90b19nZ3R0KG9iaiksIHJpbmcpOwor CW9iai0+bGFzdF93cml0ZV9zZXFubyA9IGludGVsX3JpbmdfZ2V0X3NlcW5vKHJpbmcpOworCW9i ai0+ZGlydHkgPSAxOworCisJcmluZy0+Z3B1X2NhY2hlc19kaXJ0eSA9IHRydWU7Cit9CisKK2lu dCBpOTE1X2dlbV9leGVjX2NsZWFyX29iamVjdChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAq b2JqKQoreworCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBvYmotPmJhc2UuZGV2OworCXN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7CisJc3RydWN0 IGludGVsX2VuZ2luZV9jcyAqcmluZzsKKwlpbnQgcmV0OworCisJbG9ja2RlcF9hc3NlcnRfaGVs ZCgmZGV2LT5zdHJ1Y3RfbXV0ZXgpOworCisJcmluZyA9ICZkZXZfcHJpdi0+cmluZ1tIQVNfQkxU KGRldikgPyBCQ1MgOiBSQ1NdOworCisJcmV0ID0gaTkxNV9nZW1fb2JqX2dndHRfcGluKG9iaiwg MCwgMCk7CisJaWYgKHJldCkKKwkJcmV0dXJuIHJldDsKKworCWlmIChvYmotPnRpbGluZ19tb2Rl ICYmIElOVEVMX0lORk8oZGV2KS0+Z2VuIDw9IDMpIHsKKwkJcmV0ID0gaTkxNV9nZW1fb2JqZWN0 X3B1dF9mZW5jZShvYmopOworCQlpZiAocmV0KQorCQkJZ290byB1bnBpbjsKKwl9CisKKwlyZXQg PSBpOTE1X2dlbV9leGVjX2ZsdXNoX29iamVjdChvYmosIHJpbmcpOworCWlmIChyZXQpCisJCWdv dG8gdW5waW47CisKKwlyZXQgPSBpbnRlbF9yaW5nX2JlZ2luKHJpbmcsIDYpOworCWlmIChyZXQp CisJCWdvdG8gdW5waW47CisKKwlpbnRlbF9yaW5nX2VtaXQocmluZywgQ09MT1JfQkxUX0NNRCB8 IEJMVF9XUklURV9SR0JBIHwgKDUtMikpOworCWludGVsX3JpbmdfZW1pdChyaW5nLCBCUFBfMzIg fCBST1BfRklMTF9DT1BZIHwgUEFHRV9TSVpFKTsKKwlpbnRlbF9yaW5nX2VtaXQocmluZywgb2Jq LT5iYXNlLnNpemUgPj4gUEFHRV9TSElGVCA8PCAxNiB8IFBBR0VfU0laRSk7CisJaW50ZWxfcmlu Z19lbWl0KHJpbmcsIGk5MTVfZ2VtX29ial9nZ3R0X29mZnNldChvYmopKTsKKwlpbnRlbF9yaW5n X2VtaXQocmluZywgMCk7CisJaW50ZWxfcmluZ19lbWl0KHJpbmcsIE1JX05PT1ApOworCisJX19p bnRlbF9yaW5nX2FkdmFuY2UocmluZyk7CisJaTkxNV9nZW1fZXhlY19kaXJ0eV9vYmplY3Qob2Jq LCByaW5nKTsKKwordW5waW46CisJaTkxNV9nZW1fb2JqZWN0X2dndHRfdW5waW4ob2JqKTsKKwly ZXR1cm4gcmV0OworfQotLSAKMS44LjUuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMu ZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0 aW5mby9pbnRlbC1nZngK