From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTPS id C826B8931E for ; Thu, 13 Jun 2019 21:55:23 +0000 (UTC) From: Antonio Argenziano Date: Thu, 13 Jun 2019 14:54:43 -0700 Message-Id: <20190613215448.17994-5-antonio.argenziano@intel.com> In-Reply-To: <20190613215448.17994-1-antonio.argenziano@intel.com> References: <20190613215448.17994-1-antonio.argenziano@intel.com> MIME-Version: 1.0 Subject: [igt-dev] [PATCH i-g-t v6 4/9] lib/i915: Add mmap_offset support List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , 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 Cc: Janulgue Abdiel , Matthew Auld List-ID: RnJvbTogIkthbGFtYXJ6LCBMdWthc3oiIDxsdWthc3oua2FsYW1hcnpAaW50ZWwuY29tPgoKV2l0 aCByZWNlbnRseSBwcm9wb3NlZCBjaGFuZ2VzLCBJR1QgbmVlZCB0byBzdGFydCBzdXBwb3J0aW5n IG5ldwp3YXkgb2YgbW1hcGluZyBvYmplY3QsIHdoaWNoIHdpbGwgYmUgdXNlZCBmcm9tIG5vdyBi eSBkZWZhdWx0LgpUaGlzIHBhdGNoIG1vZGlmeSBnZW1fbW1hcF93YyBhbmQgZ2VtX21tYXAgZnVu Y3Rpb25zIHRvIGJlCmluIHN5bmMgd2l0aCB0aG9zZSBjaGFuZ2VzLgoKdjI6CgktIEZpeCBJT0NU TCBudW1iZXIuIChEYW5pZWxlKQoJLSBNb3ZlIHdyYXBwZXJzIHRvIG5ldyBmaWxlLiAoQ2hyaXMp Cgp2MzoKCS0gVXNlIG1tYXAgSU9DVEwgZm9yIGxvd2VyIGxldmVsIHdyYXBwZXJzLiAoQ2hyaXMp Cgp2NDoKCS0gRG9uJ3QgdXNlIHN0YXRpYyB2YXJpYWJsZXMuIChDaHJpcykKCS0gUmVtZW1iZXIg Z2VtXyBwcmVmaXguIChDaHJpcykKCnY1OgoJLSBHbyBiYWNrIHRvIHVzaW5nIHN0YXRpYyB2YXJp YWJsZXMgKEFudG9uaW8pCgktIENoZWNrIG1tYXAgb2Zmc2V0IGlzIHByZXNlbnQgYmVmb3JlIG1h cHBpbmcgKEFudG9uaW8pCgpTaWduZWQtb2ZmLWJ5OiBMdWthc3ogS2FsYW1hcnogPGx1a2Fzei5r YWxhbWFyekBpbnRlbC5jb20+CkNjOiBKYW51bGd1ZSBBYmRpZWwgPGFiZGllbC5qYW51bGd1ZUBp bnRlbC5jb20+CkNjOiBNYXR0aGV3IEF1bGQgPG1hdHRoZXcuYXVsZEBpbnRlbC5jb20+CkNjOiBN aWNoYWwgV2luaWFyc2tpIDxtaWNoYWwud2luaWFyc2tpQGludGVsLmNvbT4KQ2M6IEFudG9uaW8g QXJnZW56aWFubyA8YW50b25pby5hcmdlbnppYW5vQGludGVsLmNvbT4KQ2M6IERhbmllbGUgU3B1 cmlvIENlcmFvbG8gPGRhbmllbGUuY2VyYW9sb3NwdXJpb0BpbnRlbC5jb20+CkNjOiBKb29uYXMg TGFodGluZW4gPGpvb25hcy5sYWh0aW5lbkBsaW51eC5pbnRlbC5jb20+CkNjOiBDaHJpcyBXaWxz b24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KU2lnbmVkLW9mZi1ieTogQW50b25pbyBBcmdl bnppYW5vIDxhbnRvbmlvLmFyZ2Vuemlhbm9AaW50ZWwuY29tPgotLS0KIGxpYi9pOTE1L2dlbV9t bWFuLmMgfCAxMjUgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0K IGxpYi9pOTE1L2dlbV9tbWFuLmggfCAgMzMgKysrKysrKysrKysrCiAyIGZpbGVzIGNoYW5nZWQs IDEzNyBpbnNlcnRpb25zKCspLCAyMSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9saWIvaTkx NS9nZW1fbW1hbi5jIGIvbGliL2k5MTUvZ2VtX21tYW4uYwppbmRleCBiNDNjY2Q5NS4uMDYzMWJm NDAgMTAwNjQ0Ci0tLSBhL2xpYi9pOTE1L2dlbV9tbWFuLmMKKysrIGIvbGliL2k5MTUvZ2VtX21t YW4uYwpAQCAtMTAzLDM0ICsxMDMsNDkgQEAgaW50IGdlbV9tdW5tYXAodm9pZCAqcHRyLCB1aW50 NjRfdCBzaXplKQogCiBib29sIGdlbV9tbWFwX19oYXNfd2MoaW50IGZkKQogewotCXN0cnVjdCBk cm1faTkxNV9nZXRwYXJhbSBncDsKLQlpbnQgbW1hcF92ZXJzaW9uID0gLTE7Ci0JaW50IGd0dF92 ZXJzaW9uID0gLTE7CiAJaW50IGhhc193YyA9IDA7CiAKLQltZW1zZXQoJmdwLCAwLCBzaXplb2Yo Z3ApKTsKLQlncC5wYXJhbSA9IEk5MTVfUEFSQU1fTU1BUF9HVFRfVkVSU0lPTjsKLQlncC52YWx1 ZSA9ICZndHRfdmVyc2lvbjsKLQlpb2N0bChmZCwgRFJNX0lPQ1RMX0k5MTVfR0VUUEFSQU0sICZn cCk7Ci0KLQltZW1zZXQoJmdwLCAwLCBzaXplb2YoZ3ApKTsKLQlncC5wYXJhbSA9IEk5MTVfUEFS QU1fTU1BUF9WRVJTSU9OOwotCWdwLnZhbHVlID0gJm1tYXBfdmVyc2lvbjsKLQlpb2N0bChmZCwg RFJNX0lPQ1RMX0k5MTVfR0VUUEFSQU0sICZncCk7Ci0KLQkvKiBEbyB3ZSBoYXZlIHRoZSBuZXcg bW1hcF9pb2N0bCB3aXRoIERPTUFJTl9XQz8gKi8KLQlpZiAobW1hcF92ZXJzaW9uID49IDEgJiYg Z3R0X3ZlcnNpb24gPj0gMikgewotCQlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX21tYXAgYXJnOworCS8q IERvIHdlIGhhdmUgdGhlIG5ldyBtbWFwX29mZnNldCBpb2N0bD8gKi8KKwlpZiAoZ2VtX2hhc19t bWFwX29mZnNldChmZCkpIHsKKwkJc3RydWN0IGxvY2FsX2RybV9pOTE1X2dlbV9tbWFwX29mZnNl dCBhcmc7CiAKIAkJLyogRG9lcyB0aGlzIGRldmljZSBzdXBwb3J0IHdjLW1tYXBzID8gKi8KIAkJ bWVtc2V0KCZhcmcsIDAsIHNpemVvZihhcmcpKTsKIAkJYXJnLmhhbmRsZSA9IGdlbV9jcmVhdGUo ZmQsIDQwOTYpOwogCQlhcmcub2Zmc2V0ID0gMDsKLQkJYXJnLnNpemUgPSA0MDk2OwotCQlhcmcu ZmxhZ3MgPSBJOTE1X01NQVBfV0M7Ci0JCWhhc193YyA9IGlndF9pb2N0bChmZCwgRFJNX0lPQ1RM X0k5MTVfR0VNX01NQVAsICZhcmcpID09IDA7CisJCWFyZy5mbGFncyA9IExPQ0FMX0k5MTVfTU1B UF9PRkZTRVRfV0M7CisJCWhhc193YyA9IGlndF9pb2N0bChmZCwgTE9DQUxfRFJNX0lPQ1RMX0k5 MTVfR0VNX01NQVBfT0ZGU0VULCAmYXJnKSA9PSAwOwogCQlnZW1fY2xvc2UoZmQsIGFyZy5oYW5k bGUpOworCX0gZWxzZSB7CisJCXN0cnVjdCBkcm1faTkxNV9nZXRwYXJhbSBncDsKKwkJaW50IG1t YXBfdmVyc2lvbiA9IC0xOworCQlpbnQgZ3R0X3ZlcnNpb24gPSAtMTsKKworCQltZW1zZXQoJmdw LCAwLCBzaXplb2YoZ3ApKTsKKwkJZ3AucGFyYW0gPSBJOTE1X1BBUkFNX01NQVBfR1RUX1ZFUlNJ T047CisJCWdwLnZhbHVlID0gJmd0dF92ZXJzaW9uOworCQlpb2N0bChmZCwgRFJNX0lPQ1RMX0k5 MTVfR0VUUEFSQU0sICZncCk7CisKKwkJbWVtc2V0KCZncCwgMCwgc2l6ZW9mKGdwKSk7CisJCWdw LnBhcmFtID0gSTkxNV9QQVJBTV9NTUFQX1ZFUlNJT047CisJCWdwLnZhbHVlID0gJm1tYXBfdmVy c2lvbjsKKwkJaW9jdGwoZmQsIERSTV9JT0NUTF9JOTE1X0dFVFBBUkFNLCAmZ3ApOworCisJCS8q IERvIHdlIGhhdmUgdGhlIG1tYXBfaW9jdGwgd2l0aCBET01BSU5fV0M/ICovCisJCWlmIChtbWFw X3ZlcnNpb24gPj0gMSAmJiBndHRfdmVyc2lvbiA+PSAyKSB7CisJCQlzdHJ1Y3QgZHJtX2k5MTVf Z2VtX21tYXAgYXJnOworCisJCQkvKiBEb2VzIHRoaXMgZGV2aWNlIHN1cHBvcnQgd2MtbW1hcHMg PyAqLworCQkJbWVtc2V0KCZhcmcsIDAsIHNpemVvZihhcmcpKTsKKwkJCWFyZy5oYW5kbGUgPSBn ZW1fY3JlYXRlKGZkLCA0MDk2KTsKKwkJCWFyZy5vZmZzZXQgPSAwOworCQkJYXJnLnNpemUgPSA0 MDk2OworCQkJYXJnLmZsYWdzID0gSTkxNV9NTUFQX1dDOworCQkJaGFzX3djID0gaWd0X2lvY3Rs KGZkLCBEUk1fSU9DVExfSTkxNV9HRU1fTU1BUCwgJmFyZykgPT0gMDsKKwkJCWdlbV9jbG9zZShm ZCwgYXJnLmhhbmRsZSk7CisJCX0KIAl9CisKIAllcnJubyA9IDA7CiAKIAlyZXR1cm4gaGFzX3dj ID4gMDsKQEAgLTIwNiw3ICsyMjEsMTIgQEAgdm9pZCAqX19nZW1fbW1hcF9fd2MoaW50IGZkLCB1 aW50MzJfdCBoYW5kbGUsIHVpbnQ2NF90IG9mZnNldCwgdWludDY0X3Qgc2l6ZSwgdW4KICAqLwog dm9pZCAqZ2VtX21tYXBfX3djKGludCBmZCwgdWludDMyX3QgaGFuZGxlLCB1aW50NjRfdCBvZmZz ZXQsIHVpbnQ2NF90IHNpemUsIHVuc2lnbmVkIHByb3QpCiB7Ci0Jdm9pZCAqcHRyID0gX19nZW1f bW1hcF9fd2MoZmQsIGhhbmRsZSwgb2Zmc2V0LCBzaXplLCBwcm90KTsKKwl2b2lkICpwdHI7CisK KwlwdHIgPSBfX2dlbV9tbWFwX29mZnNldChmZCwgaGFuZGxlLCBvZmZzZXQsIHNpemUsIHByb3Qs IExPQ0FMX0k5MTVfTU1BUF9PRkZTRVRfV0MpOworCWlmICghcHRyKQorCQlwdHIgPSBfX2dlbV9t bWFwX193YyhmZCwgaGFuZGxlLCBvZmZzZXQsIHNpemUsIHByb3QpOworCiAJaWd0X2Fzc2VydChw dHIpOwogCXJldHVybiBwdHI7CiB9CkBAIC0yNDMsNyArMjYzLDcwIEBAIHZvaWQgKl9fZ2VtX21t YXBfX2NwdShpbnQgZmQsIHVpbnQzMl90IGhhbmRsZSwgdWludDY0X3Qgb2Zmc2V0LCB1aW50NjRf dCBzaXplLCB1CiAgKi8KIHZvaWQgKmdlbV9tbWFwX19jcHUoaW50IGZkLCB1aW50MzJfdCBoYW5k bGUsIHVpbnQ2NF90IG9mZnNldCwgdWludDY0X3Qgc2l6ZSwgdW5zaWduZWQgcHJvdCkKIHsKLQl2 b2lkICpwdHIgPSBfX2dlbV9tbWFwX19jcHUoZmQsIGhhbmRsZSwgb2Zmc2V0LCBzaXplLCBwcm90 KTsKKwl2b2lkICpwdHI7CisKKwlwdHIgPSBfX2dlbV9tbWFwX29mZnNldChmZCwgaGFuZGxlLCBv ZmZzZXQsIHNpemUsIHByb3QsIExPQ0FMX0k5MTVfTU1BUF9PRkZTRVRfV0IpOworCWlmICghcHRy KQorCQlwdHIgPSBfX2dlbV9tbWFwKGZkLCBoYW5kbGUsIG9mZnNldCwgc2l6ZSwgcHJvdCwgMCk7 CisKIAlpZ3RfYXNzZXJ0KHB0cik7CiAJcmV0dXJuIHB0cjsKIH0KKworYm9vbCBnZW1faGFzX21t YXBfb2Zmc2V0KGludCBmZCkKK3sKKwlzdGF0aWMgaW50IGhhc19tbWFwX29mZnNldCA9IC0xOwor CisJaWYgKGhhc19tbWFwX29mZnNldCA9PSAtMSkgeworCQlzdHJ1Y3QgZHJtX2k5MTVfZ2V0cGFy YW0gZ3A7CisJCWhhc19tbWFwX29mZnNldCA9IDA7CisKKwkJbWVtc2V0KCZncCwgMCwgc2l6ZW9m KGdwKSk7CisJCWdwLnBhcmFtID0gMHg1NTsgLyogSTkxNV9QQVJBTV9NTUFQX09GRlNFVF9WRVJT SU9OICovCisJCWdwLnZhbHVlID0gJmhhc19tbWFwX29mZnNldDsKKwkJaW9jdGwoZmQsIERSTV9J T0NUTF9JOTE1X0dFVFBBUkFNLCAmZ3ApOworCX0KKworCXJldHVybiBoYXNfbW1hcF9vZmZzZXQg PiAwOworfQorCisvKioKKyAqIF9fZ2VtX21tYXBfb2Zmc2V0OgorICogQGZkOiBvcGVuIGk5MTUg ZHJtIGZpbGUgZGVzY3JpcHRvcgorICogQGhhbmRsZTogZ2VtIGJ1ZmZlciBvYmplY3QgaGFuZGxl CisgKiBAb2Zmc2V0OiBvZmZzZXQgaW4gdGhlIGdlbSBidWZmZXIgb2YgdGhlIG1tYXAgYXJlbmEK KyAqIEBzaXplOiBzaXplIG9mIHRoZSBtbWFwIGFyZW5hCisgKiBAcHJvdDogbWVtb3J5IHByb3Rl Y3Rpb24gYml0cyBhcyB1c2VkIGJ5IG1tYXAoKQorICogQGZsYWdzOiBmbGFncyB1c2VkIHRvIGRl dGVybWluZSBjYWNoaW5nCisgKgorICogU2ltaWxhciB0byBfX2dlbV9tbWFwIGJ1dCB1c2UgTU1B UF9PRkZTRVQgSU9DVEwuCisgKgorICogUmV0dXJuczogQSBwb2ludGVyIHRvIHRoZSBjcmVhdGVk IG1lbW9yeSBtYXBwaW5nLCBOVUxMIG9uIGZhaWx1cmUuCisgKi8KK3ZvaWQKKypfX2dlbV9tbWFw X29mZnNldChpbnQgZmQsIHVpbnQzMl90IGhhbmRsZSwgdWludDY0X3Qgb2Zmc2V0LCB1aW50NjRf dCBzaXplLCB1bnNpZ25lZCBpbnQgcHJvdCwgdWludDY0X3QgZmxhZ3MpCit7CisJc3RydWN0IGxv Y2FsX2RybV9pOTE1X2dlbV9tbWFwX29mZnNldCBhcmc7CisJdm9pZCAqcHRyOworCisJbWVtc2V0 KCZhcmcsIDAsIHNpemVvZihhcmcpKTsKKwlhcmcuaGFuZGxlID0gaGFuZGxlOworCWFyZy5vZmZz ZXQgPSBvZmZzZXQ7CisJYXJnLmZsYWdzID0gZmxhZ3M7CisKKwlpZiAoIWdlbV9oYXNfbW1hcF9v ZmZzZXQoZmQpKQorCQlyZXR1cm4gTlVMTDsKKworCWlmIChpZ3RfaW9jdGwoZmQsIExPQ0FMX0RS TV9JT0NUTF9JOTE1X0dFTV9NTUFQX09GRlNFVCwgJmFyZykpCisJCXJldHVybiBOVUxMOworCisJ cHRyID0gbW1hcDY0KDAsIHNpemUsIHByb3QsIE1BUF9TSEFSRUQsIGZkLCBhcmcub2Zmc2V0KTsK KworCWlmIChwdHIgPT0gTUFQX0ZBSUxFRCkKKwkJcHRyID0gTlVMTDsKKwllbHNlCisJCWVycm5v ID0gMDsKKworCXJldHVybiBwdHI7Cit9CisKZGlmZiAtLWdpdCBhL2xpYi9pOTE1L2dlbV9tbWFu LmggYi9saWIvaTkxNS9nZW1fbW1hbi5oCmluZGV4IGY3MjQyZWQ3Li5mZmYyZWNhYiAxMDA2NDQK LS0tIGEvbGliL2k5MTUvZ2VtX21tYW4uaAorKysgYi9saWIvaTkxNS9nZW1fbW1hbi5oCkBAIC01 MSw1ICs1MSwzOCBAQCBpbnQgZ2VtX211bm1hcCh2b2lkICpwdHIsIHVpbnQ2NF90IHNpemUpOwog ICovCiAjZGVmaW5lIGdlbV9yZXF1aXJlX21tYXBfd2MoZmQpIGlndF9yZXF1aXJlKGdlbV9tbWFw X19oYXNfd2MoZmQpKQogCitzdHJ1Y3QgbG9jYWxfZHJtX2k5MTVfZ2VtX21tYXBfb2Zmc2V0IHsK KwkvKiogSGFuZGxlIGZvciB0aGUgb2JqZWN0IGJlaW5nIG1hcHBlZC4gKi8KKwlfX3UzMiBoYW5k bGU7CisJX191MzIgcGFkOworCS8qKgorCSAqIEZha2Ugb2Zmc2V0IHRvIHVzZSBmb3Igc3Vic2Vx dWVudCBtbWFwIGNhbGwKKwkgKgorCSAqIFRoaXMgaXMgYSBmaXhlZC1zaXplIHR5cGUgZm9yIDMy LzY0IGNvbXBhdGliaWxpdHkuCisJICovCisJX191NjQgb2Zmc2V0OworCisJLyoqCisJICogRmxh Z3MgZm9yIGV4dGVuZGVkIGJlaGF2aW91ci4KKwkgKgorCSAqIEl0IGlzIG1hbmRhdG9yeSB0aGF0 IGVpdGhlciBvbmUgb2YgdGhlIF9XQy9fV0IgZmxhZ3MKKwkgKiBzaG91bGQgYmUgcGFzc2VkIGhl cmUuCisJICovCisJX191NjQgZmxhZ3M7Cit9OworCisjZGVmaW5lIExPQ0FMX0RSTV9JOTE1X0dF TV9NTUFQX09GRlNFVCAweDI0CisjZGVmaW5lIExPQ0FMX0k5MTVfTU1BUF9PRkZTRVRfV0MgKDEg PDwgMCkKKyNkZWZpbmUgTE9DQUxfSTkxNV9NTUFQX09GRlNFVF9XQiAoMSA8PCAxKQorI2RlZmlu ZSBMT0NBTF9JOTE1X01NQVBfT0ZGU0VUX1VDICgxIDw8IDIpCisKKyNkZWZpbmUgTE9DQUxfRFJN X0lPQ1RMX0k5MTVfR0VNX01NQVBfT0ZGU0VUIFwKKwkJRFJNX0lPV1IoRFJNX0NPTU1BTkRfQkFT RSArIExPQ0FMX0RSTV9JOTE1X0dFTV9NTUFQX09GRlNFVCwgc3RydWN0IGxvY2FsX2RybV9pOTE1 X2dlbV9tbWFwX29mZnNldCkKKworYm9vbCBnZW1faGFzX21tYXBfb2Zmc2V0KGludCBmZCk7CisK K3ZvaWQgKl9fZ2VtX21tYXBfb2Zmc2V0KGludCBmZCwgdWludDMyX3QgaGFuZGxlLCB1aW50NjRf dCBvZmZzZXQsIHVpbnQ2NF90IHNpemUsIHVuc2lnbmVkIGludCBwcm90LCB1aW50NjRfdCBmbGFn cyk7CisKKwogI2VuZGlmIC8qIEdFTV9NTUFOX0ggKi8KIAotLSAKMi4yMS4wCgpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwppZ3QtZGV2IG1haWxpbmcgbGlz dAppZ3QtZGV2QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9w Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2lndC1kZXY=