From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [RFC 31/31] drm/i915: Eliminate dual personality of i915_scratch_offset Date: Fri, 14 Jun 2019 16:17:31 +0100 Message-ID: <20190614151731.17608-32-tvrtko.ursulin@linux.intel.com> References: <20190614151731.17608-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 mga07.intel.com (mga07.intel.com [134.134.136.100]) by gabe.freedesktop.org (Postfix) with ESMTPS id 932AF89A4B for ; Fri, 14 Jun 2019 15:18:31 +0000 (UTC) In-Reply-To: <20190614151731.17608-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 YXRjaF9vZmZzZXQgYW5kIG1ha2UKaXQgdGFrZSBzdHJ1Y3QgaW50ZWxfZ3QuCgpTaWduZWQtb2Zm LWJ5OiBUdnJ0a28gVXJzdWxpbiA8dHZydGtvLnVyc3VsaW5AaW50ZWwuY29tPgotLS0KIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2VuZ2luZV9jcy5jICB8ICAyICstCiBkcml2ZXJzL2dw dS9kcm0vaTkxNS9ndC9pbnRlbF9ndC5oICAgICAgICAgfCAgNSArKysrCiBkcml2ZXJzL2dwdS9k cm0vaTkxNS9ndC9pbnRlbF9scmMuYyAgICAgICAgfCAgOSArKysrLS0tCiBkcml2ZXJzL2dwdS9k cm0vaTkxNS9ndC9pbnRlbF9yaW5nYnVmZmVyLmMgfCAyOSArKysrKysrKysrKysrKy0tLS0tLS0t CiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgICAgICAgICAgfCAgNSAtLS0tCiBk cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jICAgICAgICAgICAgfCAyMSArKysrKysrKysr KystLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dwdV9lcnJvci5jICAgICAgfCAgMiAr LQogNyBmaWxlcyBjaGFuZ2VkLCA0NiBpbnNlcnRpb25zKCspLCAyNyBkZWxldGlvbnMoLSkKCmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9lbmdpbmVfY3MuYyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2VuZ2luZV9jcy5jCmluZGV4IGNkOGIyMmM5MzRj NS4uYWFlMjJmNmQ0YTcyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRl bF9lbmdpbmVfY3MuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9lbmdpbmVf Y3MuYwpAQCAtNzM5LDcgKzczOSw3IEBAIHN0YXRpYyBpbnQgbWVhc3VyZV9icmVhZGNydW1iX2R3 KHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKIAlzdHJ1Y3QgbWVhc3VyZV9icmVhZGNy dW1iICpmcmFtZTsKIAlpbnQgZHcgPSAtRU5PTUVNOwogCi0JR0VNX0JVR19PTighZW5naW5lLT5p OTE1LT5ndC5zY3JhdGNoKTsKKwlHRU1fQlVHX09OKCFlbmdpbmUtPmd0LT5zY3JhdGNoKTsKIAog CWZyYW1lID0ga3phbGxvYyhzaXplb2YoKmZyYW1lKSwgR0ZQX0tFUk5FTCk7CiAJaWYgKCFmcmFt ZSkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2d0LmggYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9ndC5oCmluZGV4IDUzZmNmNGYyNzZkMy4uZWZjMWJj MzgxNDI4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9ndC5oCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2d0LmgKQEAgLTI3LDQgKzI3LDkgQEAg c3RhdGljIGlubGluZSB2b2lkIGludGVsX2d0X2NoaXBzZXRfZmx1c2goc3RydWN0IGludGVsX2d0 ICpndCkKIAkJaW50ZWxfZ3R0X2NoaXBzZXRfZmx1c2goKTsKIH0KIAorc3RhdGljIGlubGluZSB1 MzIgaW50ZWxfZ3Rfc2NyYXRjaF9vZmZzZXQoY29uc3Qgc3RydWN0IGludGVsX2d0ICpndCkKK3sK KwlyZXR1cm4gaTkxNV9nZ3R0X29mZnNldChndC0+c2NyYXRjaCk7Cit9CisKICNlbmRpZiAvKiBf X0lOVEVMX0dUX0hfXyAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50 ZWxfbHJjLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9scmMuYwppbmRleCA4MGQ0 ZmQ3MWIwMWYuLmQyZTg0MmQ5OWM5YyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv Z3QvaW50ZWxfbHJjLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfbHJjLmMK QEAgLTEzNSw2ICsxMzUsNyBAQAogCiAjaW5jbHVkZSAiZ2VtL2k5MTVfZ2VtX2NvbnRleHQuaCIK IAorI2luY2x1ZGUgImd0L2ludGVsX2d0LmgiCiAjaW5jbHVkZSAiaTkxNV9kcnYuaCIKICNpbmNs dWRlICJpOTE1X2dlbV9yZW5kZXJfc3RhdGUuaCIKICNpbmNsdWRlICJpOTE1X3ZncHUuaCIKQEAg LTE3MjgsNyArMTcyOSw3IEBAIGdlbjhfZW1pdF9mbHVzaF9jb2hlcmVudGwzX3dhKHN0cnVjdCBp bnRlbF9lbmdpbmVfY3MgKmVuZ2luZSwgdTMyICpiYXRjaCkKIAkvKiBOQiBubyBvbmUgZWxzZSBp cyBhbGxvd2VkIHRvIHNjcmliYmxlIG92ZXIgc2NyYXRjaCArIDI1NiEgKi8KIAkqYmF0Y2grKyA9 IE1JX1NUT1JFX1JFR0lTVEVSX01FTV9HRU44IHwgTUlfU1JNX0xSTV9HTE9CQUxfR1RUOwogCSpi YXRjaCsrID0gaTkxNV9tbWlvX3JlZ19vZmZzZXQoR0VOOF9MM1NRQ1JFRzQpOwotCSpiYXRjaCsr ID0gaTkxNV9zY3JhdGNoX29mZnNldChlbmdpbmUtPmk5MTUpICsgMjU2OworCSpiYXRjaCsrID0g aW50ZWxfZ3Rfc2NyYXRjaF9vZmZzZXQoZW5naW5lLT5ndCkgKyAyNTY7CiAJKmJhdGNoKysgPSAw OwogCiAJKmJhdGNoKysgPSBNSV9MT0FEX1JFR0lTVEVSX0lNTSgxKTsKQEAgLTE3NDIsNyArMTc0 Myw3IEBAIGdlbjhfZW1pdF9mbHVzaF9jb2hlcmVudGwzX3dhKHN0cnVjdCBpbnRlbF9lbmdpbmVf Y3MgKmVuZ2luZSwgdTMyICpiYXRjaCkKIAogCSpiYXRjaCsrID0gTUlfTE9BRF9SRUdJU1RFUl9N RU1fR0VOOCB8IE1JX1NSTV9MUk1fR0xPQkFMX0dUVDsKIAkqYmF0Y2grKyA9IGk5MTVfbW1pb19y ZWdfb2Zmc2V0KEdFTjhfTDNTUUNSRUc0KTsKLQkqYmF0Y2grKyA9IGk5MTVfc2NyYXRjaF9vZmZz ZXQoZW5naW5lLT5pOTE1KSArIDI1NjsKKwkqYmF0Y2grKyA9IGludGVsX2d0X3NjcmF0Y2hfb2Zm c2V0KGVuZ2luZS0+Z3QpICsgMjU2OwogCSpiYXRjaCsrID0gMDsKIAogCXJldHVybiBiYXRjaDsK QEAgLTE3NzksNyArMTc4MCw3IEBAIHN0YXRpYyB1MzIgKmdlbjhfaW5pdF9pbmRpcmVjdGN0eF9i YihzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUsIHUzMiAqYmF0Y2gpCiAJCQkJICAgICAg IFBJUEVfQ09OVFJPTF9HTE9CQUxfR1RUX0lWQiB8CiAJCQkJICAgICAgIFBJUEVfQ09OVFJPTF9D U19TVEFMTCB8CiAJCQkJICAgICAgIFBJUEVfQ09OVFJPTF9RV19XUklURSwKLQkJCQkgICAgICAg aTkxNV9zY3JhdGNoX29mZnNldChlbmdpbmUtPmk5MTUpICsKKwkJCQkgICAgICAgaW50ZWxfZ3Rf c2NyYXRjaF9vZmZzZXQoZW5naW5lLT5ndCkgKwogCQkJCSAgICAgICAyICogQ0FDSEVMSU5FX0JZ VEVTKTsKIAogCSpiYXRjaCsrID0gTUlfQVJCX09OX09GRiB8IE1JX0FSQl9FTkFCTEU7CkBAIC0y NDg2LDcgKzI0ODcsNyBAQCBzdGF0aWMgaW50IGdlbjhfZW1pdF9mbHVzaF9yZW5kZXIoc3RydWN0 IGk5MTVfcmVxdWVzdCAqcmVxdWVzdCwKIHsKIAlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdp bmUgPSByZXF1ZXN0LT5lbmdpbmU7CiAJdTMyIHNjcmF0Y2hfYWRkciA9Ci0JCWk5MTVfc2NyYXRj aF9vZmZzZXQoZW5naW5lLT5pOTE1KSArIDIgKiBDQUNIRUxJTkVfQllURVM7CisJCWludGVsX2d0 X3NjcmF0Y2hfb2Zmc2V0KGVuZ2luZS0+Z3QpICsgMiAqIENBQ0hFTElORV9CWVRFUzsKIAlib29s IHZmX2ZsdXNoX3dhID0gZmFsc2UsIGRjX2ZsdXNoX3dhID0gZmFsc2U7CiAJdTMyICpjcywgZmxh Z3MgPSAwOwogCWludCBsZW47CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9p bnRlbF9yaW5nYnVmZmVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9yaW5nYnVm ZmVyLmMKaW5kZXggNzlkNTUwZTVkODZhLi5iMDllNTdhYjNkZDYgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX3JpbmdidWZmZXIuYworKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9ndC9pbnRlbF9yaW5nYnVmZmVyLmMKQEAgLTMzLDYgKzMzLDggQEAKIAogI2luY2x1 ZGUgImdlbS9pOTE1X2dlbV9jb250ZXh0LmgiCiAKKyNpbmNsdWRlICJndC9pbnRlbF9ndC5oIgor CiAjaW5jbHVkZSAiaTkxNV9kcnYuaCIKICNpbmNsdWRlICJpOTE1X2dlbV9yZW5kZXJfc3RhdGUu aCIKICNpbmNsdWRlICJpOTE1X3RyYWNlLmgiCkBAIC03NSw3ICs3Nyw3IEBAIGdlbjJfcmVuZGVy X3JpbmdfZmx1c2goc3RydWN0IGk5MTVfcmVxdWVzdCAqcnEsIHUzMiBtb2RlKQogCSpjcysrID0g Y21kOwogCXdoaWxlIChudW1fc3RvcmVfZHctLSkgewogCQkqY3MrKyA9IE1JX1NUT1JFX0RXT1JE X0lNTSB8IE1JX01FTV9WSVJUVUFMOwotCQkqY3MrKyA9IGk5MTVfc2NyYXRjaF9vZmZzZXQocnEt Pmk5MTUpOworCQkqY3MrKyA9IGludGVsX2d0X3NjcmF0Y2hfb2Zmc2V0KHJxLT5lbmdpbmUtPmd0 KTsKIAkJKmNzKysgPSAwOwogCX0KIAkqY3MrKyA9IE1JX0ZMVVNIIHwgTUlfTk9fV1JJVEVfRkxV U0g7CkBAIC0xNDgsNyArMTUwLDggQEAgZ2VuNF9yZW5kZXJfcmluZ19mbHVzaChzdHJ1Y3QgaTkx NV9yZXF1ZXN0ICpycSwgdTMyIG1vZGUpCiAJICovCiAJaWYgKG1vZGUgJiBFTUlUX0lOVkFMSURB VEUpIHsKIAkJKmNzKysgPSBHRlhfT1BfUElQRV9DT05UUk9MKDQpIHwgUElQRV9DT05UUk9MX1FX X1dSSVRFOwotCQkqY3MrKyA9IGk5MTVfc2NyYXRjaF9vZmZzZXQocnEtPmk5MTUpIHwgUElQRV9D T05UUk9MX0dMT0JBTF9HVFQ7CisJCSpjcysrID0gaW50ZWxfZ3Rfc2NyYXRjaF9vZmZzZXQocnEt PmVuZ2luZS0+Z3QpIHwKKwkJCVBJUEVfQ09OVFJPTF9HTE9CQUxfR1RUOwogCQkqY3MrKyA9IDA7 CiAJCSpjcysrID0gMDsKIApAQCAtMTU2LDcgKzE1OSw4IEBAIGdlbjRfcmVuZGVyX3JpbmdfZmx1 c2goc3RydWN0IGk5MTVfcmVxdWVzdCAqcnEsIHUzMiBtb2RlKQogCQkJKmNzKysgPSBNSV9GTFVT SDsKIAogCQkqY3MrKyA9IEdGWF9PUF9QSVBFX0NPTlRST0woNCkgfCBQSVBFX0NPTlRST0xfUVdf V1JJVEU7Ci0JCSpjcysrID0gaTkxNV9zY3JhdGNoX29mZnNldChycS0+aTkxNSkgfCBQSVBFX0NP TlRST0xfR0xPQkFMX0dUVDsKKwkJKmNzKysgPSBpbnRlbF9ndF9zY3JhdGNoX29mZnNldChycS0+ ZW5naW5lLT5ndCkgfAorCQkJUElQRV9DT05UUk9MX0dMT0JBTF9HVFQ7CiAJCSpjcysrID0gMDsK IAkJKmNzKysgPSAwOwogCX0KQEAgLTIwOCw3ICsyMTIsOCBAQCBnZW40X3JlbmRlcl9yaW5nX2Zs dXNoKHN0cnVjdCBpOTE1X3JlcXVlc3QgKnJxLCB1MzIgbW9kZSkKIHN0YXRpYyBpbnQKIGdlbjZf ZW1pdF9wb3N0X3N5bmNfbm9uemVyb19mbHVzaChzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpycSkKIHsK LQl1MzIgc2NyYXRjaF9hZGRyID0gaTkxNV9zY3JhdGNoX29mZnNldChycS0+aTkxNSkgKyAyICog Q0FDSEVMSU5FX0JZVEVTOworCXUzMiBzY3JhdGNoX2FkZHIgPQorCQlpbnRlbF9ndF9zY3JhdGNo X29mZnNldChycS0+ZW5naW5lLT5ndCkgKyAyICogQ0FDSEVMSU5FX0JZVEVTOwogCXUzMiAqY3M7 CiAKIAljcyA9IGludGVsX3JpbmdfYmVnaW4ocnEsIDYpOwpAQCAtMjQxLDcgKzI0Niw4IEBAIGdl bjZfZW1pdF9wb3N0X3N5bmNfbm9uemVyb19mbHVzaChzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpycSkK IHN0YXRpYyBpbnQKIGdlbjZfcmVuZGVyX3JpbmdfZmx1c2goc3RydWN0IGk5MTVfcmVxdWVzdCAq cnEsIHUzMiBtb2RlKQogewotCXUzMiBzY3JhdGNoX2FkZHIgPSBpOTE1X3NjcmF0Y2hfb2Zmc2V0 KHJxLT5pOTE1KSArIDIgKiBDQUNIRUxJTkVfQllURVM7CisJdTMyIHNjcmF0Y2hfYWRkciA9CisJ CWludGVsX2d0X3NjcmF0Y2hfb2Zmc2V0KHJxLT5lbmdpbmUtPmd0KSArIDIgKiBDQUNIRUxJTkVf QllURVM7CiAJdTMyICpjcywgZmxhZ3MgPSAwOwogCWludCByZXQ7CiAKQEAgLTI5OSw3ICszMDUs NyBAQCBzdGF0aWMgdTMyICpnZW42X3Jjc19lbWl0X2JyZWFkY3J1bWIoc3RydWN0IGk5MTVfcmVx dWVzdCAqcnEsIHUzMiAqY3MpCiAKIAkqY3MrKyA9IEdGWF9PUF9QSVBFX0NPTlRST0woNCk7CiAJ KmNzKysgPSBQSVBFX0NPTlRST0xfUVdfV1JJVEU7Ci0JKmNzKysgPSBpOTE1X3NjcmF0Y2hfb2Zm c2V0KHJxLT5pOTE1KSB8IFBJUEVfQ09OVFJPTF9HTE9CQUxfR1RUOworCSpjcysrID0gaW50ZWxf Z3Rfc2NyYXRjaF9vZmZzZXQocnEtPmVuZ2luZS0+Z3QpIHwgUElQRV9DT05UUk9MX0dMT0JBTF9H VFQ7CiAJKmNzKysgPSAwOwogCiAJLyogRmluYWxseSB3ZSBjYW4gZmx1c2ggYW5kIHdpdGggaXQg ZW1pdCB0aGUgYnJlYWRjcnVtYiAqLwpAQCAtMzQyLDcgKzM0OCw4IEBAIGdlbjdfcmVuZGVyX3Jp bmdfY3Nfc3RhbGxfd2Eoc3RydWN0IGk5MTVfcmVxdWVzdCAqcnEpCiBzdGF0aWMgaW50CiBnZW43 X3JlbmRlcl9yaW5nX2ZsdXNoKHN0cnVjdCBpOTE1X3JlcXVlc3QgKnJxLCB1MzIgbW9kZSkKIHsK LQl1MzIgc2NyYXRjaF9hZGRyID0gaTkxNV9zY3JhdGNoX29mZnNldChycS0+aTkxNSkgKyAyICog Q0FDSEVMSU5FX0JZVEVTOworCXUzMiBzY3JhdGNoX2FkZHIgPQorCQlpbnRlbF9ndF9zY3JhdGNo X29mZnNldChycS0+ZW5naW5lLT5ndCkgKyAyICogQ0FDSEVMSU5FX0JZVEVTOwogCXUzMiAqY3Ms IGZsYWdzID0gMDsKIAogCS8qCkBAIC0xMDcyLDkgKzEwNzksOSBAQCBpODMwX2VtaXRfYmJfc3Rh cnQoc3RydWN0IGk5MTVfcmVxdWVzdCAqcnEsCiAJCSAgIHU2NCBvZmZzZXQsIHUzMiBsZW4sCiAJ CSAgIHVuc2lnbmVkIGludCBkaXNwYXRjaF9mbGFncykKIHsKLQl1MzIgKmNzLCBjc19vZmZzZXQg PSBpOTE1X3NjcmF0Y2hfb2Zmc2V0KHJxLT5pOTE1KTsKKwl1MzIgKmNzLCBjc19vZmZzZXQgPSBp bnRlbF9ndF9zY3JhdGNoX29mZnNldChycS0+ZW5naW5lLT5ndCk7CiAKLQlHRU1fQlVHX09OKHJx LT5pOTE1LT5ndC5zY3JhdGNoLT5zaXplIDwgSTgzMF9XQV9TSVpFKTsKKwlHRU1fQlVHX09OKHJx LT5lbmdpbmUtPmd0LT5zY3JhdGNoLT5zaXplIDwgSTgzMF9XQV9TSVpFKTsKIAogCWNzID0gaW50 ZWxfcmluZ19iZWdpbihycSwgNik7CiAJaWYgKElTX0VSUihjcykpCkBAIC0xNTQzLDcgKzE1NTAs NyBAQCBzdGF0aWMgaW50IGZsdXNoX3BkX2RpcihzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpycSkKIAkv KiBTdGFsbCB1bnRpbCB0aGUgcGFnZSB0YWJsZSBsb2FkIGlzIGNvbXBsZXRlICovCiAJKmNzKysg PSBNSV9TVE9SRV9SRUdJU1RFUl9NRU0gfCBNSV9TUk1fTFJNX0dMT0JBTF9HVFQ7CiAJKmNzKysg PSBpOTE1X21taW9fcmVnX29mZnNldChSSU5HX1BQX0RJUl9CQVNFKGVuZ2luZS0+bW1pb19iYXNl KSk7Ci0JKmNzKysgPSBpOTE1X3NjcmF0Y2hfb2Zmc2V0KHJxLT5pOTE1KTsKKwkqY3MrKyA9IGlu dGVsX2d0X3NjcmF0Y2hfb2Zmc2V0KHJxLT5lbmdpbmUtPmd0KTsKIAkqY3MrKyA9IE1JX05PT1A7 CiAKIAlpbnRlbF9yaW5nX2FkdmFuY2UocnEsIGNzKTsKQEAgLTE2NTksNyArMTY2Niw3IEBAIHN0 YXRpYyBpbmxpbmUgaW50IG1pX3NldF9jb250ZXh0KHN0cnVjdCBpOTE1X3JlcXVlc3QgKnJxLCB1 MzIgZmxhZ3MpCiAJCQkvKiBJbnNlcnQgYSBkZWxheSBiZWZvcmUgdGhlIG5leHQgc3dpdGNoISAq LwogCQkJKmNzKysgPSBNSV9TVE9SRV9SRUdJU1RFUl9NRU0gfCBNSV9TUk1fTFJNX0dMT0JBTF9H VFQ7CiAJCQkqY3MrKyA9IGk5MTVfbW1pb19yZWdfb2Zmc2V0KGxhc3RfcmVnKTsKLQkJCSpjcysr ID0gaTkxNV9zY3JhdGNoX29mZnNldChycS0+aTkxNSk7CisJCQkqY3MrKyA9IGludGVsX2d0X3Nj cmF0Y2hfb2Zmc2V0KHJxLT5lbmdpbmUtPmd0KTsKIAkJCSpjcysrID0gTUlfTk9PUDsKIAkJfQog CQkqY3MrKyA9IE1JX0FSQl9PTl9PRkYgfCBNSV9BUkJfRU5BQkxFOwpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf ZHJ2LmgKaW5kZXggMTk1N2EwODUyMjFiLi5iMDdhNmJiYjAzNDIgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9kcnYuaApAQCAtMjgzMiwxMSArMjgzMiw2IEBAIHN0YXRpYyBpbmxpbmUgaW50IGludGVsX2h3 c19jc2Jfd3JpdGVfaW5kZXgoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpCiAJCXJldHVy biBJOTE1X0hXU19DU0JfV1JJVEVfSU5ERVg7CiB9CiAKLXN0YXRpYyBpbmxpbmUgdTMyIGk5MTVf c2NyYXRjaF9vZmZzZXQoY29uc3Qgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpCi17Ci0J cmV0dXJuIGk5MTVfZ2d0dF9vZmZzZXQoaTkxNS0+Z3Quc2NyYXRjaCk7Ci19Ci0KIHN0YXRpYyBp bmxpbmUgZW51bSBpOTE1X21hcF90eXBlCiBpOTE1X2NvaGVyZW50X21hcF90eXBlKHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICppOTE1KQogewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9nZW0uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKaW5kZXggYWQx ZGM1OGEyMzc0Li5jODBlMjZjMTQzN2QgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZ2VtLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwpAQCAtMTQy Myw5ICsxNDIzLDkgQEAgc3RhdGljIGludCBfX2ludGVsX2VuZ2luZXNfcmVjb3JkX2RlZmF1bHRz KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1KQogCWdvdG8gb3V0X2N0eDsKIH0KIAotc3Rh dGljIGludAotaTkxNV9nZW1faW5pdF9zY3JhdGNoKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpp OTE1LCB1bnNpZ25lZCBpbnQgc2l6ZSkKK3N0YXRpYyBpbnQgZ3RfaW5pdF9zY3JhdGNoKHN0cnVj dCBpbnRlbF9ndCAqZ3QsIHVuc2lnbmVkIGludCBzaXplKQogeworCXN0cnVjdCBkcm1faTkxNV9w cml2YXRlICppOTE1ID0gZ3QtPmk5MTU7CiAJc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9i ajsKIAlzdHJ1Y3QgaTkxNV92bWEgKnZtYTsKIAlpbnQgcmV0OwpAQCAtMTQzOCw3ICsxNDM4LDcg QEAgaTkxNV9nZW1faW5pdF9zY3JhdGNoKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1LCB1 bnNpZ25lZCBpbnQgc2l6ZSkKIAkJcmV0dXJuIFBUUl9FUlIob2JqKTsKIAl9CiAKLQl2bWEgPSBp OTE1X3ZtYV9pbnN0YW5jZShvYmosICZpOTE1LT5nZ3R0LnZtLCBOVUxMKTsKKwl2bWEgPSBpOTE1 X3ZtYV9pbnN0YW5jZShvYmosICZndC0+Z2d0dC0+dm0sIE5VTEwpOwogCWlmIChJU19FUlIodm1h KSkgewogCQlyZXQgPSBQVFJfRVJSKHZtYSk7CiAJCWdvdG8gZXJyX3VucmVmOwpAQCAtMTQ0OCw3 ICsxNDQ4LDcgQEAgaTkxNV9nZW1faW5pdF9zY3JhdGNoKHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICppOTE1LCB1bnNpZ25lZCBpbnQgc2l6ZSkKIAlpZiAocmV0KQogCQlnb3RvIGVycl91bnJlZjsK IAotCWk5MTUtPmd0LnNjcmF0Y2ggPSB2bWE7CisJZ3QtPnNjcmF0Y2ggPSB2bWE7CiAJcmV0dXJu IDA7CiAKIGVycl91bnJlZjoKQEAgLTE0NTYsOSArMTQ1NiwyMCBAQCBpOTE1X2dlbV9pbml0X3Nj cmF0Y2goc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUsIHVuc2lnbmVkIGludCBzaXplKQog CXJldHVybiByZXQ7CiB9CiAKK3N0YXRpYyBpbnQKK2k5MTVfZ2VtX2luaXRfc2NyYXRjaChzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwgdW5zaWduZWQgaW50IHNpemUpCit7CisJcmV0dXJu IGd0X2luaXRfc2NyYXRjaCgmaTkxNS0+Z3QsIHNpemUpOworfQorCitzdGF0aWMgdm9pZCBndF9m aW5pX3NjcmF0Y2goc3RydWN0IGludGVsX2d0ICpndCkKK3sKKwlpOTE1X3ZtYV91bnBpbl9hbmRf cmVsZWFzZSgmZ3QtPnNjcmF0Y2gsIDApOworfQorCiBzdGF0aWMgdm9pZCBpOTE1X2dlbV9maW5p X3NjcmF0Y2goc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpCiB7Ci0JaTkxNV92bWFfdW5w aW5fYW5kX3JlbGVhc2UoJmk5MTUtPmd0LnNjcmF0Y2gsIDApOworCWd0X2Zpbmlfc2NyYXRjaCgm aTkxNS0+Z3QpOwogfQogCiBzdGF0aWMgaW50IGludGVsX2VuZ2luZXNfdmVyaWZ5X3dvcmthcm91 bmRzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1KQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9ncHVfZXJyb3IuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf Z3B1X2Vycm9yLmMKaW5kZXggZDBmOWI0YWJhMjQxLi4yNTg5YzY3NjZkYzQgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3B1X2Vycm9yLmMKKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9ncHVfZXJyb3IuYwpAQCAtMTQ0NSw3ICsxNDQ1LDcgQEAgc3RhdGljIHZv aWQgZ2VtX3JlY29yZF9yaW5ncyhzdHJ1Y3QgaTkxNV9ncHVfc3RhdGUgKmVycm9yKQogCQkJaWYg KEhBU19CUk9LRU5fQ1NfVExCKGk5MTUpKQogCQkJCWVlLT53YV9iYXRjaGJ1ZmZlciA9CiAJCQkJ CWk5MTVfZXJyb3Jfb2JqZWN0X2NyZWF0ZShpOTE1LAotCQkJCQkJCQkgaTkxNS0+Z3Quc2NyYXRj aCk7CisJCQkJCQkJCSBlbmdpbmUtPmd0LT5zY3JhdGNoKTsKIAkJCXJlcXVlc3RfcmVjb3JkX3Vz ZXJfYm8ocmVxdWVzdCwgZWUpOwogCiAJCQllZS0+Y3R4ID0KLS0gCjIuMjAuMQoKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcg bGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRl c2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4