From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [RFC 33/33] drm/i915: Eliminate dual personality of i915_scratch_offset Date: Mon, 17 Jun 2019 19:12:36 +0100 Message-ID: <20190617181236.7981-34-tvrtko.ursulin@linux.intel.com> References: <20190617181236.7981-1-tvrtko.ursulin@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTPS id C2ADD892E2 for ; Mon, 17 Jun 2019 18:13:40 +0000 (UTC) In-Reply-To: <20190617181236.7981-1-tvrtko.ursulin@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KClNjcmF0Y2gg dm1hIGxpdmVzIHVuZGVyIGd0IGJ1dCB0aGUgQVBJIHVzZWQgdG8gd29yayBvbiBpOTE1LiBNYWtl IHRoaXMKY29uc2lzdGVudCBieSByZW5hbWluZyB0aGUgZnVuY3Rpb24gdG8gaW50ZWxfZ3Rfc2Ny YXRjaF9vZmZzZXQgYW5kIG1ha2UKaXQgdGFrZSBzdHJ1Y3QgaW50ZWxfZ3QuCgp2MjoKICogTW92 ZSB0byBpbnRlbF9ndC4gKENocmlzKQoKU2lnbmVkLW9mZi1ieTogVHZydGtvIFVyc3VsaW4gPHR2 cnRrby51cnN1bGluQGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRl bF9lbmdpbmVfY3MuYyAgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZ3Qu YyAgICAgICAgIHwgMzggKysrKysrKysrKysrKysrKysrKysrKwogZHJpdmVycy9ncHUvZHJtL2k5 MTUvZ3QvaW50ZWxfZ3QuaCAgICAgICAgIHwgIDggKysrKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2d0L2ludGVsX2xyYy5jICAgICAgICB8ICA5ICsrLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9n dC9pbnRlbF9yaW5nYnVmZmVyLmMgfCAyOSArKysrKysrKysrLS0tLS0tLQogZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9kcnYuaCAgICAgICAgICAgIHwgIDUgLS0tCiBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2dlbS5jICAgICAgICAgICAgfCAzMSArKy0tLS0tLS0tLS0tLS0tLS0KIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3B1X2Vycm9yLmMgICAgICB8ICAyICstCiA4IGZpbGVzIGNo YW5nZWQsIDczIGluc2VydGlvbnMoKyksIDUxIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2VuZ2luZV9jcy5jIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvZ3QvaW50ZWxfZW5naW5lX2NzLmMKaW5kZXggOTBjNjUyNjllYWRkLi5kMWE0ZWYyYjAz YWMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2VuZ2luZV9jcy5j CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2VuZ2luZV9jcy5jCkBAIC03MzAs NyArNzMwLDcgQEAgc3RhdGljIGludCBtZWFzdXJlX2JyZWFkY3J1bWJfZHcoc3RydWN0IGludGVs X2VuZ2luZV9jcyAqZW5naW5lKQogCXN0cnVjdCBtZWFzdXJlX2JyZWFkY3J1bWIgKmZyYW1lOwog CWludCBkdyA9IC1FTk9NRU07CiAKLQlHRU1fQlVHX09OKCFlbmdpbmUtPmk5MTUtPmd0LnNjcmF0 Y2gpOworCUdFTV9CVUdfT04oIWVuZ2luZS0+Z3QtPnNjcmF0Y2gpOwogCiAJZnJhbWUgPSBremFs bG9jKHNpemVvZigqZnJhbWUpLCBHRlBfS0VSTkVMKTsKIAlpZiAoIWZyYW1lKQpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZ3QuYyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2d0L2ludGVsX2d0LmMKaW5kZXggMjA0ZTcwMzljYTMyLi5jNzRmYTU1NjY4YzcgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2d0LmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvZ3QvaW50ZWxfZ3QuYwpAQCAtMjAzLDMgKzIwMyw0MSBAQCB2b2lkIGludGVs X2d0X2NoaXBzZXRfZmx1c2goc3RydWN0IGludGVsX2d0ICpndCkKIAlpZiAoSU5URUxfR0VOKGd0 LT5pOTE1KSA8IDYpCiAJCWludGVsX2d0dF9jaGlwc2V0X2ZsdXNoKCk7CiB9CisKK2ludCBpbnRl bF9ndF9pbml0X3NjcmF0Y2goc3RydWN0IGludGVsX2d0ICpndCwgdW5zaWduZWQgaW50IHNpemUp Cit7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUgPSBndC0+aTkxNTsKKwlzdHJ1Y3Qg ZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqOworCXN0cnVjdCBpOTE1X3ZtYSAqdm1hOworCWludCBy ZXQ7CisKKwlvYmogPSBpOTE1X2dlbV9vYmplY3RfY3JlYXRlX3N0b2xlbihpOTE1LCBzaXplKTsK KwlpZiAoIW9iaikKKwkJb2JqID0gaTkxNV9nZW1fb2JqZWN0X2NyZWF0ZV9pbnRlcm5hbChpOTE1 LCBzaXplKTsKKwlpZiAoSVNfRVJSKG9iaikpIHsKKwkJRFJNX0VSUk9SKCJGYWlsZWQgdG8gYWxs b2NhdGUgc2NyYXRjaCBwYWdlXG4iKTsKKwkJcmV0dXJuIFBUUl9FUlIob2JqKTsKKwl9CisKKwl2 bWEgPSBpOTE1X3ZtYV9pbnN0YW5jZShvYmosICZndC0+Z2d0dC0+dm0sIE5VTEwpOworCWlmIChJ U19FUlIodm1hKSkgeworCQlyZXQgPSBQVFJfRVJSKHZtYSk7CisJCWdvdG8gZXJyX3VucmVmOwor CX0KKworCXJldCA9IGk5MTVfdm1hX3Bpbih2bWEsIDAsIDAsIFBJTl9HTE9CQUwgfCBQSU5fSElH SCk7CisJaWYgKHJldCkKKwkJZ290byBlcnJfdW5yZWY7CisKKwlndC0+c2NyYXRjaCA9IHZtYTsK KwlyZXR1cm4gMDsKKworZXJyX3VucmVmOgorCWk5MTVfZ2VtX29iamVjdF9wdXQob2JqKTsKKwly ZXR1cm4gcmV0OworfQorCit2b2lkIGludGVsX2d0X2Zpbmlfc2NyYXRjaChzdHJ1Y3QgaW50ZWxf Z3QgKmd0KQoreworCWk5MTVfdm1hX3VucGluX2FuZF9yZWxlYXNlKCZndC0+c2NyYXRjaCwgMCk7 Cit9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9ndC5oIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZ3QuaAppbmRleCAwOTFkZWQ0ZGVlYWQuLmM5ZWEz ZmRjMjFiMCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZ3QuaAor KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9ndC5oCkBAIC0yMiw0ICsyMiwxMiBA QCB2b2lkIGludGVsX2d0X2NsZWFyX2Vycm9yX3JlZ2lzdGVycyhzdHJ1Y3QgaW50ZWxfZ3QgKmd0 LAogdm9pZCBpbnRlbF9ndF9mbHVzaF9nZ3R0X3dyaXRlcyhzdHJ1Y3QgaW50ZWxfZ3QgKmd0KTsK IHZvaWQgaW50ZWxfZ3RfY2hpcHNldF9mbHVzaChzdHJ1Y3QgaW50ZWxfZ3QgKmd0KTsKIAoraW50 IGludGVsX2d0X2luaXRfc2NyYXRjaChzdHJ1Y3QgaW50ZWxfZ3QgKmd0LCB1bnNpZ25lZCBpbnQg c2l6ZSk7Cit2b2lkIGludGVsX2d0X2Zpbmlfc2NyYXRjaChzdHJ1Y3QgaW50ZWxfZ3QgKmd0KTsK Kworc3RhdGljIGlubGluZSB1MzIgaW50ZWxfZ3Rfc2NyYXRjaF9vZmZzZXQoY29uc3Qgc3RydWN0 IGludGVsX2d0ICpndCkKK3sKKwlyZXR1cm4gaTkxNV9nZ3R0X29mZnNldChndC0+c2NyYXRjaCk7 Cit9CisKICNlbmRpZiAvKiBfX0lOVEVMX0dUX0hfXyAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvZ3QvaW50ZWxfbHJjLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRl bF9scmMuYwppbmRleCA3Y2MzYWIzODc2OGYuLjZkYWFiYTliOTliYyAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfbHJjLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvZ3QvaW50ZWxfbHJjLmMKQEAgLTEzNSw2ICsxMzUsNyBAQAogCiAjaW5jbHVkZSAiZ2VtL2k5 MTVfZ2VtX2NvbnRleHQuaCIKIAorI2luY2x1ZGUgImd0L2ludGVsX2d0LmgiCiAjaW5jbHVkZSAi aTkxNV9kcnYuaCIKICNpbmNsdWRlICJpOTE1X2dlbV9yZW5kZXJfc3RhdGUuaCIKICNpbmNsdWRl ICJpOTE1X3ZncHUuaCIKQEAgLTE2ODEsNyArMTY4Miw3IEBAIGdlbjhfZW1pdF9mbHVzaF9jb2hl cmVudGwzX3dhKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSwgdTMyICpiYXRjaCkKIAkv KiBOQiBubyBvbmUgZWxzZSBpcyBhbGxvd2VkIHRvIHNjcmliYmxlIG92ZXIgc2NyYXRjaCArIDI1 NiEgKi8KIAkqYmF0Y2grKyA9IE1JX1NUT1JFX1JFR0lTVEVSX01FTV9HRU44IHwgTUlfU1JNX0xS TV9HTE9CQUxfR1RUOwogCSpiYXRjaCsrID0gaTkxNV9tbWlvX3JlZ19vZmZzZXQoR0VOOF9MM1NR Q1JFRzQpOwotCSpiYXRjaCsrID0gaTkxNV9zY3JhdGNoX29mZnNldChlbmdpbmUtPmk5MTUpICsg MjU2OworCSpiYXRjaCsrID0gaW50ZWxfZ3Rfc2NyYXRjaF9vZmZzZXQoZW5naW5lLT5ndCkgKyAy NTY7CiAJKmJhdGNoKysgPSAwOwogCiAJKmJhdGNoKysgPSBNSV9MT0FEX1JFR0lTVEVSX0lNTSgx KTsKQEAgLTE2OTUsNyArMTY5Niw3IEBAIGdlbjhfZW1pdF9mbHVzaF9jb2hlcmVudGwzX3dhKHN0 cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSwgdTMyICpiYXRjaCkKIAogCSpiYXRjaCsrID0g TUlfTE9BRF9SRUdJU1RFUl9NRU1fR0VOOCB8IE1JX1NSTV9MUk1fR0xPQkFMX0dUVDsKIAkqYmF0 Y2grKyA9IGk5MTVfbW1pb19yZWdfb2Zmc2V0KEdFTjhfTDNTUUNSRUc0KTsKLQkqYmF0Y2grKyA9 IGk5MTVfc2NyYXRjaF9vZmZzZXQoZW5naW5lLT5pOTE1KSArIDI1NjsKKwkqYmF0Y2grKyA9IGlu dGVsX2d0X3NjcmF0Y2hfb2Zmc2V0KGVuZ2luZS0+Z3QpICsgMjU2OwogCSpiYXRjaCsrID0gMDsK IAogCXJldHVybiBiYXRjaDsKQEAgLTE3MzIsNyArMTczMyw3IEBAIHN0YXRpYyB1MzIgKmdlbjhf aW5pdF9pbmRpcmVjdGN0eF9iYihzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUsIHUzMiAq YmF0Y2gpCiAJCQkJICAgICAgIFBJUEVfQ09OVFJPTF9HTE9CQUxfR1RUX0lWQiB8CiAJCQkJICAg ICAgIFBJUEVfQ09OVFJPTF9DU19TVEFMTCB8CiAJCQkJICAgICAgIFBJUEVfQ09OVFJPTF9RV19X UklURSwKLQkJCQkgICAgICAgaTkxNV9zY3JhdGNoX29mZnNldChlbmdpbmUtPmk5MTUpICsKKwkJ CQkgICAgICAgaW50ZWxfZ3Rfc2NyYXRjaF9vZmZzZXQoZW5naW5lLT5ndCkgKwogCQkJCSAgICAg ICAyICogQ0FDSEVMSU5FX0JZVEVTKTsKIAogCSpiYXRjaCsrID0gTUlfQVJCX09OX09GRiB8IE1J X0FSQl9FTkFCTEU7CkBAIC0yNDM5LDcgKzI0NDAsNyBAQCBzdGF0aWMgaW50IGdlbjhfZW1pdF9m bHVzaF9yZW5kZXIoc3RydWN0IGk5MTVfcmVxdWVzdCAqcmVxdWVzdCwKIHsKIAlzdHJ1Y3QgaW50 ZWxfZW5naW5lX2NzICplbmdpbmUgPSByZXF1ZXN0LT5lbmdpbmU7CiAJdTMyIHNjcmF0Y2hfYWRk ciA9Ci0JCWk5MTVfc2NyYXRjaF9vZmZzZXQoZW5naW5lLT5pOTE1KSArIDIgKiBDQUNIRUxJTkVf QllURVM7CisJCWludGVsX2d0X3NjcmF0Y2hfb2Zmc2V0KGVuZ2luZS0+Z3QpICsgMiAqIENBQ0hF TElORV9CWVRFUzsKIAlib29sIHZmX2ZsdXNoX3dhID0gZmFsc2UsIGRjX2ZsdXNoX3dhID0gZmFs c2U7CiAJdTMyICpjcywgZmxhZ3MgPSAwOwogCWludCBsZW47CmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9yaW5nYnVmZmVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9ndC9pbnRlbF9yaW5nYnVmZmVyLmMKaW5kZXggMTVkMmFjOWVhMDIwLi5jODM1ZTk2Y2U4N2Eg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX3JpbmdidWZmZXIuYwor KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9yaW5nYnVmZmVyLmMKQEAgLTMzLDYg KzMzLDggQEAKIAogI2luY2x1ZGUgImdlbS9pOTE1X2dlbV9jb250ZXh0LmgiCiAKKyNpbmNsdWRl ICJndC9pbnRlbF9ndC5oIgorCiAjaW5jbHVkZSAiaTkxNV9kcnYuaCIKICNpbmNsdWRlICJpOTE1 X2dlbV9yZW5kZXJfc3RhdGUuaCIKICNpbmNsdWRlICJpOTE1X3RyYWNlLmgiCkBAIC03NSw3ICs3 Nyw3IEBAIGdlbjJfcmVuZGVyX3JpbmdfZmx1c2goc3RydWN0IGk5MTVfcmVxdWVzdCAqcnEsIHUz MiBtb2RlKQogCSpjcysrID0gY21kOwogCXdoaWxlIChudW1fc3RvcmVfZHctLSkgewogCQkqY3Mr KyA9IE1JX1NUT1JFX0RXT1JEX0lNTSB8IE1JX01FTV9WSVJUVUFMOwotCQkqY3MrKyA9IGk5MTVf c2NyYXRjaF9vZmZzZXQocnEtPmk5MTUpOworCQkqY3MrKyA9IGludGVsX2d0X3NjcmF0Y2hfb2Zm c2V0KHJxLT5lbmdpbmUtPmd0KTsKIAkJKmNzKysgPSAwOwogCX0KIAkqY3MrKyA9IE1JX0ZMVVNI IHwgTUlfTk9fV1JJVEVfRkxVU0g7CkBAIC0xNDgsNyArMTUwLDggQEAgZ2VuNF9yZW5kZXJfcmlu Z19mbHVzaChzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpycSwgdTMyIG1vZGUpCiAJICovCiAJaWYgKG1v ZGUgJiBFTUlUX0lOVkFMSURBVEUpIHsKIAkJKmNzKysgPSBHRlhfT1BfUElQRV9DT05UUk9MKDQp IHwgUElQRV9DT05UUk9MX1FXX1dSSVRFOwotCQkqY3MrKyA9IGk5MTVfc2NyYXRjaF9vZmZzZXQo cnEtPmk5MTUpIHwgUElQRV9DT05UUk9MX0dMT0JBTF9HVFQ7CisJCSpjcysrID0gaW50ZWxfZ3Rf c2NyYXRjaF9vZmZzZXQocnEtPmVuZ2luZS0+Z3QpIHwKKwkJCVBJUEVfQ09OVFJPTF9HTE9CQUxf R1RUOwogCQkqY3MrKyA9IDA7CiAJCSpjcysrID0gMDsKIApAQCAtMTU2LDcgKzE1OSw4IEBAIGdl bjRfcmVuZGVyX3JpbmdfZmx1c2goc3RydWN0IGk5MTVfcmVxdWVzdCAqcnEsIHUzMiBtb2RlKQog CQkJKmNzKysgPSBNSV9GTFVTSDsKIAogCQkqY3MrKyA9IEdGWF9PUF9QSVBFX0NPTlRST0woNCkg fCBQSVBFX0NPTlRST0xfUVdfV1JJVEU7Ci0JCSpjcysrID0gaTkxNV9zY3JhdGNoX29mZnNldChy cS0+aTkxNSkgfCBQSVBFX0NPTlRST0xfR0xPQkFMX0dUVDsKKwkJKmNzKysgPSBpbnRlbF9ndF9z Y3JhdGNoX29mZnNldChycS0+ZW5naW5lLT5ndCkgfAorCQkJUElQRV9DT05UUk9MX0dMT0JBTF9H VFQ7CiAJCSpjcysrID0gMDsKIAkJKmNzKysgPSAwOwogCX0KQEAgLTIwOCw3ICsyMTIsOCBAQCBn ZW40X3JlbmRlcl9yaW5nX2ZsdXNoKHN0cnVjdCBpOTE1X3JlcXVlc3QgKnJxLCB1MzIgbW9kZSkK IHN0YXRpYyBpbnQKIGdlbjZfZW1pdF9wb3N0X3N5bmNfbm9uemVyb19mbHVzaChzdHJ1Y3QgaTkx NV9yZXF1ZXN0ICpycSkKIHsKLQl1MzIgc2NyYXRjaF9hZGRyID0gaTkxNV9zY3JhdGNoX29mZnNl dChycS0+aTkxNSkgKyAyICogQ0FDSEVMSU5FX0JZVEVTOworCXUzMiBzY3JhdGNoX2FkZHIgPQor CQlpbnRlbF9ndF9zY3JhdGNoX29mZnNldChycS0+ZW5naW5lLT5ndCkgKyAyICogQ0FDSEVMSU5F X0JZVEVTOwogCXUzMiAqY3M7CiAKIAljcyA9IGludGVsX3JpbmdfYmVnaW4ocnEsIDYpOwpAQCAt MjQxLDcgKzI0Niw4IEBAIGdlbjZfZW1pdF9wb3N0X3N5bmNfbm9uemVyb19mbHVzaChzdHJ1Y3Qg aTkxNV9yZXF1ZXN0ICpycSkKIHN0YXRpYyBpbnQKIGdlbjZfcmVuZGVyX3JpbmdfZmx1c2goc3Ry dWN0IGk5MTVfcmVxdWVzdCAqcnEsIHUzMiBtb2RlKQogewotCXUzMiBzY3JhdGNoX2FkZHIgPSBp OTE1X3NjcmF0Y2hfb2Zmc2V0KHJxLT5pOTE1KSArIDIgKiBDQUNIRUxJTkVfQllURVM7CisJdTMy IHNjcmF0Y2hfYWRkciA9CisJCWludGVsX2d0X3NjcmF0Y2hfb2Zmc2V0KHJxLT5lbmdpbmUtPmd0 KSArIDIgKiBDQUNIRUxJTkVfQllURVM7CiAJdTMyICpjcywgZmxhZ3MgPSAwOwogCWludCByZXQ7 CiAKQEAgLTI5OSw3ICszMDUsNyBAQCBzdGF0aWMgdTMyICpnZW42X3Jjc19lbWl0X2JyZWFkY3J1 bWIoc3RydWN0IGk5MTVfcmVxdWVzdCAqcnEsIHUzMiAqY3MpCiAKIAkqY3MrKyA9IEdGWF9PUF9Q SVBFX0NPTlRST0woNCk7CiAJKmNzKysgPSBQSVBFX0NPTlRST0xfUVdfV1JJVEU7Ci0JKmNzKysg PSBpOTE1X3NjcmF0Y2hfb2Zmc2V0KHJxLT5pOTE1KSB8IFBJUEVfQ09OVFJPTF9HTE9CQUxfR1RU OworCSpjcysrID0gaW50ZWxfZ3Rfc2NyYXRjaF9vZmZzZXQocnEtPmVuZ2luZS0+Z3QpIHwgUElQ RV9DT05UUk9MX0dMT0JBTF9HVFQ7CiAJKmNzKysgPSAwOwogCiAJLyogRmluYWxseSB3ZSBjYW4g Zmx1c2ggYW5kIHdpdGggaXQgZW1pdCB0aGUgYnJlYWRjcnVtYiAqLwpAQCAtMzQyLDcgKzM0OCw4 IEBAIGdlbjdfcmVuZGVyX3JpbmdfY3Nfc3RhbGxfd2Eoc3RydWN0IGk5MTVfcmVxdWVzdCAqcnEp CiBzdGF0aWMgaW50CiBnZW43X3JlbmRlcl9yaW5nX2ZsdXNoKHN0cnVjdCBpOTE1X3JlcXVlc3Qg KnJxLCB1MzIgbW9kZSkKIHsKLQl1MzIgc2NyYXRjaF9hZGRyID0gaTkxNV9zY3JhdGNoX29mZnNl dChycS0+aTkxNSkgKyAyICogQ0FDSEVMSU5FX0JZVEVTOworCXUzMiBzY3JhdGNoX2FkZHIgPQor CQlpbnRlbF9ndF9zY3JhdGNoX29mZnNldChycS0+ZW5naW5lLT5ndCkgKyAyICogQ0FDSEVMSU5F X0JZVEVTOwogCXUzMiAqY3MsIGZsYWdzID0gMDsKIAogCS8qCkBAIC0xMDcxLDkgKzEwNzgsOSBA QCBpODMwX2VtaXRfYmJfc3RhcnQoc3RydWN0IGk5MTVfcmVxdWVzdCAqcnEsCiAJCSAgIHU2NCBv ZmZzZXQsIHUzMiBsZW4sCiAJCSAgIHVuc2lnbmVkIGludCBkaXNwYXRjaF9mbGFncykKIHsKLQl1 MzIgKmNzLCBjc19vZmZzZXQgPSBpOTE1X3NjcmF0Y2hfb2Zmc2V0KHJxLT5pOTE1KTsKKwl1MzIg KmNzLCBjc19vZmZzZXQgPSBpbnRlbF9ndF9zY3JhdGNoX29mZnNldChycS0+ZW5naW5lLT5ndCk7 CiAKLQlHRU1fQlVHX09OKHJxLT5pOTE1LT5ndC5zY3JhdGNoLT5zaXplIDwgSTgzMF9XQV9TSVpF KTsKKwlHRU1fQlVHX09OKHJxLT5lbmdpbmUtPmd0LT5zY3JhdGNoLT5zaXplIDwgSTgzMF9XQV9T SVpFKTsKIAogCWNzID0gaW50ZWxfcmluZ19iZWdpbihycSwgNik7CiAJaWYgKElTX0VSUihjcykp CkBAIC0xNTA0LDcgKzE1MTEsNyBAQCBzdGF0aWMgaW50IGZsdXNoX3BkX2RpcihzdHJ1Y3QgaTkx NV9yZXF1ZXN0ICpycSkKIAkvKiBTdGFsbCB1bnRpbCB0aGUgcGFnZSB0YWJsZSBsb2FkIGlzIGNv bXBsZXRlICovCiAJKmNzKysgPSBNSV9TVE9SRV9SRUdJU1RFUl9NRU0gfCBNSV9TUk1fTFJNX0dM T0JBTF9HVFQ7CiAJKmNzKysgPSBpOTE1X21taW9fcmVnX29mZnNldChSSU5HX1BQX0RJUl9CQVNF KGVuZ2luZS0+bW1pb19iYXNlKSk7Ci0JKmNzKysgPSBpOTE1X3NjcmF0Y2hfb2Zmc2V0KHJxLT5p OTE1KTsKKwkqY3MrKyA9IGludGVsX2d0X3NjcmF0Y2hfb2Zmc2V0KHJxLT5lbmdpbmUtPmd0KTsK IAkqY3MrKyA9IE1JX05PT1A7CiAKIAlpbnRlbF9yaW5nX2FkdmFuY2UocnEsIGNzKTsKQEAgLTE2 MjAsNyArMTYyNyw3IEBAIHN0YXRpYyBpbmxpbmUgaW50IG1pX3NldF9jb250ZXh0KHN0cnVjdCBp OTE1X3JlcXVlc3QgKnJxLCB1MzIgZmxhZ3MpCiAJCQkvKiBJbnNlcnQgYSBkZWxheSBiZWZvcmUg dGhlIG5leHQgc3dpdGNoISAqLwogCQkJKmNzKysgPSBNSV9TVE9SRV9SRUdJU1RFUl9NRU0gfCBN SV9TUk1fTFJNX0dMT0JBTF9HVFQ7CiAJCQkqY3MrKyA9IGk5MTVfbW1pb19yZWdfb2Zmc2V0KGxh c3RfcmVnKTsKLQkJCSpjcysrID0gaTkxNV9zY3JhdGNoX29mZnNldChycS0+aTkxNSk7CisJCQkq Y3MrKyA9IGludGVsX2d0X3NjcmF0Y2hfb2Zmc2V0KHJxLT5lbmdpbmUtPmd0KTsKIAkJCSpjcysr ID0gTUlfTk9PUDsKIAkJfQogCQkqY3MrKyA9IE1JX0FSQl9PTl9PRkYgfCBNSV9BUkJfRU5BQkxF OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKaW5kZXggNDIyZDA1MzhiYTA3Li5kMjExZTllZDgwMTEg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaApAQCAtMjc4NCwxMSArMjc4NCw2IEBAIHN0YXRpYyBp bmxpbmUgaW50IGludGVsX2h3c19jc2Jfd3JpdGVfaW5kZXgoc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmk5MTUpCiAJCXJldHVybiBJOTE1X0hXU19DU0JfV1JJVEVfSU5ERVg7CiB9CiAKLXN0YXRp YyBpbmxpbmUgdTMyIGk5MTVfc2NyYXRjaF9vZmZzZXQoY29uc3Qgc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmk5MTUpCi17Ci0JcmV0dXJuIGk5MTVfZ2d0dF9vZmZzZXQoaTkxNS0+Z3Quc2NyYXRj aCk7Ci19Ci0KIHN0YXRpYyBpbmxpbmUgZW51bSBpOTE1X21hcF90eXBlCiBpOTE1X2NvaGVyZW50 X21hcF90eXBlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1KQogewpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZ2VtLmMKaW5kZXggYTk4Y2E4MzhjN2M4Li42YjI4NGMxZjkzMWQgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9nZW0uYwpAQCAtMTQyMywzOSArMTQyMywxMiBAQCBzdGF0aWMgaW50IF9faW50ZWxfZW5n aW5lc19yZWNvcmRfZGVmYXVsdHMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpCiBzdGF0 aWMgaW50CiBpOTE1X2dlbV9pbml0X3NjcmF0Y2goc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5 MTUsIHVuc2lnbmVkIGludCBzaXplKQogewotCXN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpv Ymo7Ci0Jc3RydWN0IGk5MTVfdm1hICp2bWE7Ci0JaW50IHJldDsKLQotCW9iaiA9IGk5MTVfZ2Vt X29iamVjdF9jcmVhdGVfc3RvbGVuKGk5MTUsIHNpemUpOwotCWlmICghb2JqKQotCQlvYmogPSBp OTE1X2dlbV9vYmplY3RfY3JlYXRlX2ludGVybmFsKGk5MTUsIHNpemUpOwotCWlmIChJU19FUlIo b2JqKSkgewotCQlEUk1fRVJST1IoIkZhaWxlZCB0byBhbGxvY2F0ZSBzY3JhdGNoIHBhZ2VcbiIp OwotCQlyZXR1cm4gUFRSX0VSUihvYmopOwotCX0KLQotCXZtYSA9IGk5MTVfdm1hX2luc3RhbmNl KG9iaiwgJmk5MTUtPmdndHQudm0sIE5VTEwpOwotCWlmIChJU19FUlIodm1hKSkgewotCQlyZXQg PSBQVFJfRVJSKHZtYSk7Ci0JCWdvdG8gZXJyX3VucmVmOwotCX0KLQotCXJldCA9IGk5MTVfdm1h X3Bpbih2bWEsIDAsIDAsIFBJTl9HTE9CQUwgfCBQSU5fSElHSCk7Ci0JaWYgKHJldCkKLQkJZ290 byBlcnJfdW5yZWY7Ci0KLQlpOTE1LT5ndC5zY3JhdGNoID0gdm1hOwotCXJldHVybiAwOwotCi1l cnJfdW5yZWY6Ci0JaTkxNV9nZW1fb2JqZWN0X3B1dChvYmopOwotCXJldHVybiByZXQ7CisJcmV0 dXJuIGludGVsX2d0X2luaXRfc2NyYXRjaCgmaTkxNS0+Z3QsIHNpemUpOwogfQogCiBzdGF0aWMg dm9pZCBpOTE1X2dlbV9maW5pX3NjcmF0Y2goc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUp CiB7Ci0JaTkxNV92bWFfdW5waW5fYW5kX3JlbGVhc2UoJmk5MTUtPmd0LnNjcmF0Y2gsIDApOwor CWludGVsX2d0X2Zpbmlfc2NyYXRjaCgmaTkxNS0+Z3QpOwogfQogCiBzdGF0aWMgaW50IGludGVs X2VuZ2luZXNfdmVyaWZ5X3dvcmthcm91bmRzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1 KQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9ncHVfZXJyb3IuYyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3B1X2Vycm9yLmMKaW5kZXggYzQwNzk5ZmFkMmNkLi45 ZTE0MjJiNzZlYjMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3B1X2Vy cm9yLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9ncHVfZXJyb3IuYwpAQCAtMTQ0 Niw3ICsxNDQ2LDcgQEAgc3RhdGljIHZvaWQgZ2VtX3JlY29yZF9yaW5ncyhzdHJ1Y3QgaTkxNV9n cHVfc3RhdGUgKmVycm9yKQogCQkJaWYgKEhBU19CUk9LRU5fQ1NfVExCKGk5MTUpKQogCQkJCWVl LT53YV9iYXRjaGJ1ZmZlciA9CiAJCQkJCWk5MTVfZXJyb3Jfb2JqZWN0X2NyZWF0ZShpOTE1LAot CQkJCQkJCQkgaTkxNS0+Z3Quc2NyYXRjaCk7CisJCQkJCQkJCSBlbmdpbmUtPmd0LT5zY3JhdGNo KTsKIAkJCXJlcXVlc3RfcmVjb3JkX3VzZXJfYm8ocmVxdWVzdCwgZWUpOwogCiAJCQllZS0+Y3R4 ID0KLS0gCjIuMjAuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Au b3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwt Z2Z4