From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by gabe.freedesktop.org (Postfix) with ESMTPS id A4BC46ECB2 for ; Wed, 9 Jan 2019 17:44:28 +0000 (UTC) From: Lukasz Kalamarz Date: Wed, 9 Jan 2019 18:40:53 +0100 Message-Id: <20190109174057.16835-2-lukasz.kalamarz@intel.com> In-Reply-To: <20190109174057.16835-1-lukasz.kalamarz@intel.com> References: <20190109174057.16835-1-lukasz.kalamarz@intel.com> Subject: [igt-dev] [PATCH i-g-t 2/6] lib/ioctl_wrapper: Implement __gem_mmap List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: igt-dev@lists.freedesktop.org List-ID: UHJldmlvdXMgaW1wbGVtZW50YXRpb24gb2YgX19nZW1fbW1hcF9fY3B1IGFuZCBfX2dlbV9tbWFw X3djICBvbmx5CmRpZmZlciB3aXRoIHNldHRpbmcgcHJvcGVyIGZsYWcgZm9yIGNhY2hpbmcuIFRo aXMgcGF0Y2ggaW1wbGVtZW50IF9fZ2VtX21tYXAKd2hpY2ggbWVyZ2UgdGhvc2UgdHdvIGZ1bmN0 aW9ucyBpbnRvIG9uZSB3cmFwcGVyLgpTbWFsbCBkb2N1bWVudGF0aW9uIG1vZGlmaWNhdGlvbiBh cmUgYWRkIHRvIGJlIGluIHBhciB3aXRoIG5ldyBpbXBsZW1lbnRhdGlvbi4KClNpZ25lZC1vZmYt Ynk6IEx1a2FzeiBLYWxhbWFyeiA8bHVrYXN6LmthbGFtYXJ6QGludGVsLmNvbT4KQ2M6IE1pY2hh bCBXaW5pYXJza2kgPG1pY2hhbC53aW5pYXJza2lAaW50ZWwuY29tPgpDYzogS2F0YXJ6eW5hIERl YyA8a2F0YXJ6eW5hLmRlY0BpbnRlbC5jb20+CkNjOiBEYW5pZWxlIENlcmFvbG8gU3B1cmlvIDxk YW5pZWxlLmNlcmFvbG9zcHVyaW9AaW50ZWwuY29tPgotLS0KIGxpYi9pb2N0bF93cmFwcGVycy5j IHwgOTYgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0KIGxpYi9p b2N0bF93cmFwcGVycy5oIHwgIDEgKwogMiBmaWxlcyBjaGFuZ2VkLCA2OCBpbnNlcnRpb25zKCsp LCAyOSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9saWIvaW9jdGxfd3JhcHBlcnMuYyBiL2xp Yi9pb2N0bF93cmFwcGVycy5jCmluZGV4IGY3MWYwZTMyLi44Nzc0NGVkYyAxMDA2NDQKLS0tIGEv bGliL2lvY3RsX3dyYXBwZXJzLmMKKysrIGIvbGliL2lvY3RsX3dyYXBwZXJzLmMKQEAgLTczNiw2 ICs3MzYsNDUgQEAgYm9vbCBnZW1fbW1hcF9faGFzX3djKGludCBmZCkKIAlyZXR1cm4gaGFzX3dj ID4gMDsKIH0KIAorLyoqCisgKiBfX2dlbV9tbWFwOgorICogQGZkOiBvcGVuIGk5MTUgZHJtIGZp bGUgZGVzY3JpcHRvcgorICogQGhhbmRsZTogZ2VtIGJ1ZmZlciBvYmplY3QgaGFuZGxlCisgKiBA b2Zmc2V0OiBvZmZzZXQgaW4gdGhlIGdlbSBidWZmZXIgb2YgdGhlIG1tYXAgYXJlbmEKKyAqIEBz aXplOiBzaXplIG9mIHRoZSBtbWFwIGFyZW5hCisgKiBAcHJvdDogbWVtb3J5IHByb3RlY3Rpb24g Yml0cyBhcyB1c2VkIGJ5IG1tYXAoKQorICogQHdjOiBmbGFnIG1hcmtpbmcgaWYgd2Ugd2FudCB0 byBzZXQgdXAgTU1BUF9XQyBmbGFnCisgKgorICogVGhpcyBmdW5jdGlvbnMgd3JhcHMgdXAgcHJv Y2VkdXJlIHRvIGVzdGFibGlzaCBhIG1lbW9yeSBtYXBwaW5nIHRocm91Z2gKKyAqIGRpcmVjdCBj cHUgYWNjZXNzLCBieXBhc3NpbmcgdGhlIGdwdSAodmFsaWQgZm9yIHdjID09IGZhbHNlKS4gRm9y IHdjID09IHRydWUKKyAqIGl0IGFsc28gYnlwYXNzIGNwdSBjYWNoZXMgY29tcGxldGVseSBhbmQg R1RUIHN5c3RlbSBhZ2VudCAoaS5lLiB0aGVyZSBpcyBubworICogYXV0b21hdGljIHRpbGluZyBv ZiB0aGUgbW1hcHBpbmcgdGhyb3VnaCB0aGUgZmVuY2UgcmVnaXN0ZXJzKS4KKyAqCisgKiBSZXR1 cm5zOiBBIHBvaW50ZXIgdG8gdGhlIGNyZWF0ZWQgbWVtb3J5IG1hcHBpbmcsIE5VTEwgb24gZmFp bHVyZS4KKyAqLwordm9pZCAqX19nZW1fbW1hcChpbnQgZmQsIHVpbnQzMl90IGhhbmRsZSwgdWlu dDY0X3Qgb2Zmc2V0LCB1aW50NjRfdCBzaXplLCB1bnNpZ25lZCBwcm90LCBib29sIHdjKQorewor CXN0cnVjdCBkcm1faTkxNV9nZW1fbW1hcCBhcmc7CisKKwlpZiAod2MgJiAhZ2VtX21tYXBfX2hh c193YyhmZCkpIHsKKwkJZXJybm8gPSBFTk9TWVM7CisJCXJldHVybiBOVUxMOworCX0KKworCW1l bXNldCgmYXJnLCAwLCBzaXplb2YoYXJnKSk7CisJYXJnLmhhbmRsZSA9IGhhbmRsZTsKKwlhcmcu b2Zmc2V0ID0gb2Zmc2V0OworCWFyZy5zaXplID0gc2l6ZTsKKwlhcmcuZmxhZ3MgPSB3YyA/IEk5 MTVfTU1BUF9XQyA6IDA7CisJaWYgKGlndF9pb2N0bChmZCwgRFJNX0lPQ1RMX0k5MTVfR0VNX01N QVAsICZhcmcpKQorCQlyZXR1cm4gTlVMTDsKKworCVZHKFZBTEdSSU5EX01BS0VfTUVNX0RFRklO RUQoZnJvbV91c2VyX3BvaW50ZXIoYXJnLmFkZHJfcHRyKSwgYXJnLnNpemUpKTsKKworCWVycm5v ID0gMDsKKwlyZXR1cm4gZnJvbV91c2VyX3BvaW50ZXIoYXJnLmFkZHJfcHRyKTsKK30KKwogLyoq CiAgKiBfX2dlbV9tbWFwX193YzoKICAqIEBmZDogb3BlbiBpOTE1IGRybSBmaWxlIGRlc2NyaXB0 b3IKQEAgLTc1MywyNSArNzkyLDIwIEBAIGJvb2wgZ2VtX21tYXBfX2hhc193YyhpbnQgZmQpCiAg Ki8KIHZvaWQgKl9fZ2VtX21tYXBfX3djKGludCBmZCwgdWludDMyX3QgaGFuZGxlLCB1aW50NjRf dCBvZmZzZXQsIHVpbnQ2NF90IHNpemUsIHVuc2lnbmVkIHByb3QpCiB7Ci0Jc3RydWN0IGRybV9p OTE1X2dlbV9tbWFwIGFyZzsKKyAgICAgICBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX21tYXAgbW1hcF9h cmc7CiAKLQlpZiAoIWdlbV9tbWFwX19oYXNfd2MoZmQpKSB7Ci0JCWVycm5vID0gRU5PU1lTOwot CQlyZXR1cm4gTlVMTDsKLQl9CisgICAgICAgbWVtc2V0KCZtbWFwX2FyZywgMCwgc2l6ZW9mKG1t YXBfYXJnKSk7CisgICAgICAgbW1hcF9hcmcuaGFuZGxlID0gaGFuZGxlOworICAgICAgIG1tYXBf YXJnLm9mZnNldCA9IG9mZnNldDsKKyAgICAgICBtbWFwX2FyZy5zaXplID0gc2l6ZTsKKyAgICAg ICBtbWFwX2FyZy5mbGFncyA9IEk5MTVfTU1BUF9XQzsKKyAgICAgICBpZiAoaWd0X2lvY3RsKGZk LCBEUk1fSU9DVExfSTkxNV9HRU1fTU1BUCwgJm1tYXBfYXJnKSkKKyAgICAgICAgICAgICAgIHJl dHVybiBOVUxMOwogCi0JbWVtc2V0KCZhcmcsIDAsIHNpemVvZihhcmcpKTsKLQlhcmcuaGFuZGxl ID0gaGFuZGxlOwotCWFyZy5vZmZzZXQgPSBvZmZzZXQ7Ci0JYXJnLnNpemUgPSBzaXplOwotCWFy Zy5mbGFncyA9IEk5MTVfTU1BUF9XQzsKLQlpZiAoaWd0X2lvY3RsKGZkLCBEUk1fSU9DVExfSTkx NV9HRU1fTU1BUCwgJmFyZykpCi0JCXJldHVybiBOVUxMOworICAgICAgIFZHKFZBTEdSSU5EX01B S0VfTUVNX0RFRklORUQoZnJvbV91c2VyX3BvaW50ZXIobW1hcF9hcmcuYWRkcl9wdHIpLCBtbWFw X2FyZy5zaXplKSk7CiAKLQlWRyhWQUxHUklORF9NQUtFX01FTV9ERUZJTkVEKGZyb21fdXNlcl9w b2ludGVyKGFyZy5hZGRyX3B0ciksIGFyZy5zaXplKSk7Ci0KLQllcnJubyA9IDA7Ci0JcmV0dXJu IGZyb21fdXNlcl9wb2ludGVyKGFyZy5hZGRyX3B0cik7CisgICAgICAgZXJybm8gPSAwOworICAg ICAgIHJldHVybiBmcm9tX3VzZXJfcG9pbnRlcihtbWFwX2FyZy5hZGRyX3B0cik7CiB9CiAKIC8q KgpAQCAtNzgyLDEzICs4MTYsMTYgQEAgdm9pZCAqX19nZW1fbW1hcF9fd2MoaW50IGZkLCB1aW50 MzJfdCBoYW5kbGUsIHVpbnQ2NF90IG9mZnNldCwgdWludDY0X3Qgc2l6ZSwgdW4KICAqIEBzaXpl OiBzaXplIG9mIHRoZSBtbWFwIGFyZW5hCiAgKiBAcHJvdDogbWVtb3J5IHByb3RlY3Rpb24gYml0 cyBhcyB1c2VkIGJ5IG1tYXAoKQogICoKLSAqIExpa2UgX19nZW1fbW1hcF9fd2MoKSBleGNlcHQg d2UgYXNzZXJ0IG9uIGZhaWx1cmUuCisgKiBUaGlzIGZ1bmN0aW9ucyB3cmFwcyB1cCBwcm9jZWR1 cmUgdG8gZXN0YWJsaXNoIGEgbWVtb3J5IG1hcHBpbmcgdGhyb3VnaAorICogZGlyZWN0IGNwdSBh Y2Nlc3MsIGJ5cGFzc2luZyB0aGUgZ3B1IGFuZCBjcHUgY2FjaGVzIGNvbXBsZXRlbHkgYW5kIGFs c28KKyAqIGJ5cGFzc2luZyB0aGUgR1RUIHN5c3RlbSBhZ2VudCAoaS5lLiB0aGVyZSBpcyBubyBh dXRvbWF0aWMgdGlsaW5nIG9mCisgKiB0aGUgbW1hcHBpbmcgdGhyb3VnaCB0aGUgZmVuY2UgcmVn aXN0ZXJzKS5XZSBhc3NlcnQgb24gZmFpbHVyZS4KICAqCiAgKiBSZXR1cm5zOiBBIHBvaW50ZXIg dG8gdGhlIGNyZWF0ZWQgbWVtb3J5IG1hcHBpbmcKICAqLwogdm9pZCAqZ2VtX21tYXBfX3djKGlu dCBmZCwgdWludDMyX3QgaGFuZGxlLCB1aW50NjRfdCBvZmZzZXQsIHVpbnQ2NF90IHNpemUsIHVu c2lnbmVkIHByb3QpCiB7Ci0Jdm9pZCAqcHRyID0gX19nZW1fbW1hcF9fd2MoZmQsIGhhbmRsZSwg b2Zmc2V0LCBzaXplLCBwcm90KTsKKwl2b2lkICpwdHIgPSBfX2dlbV9tbWFwKGZkLCBoYW5kbGUs IG9mZnNldCwgc2l6ZSwgcHJvdCwgdHJ1ZSk7CiAJaWd0X2Fzc2VydChwdHIpOwogCXJldHVybiBw dHI7CiB9CkBAIC04MTAsMTcgKzg0NywxNyBAQCB2b2lkICpfX2dlbV9tbWFwX19jcHUoaW50IGZk LCB1aW50MzJfdCBoYW5kbGUsIHVpbnQ2NF90IG9mZnNldCwgdWludDY0X3Qgc2l6ZSwgdQogewog CXN0cnVjdCBkcm1faTkxNV9nZW1fbW1hcCBtbWFwX2FyZzsKIAotCW1lbXNldCgmbW1hcF9hcmcs IDAsIHNpemVvZihtbWFwX2FyZykpOwotCW1tYXBfYXJnLmhhbmRsZSA9IGhhbmRsZTsKLQltbWFw X2FyZy5vZmZzZXQgPSBvZmZzZXQ7Ci0JbW1hcF9hcmcuc2l6ZSA9IHNpemU7Ci0JaWYgKGlndF9p b2N0bChmZCwgRFJNX0lPQ1RMX0k5MTVfR0VNX01NQVAsICZtbWFwX2FyZykpCi0JCXJldHVybiBO VUxMOworICAgICAgIG1lbXNldCgmbW1hcF9hcmcsIDAsIHNpemVvZihtbWFwX2FyZykpOworICAg ICAgIG1tYXBfYXJnLmhhbmRsZSA9IGhhbmRsZTsKKyAgICAgICBtbWFwX2FyZy5vZmZzZXQgPSBv ZmZzZXQ7CisgICAgICAgbW1hcF9hcmcuc2l6ZSA9IHNpemU7CisgICAgICAgaWYgKGlndF9pb2N0 bChmZCwgRFJNX0lPQ1RMX0k5MTVfR0VNX01NQVAsICZtbWFwX2FyZykpCisgICAgICAgICAgICAg ICByZXR1cm4gTlVMTDsKIAotCVZHKFZBTEdSSU5EX01BS0VfTUVNX0RFRklORUQoZnJvbV91c2Vy X3BvaW50ZXIobW1hcF9hcmcuYWRkcl9wdHIpLCBtbWFwX2FyZy5zaXplKSk7CisgICAgICAgVkco VkFMR1JJTkRfTUFLRV9NRU1fREVGSU5FRChmcm9tX3VzZXJfcG9pbnRlcihtbWFwX2FyZy5hZGRy X3B0ciksIG1tYXBfYXJnLnNpemUpKTsKIAotCWVycm5vID0gMDsKLQlyZXR1cm4gZnJvbV91c2Vy X3BvaW50ZXIobW1hcF9hcmcuYWRkcl9wdHIpOworICAgICAgIGVycm5vID0gMDsKKyAgICAgICBy ZXR1cm4gZnJvbV91c2VyX3BvaW50ZXIobW1hcF9hcmcuYWRkcl9wdHIpOwogfQogCiAvKioKQEAg LTgzMSwxMyArODY4LDE0IEBAIHZvaWQgKl9fZ2VtX21tYXBfX2NwdShpbnQgZmQsIHVpbnQzMl90 IGhhbmRsZSwgdWludDY0X3Qgb2Zmc2V0LCB1aW50NjRfdCBzaXplLCB1CiAgKiBAc2l6ZTogc2l6 ZSBvZiB0aGUgbW1hcCBhcmVuYQogICogQHByb3Q6IG1lbW9yeSBwcm90ZWN0aW9uIGJpdHMgYXMg dXNlZCBieSBtbWFwKCkKICAqCi0gKiBMaWtlIF9fZ2VtX21tYXBfX2NwdSgpIGV4Y2VwdCB3ZSBh c3NlcnQgb24gZmFpbHVyZS4KKyAqIFRoaXMgZnVuY3Rpb25zIHdyYXBzIHVwIHByb2NlZHVyZSB0 byBlc3RhYmxpc2ggYSBtZW1vcnkgbWFwcGluZyB0aHJvdWdoCisgKiBkaXJlY3QgY3B1IGFjY2Vz cywgYnlwYXNzaW5nIHRoZSBncHUgY29tcGxldGVseSBhbmQgd2UgYXNzZXJ0IG9uIGZhaWx1cmUu CiAgKgogICogUmV0dXJuczogQSBwb2ludGVyIHRvIHRoZSBjcmVhdGVkIG1lbW9yeSBtYXBwaW5n CiAgKi8KIHZvaWQgKmdlbV9tbWFwX19jcHUoaW50IGZkLCB1aW50MzJfdCBoYW5kbGUsIHVpbnQ2 NF90IG9mZnNldCwgdWludDY0X3Qgc2l6ZSwgdW5zaWduZWQgcHJvdCkKIHsKLQl2b2lkICpwdHIg PSBfX2dlbV9tbWFwX19jcHUoZmQsIGhhbmRsZSwgb2Zmc2V0LCBzaXplLCBwcm90KTsKKwl2b2lk ICpwdHIgPSBfX2dlbV9tbWFwKGZkLCBoYW5kbGUsIG9mZnNldCwgc2l6ZSwgcHJvdCwgZmFsc2Up OwogCWlndF9hc3NlcnQocHRyKTsKIAlyZXR1cm4gcHRyOwogfQpkaWZmIC0tZ2l0IGEvbGliL2lv Y3RsX3dyYXBwZXJzLmggYi9saWIvaW9jdGxfd3JhcHBlcnMuaAppbmRleCBiMjJiMzZiMC4uNTFl NjZjMDggMTAwNjQ0Ci0tLSBhL2xpYi9pb2N0bF93cmFwcGVycy5oCisrKyBiL2xpYi9pb2N0bF93 cmFwcGVycy5oCkBAIC05Nyw2ICs5Nyw3IEBAIHZvaWQgKmdlbV9tbWFwX193YyhpbnQgZmQsIHVp bnQzMl90IGhhbmRsZSwgdWludDY0X3Qgb2Zmc2V0LCB1aW50NjRfdCBzaXplLCB1bnNpCiB2b2lk ICpfX2dlbV9tbWFwX19ndHQoaW50IGZkLCB1aW50MzJfdCBoYW5kbGUsIHVpbnQ2NF90IHNpemUs IHVuc2lnbmVkIHByb3QpOwogdm9pZCAqX19nZW1fbW1hcF9fY3B1KGludCBmZCwgdWludDMyX3Qg aGFuZGxlLCB1aW50NjRfdCBvZmZzZXQsIHVpbnQ2NF90IHNpemUsIHVuc2lnbmVkIHByb3QpOwog dm9pZCAqX19nZW1fbW1hcF9fd2MoaW50IGZkLCB1aW50MzJfdCBoYW5kbGUsIHVpbnQ2NF90IG9m ZnNldCwgdWludDY0X3Qgc2l6ZSwgdW5zaWduZWQgcHJvdCk7Cit2b2lkICpfX2dlbV9tbWFwKGlu dCBmZCwgdWludDMyX3QgaGFuZGxlLCB1aW50NjRfdCBvZmZzZXQsIHVpbnQ2NF90IHNpemUsIHVu c2lnbmVkIHByb3QsIGJvb2wgd2MpOwogCiBpbnQgZ2VtX211bm1hcCh2b2lkICpwdHIsIHVpbnQ2 NF90IHNpemUpOwogCi0tIAoyLjE3LjIKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCmlndC1kZXYgbWFpbGluZyBsaXN0CmlndC1kZXZAbGlzdHMuZnJlZWRl c2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8v aWd0LWRldgo=