From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by gabe.freedesktop.org (Postfix) with ESMTPS id 813016E001 for ; Tue, 26 Feb 2019 18:23:58 +0000 (UTC) From: Antonio Argenziano Date: Tue, 26 Feb 2019 10:23:53 -0800 Message-Id: <20190226182353.2125-1-antonio.argenziano@intel.com> MIME-Version: 1.0 Subject: [igt-dev] [PATCH i-g-t v3] 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 CgpTaWduZWQtb2ZmLWJ5OiBMdWthc3ogS2FsYW1hcnogPGx1a2Fzei5rYWxhbWFyekBpbnRlbC5j b20+CkNjOiBKYW51bGd1ZSBBYmRpZWwgPGFiZGllbC5qYW51bGd1ZUBpbnRlbC5jb20+CkNjOiBN YXR0aGV3IEF1bGQgPG1hdHRoZXcuYXVsZEBpbnRlbC5jb20+CkNjOiBNaWNoYWwgV2luaWFyc2tp IDxtaWNoYWwud2luaWFyc2tpQGludGVsLmNvbT4KQ2M6IEFudG9uaW8gQXJnZW56aWFubyA8YW50 b25pby5hcmdlbnppYW5vQGludGVsLmNvbT4KQ2M6IERhbmllbGUgU3B1cmlvIENlcmFvbG8gPGRh bmllbGUuY2VyYW9sb3NwdXJpb0BpbnRlbC5jb20+CkNjOiBKb29uYXMgTGFodGluZW4gPGpvb25h cy5sYWh0aW5lbkBsaW51eC5pbnRlbC5jb20+CkNjOiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlz LXdpbHNvbi5jby51az4KU2lnbmVkLW9mZi1ieTogQW50b25pbyBBcmdlbnppYW5vIDxhbnRvbmlv LmFyZ2Vuemlhbm9AaW50ZWwuY29tPgotLS0KIGxpYi9pOTE1L2dlbV9tbWFuLmMgfCAxMjUgKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0KIGxpYi9pOTE1L2dlbV9t bWFuLmggfCAgMzMgKysrKysrKysrKysrCiAyIGZpbGVzIGNoYW5nZWQsIDEzNiBpbnNlcnRpb25z KCspLCAyMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9saWIvaTkxNS9nZW1fbW1hbi5jIGIv bGliL2k5MTUvZ2VtX21tYW4uYwppbmRleCAzY2Y5YTZiYi4uZjg5ZDM4OWUgMTAwNjQ0Ci0tLSBh L2xpYi9pOTE1L2dlbV9tbWFuLmMKKysrIGIvbGliL2k5MTUvZ2VtX21tYW4uYwpAQCAtMTA2LDM2 ICsxMDYsNTEgQEAgYm9vbCBnZW1fbW1hcF9faGFzX3djKGludCBmZCkKIAlzdGF0aWMgaW50IGhh c193YyA9IC0xOwogCiAJaWYgKGhhc193YyA9PSAtMSkgewotCQlzdHJ1Y3QgZHJtX2k5MTVfZ2V0 cGFyYW0gZ3A7Ci0JCWludCBtbWFwX3ZlcnNpb24gPSAtMTsKLQkJaW50IGd0dF92ZXJzaW9uID0g LTE7CiAKIAkJaGFzX3djID0gMDsKIAotCQltZW1zZXQoJmdwLCAwLCBzaXplb2YoZ3ApKTsKLQkJ Z3AucGFyYW0gPSBJOTE1X1BBUkFNX01NQVBfR1RUX1ZFUlNJT047Ci0JCWdwLnZhbHVlID0gJmd0 dF92ZXJzaW9uOwotCQlpb2N0bChmZCwgRFJNX0lPQ1RMX0k5MTVfR0VUUEFSQU0sICZncCk7Ci0K LQkJbWVtc2V0KCZncCwgMCwgc2l6ZW9mKGdwKSk7Ci0JCWdwLnBhcmFtID0gSTkxNV9QQVJBTV9N TUFQX1ZFUlNJT047Ci0JCWdwLnZhbHVlID0gJm1tYXBfdmVyc2lvbjsKLQkJaW9jdGwoZmQsIERS TV9JT0NUTF9JOTE1X0dFVFBBUkFNLCAmZ3ApOwotCi0JCS8qIERvIHdlIGhhdmUgdGhlIG5ldyBt bWFwX2lvY3RsIHdpdGggRE9NQUlOX1dDPyAqLwotCQlpZiAobW1hcF92ZXJzaW9uID49IDEgJiYg Z3R0X3ZlcnNpb24gPj0gMikgewotCQkJc3RydWN0IGRybV9pOTE1X2dlbV9tbWFwIGFyZzsKKwkJ LyogRG8gd2UgaGF2ZSB0aGUgbmV3IG1tYXBfb2Zmc2V0IGlvY3RsPyAqLworCQlpZiAoaGFzX21t YXBfb2Zmc2V0KGZkKSkgeworCQkJc3RydWN0IGxvY2FsX2RybV9pOTE1X2dlbV9tbWFwX29mZnNl dCBhcmc7CiAKIAkJCS8qIERvZXMgdGhpcyBkZXZpY2Ugc3VwcG9ydCB3Yy1tbWFwcyA/ICovCiAJ CQltZW1zZXQoJmFyZywgMCwgc2l6ZW9mKGFyZykpOwogCQkJYXJnLmhhbmRsZSA9IGdlbV9jcmVh dGUoZmQsIDQwOTYpOwogCQkJYXJnLm9mZnNldCA9IDA7Ci0JCQlhcmcuc2l6ZSA9IDQwOTY7Ci0J CQlhcmcuZmxhZ3MgPSBJOTE1X01NQVBfV0M7Ci0JCQloYXNfd2MgPSBpZ3RfaW9jdGwoZmQsIERS TV9JT0NUTF9JOTE1X0dFTV9NTUFQLCAmYXJnKSA9PSAwOworCQkJYXJnLmZsYWdzID0gTE9DQUxf STkxNV9NTUFQX09GRlNFVF9XQzsKKwkJCWhhc193YyA9IGlndF9pb2N0bChmZCwgTE9DQUxfRFJN X0lPQ1RMX0k5MTVfR0VNX01NQVBfT0ZGU0VULCAmYXJnKSA9PSAwOwogCQkJZ2VtX2Nsb3NlKGZk LCBhcmcuaGFuZGxlKTsKKwkJfSBlbHNlIHsKKwkJCXN0cnVjdCBkcm1faTkxNV9nZXRwYXJhbSBn cDsKKwkJCWludCBtbWFwX3ZlcnNpb24gPSAtMTsKKwkJCWludCBndHRfdmVyc2lvbiA9IC0xOwor CisJCQltZW1zZXQoJmdwLCAwLCBzaXplb2YoZ3ApKTsKKwkJCWdwLnBhcmFtID0gSTkxNV9QQVJB TV9NTUFQX0dUVF9WRVJTSU9OOworCQkJZ3AudmFsdWUgPSAmZ3R0X3ZlcnNpb247CisJCQlpb2N0 bChmZCwgRFJNX0lPQ1RMX0k5MTVfR0VUUEFSQU0sICZncCk7CisKKwkJCW1lbXNldCgmZ3AsIDAs IHNpemVvZihncCkpOworCQkJZ3AucGFyYW0gPSBJOTE1X1BBUkFNX01NQVBfVkVSU0lPTjsKKwkJ CWdwLnZhbHVlID0gJm1tYXBfdmVyc2lvbjsKKwkJCWlvY3RsKGZkLCBEUk1fSU9DVExfSTkxNV9H RVRQQVJBTSwgJmdwKTsKKworCQkJLyogRG8gd2UgaGF2ZSB0aGUgbW1hcF9pb2N0bCB3aXRoIERP TUFJTl9XQz8gKi8KKwkJCWlmIChtbWFwX3ZlcnNpb24gPj0gMSAmJiBndHRfdmVyc2lvbiA+PSAy KSB7CisJCQkJc3RydWN0IGRybV9pOTE1X2dlbV9tbWFwIGFyZzsKKworCQkJCS8qIERvZXMgdGhp cyBkZXZpY2Ugc3VwcG9ydCB3Yy1tbWFwcyA/ICovCisJCQkJbWVtc2V0KCZhcmcsIDAsIHNpemVv ZihhcmcpKTsKKwkJCQlhcmcuaGFuZGxlID0gZ2VtX2NyZWF0ZShmZCwgNDA5Nik7CisJCQkJYXJn Lm9mZnNldCA9IDA7CisJCQkJYXJnLnNpemUgPSA0MDk2OworCQkJCWFyZy5mbGFncyA9IEk5MTVf TU1BUF9XQzsKKwkJCQloYXNfd2MgPSBpZ3RfaW9jdGwoZmQsIERSTV9JT0NUTF9JOTE1X0dFTV9N TUFQLCAmYXJnKSA9PSAwOworCQkJCWdlbV9jbG9zZShmZCwgYXJnLmhhbmRsZSk7CisJCQl9CiAJ CX0KLQkJZXJybm8gPSAwOworCisJCQllcnJubyA9IDA7CiAJfQogCiAJcmV0dXJuIGhhc193YyA+ IDA7CkBAIC0yMTEsNyArMjI2LDEyIEBAIHZvaWQgKl9fZ2VtX21tYXBfX3djKGludCBmZCwgdWlu dDMyX3QgaGFuZGxlLCB1aW50NjRfdCBvZmZzZXQsIHVpbnQ2NF90IHNpemUsIHVuCiAgKi8KIHZv aWQgKmdlbV9tbWFwX193YyhpbnQgZmQsIHVpbnQzMl90IGhhbmRsZSwgdWludDY0X3Qgb2Zmc2V0 LCB1aW50NjRfdCBzaXplLCB1bnNpZ25lZCBwcm90KQogewotCXZvaWQgKnB0ciA9IF9fZ2VtX21t YXBfX3djKGZkLCBoYW5kbGUsIG9mZnNldCwgc2l6ZSwgcHJvdCk7CisJdm9pZCAqcHRyOworCisJ cHRyID0gX19nZW1fbW1hcF9vZmZzZXQoZmQsIGhhbmRsZSwgb2Zmc2V0LCBzaXplLCBwcm90LCBM T0NBTF9JOTE1X01NQVBfT0ZGU0VUX1dDKTsKKwlpZiAoIXB0cikKKwkJcHRyID0gX19nZW1fbW1h cF9fd2MoZmQsIGhhbmRsZSwgb2Zmc2V0LCBzaXplLCBwcm90KTsKKwogCWlndF9hc3NlcnQocHRy KTsKIAlyZXR1cm4gcHRyOwogfQpAQCAtMjQ4LDcgKzI2OCw2OCBAQCB2b2lkICpfX2dlbV9tbWFw X19jcHUoaW50IGZkLCB1aW50MzJfdCBoYW5kbGUsIHVpbnQ2NF90IG9mZnNldCwgdWludDY0X3Qg c2l6ZSwgdQogICovCiB2b2lkICpnZW1fbW1hcF9fY3B1KGludCBmZCwgdWludDMyX3QgaGFuZGxl LCB1aW50NjRfdCBvZmZzZXQsIHVpbnQ2NF90IHNpemUsIHVuc2lnbmVkIHByb3QpCiB7Ci0Jdm9p ZCAqcHRyID0gX19nZW1fbW1hcF9fY3B1KGZkLCBoYW5kbGUsIG9mZnNldCwgc2l6ZSwgcHJvdCk7 CisJdm9pZCAqcHRyOworCisJcHRyID0gX19nZW1fbW1hcF9vZmZzZXQoZmQsIGhhbmRsZSwgb2Zm c2V0LCBzaXplLCBwcm90LCBMT0NBTF9JOTE1X01NQVBfT0ZGU0VUX1dCKTsKKwlpZiAoIXB0cikK KwkJcHRyID0gX19nZW1fbW1hcChmZCwgaGFuZGxlLCBvZmZzZXQsIHNpemUsIHByb3QsIDApOwor CiAJaWd0X2Fzc2VydChwdHIpOwogCXJldHVybiBwdHI7CiB9CisKK2Jvb2wgaGFzX21tYXBfb2Zm c2V0KGludCBmZCkKK3sKKwlzdGF0aWMgaW50IGhhc19tbWFwX29mZnNldCA9IC0xOworCisJaWYg KGhhc19tbWFwX29mZnNldCA9PSAtMSkgeworCQlzdHJ1Y3QgZHJtX2k5MTVfZ2V0cGFyYW0gZ3A7 CisKKwkJaGFzX21tYXBfb2Zmc2V0ID0gMDsKKworCQltZW1zZXQoJmdwLCAwLCBzaXplb2YoZ3Ap KTsKKwkJZ3AucGFyYW0gPSAweDU1OyAvKiBJOTE1X1BBUkFNX01NQVBfT0ZGU0VUX1ZFUlNJT04g Ki8KKwkJZ3AudmFsdWUgPSAmaGFzX21tYXBfb2Zmc2V0OworCQlpb2N0bChmZCwgRFJNX0lPQ1RM X0k5MTVfR0VUUEFSQU0sICZncCk7CisJfQorCisJcmV0dXJuIGhhc19tbWFwX29mZnNldCA+IDA7 Cit9CisKKy8qKgorICogX19nZW1fbW1hcF9vZmZzZXQ6CisgKiBAZmQ6IG9wZW4gaTkxNSBkcm0g ZmlsZSBkZXNjcmlwdG9yCisgKiBAaGFuZGxlOiBnZW0gYnVmZmVyIG9iamVjdCBoYW5kbGUKKyAq IEBvZmZzZXQ6IG9mZnNldCBpbiB0aGUgZ2VtIGJ1ZmZlciBvZiB0aGUgbW1hcCBhcmVuYQorICog QHNpemU6IHNpemUgb2YgdGhlIG1tYXAgYXJlbmEKKyAqIEBwcm90OiBtZW1vcnkgcHJvdGVjdGlv biBiaXRzIGFzIHVzZWQgYnkgbW1hcCgpCisgKiBAZmxhZ3M6IGZsYWdzIHVzZWQgdG8gZGV0ZXJt aW5lIGNhY2hpbmcKKyAqCisgKiBTaW1pbGFyIHRvIF9fZ2VtX21tYXAgYnV0IHVzZSBNTUFQX09G RlNFVCBJT0NUTC4KKyAqCisgKiBSZXR1cm5zOiBBIHBvaW50ZXIgdG8gdGhlIGNyZWF0ZWQgbWVt b3J5IG1hcHBpbmcsIE5VTEwgb24gZmFpbHVyZS4KKyAqLwordm9pZAorKl9fZ2VtX21tYXBfb2Zm c2V0KGludCBmZCwgdWludDMyX3QgaGFuZGxlLCB1aW50NjRfdCBvZmZzZXQsIHVpbnQ2NF90IHNp emUsIHVuc2lnbmVkIGludCBwcm90LCB1aW50NjRfdCBmbGFncykKK3sKKwlzdHJ1Y3QgbG9jYWxf ZHJtX2k5MTVfZ2VtX21tYXBfb2Zmc2V0IGFyZzsKKwl2b2lkICpwdHI7CisKKwltZW1zZXQoJmFy ZywgMCwgc2l6ZW9mKGFyZykpOworCWFyZy5oYW5kbGUgPSBoYW5kbGU7CisJYXJnLm9mZnNldCA9 IG9mZnNldDsKKwlhcmcuZmxhZ3MgPSBmbGFnczsKKworCWlmIChpZ3RfaW9jdGwoZmQsIExPQ0FM X0RSTV9JT0NUTF9JOTE1X0dFTV9NTUFQX09GRlNFVCwgJmFyZykpCisJCXJldHVybiBOVUxMOwor CisJcHRyID0gbW1hcDY0KDAsIHNpemUsIHByb3QsIE1BUF9TSEFSRUQsIGZkLCBhcmcub2Zmc2V0 KTsKKworCWlmIChwdHIgPT0gTUFQX0ZBSUxFRCkKKwkJcHRyID0gTlVMTDsKKwllbHNlCisJCWVy cm5vID0gMDsKKworCXJldHVybiBwdHI7Cit9CisKZGlmZiAtLWdpdCBhL2xpYi9pOTE1L2dlbV9t bWFuLmggYi9saWIvaTkxNS9nZW1fbW1hbi5oCmluZGV4IGY3MjQyZWQ3Li5jMmMxMDI0OSAxMDA2 NDQKLS0tIGEvbGliL2k5MTUvZ2VtX21tYW4uaAorKysgYi9saWIvaTkxNS9nZW1fbW1hbi5oCkBA IC01MSw1ICs1MSwzOCBAQCBpbnQgZ2VtX211bm1hcCh2b2lkICpwdHIsIHVpbnQ2NF90IHNpemUp OwogICovCiAjZGVmaW5lIGdlbV9yZXF1aXJlX21tYXBfd2MoZmQpIGlndF9yZXF1aXJlKGdlbV9t bWFwX19oYXNfd2MoZmQpKQogCitzdHJ1Y3QgbG9jYWxfZHJtX2k5MTVfZ2VtX21tYXBfb2Zmc2V0 IHsKKwkvKiogSGFuZGxlIGZvciB0aGUgb2JqZWN0IGJlaW5nIG1hcHBlZC4gKi8KKwlfX3UzMiBo YW5kbGU7CisJX191MzIgcGFkOworCS8qKgorCSAqIEZha2Ugb2Zmc2V0IHRvIHVzZSBmb3Igc3Vi c2VxdWVudCBtbWFwIGNhbGwKKwkgKgorCSAqIFRoaXMgaXMgYSBmaXhlZC1zaXplIHR5cGUgZm9y IDMyLzY0IGNvbXBhdGliaWxpdHkuCisJICovCisJX191NjQgb2Zmc2V0OworCisJLyoqCisJICog RmxhZ3MgZm9yIGV4dGVuZGVkIGJlaGF2aW91ci4KKwkgKgorCSAqIEl0IGlzIG1hbmRhdG9yeSB0 aGF0IGVpdGhlciBvbmUgb2YgdGhlIF9XQy9fV0IgZmxhZ3MKKwkgKiBzaG91bGQgYmUgcGFzc2Vk IGhlcmUuCisJICovCisJX191NjQgZmxhZ3M7Cit9OworCisjZGVmaW5lIExPQ0FMX0RSTV9JOTE1 X0dFTV9NTUFQX09GRlNFVCAweDI0CisjZGVmaW5lIExPQ0FMX0k5MTVfTU1BUF9PRkZTRVRfV0Mg KDEgPDwgMCkKKyNkZWZpbmUgTE9DQUxfSTkxNV9NTUFQX09GRlNFVF9XQiAoMSA8PCAxKQorI2Rl ZmluZSBMT0NBTF9JOTE1X01NQVBfT0ZGU0VUX1VDICgxIDw8IDIpCisKKyNkZWZpbmUgTE9DQUxf RFJNX0lPQ1RMX0k5MTVfR0VNX01NQVBfT0ZGU0VUIFwKKwkJRFJNX0lPV1IoRFJNX0NPTU1BTkRf QkFTRSArIExPQ0FMX0RSTV9JOTE1X0dFTV9NTUFQX09GRlNFVCwgc3RydWN0IGxvY2FsX2RybV9p OTE1X2dlbV9tbWFwX29mZnNldCkKKworYm9vbCBoYXNfbW1hcF9vZmZzZXQoaW50IGZkKTsKKwor dm9pZCAqX19nZW1fbW1hcF9vZmZzZXQoaW50IGZkLCB1aW50MzJfdCBoYW5kbGUsIHVpbnQ2NF90 IG9mZnNldCwgdWludDY0X3Qgc2l6ZSwgdW5zaWduZWQgaW50IHByb3QsIHVpbnQ2NF90IGZsYWdz KTsKKworCiAjZW5kaWYgLyogR0VNX01NQU5fSCAqLwogCi0tIAoyLjIwLjEKCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmlndC1kZXYgbWFpbGluZyBsaXN0 CmlndC1kZXZAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Au b3JnL21haWxtYW4vbGlzdGluZm8vaWd0LWRldg==