From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH 1/2] drm/i915: Support in-kernel GPU command execution Date: Wed, 7 Aug 2013 10:24:34 +0100 Message-ID: <1375867475-29537-1-git-send-email-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from fireflyinternet.com (s16502780.onlinehome-server.info [87.106.93.118]) by gabe.freedesktop.org (Postfix) with ESMTP id A2AF3E5CE5 for ; Wed, 7 Aug 2013 02:24:47 -0700 (PDT) List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: intel-gfx-bounces+gcfxdi-intel-gfx=m.gmane.org@lists.freedesktop.org Errors-To: intel-gfx-bounces+gcfxdi-intel-gfx=m.gmane.org@lists.freedesktop.org To: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org VGhlcmUgYXJlIGEgZmV3IHNpbXBsZSBvcGVyYXRpb25zIHRoYXQgd2Ugd291bGQgbGlrZSB0byBv ZmZsb2FkIG9udG8gdGhlCkdQVSBmb3IgdGhlIGJlbmVmaXQgb2YgcnVubmluZyBhc3luY2hyb25v dXNseS4gVGhlIGZpcnN0IGlzIHRvIGNsZWFyIHRoZQpiYWNraW5nIHN0b3JhZ2UgZm9yIGFuIG9i amVjdC4KClNpZ25lZC1vZmYtYnk6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNv LnVrPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L01ha2VmaWxlICAgICAgICB8ICAgMSArCiBk cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgICAgfCAgIDMgKwogZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9nZW1fZXhlYy5jIHwgMTIwICsrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrCiAzIGZpbGVzIGNoYW5nZWQsIDEyNCBpbnNlcnRpb25zKCspCiBjcmVhdGUgbW9k ZSAxMDA2NDQgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZXhlYy5jCgpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvTWFrZWZpbGUgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9N YWtlZmlsZQppbmRleCBiODQ0OWE4Li45ZDQ5OGU1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9NYWtlZmlsZQorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9NYWtlZmlsZQpAQCAt MTEsNiArMTEsNyBAQCBpOTE1LXkgOj0gaTkxNV9kcnYubyBpOTE1X2RtYS5vIGk5MTVfaXJxLm8g XAogCSAgaTkxNV9nZW1fY29udGV4dC5vIFwKIAkgIGk5MTVfZ2VtX2RlYnVnLm8gXAogCSAgaTkx NV9nZW1fZXZpY3QubyBcCisJICBpOTE1X2dlbV9leGVjLm8gXAogCSAgaTkxNV9nZW1fZXhlY2J1 ZmZlci5vIFwKIAkgIGk5MTVfZ2VtX2d0dC5vIFwKIAkgIGk5MTVfZ2VtX3N0b2xlbi5vIFwKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2Rydi5oCmluZGV4IDFhZDhhNDIuLjI5ZmYyNDggMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9kcnYuaApAQCAtMTk1MSw2ICsxOTUxLDkgQEAgaW50IGk5MTVfZ2VtX2NvbnRleHRfY3Jl YXRlX2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCiBpbnQgaTkxNV9n ZW1fY29udGV4dF9kZXN0cm95X2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRh dGEsCiAJCQkJICAgc3RydWN0IGRybV9maWxlICpmaWxlKTsKIAorLyogaTkxNV9nZW1fZXhlYy5j ICovCitpbnQgaTkxNV9nZW1fZXhlY19jbGVhcl9vYmplY3Qoc3RydWN0IGRybV9pOTE1X2dlbV9v YmplY3QgKm9iaik7CisKIC8qIGk5MTVfZ2VtX2d0dC5jICovCiB2b2lkIGk5MTVfZ2VtX2NsZWFu dXBfYWxpYXNpbmdfcHBndHQoc3RydWN0IGRybV9kZXZpY2UgKmRldik7CiB2b2lkIGk5MTVfcHBn dHRfYmluZF9vYmplY3Qoc3RydWN0IGk5MTVfaHdfcHBndHQgKnBwZ3R0LApkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZXhlYy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9nZW1fZXhlYy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQy YWMwNzcKLS0tIC9kZXYvbnVsbAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9l 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 dWN0IGludGVsX3JpbmdfYnVmZmVyICpyaW5nKQoreworCWludCByZXQ7CisKKwlyZXQgPSBpOTE1 X2dlbV9vYmplY3Rfc3luYyhvYmosIHJpbmcpOworCWlmIChyZXQpCisJCXJldHVybiByZXQ7CisK KwlpZiAob2JqLT5iYXNlLndyaXRlX2RvbWFpbiAmIEk5MTVfR0VNX0RPTUFJTl9DUFUpIHsKKwkJ aTkxNV9nZW1fY2xmbHVzaF9vYmplY3Qob2JqKTsKKwkJaTkxNV9nZW1fY2hpcHNldF9mbHVzaChv YmotPmJhc2UuZGV2KTsKKwkJb2JqLT5iYXNlLndyaXRlX2RvbWFpbiAmPSB+STkxNV9HRU1fRE9N QUlOX0NQVTsKKwl9CisJaWYgKG9iai0+YmFzZS53cml0ZV9kb21haW4gJiBJOTE1X0dFTV9ET01B SU5fR1RUKSB7CisJCXdtYigpOworCQlvYmotPmJhc2Uud3JpdGVfZG9tYWluICY9IH5JOTE1X0dF TV9ET01BSU5fR1RUOworCX0KKworCXJldHVybiBpbnRlbF9yaW5nX2ludmFsaWRhdGVfYWxsX2Nh Y2hlcyhyaW5nKTsKK30KKworc3RhdGljIHZvaWQgaTkxNV9nZW1fZXhlY19kaXJ0eV9vYmplY3Qo c3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKKwkJCQkgICAgICAgc3RydWN0IGludGVs X3JpbmdfYnVmZmVyICpyaW5nKQoreworCW9iai0+ZmVuY2VkX2dwdV9hY2Nlc3MgPSBmYWxzZTsK KwlvYmotPmJhc2UucmVhZF9kb21haW5zID0gSTkxNV9HRU1fRE9NQUlOX1JFTkRFUjsKKwlvYmot PmJhc2Uud3JpdGVfZG9tYWluID0gSTkxNV9HRU1fRE9NQUlOX1JFTkRFUjsKKwlpOTE1X2dlbV9v YmplY3RfbW92ZV90b19hY3RpdmUob2JqLCByaW5nKTsKKwlvYmotPmxhc3Rfd3JpdGVfc2Vxbm8g PSBpbnRlbF9yaW5nX2dldF9zZXFubyhyaW5nKTsKKwlvYmotPmRpcnR5ID0gMTsKKworCXJpbmct PmdwdV9jYWNoZXNfZGlydHkgPSB0cnVlOworfQorCitpbnQgaTkxNV9nZW1fZXhlY19jbGVhcl9v YmplY3Qoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaikKK3sKKwlzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2ID0gb2JqLT5iYXNlLmRldjsKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOworCXN0cnVjdCBpbnRlbF9yaW5nX2J1ZmZlciAqcmlu ZzsKKwlpbnQgcmV0OworCisJbG9ja2RlcF9hc3NlcnRfaGVsZCgmZGV2LT5zdHJ1Y3RfbXV0ZXgp OworCisJcmluZyA9ICZkZXZfcHJpdi0+cmluZ1tIQVNfQkxUKGRldikgPyBCQ1MgOiBSQ1NdOwor CisJcmV0ID0gaTkxNV9nZW1fb2JqX2dndHRfcGluKG9iaiwgMCwgZmFsc2UsIGZhbHNlKTsKKwlp ZiAocmV0KQorCQlyZXR1cm4gcmV0OworCisJaWYgKG9iai0+dGlsaW5nX21vZGUgJiYgZGV2X3By aXYtPmluZm8tPmdlbiA8PSAzKSB7CisJCXJldCA9IGk5MTVfZ2VtX29iamVjdF9wdXRfZmVuY2Uo b2JqKTsKKwkJaWYgKHJldCkKKwkJCWdvdG8gdW5waW47CisJfQorCisJcmV0ID0gaTkxNV9nZW1f ZXhlY19mbHVzaF9vYmplY3Qob2JqLCByaW5nKTsKKwlpZiAocmV0KQorCQlnb3RvIHVucGluOwor CisJcmV0ID0gaW50ZWxfcmluZ19iZWdpbihyaW5nLCA2KTsKKwlpZiAocmV0KQorCQlnb3RvIHVu cGluOworCisJaW50ZWxfcmluZ19lbWl0KHJpbmcsIENPTE9SX0JMVF9DTUQgfCBCTFRfV1JJVEVf UkdCQSB8ICg1LTIpKTsKKwlpbnRlbF9yaW5nX2VtaXQocmluZywgQlBQXzMyIHwgUk9QX0ZJTExf Q09QWSB8IFBBR0VfU0laRSk7CisJaW50ZWxfcmluZ19lbWl0KHJpbmcsIG9iai0+YmFzZS5zaXpl ID4+IFBBR0VfU0hJRlQgPDwgMTYgfCBQQUdFX1NJWkUpOworCWludGVsX3JpbmdfZW1pdChyaW5n LCBpOTE1X2dlbV9vYmpfZ2d0dF9vZmZzZXQob2JqKSk7CisJaW50ZWxfcmluZ19lbWl0KHJpbmcs IDApOworCWludGVsX3JpbmdfZW1pdChyaW5nLCBNSV9OT09QKTsKKworCWludGVsX3JpbmdfYWR2 YW5jZShyaW5nKTsKKwlpOTE1X2dlbV9leGVjX2RpcnR5X29iamVjdChvYmosIHJpbmcpOworCit1 bnBpbjoKKwlpOTE1X2dlbV9vYmplY3RfdW5waW4ob2JqKTsKKwlyZXR1cm4gcmV0OworfQotLSAK MS44LjQucmMxCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcK aHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=