From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTPS id 32BD889B98 for ; Tue, 26 Feb 2019 00:20:24 +0000 (UTC) From: Antonio Argenziano Date: Mon, 25 Feb 2019 16:20:20 -0800 Message-Id: <20190226002020.21550-2-antonio.argenziano@intel.com> In-Reply-To: <20190226002020.21550-1-antonio.argenziano@intel.com> References: <20190226002020.21550-1-antonio.argenziano@intel.com> MIME-Version: 1.0 Subject: [igt-dev] [PATCH i-g-t 2/2] 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 Cgp2MzoKCS0gVXNlIG1tYXAgSU9DVEwgZm9yIGxvd3IgbGV2ZWwgd3JhcHBlcnMuIChDaHJpcykK ClNpZ25lZC1vZmYtYnk6IEx1a2FzeiBLYWxhbWFyeiA8bHVrYXN6LmthbGFtYXJ6QGludGVsLmNv bT4KQ2M6IEphbnVsZ3VlIEFiZGllbCA8YWJkaWVsLmphbnVsZ3VlQGludGVsLmNvbT4KQ2M6IE1h dHRoZXcgQXVsZCA8bWF0dGhldy5hdWxkQGludGVsLmNvbT4KQ2M6IE1pY2hhbCBXaW5pYXJza2kg PG1pY2hhbC53aW5pYXJza2lAaW50ZWwuY29tPgpDYzogQW50b25pbyBBcmdlbnppYW5vIDxhbnRv bmlvLmFyZ2Vuemlhbm9AaW50ZWwuY29tPgpDYzogRGFuaWVsZSBTcHVyaW8gQ2VyYW9sbyA8ZGFu aWVsZS5jZXJhb2xvc3B1cmlvQGludGVsLmNvbT4KQ2M6IEpvb25hcyBMYWh0aW5lbiA8am9vbmFz LmxhaHRpbmVuQGxpbnV4LmludGVsLmNvbT4KQ2M6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMt d2lsc29uLmNvLnVrPgpTaWduZWQtb2ZmLWJ5OiBBbnRvbmlvIEFyZ2Vuemlhbm8gPGFudG9uaW8u YXJnZW56aWFub0BpbnRlbC5jb20+Ci0tLQogbGliL2k5MTUvZ2VtX21tYW4uYyB8IDEyNSArKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLQogbGliL2k5MTUvZ2VtX21t YW4uaCB8ICAzMyArKysrKysrKysrKysKIDIgZmlsZXMgY2hhbmdlZCwgMTM2IGluc2VydGlvbnMo KyksIDIyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2xpYi9pOTE1L2dlbV9tbWFuLmMgYi9s aWIvaTkxNS9nZW1fbW1hbi5jCmluZGV4IDNjZjlhNmJiLi5mODlkMzg5ZSAxMDA2NDQKLS0tIGEv bGliL2k5MTUvZ2VtX21tYW4uYworKysgYi9saWIvaTkxNS9nZW1fbW1hbi5jCkBAIC0xMDYsMzYg KzEwNiw1MSBAQCBib29sIGdlbV9tbWFwX19oYXNfd2MoaW50IGZkKQogCXN0YXRpYyBpbnQgaGFz X3djID0gLTE7CiAKIAlpZiAoaGFzX3djID09IC0xKSB7Ci0JCXN0cnVjdCBkcm1faTkxNV9nZXRw YXJhbSBncDsKLQkJaW50IG1tYXBfdmVyc2lvbiA9IC0xOwotCQlpbnQgZ3R0X3ZlcnNpb24gPSAt MTsKIAogCQloYXNfd2MgPSAwOwogCi0JCW1lbXNldCgmZ3AsIDAsIHNpemVvZihncCkpOwotCQln cC5wYXJhbSA9IEk5MTVfUEFSQU1fTU1BUF9HVFRfVkVSU0lPTjsKLQkJZ3AudmFsdWUgPSAmZ3R0 X3ZlcnNpb247Ci0JCWlvY3RsKGZkLCBEUk1fSU9DVExfSTkxNV9HRVRQQVJBTSwgJmdwKTsKLQot CQltZW1zZXQoJmdwLCAwLCBzaXplb2YoZ3ApKTsKLQkJZ3AucGFyYW0gPSBJOTE1X1BBUkFNX01N QVBfVkVSU0lPTjsKLQkJZ3AudmFsdWUgPSAmbW1hcF92ZXJzaW9uOwotCQlpb2N0bChmZCwgRFJN X0lPQ1RMX0k5MTVfR0VUUEFSQU0sICZncCk7Ci0KLQkJLyogRG8gd2UgaGF2ZSB0aGUgbmV3IG1t YXBfaW9jdGwgd2l0aCBET01BSU5fV0M/ICovCi0JCWlmIChtbWFwX3ZlcnNpb24gPj0gMSAmJiBn dHRfdmVyc2lvbiA+PSAyKSB7Ci0JCQlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX21tYXAgYXJnOworCQkv KiBEbyB3ZSBoYXZlIHRoZSBuZXcgbW1hcF9vZmZzZXQgaW9jdGw/ICovCisJCWlmIChoYXNfbW1h cF9vZmZzZXQoZmQpKSB7CisJCQlzdHJ1Y3QgbG9jYWxfZHJtX2k5MTVfZ2VtX21tYXBfb2Zmc2V0 IGFyZzsKIAogCQkJLyogRG9lcyB0aGlzIGRldmljZSBzdXBwb3J0IHdjLW1tYXBzID8gKi8KIAkJ CW1lbXNldCgmYXJnLCAwLCBzaXplb2YoYXJnKSk7CiAJCQlhcmcuaGFuZGxlID0gZ2VtX2NyZWF0 ZShmZCwgNDA5Nik7CiAJCQlhcmcub2Zmc2V0ID0gMDsKLQkJCWFyZy5zaXplID0gNDA5NjsKLQkJ CWFyZy5mbGFncyA9IEk5MTVfTU1BUF9XQzsKLQkJCWhhc193YyA9IGlndF9pb2N0bChmZCwgRFJN X0lPQ1RMX0k5MTVfR0VNX01NQVAsICZhcmcpID09IDA7CisJCQlhcmcuZmxhZ3MgPSBMT0NBTF9J OTE1X01NQVBfT0ZGU0VUX1dDOworCQkJaGFzX3djID0gaWd0X2lvY3RsKGZkLCBMT0NBTF9EUk1f SU9DVExfSTkxNV9HRU1fTU1BUF9PRkZTRVQsICZhcmcpID09IDA7CiAJCQlnZW1fY2xvc2UoZmQs IGFyZy5oYW5kbGUpOworCQl9IGVsc2UgeworCQkJc3RydWN0IGRybV9pOTE1X2dldHBhcmFtIGdw OworCQkJaW50IG1tYXBfdmVyc2lvbiA9IC0xOworCQkJaW50IGd0dF92ZXJzaW9uID0gLTE7CisK KwkJCW1lbXNldCgmZ3AsIDAsIHNpemVvZihncCkpOworCQkJZ3AucGFyYW0gPSBJOTE1X1BBUkFN X01NQVBfR1RUX1ZFUlNJT047CisJCQlncC52YWx1ZSA9ICZndHRfdmVyc2lvbjsKKwkJCWlvY3Rs KGZkLCBEUk1fSU9DVExfSTkxNV9HRVRQQVJBTSwgJmdwKTsKKworCQkJbWVtc2V0KCZncCwgMCwg c2l6ZW9mKGdwKSk7CisJCQlncC5wYXJhbSA9IEk5MTVfUEFSQU1fTU1BUF9WRVJTSU9OOworCQkJ Z3AudmFsdWUgPSAmbW1hcF92ZXJzaW9uOworCQkJaW9jdGwoZmQsIERSTV9JT0NUTF9JOTE1X0dF VFBBUkFNLCAmZ3ApOworCisJCQkvKiBEbyB3ZSBoYXZlIHRoZSBtbWFwX2lvY3RsIHdpdGggRE9N QUlOX1dDPyAqLworCQkJaWYgKG1tYXBfdmVyc2lvbiA+PSAxICYmIGd0dF92ZXJzaW9uID49IDIp IHsKKwkJCQlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX21tYXAgYXJnOworCisJCQkJLyogRG9lcyB0aGlz IGRldmljZSBzdXBwb3J0IHdjLW1tYXBzID8gKi8KKwkJCQltZW1zZXQoJmFyZywgMCwgc2l6ZW9m KGFyZykpOworCQkJCWFyZy5oYW5kbGUgPSBnZW1fY3JlYXRlKGZkLCA0MDk2KTsKKwkJCQlhcmcu b2Zmc2V0ID0gMDsKKwkJCQlhcmcuc2l6ZSA9IDQwOTY7CisJCQkJYXJnLmZsYWdzID0gSTkxNV9N TUFQX1dDOworCQkJCWhhc193YyA9IGlndF9pb2N0bChmZCwgRFJNX0lPQ1RMX0k5MTVfR0VNX01N QVAsICZhcmcpID09IDA7CisJCQkJZ2VtX2Nsb3NlKGZkLCBhcmcuaGFuZGxlKTsKKwkJCX0KIAkJ fQotCQllcnJubyA9IDA7CisKKwkJCWVycm5vID0gMDsKIAl9CiAKIAlyZXR1cm4gaGFzX3djID4g MDsKQEAgLTIxMSw3ICsyMjYsMTIgQEAgdm9pZCAqX19nZW1fbW1hcF9fd2MoaW50IGZkLCB1aW50 MzJfdCBoYW5kbGUsIHVpbnQ2NF90IG9mZnNldCwgdWludDY0X3Qgc2l6ZSwgdW4KICAqLwogdm9p ZCAqZ2VtX21tYXBfX3djKGludCBmZCwgdWludDMyX3QgaGFuZGxlLCB1aW50NjRfdCBvZmZzZXQs IHVpbnQ2NF90IHNpemUsIHVuc2lnbmVkIHByb3QpCiB7Ci0Jdm9pZCAqcHRyID0gX19nZW1fbW1h cF9fd2MoZmQsIGhhbmRsZSwgb2Zmc2V0LCBzaXplLCBwcm90KTsKKwl2b2lkICpwdHI7CisKKwlw dHIgPSBfX2dlbV9tbWFwX29mZnNldChmZCwgaGFuZGxlLCBvZmZzZXQsIHNpemUsIHByb3QsIExP Q0FMX0k5MTVfTU1BUF9PRkZTRVRfV0MpOworCWlmICghcHRyKQorCQlwdHIgPSBfX2dlbV9tbWFw X193YyhmZCwgaGFuZGxlLCBvZmZzZXQsIHNpemUsIHByb3QpOworCiAJaWd0X2Fzc2VydChwdHIp OwogCXJldHVybiBwdHI7CiB9CkBAIC0yNDgsNyArMjY4LDY4IEBAIHZvaWQgKl9fZ2VtX21tYXBf X2NwdShpbnQgZmQsIHVpbnQzMl90IGhhbmRsZSwgdWludDY0X3Qgb2Zmc2V0LCB1aW50NjRfdCBz aXplLCB1CiAgKi8KIHZvaWQgKmdlbV9tbWFwX19jcHUoaW50IGZkLCB1aW50MzJfdCBoYW5kbGUs IHVpbnQ2NF90IG9mZnNldCwgdWludDY0X3Qgc2l6ZSwgdW5zaWduZWQgcHJvdCkKIHsKLQl2b2lk ICpwdHIgPSBfX2dlbV9tbWFwX19jcHUoZmQsIGhhbmRsZSwgb2Zmc2V0LCBzaXplLCBwcm90KTsK Kwl2b2lkICpwdHI7CisKKwlwdHIgPSBfX2dlbV9tbWFwX29mZnNldChmZCwgaGFuZGxlLCBvZmZz ZXQsIHNpemUsIHByb3QsIExPQ0FMX0k5MTVfTU1BUF9PRkZTRVRfV0IpOworCWlmICghcHRyKQor CQlwdHIgPSBfX2dlbV9tbWFwKGZkLCBoYW5kbGUsIG9mZnNldCwgc2l6ZSwgcHJvdCwgMCk7CisK IAlpZ3RfYXNzZXJ0KHB0cik7CiAJcmV0dXJuIHB0cjsKIH0KKworYm9vbCBoYXNfbW1hcF9vZmZz ZXQoaW50IGZkKQoreworCXN0YXRpYyBpbnQgaGFzX21tYXBfb2Zmc2V0ID0gLTE7CisKKwlpZiAo aGFzX21tYXBfb2Zmc2V0ID09IC0xKSB7CisJCXN0cnVjdCBkcm1faTkxNV9nZXRwYXJhbSBncDsK KworCQloYXNfbW1hcF9vZmZzZXQgPSAwOworCisJCW1lbXNldCgmZ3AsIDAsIHNpemVvZihncCkp OworCQlncC5wYXJhbSA9IDB4NTU7IC8qIEk5MTVfUEFSQU1fTU1BUF9PRkZTRVRfVkVSU0lPTiAq LworCQlncC52YWx1ZSA9ICZoYXNfbW1hcF9vZmZzZXQ7CisJCWlvY3RsKGZkLCBEUk1fSU9DVExf STkxNV9HRVRQQVJBTSwgJmdwKTsKKwl9CisKKwlyZXR1cm4gaGFzX21tYXBfb2Zmc2V0ID4gMDsK K30KKworLyoqCisgKiBfX2dlbV9tbWFwX29mZnNldDoKKyAqIEBmZDogb3BlbiBpOTE1IGRybSBm aWxlIGRlc2NyaXB0b3IKKyAqIEBoYW5kbGU6IGdlbSBidWZmZXIgb2JqZWN0IGhhbmRsZQorICog QG9mZnNldDogb2Zmc2V0IGluIHRoZSBnZW0gYnVmZmVyIG9mIHRoZSBtbWFwIGFyZW5hCisgKiBA c2l6ZTogc2l6ZSBvZiB0aGUgbW1hcCBhcmVuYQorICogQHByb3Q6IG1lbW9yeSBwcm90ZWN0aW9u IGJpdHMgYXMgdXNlZCBieSBtbWFwKCkKKyAqIEBmbGFnczogZmxhZ3MgdXNlZCB0byBkZXRlcm1p bmUgY2FjaGluZworICoKKyAqIFNpbWlsYXIgdG8gX19nZW1fbW1hcCBidXQgdXNlIE1NQVBfT0ZG U0VUIElPQ1RMLgorICoKKyAqIFJldHVybnM6IEEgcG9pbnRlciB0byB0aGUgY3JlYXRlZCBtZW1v cnkgbWFwcGluZywgTlVMTCBvbiBmYWlsdXJlLgorICovCit2b2lkCisqX19nZW1fbW1hcF9vZmZz ZXQoaW50IGZkLCB1aW50MzJfdCBoYW5kbGUsIHVpbnQ2NF90IG9mZnNldCwgdWludDY0X3Qgc2l6 ZSwgdW5zaWduZWQgaW50IHByb3QsIHVpbnQ2NF90IGZsYWdzKQoreworCXN0cnVjdCBsb2NhbF9k cm1faTkxNV9nZW1fbW1hcF9vZmZzZXQgYXJnOworCXZvaWQgKnB0cjsKKworCW1lbXNldCgmYXJn LCAwLCBzaXplb2YoYXJnKSk7CisJYXJnLmhhbmRsZSA9IGhhbmRsZTsKKwlhcmcub2Zmc2V0ID0g b2Zmc2V0OworCWFyZy5mbGFncyA9IGZsYWdzOworCisJaWYgKGlndF9pb2N0bChmZCwgTE9DQUxf RFJNX0lPQ1RMX0k5MTVfR0VNX01NQVBfT0ZGU0VULCAmYXJnKSkKKwkJcmV0dXJuIE5VTEw7CisK KwlwdHIgPSBtbWFwNjQoMCwgc2l6ZSwgcHJvdCwgTUFQX1NIQVJFRCwgZmQsIGFyZy5vZmZzZXQp OworCisJaWYgKHB0ciA9PSBNQVBfRkFJTEVEKQorCQlwdHIgPSBOVUxMOworCWVsc2UKKwkJZXJy bm8gPSAwOworCisJcmV0dXJuIHB0cjsKK30KKwpkaWZmIC0tZ2l0IGEvbGliL2k5MTUvZ2VtX21t YW4uaCBiL2xpYi9pOTE1L2dlbV9tbWFuLmgKaW5kZXggZjcyNDJlZDcuLmMyYzEwMjQ5IDEwMDY0 NAotLS0gYS9saWIvaTkxNS9nZW1fbW1hbi5oCisrKyBiL2xpYi9pOTE1L2dlbV9tbWFuLmgKQEAg LTUxLDUgKzUxLDM4IEBAIGludCBnZW1fbXVubWFwKHZvaWQgKnB0ciwgdWludDY0X3Qgc2l6ZSk7 CiAgKi8KICNkZWZpbmUgZ2VtX3JlcXVpcmVfbW1hcF93YyhmZCkgaWd0X3JlcXVpcmUoZ2VtX21t YXBfX2hhc193YyhmZCkpCiAKK3N0cnVjdCBsb2NhbF9kcm1faTkxNV9nZW1fbW1hcF9vZmZzZXQg eworCS8qKiBIYW5kbGUgZm9yIHRoZSBvYmplY3QgYmVpbmcgbWFwcGVkLiAqLworCV9fdTMyIGhh bmRsZTsKKwlfX3UzMiBwYWQ7CisJLyoqCisJICogRmFrZSBvZmZzZXQgdG8gdXNlIGZvciBzdWJz ZXF1ZW50IG1tYXAgY2FsbAorCSAqCisJICogVGhpcyBpcyBhIGZpeGVkLXNpemUgdHlwZSBmb3Ig MzIvNjQgY29tcGF0aWJpbGl0eS4KKwkgKi8KKwlfX3U2NCBvZmZzZXQ7CisKKwkvKioKKwkgKiBG bGFncyBmb3IgZXh0ZW5kZWQgYmVoYXZpb3VyLgorCSAqCisJICogSXQgaXMgbWFuZGF0b3J5IHRo YXQgZWl0aGVyIG9uZSBvZiB0aGUgX1dDL19XQiBmbGFncworCSAqIHNob3VsZCBiZSBwYXNzZWQg aGVyZS4KKwkgKi8KKwlfX3U2NCBmbGFnczsKK307CisKKyNkZWZpbmUgTE9DQUxfRFJNX0k5MTVf R0VNX01NQVBfT0ZGU0VUIDB4MjQKKyNkZWZpbmUgTE9DQUxfSTkxNV9NTUFQX09GRlNFVF9XQyAo MSA8PCAwKQorI2RlZmluZSBMT0NBTF9JOTE1X01NQVBfT0ZGU0VUX1dCICgxIDw8IDEpCisjZGVm aW5lIExPQ0FMX0k5MTVfTU1BUF9PRkZTRVRfVUMgKDEgPDwgMikKKworI2RlZmluZSBMT0NBTF9E Uk1fSU9DVExfSTkxNV9HRU1fTU1BUF9PRkZTRVQgXAorCQlEUk1fSU9XUihEUk1fQ09NTUFORF9C QVNFICsgTE9DQUxfRFJNX0k5MTVfR0VNX01NQVBfT0ZGU0VULCBzdHJ1Y3QgbG9jYWxfZHJtX2k5 MTVfZ2VtX21tYXBfb2Zmc2V0KQorCitib29sIGhhc19tbWFwX29mZnNldChpbnQgZmQpOworCit2 b2lkICpfX2dlbV9tbWFwX29mZnNldChpbnQgZmQsIHVpbnQzMl90IGhhbmRsZSwgdWludDY0X3Qg b2Zmc2V0LCB1aW50NjRfdCBzaXplLCB1bnNpZ25lZCBpbnQgcHJvdCwgdWludDY0X3QgZmxhZ3Mp OworCisKICNlbmRpZiAvKiBHRU1fTU1BTl9IICovCiAKLS0gCjIuMjAuMQoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KaWd0LWRldiBtYWlsaW5nIGxpc3QK aWd0LWRldkBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5v cmcvbWFpbG1hbi9saXN0aW5mby9pZ3QtZGV2