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 F11536E6F8 for ; Mon, 25 Mar 2019 23:20:56 +0000 (UTC) From: Antonio Argenziano Date: Mon, 25 Mar 2019 16:20:39 -0700 Message-Id: <20190325232043.7953-2-antonio.argenziano@intel.com> In-Reply-To: <20190325232043.7953-1-antonio.argenziano@intel.com> References: <20190325232043.7953-1-antonio.argenziano@intel.com> MIME-Version: 1.0 Subject: [igt-dev] [RFT v4 2/6] 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 Z2VtXyBwcmVmaXguIChDaHJpcykKClNpZ25lZC1vZmYtYnk6IEx1a2FzeiBLYWxhbWFyeiA8bHVr YXN6LmthbGFtYXJ6QGludGVsLmNvbT4KQ2M6IEphbnVsZ3VlIEFiZGllbCA8YWJkaWVsLmphbnVs Z3VlQGludGVsLmNvbT4KQ2M6IE1hdHRoZXcgQXVsZCA8bWF0dGhldy5hdWxkQGludGVsLmNvbT4K Q2M6IE1pY2hhbCBXaW5pYXJza2kgPG1pY2hhbC53aW5pYXJza2lAaW50ZWwuY29tPgpDYzogQW50 b25pbyBBcmdlbnppYW5vIDxhbnRvbmlvLmFyZ2Vuemlhbm9AaW50ZWwuY29tPgpDYzogRGFuaWVs ZSBTcHVyaW8gQ2VyYW9sbyA8ZGFuaWVsZS5jZXJhb2xvc3B1cmlvQGludGVsLmNvbT4KQ2M6IEpv b25hcyBMYWh0aW5lbiA8am9vbmFzLmxhaHRpbmVuQGxpbnV4LmludGVsLmNvbT4KQ2M6IENocmlz IFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgpTaWduZWQtb2ZmLWJ5OiBBbnRvbmlv IEFyZ2Vuemlhbm8gPGFudG9uaW8uYXJnZW56aWFub0BpbnRlbC5jb20+Ci0tLQogbGliL2k5MTUv Z2VtX21tYW4uYyB8IDExOCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0t LS0tLQogbGliL2k5MTUvZ2VtX21tYW4uaCB8ICAzMyArKysrKysrKysrKysrCiAyIGZpbGVzIGNo YW5nZWQsIDEzMCBpbnNlcnRpb25zKCspLCAyMSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9s aWIvaTkxNS9nZW1fbW1hbi5jIGIvbGliL2k5MTUvZ2VtX21tYW4uYwppbmRleCBiNDNjY2Q5NS4u NDI5ZGU5MTIgMTAwNjQ0Ci0tLSBhL2xpYi9pOTE1L2dlbV9tbWFuLmMKKysrIGIvbGliL2k5MTUv Z2VtX21tYW4uYwpAQCAtMTAzLDM0ICsxMDMsNDkgQEAgaW50IGdlbV9tdW5tYXAodm9pZCAqcHRy LCB1aW50NjRfdCBzaXplKQogCiBib29sIGdlbV9tbWFwX19oYXNfd2MoaW50IGZkKQogewotCXN0 cnVjdCBkcm1faTkxNV9nZXRwYXJhbSBncDsKLQlpbnQgbW1hcF92ZXJzaW9uID0gLTE7Ci0JaW50 IGd0dF92ZXJzaW9uID0gLTE7CiAJaW50IGhhc193YyA9IDA7CiAKLQltZW1zZXQoJmdwLCAwLCBz aXplb2YoZ3ApKTsKLQlncC5wYXJhbSA9IEk5MTVfUEFSQU1fTU1BUF9HVFRfVkVSU0lPTjsKLQln cC52YWx1ZSA9ICZndHRfdmVyc2lvbjsKLQlpb2N0bChmZCwgRFJNX0lPQ1RMX0k5MTVfR0VUUEFS QU0sICZncCk7Ci0KLQltZW1zZXQoJmdwLCAwLCBzaXplb2YoZ3ApKTsKLQlncC5wYXJhbSA9IEk5 MTVfUEFSQU1fTU1BUF9WRVJTSU9OOwotCWdwLnZhbHVlID0gJm1tYXBfdmVyc2lvbjsKLQlpb2N0 bChmZCwgRFJNX0lPQ1RMX0k5MTVfR0VUUEFSQU0sICZncCk7Ci0KLQkvKiBEbyB3ZSBoYXZlIHRo ZSBuZXcgbW1hcF9pb2N0bCB3aXRoIERPTUFJTl9XQz8gKi8KLQlpZiAobW1hcF92ZXJzaW9uID49 IDEgJiYgZ3R0X3ZlcnNpb24gPj0gMikgewotCQlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX21tYXAgYXJn OworCS8qIERvIHdlIGhhdmUgdGhlIG5ldyBtbWFwX29mZnNldCBpb2N0bD8gKi8KKwlpZiAoZ2Vt X2hhc19tbWFwX29mZnNldChmZCkpIHsKKwkJc3RydWN0IGxvY2FsX2RybV9pOTE1X2dlbV9tbWFw X29mZnNldCBhcmc7CiAKIAkJLyogRG9lcyB0aGlzIGRldmljZSBzdXBwb3J0IHdjLW1tYXBzID8g Ki8KIAkJbWVtc2V0KCZhcmcsIDAsIHNpemVvZihhcmcpKTsKIAkJYXJnLmhhbmRsZSA9IGdlbV9j cmVhdGUoZmQsIDQwOTYpOwogCQlhcmcub2Zmc2V0ID0gMDsKLQkJYXJnLnNpemUgPSA0MDk2Owot CQlhcmcuZmxhZ3MgPSBJOTE1X01NQVBfV0M7Ci0JCWhhc193YyA9IGlndF9pb2N0bChmZCwgRFJN X0lPQ1RMX0k5MTVfR0VNX01NQVAsICZhcmcpID09IDA7CisJCWFyZy5mbGFncyA9IExPQ0FMX0k5 MTVfTU1BUF9PRkZTRVRfV0M7CisJCWhhc193YyA9IGlndF9pb2N0bChmZCwgTE9DQUxfRFJNX0lP Q1RMX0k5MTVfR0VNX01NQVBfT0ZGU0VULCAmYXJnKSA9PSAwOwogCQlnZW1fY2xvc2UoZmQsIGFy Zy5oYW5kbGUpOworCX0gZWxzZSB7CisJCXN0cnVjdCBkcm1faTkxNV9nZXRwYXJhbSBncDsKKwkJ aW50IG1tYXBfdmVyc2lvbiA9IC0xOworCQlpbnQgZ3R0X3ZlcnNpb24gPSAtMTsKKworCQltZW1z ZXQoJmdwLCAwLCBzaXplb2YoZ3ApKTsKKwkJZ3AucGFyYW0gPSBJOTE1X1BBUkFNX01NQVBfR1RU X1ZFUlNJT047CisJCWdwLnZhbHVlID0gJmd0dF92ZXJzaW9uOworCQlpb2N0bChmZCwgRFJNX0lP Q1RMX0k5MTVfR0VUUEFSQU0sICZncCk7CisKKwkJbWVtc2V0KCZncCwgMCwgc2l6ZW9mKGdwKSk7 CisJCWdwLnBhcmFtID0gSTkxNV9QQVJBTV9NTUFQX1ZFUlNJT047CisJCWdwLnZhbHVlID0gJm1t YXBfdmVyc2lvbjsKKwkJaW9jdGwoZmQsIERSTV9JT0NUTF9JOTE1X0dFVFBBUkFNLCAmZ3ApOwor CisJCS8qIERvIHdlIGhhdmUgdGhlIG1tYXBfaW9jdGwgd2l0aCBET01BSU5fV0M/ICovCisJCWlm IChtbWFwX3ZlcnNpb24gPj0gMSAmJiBndHRfdmVyc2lvbiA+PSAyKSB7CisJCQlzdHJ1Y3QgZHJt X2k5MTVfZ2VtX21tYXAgYXJnOworCisJCQkvKiBEb2VzIHRoaXMgZGV2aWNlIHN1cHBvcnQgd2Mt bW1hcHMgPyAqLworCQkJbWVtc2V0KCZhcmcsIDAsIHNpemVvZihhcmcpKTsKKwkJCWFyZy5oYW5k bGUgPSBnZW1fY3JlYXRlKGZkLCA0MDk2KTsKKwkJCWFyZy5vZmZzZXQgPSAwOworCQkJYXJnLnNp emUgPSA0MDk2OworCQkJYXJnLmZsYWdzID0gSTkxNV9NTUFQX1dDOworCQkJaGFzX3djID0gaWd0 X2lvY3RsKGZkLCBEUk1fSU9DVExfSTkxNV9HRU1fTU1BUCwgJmFyZykgPT0gMDsKKwkJCWdlbV9j bG9zZShmZCwgYXJnLmhhbmRsZSk7CisJCX0KIAl9CisKIAllcnJubyA9IDA7CiAKIAlyZXR1cm4g aGFzX3djID4gMDsKQEAgLTIwNiw3ICsyMjEsMTIgQEAgdm9pZCAqX19nZW1fbW1hcF9fd2MoaW50 IGZkLCB1aW50MzJfdCBoYW5kbGUsIHVpbnQ2NF90IG9mZnNldCwgdWludDY0X3Qgc2l6ZSwgdW4K ICAqLwogdm9pZCAqZ2VtX21tYXBfX3djKGludCBmZCwgdWludDMyX3QgaGFuZGxlLCB1aW50NjRf dCBvZmZzZXQsIHVpbnQ2NF90IHNpemUsIHVuc2lnbmVkIHByb3QpCiB7Ci0Jdm9pZCAqcHRyID0g X19nZW1fbW1hcF9fd2MoZmQsIGhhbmRsZSwgb2Zmc2V0LCBzaXplLCBwcm90KTsKKwl2b2lkICpw dHI7CisKKwlwdHIgPSBfX2dlbV9tbWFwX29mZnNldChmZCwgaGFuZGxlLCBvZmZzZXQsIHNpemUs IHByb3QsIExPQ0FMX0k5MTVfTU1BUF9PRkZTRVRfV0MpOworCWlmICghcHRyKQorCQlwdHIgPSBf X2dlbV9tbWFwX193YyhmZCwgaGFuZGxlLCBvZmZzZXQsIHNpemUsIHByb3QpOworCiAJaWd0X2Fz c2VydChwdHIpOwogCXJldHVybiBwdHI7CiB9CkBAIC0yNDMsNyArMjYzLDYzIEBAIHZvaWQgKl9f Z2VtX21tYXBfX2NwdShpbnQgZmQsIHVpbnQzMl90IGhhbmRsZSwgdWludDY0X3Qgb2Zmc2V0LCB1 aW50NjRfdCBzaXplLCB1CiAgKi8KIHZvaWQgKmdlbV9tbWFwX19jcHUoaW50IGZkLCB1aW50MzJf dCBoYW5kbGUsIHVpbnQ2NF90IG9mZnNldCwgdWludDY0X3Qgc2l6ZSwgdW5zaWduZWQgcHJvdCkK IHsKLQl2b2lkICpwdHIgPSBfX2dlbV9tbWFwX19jcHUoZmQsIGhhbmRsZSwgb2Zmc2V0LCBzaXpl LCBwcm90KTsKKwl2b2lkICpwdHI7CisKKwlwdHIgPSBfX2dlbV9tbWFwX29mZnNldChmZCwgaGFu ZGxlLCBvZmZzZXQsIHNpemUsIHByb3QsIExPQ0FMX0k5MTVfTU1BUF9PRkZTRVRfV0IpOworCWlm ICghcHRyKQorCQlwdHIgPSBfX2dlbV9tbWFwKGZkLCBoYW5kbGUsIG9mZnNldCwgc2l6ZSwgcHJv dCwgMCk7CisKIAlpZ3RfYXNzZXJ0KHB0cik7CiAJcmV0dXJuIHB0cjsKIH0KKworYm9vbCBnZW1f aGFzX21tYXBfb2Zmc2V0KGludCBmZCkKK3sKKwlzdHJ1Y3QgZHJtX2k5MTVfZ2V0cGFyYW0gZ3A7 CisJaW50IGhhc19tbWFwX29mZnNldCA9IDA7CisKKwltZW1zZXQoJmdwLCAwLCBzaXplb2YoZ3Ap KTsKKwlncC5wYXJhbSA9IDB4NTU7IC8qIEk5MTVfUEFSQU1fTU1BUF9PRkZTRVRfVkVSU0lPTiAq LworCWdwLnZhbHVlID0gJmhhc19tbWFwX29mZnNldDsKKwlpb2N0bChmZCwgRFJNX0lPQ1RMX0k5 MTVfR0VUUEFSQU0sICZncCk7CisKKwlyZXR1cm4gaGFzX21tYXBfb2Zmc2V0ID4gMDsKK30KKwor LyoqCisgKiBfX2dlbV9tbWFwX29mZnNldDoKKyAqIEBmZDogb3BlbiBpOTE1IGRybSBmaWxlIGRl c2NyaXB0b3IKKyAqIEBoYW5kbGU6IGdlbSBidWZmZXIgb2JqZWN0IGhhbmRsZQorICogQG9mZnNl dDogb2Zmc2V0IGluIHRoZSBnZW0gYnVmZmVyIG9mIHRoZSBtbWFwIGFyZW5hCisgKiBAc2l6ZTog c2l6ZSBvZiB0aGUgbW1hcCBhcmVuYQorICogQHByb3Q6IG1lbW9yeSBwcm90ZWN0aW9uIGJpdHMg YXMgdXNlZCBieSBtbWFwKCkKKyAqIEBmbGFnczogZmxhZ3MgdXNlZCB0byBkZXRlcm1pbmUgY2Fj aGluZworICoKKyAqIFNpbWlsYXIgdG8gX19nZW1fbW1hcCBidXQgdXNlIE1NQVBfT0ZGU0VUIElP Q1RMLgorICoKKyAqIFJldHVybnM6IEEgcG9pbnRlciB0byB0aGUgY3JlYXRlZCBtZW1vcnkgbWFw cGluZywgTlVMTCBvbiBmYWlsdXJlLgorICovCit2b2lkCisqX19nZW1fbW1hcF9vZmZzZXQoaW50 IGZkLCB1aW50MzJfdCBoYW5kbGUsIHVpbnQ2NF90IG9mZnNldCwgdWludDY0X3Qgc2l6ZSwgdW5z aWduZWQgaW50IHByb3QsIHVpbnQ2NF90IGZsYWdzKQoreworCXN0cnVjdCBsb2NhbF9kcm1faTkx NV9nZW1fbW1hcF9vZmZzZXQgYXJnOworCXZvaWQgKnB0cjsKKworCW1lbXNldCgmYXJnLCAwLCBz aXplb2YoYXJnKSk7CisJYXJnLmhhbmRsZSA9IGhhbmRsZTsKKwlhcmcub2Zmc2V0ID0gb2Zmc2V0 OworCWFyZy5mbGFncyA9IGZsYWdzOworCisJaWYgKGlndF9pb2N0bChmZCwgTE9DQUxfRFJNX0lP Q1RMX0k5MTVfR0VNX01NQVBfT0ZGU0VULCAmYXJnKSkKKwkJcmV0dXJuIE5VTEw7CisKKwlwdHIg PSBtbWFwNjQoMCwgc2l6ZSwgcHJvdCwgTUFQX1NIQVJFRCwgZmQsIGFyZy5vZmZzZXQpOworCisJ aWYgKHB0ciA9PSBNQVBfRkFJTEVEKQorCQlwdHIgPSBOVUxMOworCWVsc2UKKwkJZXJybm8gPSAw OworCisJcmV0dXJuIHB0cjsKK30KKwpkaWZmIC0tZ2l0IGEvbGliL2k5MTUvZ2VtX21tYW4uaCBi L2xpYi9pOTE1L2dlbV9tbWFuLmgKaW5kZXggZjcyNDJlZDcuLmZmZjJlY2FiIDEwMDY0NAotLS0g YS9saWIvaTkxNS9nZW1fbW1hbi5oCisrKyBiL2xpYi9pOTE1L2dlbV9tbWFuLmgKQEAgLTUxLDUg KzUxLDM4IEBAIGludCBnZW1fbXVubWFwKHZvaWQgKnB0ciwgdWludDY0X3Qgc2l6ZSk7CiAgKi8K ICNkZWZpbmUgZ2VtX3JlcXVpcmVfbW1hcF93YyhmZCkgaWd0X3JlcXVpcmUoZ2VtX21tYXBfX2hh c193YyhmZCkpCiAKK3N0cnVjdCBsb2NhbF9kcm1faTkxNV9nZW1fbW1hcF9vZmZzZXQgeworCS8q KiBIYW5kbGUgZm9yIHRoZSBvYmplY3QgYmVpbmcgbWFwcGVkLiAqLworCV9fdTMyIGhhbmRsZTsK KwlfX3UzMiBwYWQ7CisJLyoqCisJICogRmFrZSBvZmZzZXQgdG8gdXNlIGZvciBzdWJzZXF1ZW50 IG1tYXAgY2FsbAorCSAqCisJICogVGhpcyBpcyBhIGZpeGVkLXNpemUgdHlwZSBmb3IgMzIvNjQg Y29tcGF0aWJpbGl0eS4KKwkgKi8KKwlfX3U2NCBvZmZzZXQ7CisKKwkvKioKKwkgKiBGbGFncyBm b3IgZXh0ZW5kZWQgYmVoYXZpb3VyLgorCSAqCisJICogSXQgaXMgbWFuZGF0b3J5IHRoYXQgZWl0 aGVyIG9uZSBvZiB0aGUgX1dDL19XQiBmbGFncworCSAqIHNob3VsZCBiZSBwYXNzZWQgaGVyZS4K KwkgKi8KKwlfX3U2NCBmbGFnczsKK307CisKKyNkZWZpbmUgTE9DQUxfRFJNX0k5MTVfR0VNX01N QVBfT0ZGU0VUIDB4MjQKKyNkZWZpbmUgTE9DQUxfSTkxNV9NTUFQX09GRlNFVF9XQyAoMSA8PCAw KQorI2RlZmluZSBMT0NBTF9JOTE1X01NQVBfT0ZGU0VUX1dCICgxIDw8IDEpCisjZGVmaW5lIExP Q0FMX0k5MTVfTU1BUF9PRkZTRVRfVUMgKDEgPDwgMikKKworI2RlZmluZSBMT0NBTF9EUk1fSU9D VExfSTkxNV9HRU1fTU1BUF9PRkZTRVQgXAorCQlEUk1fSU9XUihEUk1fQ09NTUFORF9CQVNFICsg TE9DQUxfRFJNX0k5MTVfR0VNX01NQVBfT0ZGU0VULCBzdHJ1Y3QgbG9jYWxfZHJtX2k5MTVfZ2Vt X21tYXBfb2Zmc2V0KQorCitib29sIGdlbV9oYXNfbW1hcF9vZmZzZXQoaW50IGZkKTsKKwordm9p ZCAqX19nZW1fbW1hcF9vZmZzZXQoaW50IGZkLCB1aW50MzJfdCBoYW5kbGUsIHVpbnQ2NF90IG9m ZnNldCwgdWludDY0X3Qgc2l6ZSwgdW5zaWduZWQgaW50IHByb3QsIHVpbnQ2NF90IGZsYWdzKTsK KworCiAjZW5kaWYgLyogR0VNX01NQU5fSCAqLwogCi0tIAoyLjIwLjEKCl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmlndC1kZXYgbWFpbGluZyBsaXN0Cmln dC1kZXZAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3Jn L21haWxtYW4vbGlzdGluZm8vaWd0LWRldg==