From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH 07/39] drm/i915: Introduce the i915_user_extension_method Date: Wed, 13 Mar 2019 14:43:29 +0000 Message-ID: <20190313144401.17735-7-chris@chris-wilson.co.uk> References: <20190313144401.17735-1-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 (mail.fireflyinternet.com [109.228.58.192]) by gabe.freedesktop.org (Postfix) with ESMTPS id E36806E0FD for ; Wed, 13 Mar 2019 14:45:45 +0000 (UTC) In-Reply-To: <20190313144401.17735-1-chris@chris-wilson.co.uk> 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 QW4gaWRlYSBmb3IgZXh0ZW5kaW5nIHVBQkkgaW5zcGlyZWQgYnkgVnVsa2FuJ3MgZXh0ZW5zaW9u IGNoYWlucy4KSW5zdGVhZCBvZiBleHBhbmRpbmcgdGhlIGRhdGEgc3RydWN0IGZvciBlYWNoIGlv Y3RsIGV2ZXJ5IHRpbWUgd2UgbmVlZAp0byBhZGQgYSBuZXcgZmVhdHVyZSwgZGVmaW5lIGFuIGV4 dGVuc2lvbiBjaGFpbiBpbnN0ZWFkLiBBcyB3ZSBhZGQKb3B0aW9uYWwgaW50ZXJmYWNlcyB0byBj b250cm9sIHRoZSBpb2N0bCwgd2UgZGVmaW5lIGEgbmV3IGV4dGVuc2lvbgpzdHJ1Y3QgdGhhdCBj YW4gYmUgbGlua2VkIGludG8gdGhlIGlvY3RsIGRhdGEgb25seSB3aGVuIHJlcXVpcmVkIGJ5IHRo ZQp1c2VyLiBUaGUga2V5IGFkdmFudGFnZSBiZWluZyBhYmxlIHRvIGlnbm9yZSBsYXJnZSBjb250 cm9sIHN0cnVjdHMgZm9yCm9wdGlvbmFsIGludGVyZmFjZXMvZXh0ZW5zaW9ucywgd2hpbGUgYmVp bmcgYWJsZSB0byBwcm9jZXNzIHRoZW0gaW4gYQpjb25zaXN0ZW50IG1hbm5lci4KCkluIGNvbXBh cmlzb24gdG8gb3RoZXIgZXh0ZW5zaWJsZSBpb2N0bHMsIHRoZSBrZXkgZGlmZmVyZW5jZSBpcyB0 aGUKdXNlIG9mIGEgbGlua2VkIGNoYWluIG9mIGV4dGVuc2lvbiBzdHJ1Y3RzIHZzIGFuIGFycmF5 IG9mIHRhZ2dlZApwb2ludGVycy4gRm9yIGV4YW1wbGUsCgpzdHJ1Y3QgZHJtX2FtZGdwdV9jc19j aHVuayB7CiAgICAgICAgX191MzIgICAgICAgICAgIGNodW5rX2lkOwogICAgICAgIF9fdTMyICAg ICAgICAgICBsZW5ndGhfZHc7CiAgICAgICAgX191NjQgICAgICAgICAgIGNodW5rX2RhdGE7Cn07 CgpzdHJ1Y3QgZHJtX2FtZGdwdV9jc19pbiB7CiAgICAgICAgX191MzIgICAgICAgICAgIGN0eF9p ZDsKICAgICAgICBfX3UzMiAgICAgICAgICAgYm9fbGlzdF9oYW5kbGU7CiAgICAgICAgX191MzIg ICAgICAgICAgIG51bV9jaHVua3M7CiAgICAgICAgX191MzIgICAgICAgICAgIF9wYWQ7CiAgICAg ICAgX191NjQgICAgICAgICAgIGNodW5rczsKfTsKCmFsbG93cyB1c2Vyc3BhY2UgdG8gcGFzcyBp biBhcnJheSBvZiBwb2ludGVycyB0byBleHRlbnNpb24gc3RydWN0cywgYnV0Cm11c3QgdGhlcmVm b3JlIGtlZXAgY29uc3RydWN0aW5nIHRoYXQgYXJyYXkgYWxvbmcgc2lkZSB0aGUgY29tbWFuZCBz dHJlYW0uCkluIGR5bmFtaWMgc2l0dWF0aW9ucyBsaWtlIHRoYXQsIGEgbGlua2VkIGxpc3QgaXMg cHJlZmVycmVkIGFuZCBkb2VzIG5vdApzaW1pbGFyIGZyb20gZXh0cmEgY2FjaGUgbGluZSBtaXNz ZXMgYXMgdGhlIGV4dGVuc2lvbiBzdHJ1Y3RzIHRoZW1zZWx2ZXMKbXVzdCBzdGlsbCBiZSBsb2Fk ZWQgc2VwYXJhdGUgdG8gdGhlIGNodW5rcyBhcnJheS4KCnYyOiBBcHBseSB0aGUgdGFpbCBjYWxs IG9wdGltaXNhdGlvbiBkaXJlY3RseSB0byBuaXAgdGhlIHdvcnJ5IG9mIHN0YWNrCm92ZXJmbG93 IGluIHRoZSBidWQuCnYzOiBEZWZlbmQgYWdhaW5zdCByZWN1cnNpb24uCgpPcGVuczoKLSBkbyB3 ZSBpbmNsdWRlIHRoZSByZXN1bHQgYXMgYW4gb3V0LWZpZWxkIGluIGVhY2ggY2hhaW4/CnN0cnVj dCBpOTE1X3VzZXJfZXh0ZW5zaW9uIHsKCV9fdTY0IG5leHRfZXh0ZW5zaW9uOwoJX191NjQgbmFt ZTsKCV9fczMyIHJlc3VsdDsKCV9fdTMyIG1iejsgLyogcmVzZXJ2ZWQgZm9yIGZ1dHVyZSB1c2Ug Ki8KfTsKKiBVbmRlY2lkZWQsIHNvIHByb3Zpc2lvbiBzb21lIHJvb20gZm9yIGZ1dHVyZSBleHBh bnNpb24uCgpTaWduZWQtb2ZmLWJ5OiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5j by51az4KQ2M6IFR2cnRrbyBVcnN1bGluIDx0dnJ0a28udXJzdWxpbkBpbnRlbC5jb20+CkNjOiBK b29uYXMgTGFodGluZW4gPGpvb25hcy5sYWh0aW5lbkBsaW51eC5pbnRlbC5jb20+Ci0tLQogZHJp dmVycy9ncHUvZHJtL2k5MTUvTWFrZWZpbGUgICAgICAgICAgICAgICB8ICAxICsKIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfdXNlcl9leHRlbnNpb25zLmMgfCA1OSArKysrKysrKysrKysrKysr KysrKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdXNlcl9leHRlbnNpb25zLmggfCAyMCAr KysrKysrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3V0aWxzLmggICAgICAgICAgIHwgMTIg KysrKysKIGluY2x1ZGUvdWFwaS9kcm0vaTkxNV9kcm0uaCAgICAgICAgICAgICAgICAgfCAyMiAr KysrKysrKwogNSBmaWxlcyBjaGFuZ2VkLCAxMTQgaW5zZXJ0aW9ucygrKQogY3JlYXRlIG1vZGUg MTAwNjQ0IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdXNlcl9leHRlbnNpb25zLmMKIGNyZWF0 ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3VzZXJfZXh0ZW5zaW9ucy5o CgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvTWFrZWZpbGUgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9NYWtlZmlsZQppbmRleCA2OGZlY2YzNTU0NzEuLjYwZGUwNWYzZmE2MCAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvTWFrZWZpbGUKKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvTWFrZWZpbGUKQEAgLTQ2LDYgKzQ2LDcgQEAgaTkxNS15IDo9IGk5MTVfZHJ2Lm8g XAogCSAgaTkxNV9zd19mZW5jZS5vIFwKIAkgIGk5MTVfc3luY21hcC5vIFwKIAkgIGk5MTVfc3lz ZnMubyBcCisJICBpOTE1X3VzZXJfZXh0ZW5zaW9ucy5vIFwKIAkgIGludGVsX2Nzci5vIFwKIAkg IGludGVsX2RldmljZV9pbmZvLm8gXAogCSAgaW50ZWxfcG0ubyBcCmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3VzZXJfZXh0ZW5zaW9ucy5jIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV91c2VyX2V4dGVuc2lvbnMuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwMDAwMDAuLmQyOGM5NTIyMWRiNAotLS0gL2Rldi9udWxsCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfdXNlcl9leHRlbnNpb25zLmMKQEAgLTAsMCArMSw1OSBAQAorLyoKKyAq IFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVQKKyAqCisgKiBDb3B5cmlnaHQgwqkgMjAxOCBJ bnRlbCBDb3Jwb3JhdGlvbgorICovCisKKyNpbmNsdWRlIDxsaW51eC9ub3NwZWMuaD4KKyNpbmNs dWRlIDxsaW51eC9zY2hlZC9zaWduYWwuaD4KKyNpbmNsdWRlIDxsaW51eC91YWNjZXNzLmg+CisK KyNpbmNsdWRlIDx1YXBpL2RybS9pOTE1X2RybS5oPgorCisjaW5jbHVkZSAiaTkxNV91c2VyX2V4 dGVuc2lvbnMuaCIKKyNpbmNsdWRlICJpOTE1X3V0aWxzLmgiCisKK2ludCBpOTE1X3VzZXJfZXh0 ZW5zaW9ucyhzdHJ1Y3QgaTkxNV91c2VyX2V4dGVuc2lvbiBfX3VzZXIgKmV4dCwKKwkJCSBjb25z dCBpOTE1X3VzZXJfZXh0ZW5zaW9uX2ZuICp0YmwsCisJCQkgdW5zaWduZWQgbG9uZyBjb3VudCwK KwkJCSB2b2lkICpkYXRhKQoreworCXVuc2lnbmVkIGludCBzdGFja2RlcHRoID0gNTEyOworCisJ d2hpbGUgKGV4dCkgeworCQlpbnQgaSwgZXJyOworCQl1NjQgeDsKKworCQlpZiAoIXN0YWNrZGVw dGgtLSkgLyogcmVjdXJzaW9uIHZzIHVzZWZ1bCBmbGV4aWJpbGl0eSAqLworCQkJcmV0dXJuIC1F MkJJRzsKKworCQllcnIgPSBjaGVja191c2VyX21ieigmZXh0LT5mbGFncyk7CisJCWlmIChlcnIp CisJCQlyZXR1cm4gZXJyOworCisJCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKGV4dC0+cnN2 ZCk7IGkrKykgeworCQkJZXJyID0gY2hlY2tfdXNlcl9tYnooJmV4dC0+cnN2ZFtpXSk7CisJCQlp ZiAoZXJyKQorCQkJCXJldHVybiBlcnI7CisJCX0KKworCQlpZiAoZ2V0X3VzZXIoeCwgJmV4dC0+ bmFtZSkpCisJCQlyZXR1cm4gLUVGQVVMVDsKKworCQllcnIgPSAtRUlOVkFMOworCQlpZiAoeCA8 IGNvdW50KSB7CisJCQl4ID0gYXJyYXlfaW5kZXhfbm9zcGVjKHgsIGNvdW50KTsKKwkJCWlmICh0 YmxbeF0pCisJCQkJZXJyID0gdGJsW3hdKGV4dCwgZGF0YSk7CisJCX0KKwkJaWYgKGVycikKKwkJ CXJldHVybiBlcnI7CisKKwkJaWYgKGdldF91c2VyKHgsICZleHQtPm5leHRfZXh0ZW5zaW9uKSkK KwkJCXJldHVybiAtRUZBVUxUOworCisJCWV4dCA9IHU2NF90b191c2VyX3B0cih4KTsKKwl9CisK KwlyZXR1cm4gMDsKK30KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdXNl cl9leHRlbnNpb25zLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3VzZXJfZXh0ZW5zaW9u cy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uMzEzYTUxMGIwNjhh Ci0tLSAvZGV2L251bGwKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV91c2VyX2V4dGVu c2lvbnMuaApAQCAtMCwwICsxLDIwIEBACisvKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6 IE1JVAorICoKKyAqIENvcHlyaWdodCDCqSAyMDE4IEludGVsIENvcnBvcmF0aW9uCisgKi8KKwor I2lmbmRlZiBJOTE1X1VTRVJfRVhURU5TSU9OU19ICisjZGVmaW5lIEk5MTVfVVNFUl9FWFRFTlNJ T05TX0gKKworc3RydWN0IGk5MTVfdXNlcl9leHRlbnNpb247CisKK3R5cGVkZWYgaW50ICgqaTkx NV91c2VyX2V4dGVuc2lvbl9mbikoc3RydWN0IGk5MTVfdXNlcl9leHRlbnNpb24gX191c2VyICpl eHQsCisJCQkJICAgICAgdm9pZCAqZGF0YSk7CisKK2ludCBpOTE1X3VzZXJfZXh0ZW5zaW9ucyhz dHJ1Y3QgaTkxNV91c2VyX2V4dGVuc2lvbiBfX3VzZXIgKmV4dCwKKwkJCSBjb25zdCBpOTE1X3Vz ZXJfZXh0ZW5zaW9uX2ZuICp0YmwsCisJCQkgdW5zaWduZWQgbG9uZyBjb3VudCwKKwkJCSB2b2lk ICpkYXRhKTsKKworI2VuZGlmIC8qIEk5MTVfVVNFUl9FWFRFTlNJT05TX0ggKi8KZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdXRpbHMuaCBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfdXRpbHMuaAppbmRleCA5NzI2ZGYzN2M0YzQuLjUxYjY1OGZhOTY2ZCAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV91dGlscy5oCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfdXRpbHMuaApAQCAtMTA1LDYgKzEwNSwxOCBAQAogCV9fVDsJCQkJCQkJ CVwKIH0pCiAKKyNkZWZpbmUgY29udGFpbmVyX29mX3VzZXIocHRyLCB0eXBlLCBtZW1iZXIpICh7 CQkJCVwKKwl2b2lkIF9fdXNlciAqX19tcHRyID0gKHZvaWQgX191c2VyICopKHB0cik7CQkJXAor CUJVSUxEX0JVR19PTl9NU0coIV9fc2FtZV90eXBlKCoocHRyKSwgKCh0eXBlICopMCktPm1lbWJl cikgJiYJXAorCQkJICFfX3NhbWVfdHlwZSgqKHB0ciksIHZvaWQpLAkJCVwKKwkJCSAicG9pbnRl ciB0eXBlIG1pc21hdGNoIGluIGNvbnRhaW5lcl9vZigpIik7CVwKKwkoKHR5cGUgX191c2VyICop KF9fbXB0ciAtIG9mZnNldG9mKHR5cGUsIG1lbWJlcikpKTsgfSkKKworI2RlZmluZSBjaGVja191 c2VyX21ieihVKSAoewkJCQkJCVwKKwl0eXBlb2YoKihVKSkgbWJ6X187CQkJCQkJXAorCWdldF91 c2VyKG1iel9fLCAoVSkpID8gLUVGQVVMVCA6IG1iel9fID8gLUVJTlZBTCA6IDA7CQlcCit9KQor CiBzdGF0aWMgaW5saW5lIHU2NCBwdHJfdG9fdTY0KGNvbnN0IHZvaWQgKnB0cikKIHsKIAlyZXR1 cm4gKHVpbnRwdHJfdClwdHI7CmRpZmYgLS1naXQgYS9pbmNsdWRlL3VhcGkvZHJtL2k5MTVfZHJt LmggYi9pbmNsdWRlL3VhcGkvZHJtL2k5MTVfZHJtLmgKaW5kZXggYWEyZDRjNzNhOTdkLi4xYzY5 ZWQxNmE5MjMgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvdWFwaS9kcm0vaTkxNV9kcm0uaAorKysgYi9p bmNsdWRlL3VhcGkvZHJtL2k5MTVfZHJtLmgKQEAgLTYyLDYgKzYyLDI4IEBAIGV4dGVybiAiQyIg ewogI2RlZmluZSBJOTE1X0VSUk9SX1VFVkVOVAkJIkVSUk9SIgogI2RlZmluZSBJOTE1X1JFU0VU X1VFVkVOVAkJIlJFU0VUIgogCisvKgorICogaTkxNV91c2VyX2V4dGVuc2lvbjogQmFzZSBjbGFz cyBmb3IgZGVmaW5pbmcgYSBjaGFpbiBvZiBleHRlbnNpb25zCisgKgorICogTWFueSBpbnRlcmZh Y2VzIG5lZWQgdG8gZ3JvdyBvdmVyIHRpbWUuIEluIG1vc3QgY2FzZXMgd2UgY2FuIHNpbXBseQor ICogZXh0ZW5kIHRoZSBzdHJ1Y3QgYW5kIGhhdmUgdXNlcnNwYWNlIHBhc3MgaW4gbW9yZSBkYXRh LiBBbm90aGVyIG9wdGlvbiwKKyAqIGFzIGRlbW9uc3RyYXRlZCBieSBWdWxrYW4ncyBhcHByb2Fj aCB0byBwcm92aWRpbmcgZXh0ZW5zaW9ucyBmb3IgZm9yd2FyZAorICogYW5kIGJhY2t3YXJkIGNv bXBhdGliaWxpdHksIGlzIHRvIHVzZSBhIGxpc3Qgb2Ygb3B0aW9uYWwgc3RydWN0cyB0bworICog cHJvdmlkZSB0aG9zZSBleHRyYSBkZXRhaWxzLgorICoKKyAqIFRoZSBrZXkgYWR2YW50YWdlIHRv IHVzaW5nIGFuIGV4dGVuc2lvbiBjaGFpbiBpcyB0aGF0IGl0IGFsbG93cyB1cyB0bworICogcmVk ZWZpbmUgdGhlIGludGVyZmFjZSBtb3JlIGVhc2lseSB0aGFuIGFuIGV2ZXIgZ3Jvd2luZyBzdHJ1 Y3Qgb2YKKyAqIGluY3JlYXNpbmcgY29tcGxleGl0eSwgYW5kIGZvciBsYXJnZSBwYXJ0cyBvZiB0 aGF0IGludGVyZmFjZSB0byBiZQorICogZW50aXJlbHkgb3B0aW9uYWwuIFRoZSBkb3duc2lkZSBp cyBtb3JlIHBvaW50ZXIgY2hhc2luZzsgY2hhc2luZyBhY3Jvc3MKKyAqIHRoZSBfX3VzZXIgYm91 bmRhcnkgd2l0aCBwb2ludGVycyBlbmNhcHN1bGF0ZWQgaW5zaWRlIHU2NC4KKyAqLworc3RydWN0 IGk5MTVfdXNlcl9leHRlbnNpb24geworCV9fdTY0IG5leHRfZXh0ZW5zaW9uOworCV9fdTMyIG5h bWU7CisJX191MzIgZmxhZ3M7IC8qIEFsbCB1bmRlZmluZWQgYml0cyBtdXN0IGJlIHplcm8uICov CisJX191MzIgcnN2ZFs0XTsgLyogUmVzZXJ2ZWQgZm9yIGZ1dHVyZSB1c2U7IG11c3QgYmUgemVy by4gKi8KK307CisKIC8qCiAgKiBNT0NTIGluZGV4ZXMgdXNlZCBmb3IgR1BVIHN1cmZhY2VzLCBk ZWZpbmluZyB0aGUgY2FjaGVhYmlsaXR5IG9mIHRoZQogICogc3VyZmFjZSBkYXRhIGFuZCB0aGUg Y29oZXJlbmN5IGZvciB0aGlzIGRhdGEgd3J0LiBDUFUgdnMuIEdQVSBhY2Nlc3Nlcy4KLS0gCjIu MjAuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50 ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBz Oi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4