From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [PATCH 33/33] drm/i915: Eliminate dual personality of i915_scratch_offset Date: Tue, 18 Jun 2019 14:03:45 +0100 Message-ID: <20190618130345.6135-34-tvrtko.ursulin@linux.intel.com> References: <20190618130345.6135-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 mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTPS id 38A206E19C for ; Tue, 18 Jun 2019 13:04:38 +0000 (UTC) In-Reply-To: <20190618130345.6135-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 cnRrby51cnN1bGluQGludGVsLmNvbT4KUmV2aWV3ZWQtYnk6IENocmlzIFdpbHNvbiA8Y2hyaXNA Y2hyaXMtd2lsc29uLmNvLnVrPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2Vu Z2luZV9jcy5jICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9ndC5jICAg ICAgICAgfCAzOCArKysrKysrKysrKysrKysrKysrKysrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9n dC9pbnRlbF9ndC5oICAgICAgICAgfCAgOCArKysrKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Qv aW50ZWxfbHJjLmMgICAgICAgIHwgIDkgKystLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2lu dGVsX3JpbmdidWZmZXIuYyB8IDI5ICsrKysrKysrKystLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2Rydi5oICAgICAgICAgICAgfCAgNSAtLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZ2VtLmMgICAgICAgICAgICB8IDMxICsrLS0tLS0tLS0tLS0tLS0tLQogZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9ncHVfZXJyb3IuYyAgICAgIHwgIDIgKy0KIDggZmlsZXMgY2hhbmdl ZCwgNzMgaW5zZXJ0aW9ucygrKSwgNTEgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZW5naW5lX2NzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9ndC9pbnRlbF9lbmdpbmVfY3MuYwppbmRleCA5MGM2NTI2OWVhZGQuLmQxYTRlZjJiMDNhYyAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZW5naW5lX2NzLmMKKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZW5naW5lX2NzLmMKQEAgLTczMCw3ICs3 MzAsNyBAQCBzdGF0aWMgaW50IG1lYXN1cmVfYnJlYWRjcnVtYl9kdyhzdHJ1Y3QgaW50ZWxfZW5n aW5lX2NzICplbmdpbmUpCiAJc3RydWN0IG1lYXN1cmVfYnJlYWRjcnVtYiAqZnJhbWU7CiAJaW50 IGR3ID0gLUVOT01FTTsKIAotCUdFTV9CVUdfT04oIWVuZ2luZS0+aTkxNS0+Z3Quc2NyYXRjaCk7 CisJR0VNX0JVR19PTighZW5naW5lLT5ndC0+c2NyYXRjaCk7CiAKIAlmcmFtZSA9IGt6YWxsb2Mo c2l6ZW9mKCpmcmFtZSksIEdGUF9LRVJORUwpOwogCWlmICghZnJhbWUpCmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9ndC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv Z3QvaW50ZWxfZ3QuYwppbmRleCAyMDRlNzAzOWNhMzIuLmM3NGZhNTU2NjhjNyAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZ3QuYworKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9ndC9pbnRlbF9ndC5jCkBAIC0yMDMsMyArMjAzLDQxIEBAIHZvaWQgaW50ZWxfZ3Rf Y2hpcHNldF9mbHVzaChzdHJ1Y3QgaW50ZWxfZ3QgKmd0KQogCWlmIChJTlRFTF9HRU4oZ3QtPmk5 MTUpIDwgNikKIAkJaW50ZWxfZ3R0X2NoaXBzZXRfZmx1c2goKTsKIH0KKworaW50IGludGVsX2d0 X2luaXRfc2NyYXRjaChzdHJ1Y3QgaW50ZWxfZ3QgKmd0LCB1bnNpZ25lZCBpbnQgc2l6ZSkKK3sK KwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSA9IGd0LT5pOTE1OworCXN0cnVjdCBkcm1f aTkxNV9nZW1fb2JqZWN0ICpvYmo7CisJc3RydWN0IGk5MTVfdm1hICp2bWE7CisJaW50IHJldDsK KworCW9iaiA9IGk5MTVfZ2VtX29iamVjdF9jcmVhdGVfc3RvbGVuKGk5MTUsIHNpemUpOworCWlm ICghb2JqKQorCQlvYmogPSBpOTE1X2dlbV9vYmplY3RfY3JlYXRlX2ludGVybmFsKGk5MTUsIHNp emUpOworCWlmIChJU19FUlIob2JqKSkgeworCQlEUk1fRVJST1IoIkZhaWxlZCB0byBhbGxvY2F0 ZSBzY3JhdGNoIHBhZ2VcbiIpOworCQlyZXR1cm4gUFRSX0VSUihvYmopOworCX0KKworCXZtYSA9 IGk5MTVfdm1hX2luc3RhbmNlKG9iaiwgJmd0LT5nZ3R0LT52bSwgTlVMTCk7CisJaWYgKElTX0VS Uih2bWEpKSB7CisJCXJldCA9IFBUUl9FUlIodm1hKTsKKwkJZ290byBlcnJfdW5yZWY7CisJfQor CisJcmV0ID0gaTkxNV92bWFfcGluKHZtYSwgMCwgMCwgUElOX0dMT0JBTCB8IFBJTl9ISUdIKTsK KwlpZiAocmV0KQorCQlnb3RvIGVycl91bnJlZjsKKworCWd0LT5zY3JhdGNoID0gdm1hOworCXJl dHVybiAwOworCitlcnJfdW5yZWY6CisJaTkxNV9nZW1fb2JqZWN0X3B1dChvYmopOworCXJldHVy biByZXQ7Cit9CisKK3ZvaWQgaW50ZWxfZ3RfZmluaV9zY3JhdGNoKHN0cnVjdCBpbnRlbF9ndCAq Z3QpCit7CisJaTkxNV92bWFfdW5waW5fYW5kX3JlbGVhc2UoJmd0LT5zY3JhdGNoLCAwKTsKK30K ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2d0LmggYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9ndC5oCmluZGV4IDA5MWRlZDRkZWVhZC4uYzllYTNmZGMy MWIwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9ndC5oCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2d0LmgKQEAgLTIyLDQgKzIyLDEyIEBAIHZv aWQgaW50ZWxfZ3RfY2xlYXJfZXJyb3JfcmVnaXN0ZXJzKHN0cnVjdCBpbnRlbF9ndCAqZ3QsCiB2 b2lkIGludGVsX2d0X2ZsdXNoX2dndHRfd3JpdGVzKHN0cnVjdCBpbnRlbF9ndCAqZ3QpOwogdm9p ZCBpbnRlbF9ndF9jaGlwc2V0X2ZsdXNoKHN0cnVjdCBpbnRlbF9ndCAqZ3QpOwogCitpbnQgaW50 ZWxfZ3RfaW5pdF9zY3JhdGNoKHN0cnVjdCBpbnRlbF9ndCAqZ3QsIHVuc2lnbmVkIGludCBzaXpl KTsKK3ZvaWQgaW50ZWxfZ3RfZmluaV9zY3JhdGNoKHN0cnVjdCBpbnRlbF9ndCAqZ3QpOworCitz dGF0aWMgaW5saW5lIHUzMiBpbnRlbF9ndF9zY3JhdGNoX29mZnNldChjb25zdCBzdHJ1Y3QgaW50 ZWxfZ3QgKmd0KQoreworCXJldHVybiBpOTE1X2dndHRfb2Zmc2V0KGd0LT5zY3JhdGNoKTsKK30K KwogI2VuZGlmIC8qIF9fSU5URUxfR1RfSF9fICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9ndC9pbnRlbF9scmMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2xy Yy5jCmluZGV4IDdjYzNhYjM4NzY4Zi4uNmRhYWJhOWI5OWJjIDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9scmMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9n dC9pbnRlbF9scmMuYwpAQCAtMTM1LDYgKzEzNSw3IEBACiAKICNpbmNsdWRlICJnZW0vaTkxNV9n ZW1fY29udGV4dC5oIgogCisjaW5jbHVkZSAiZ3QvaW50ZWxfZ3QuaCIKICNpbmNsdWRlICJpOTE1 X2Rydi5oIgogI2luY2x1ZGUgImk5MTVfZ2VtX3JlbmRlcl9zdGF0ZS5oIgogI2luY2x1ZGUgImk5 MTVfdmdwdS5oIgpAQCAtMTY4MSw3ICsxNjgyLDcgQEAgZ2VuOF9lbWl0X2ZsdXNoX2NvaGVyZW50 bDNfd2Eoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lLCB1MzIgKmJhdGNoKQogCS8qIE5C IG5vIG9uZSBlbHNlIGlzIGFsbG93ZWQgdG8gc2NyaWJibGUgb3ZlciBzY3JhdGNoICsgMjU2ISAq LwogCSpiYXRjaCsrID0gTUlfU1RPUkVfUkVHSVNURVJfTUVNX0dFTjggfCBNSV9TUk1fTFJNX0dM T0JBTF9HVFQ7CiAJKmJhdGNoKysgPSBpOTE1X21taW9fcmVnX29mZnNldChHRU44X0wzU1FDUkVH NCk7Ci0JKmJhdGNoKysgPSBpOTE1X3NjcmF0Y2hfb2Zmc2V0KGVuZ2luZS0+aTkxNSkgKyAyNTY7 CisJKmJhdGNoKysgPSBpbnRlbF9ndF9zY3JhdGNoX29mZnNldChlbmdpbmUtPmd0KSArIDI1NjsK IAkqYmF0Y2grKyA9IDA7CiAKIAkqYmF0Y2grKyA9IE1JX0xPQURfUkVHSVNURVJfSU1NKDEpOwpA QCAtMTY5NSw3ICsxNjk2LDcgQEAgZ2VuOF9lbWl0X2ZsdXNoX2NvaGVyZW50bDNfd2Eoc3RydWN0 IGludGVsX2VuZ2luZV9jcyAqZW5naW5lLCB1MzIgKmJhdGNoKQogCiAJKmJhdGNoKysgPSBNSV9M T0FEX1JFR0lTVEVSX01FTV9HRU44IHwgTUlfU1JNX0xSTV9HTE9CQUxfR1RUOwogCSpiYXRjaCsr ID0gaTkxNV9tbWlvX3JlZ19vZmZzZXQoR0VOOF9MM1NRQ1JFRzQpOwotCSpiYXRjaCsrID0gaTkx NV9zY3JhdGNoX29mZnNldChlbmdpbmUtPmk5MTUpICsgMjU2OworCSpiYXRjaCsrID0gaW50ZWxf Z3Rfc2NyYXRjaF9vZmZzZXQoZW5naW5lLT5ndCkgKyAyNTY7CiAJKmJhdGNoKysgPSAwOwogCiAJ cmV0dXJuIGJhdGNoOwpAQCAtMTczMiw3ICsxNzMzLDcgQEAgc3RhdGljIHUzMiAqZ2VuOF9pbml0 X2luZGlyZWN0Y3R4X2JiKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSwgdTMyICpiYXRj aCkKIAkJCQkgICAgICAgUElQRV9DT05UUk9MX0dMT0JBTF9HVFRfSVZCIHwKIAkJCQkgICAgICAg UElQRV9DT05UUk9MX0NTX1NUQUxMIHwKIAkJCQkgICAgICAgUElQRV9DT05UUk9MX1FXX1dSSVRF LAotCQkJCSAgICAgICBpOTE1X3NjcmF0Y2hfb2Zmc2V0KGVuZ2luZS0+aTkxNSkgKworCQkJCSAg ICAgICBpbnRlbF9ndF9zY3JhdGNoX29mZnNldChlbmdpbmUtPmd0KSArCiAJCQkJICAgICAgIDIg KiBDQUNIRUxJTkVfQllURVMpOwogCiAJKmJhdGNoKysgPSBNSV9BUkJfT05fT0ZGIHwgTUlfQVJC X0VOQUJMRTsKQEAgLTI0MzksNyArMjQ0MCw3IEBAIHN0YXRpYyBpbnQgZ2VuOF9lbWl0X2ZsdXNo X3JlbmRlcihzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpyZXF1ZXN0LAogewogCXN0cnVjdCBpbnRlbF9l bmdpbmVfY3MgKmVuZ2luZSA9IHJlcXVlc3QtPmVuZ2luZTsKIAl1MzIgc2NyYXRjaF9hZGRyID0K LQkJaTkxNV9zY3JhdGNoX29mZnNldChlbmdpbmUtPmk5MTUpICsgMiAqIENBQ0hFTElORV9CWVRF UzsKKwkJaW50ZWxfZ3Rfc2NyYXRjaF9vZmZzZXQoZW5naW5lLT5ndCkgKyAyICogQ0FDSEVMSU5F X0JZVEVTOwogCWJvb2wgdmZfZmx1c2hfd2EgPSBmYWxzZSwgZGNfZmx1c2hfd2EgPSBmYWxzZTsK IAl1MzIgKmNzLCBmbGFncyA9IDA7CiAJaW50IGxlbjsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2d0L2ludGVsX3JpbmdidWZmZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0 L2ludGVsX3JpbmdidWZmZXIuYwppbmRleCBhNWU2ZTJiYjIzNzYuLjE5ZDUyMzgxYjk4ZiAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfcmluZ2J1ZmZlci5jCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX3JpbmdidWZmZXIuYwpAQCAtMzMsNiArMzMs OCBAQAogCiAjaW5jbHVkZSAiZ2VtL2k5MTVfZ2VtX2NvbnRleHQuaCIKIAorI2luY2x1ZGUgImd0 L2ludGVsX2d0LmgiCisKICNpbmNsdWRlICJpOTE1X2Rydi5oIgogI2luY2x1ZGUgImk5MTVfZ2Vt X3JlbmRlcl9zdGF0ZS5oIgogI2luY2x1ZGUgImk5MTVfdHJhY2UuaCIKQEAgLTc1LDcgKzc3LDcg QEAgZ2VuMl9yZW5kZXJfcmluZ19mbHVzaChzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpycSwgdTMyIG1v ZGUpCiAJKmNzKysgPSBjbWQ7CiAJd2hpbGUgKG51bV9zdG9yZV9kdy0tKSB7CiAJCSpjcysrID0g TUlfU1RPUkVfRFdPUkRfSU1NIHwgTUlfTUVNX1ZJUlRVQUw7Ci0JCSpjcysrID0gaTkxNV9zY3Jh dGNoX29mZnNldChycS0+aTkxNSk7CisJCSpjcysrID0gaW50ZWxfZ3Rfc2NyYXRjaF9vZmZzZXQo cnEtPmVuZ2luZS0+Z3QpOwogCQkqY3MrKyA9IDA7CiAJfQogCSpjcysrID0gTUlfRkxVU0ggfCBN SV9OT19XUklURV9GTFVTSDsKQEAgLTE0OCw3ICsxNTAsOCBAQCBnZW40X3JlbmRlcl9yaW5nX2Zs dXNoKHN0cnVjdCBpOTE1X3JlcXVlc3QgKnJxLCB1MzIgbW9kZSkKIAkgKi8KIAlpZiAobW9kZSAm IEVNSVRfSU5WQUxJREFURSkgewogCQkqY3MrKyA9IEdGWF9PUF9QSVBFX0NPTlRST0woNCkgfCBQ SVBFX0NPTlRST0xfUVdfV1JJVEU7Ci0JCSpjcysrID0gaTkxNV9zY3JhdGNoX29mZnNldChycS0+ aTkxNSkgfCBQSVBFX0NPTlRST0xfR0xPQkFMX0dUVDsKKwkJKmNzKysgPSBpbnRlbF9ndF9zY3Jh dGNoX29mZnNldChycS0+ZW5naW5lLT5ndCkgfAorCQkJUElQRV9DT05UUk9MX0dMT0JBTF9HVFQ7 CiAJCSpjcysrID0gMDsKIAkJKmNzKysgPSAwOwogCkBAIC0xNTYsNyArMTU5LDggQEAgZ2VuNF9y ZW5kZXJfcmluZ19mbHVzaChzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpycSwgdTMyIG1vZGUpCiAJCQkq Y3MrKyA9IE1JX0ZMVVNIOwogCiAJCSpjcysrID0gR0ZYX09QX1BJUEVfQ09OVFJPTCg0KSB8IFBJ UEVfQ09OVFJPTF9RV19XUklURTsKLQkJKmNzKysgPSBpOTE1X3NjcmF0Y2hfb2Zmc2V0KHJxLT5p OTE1KSB8IFBJUEVfQ09OVFJPTF9HTE9CQUxfR1RUOworCQkqY3MrKyA9IGludGVsX2d0X3NjcmF0 Y2hfb2Zmc2V0KHJxLT5lbmdpbmUtPmd0KSB8CisJCQlQSVBFX0NPTlRST0xfR0xPQkFMX0dUVDsK IAkJKmNzKysgPSAwOwogCQkqY3MrKyA9IDA7CiAJfQpAQCAtMjA4LDcgKzIxMiw4IEBAIGdlbjRf cmVuZGVyX3JpbmdfZmx1c2goc3RydWN0IGk5MTVfcmVxdWVzdCAqcnEsIHUzMiBtb2RlKQogc3Rh dGljIGludAogZ2VuNl9lbWl0X3Bvc3Rfc3luY19ub256ZXJvX2ZsdXNoKHN0cnVjdCBpOTE1X3Jl cXVlc3QgKnJxKQogewotCXUzMiBzY3JhdGNoX2FkZHIgPSBpOTE1X3NjcmF0Y2hfb2Zmc2V0KHJx LT5pOTE1KSArIDIgKiBDQUNIRUxJTkVfQllURVM7CisJdTMyIHNjcmF0Y2hfYWRkciA9CisJCWlu dGVsX2d0X3NjcmF0Y2hfb2Zmc2V0KHJxLT5lbmdpbmUtPmd0KSArIDIgKiBDQUNIRUxJTkVfQllU RVM7CiAJdTMyICpjczsKIAogCWNzID0gaW50ZWxfcmluZ19iZWdpbihycSwgNik7CkBAIC0yNDEs NyArMjQ2LDggQEAgZ2VuNl9lbWl0X3Bvc3Rfc3luY19ub256ZXJvX2ZsdXNoKHN0cnVjdCBpOTE1 X3JlcXVlc3QgKnJxKQogc3RhdGljIGludAogZ2VuNl9yZW5kZXJfcmluZ19mbHVzaChzdHJ1Y3Qg aTkxNV9yZXF1ZXN0ICpycSwgdTMyIG1vZGUpCiB7Ci0JdTMyIHNjcmF0Y2hfYWRkciA9IGk5MTVf c2NyYXRjaF9vZmZzZXQocnEtPmk5MTUpICsgMiAqIENBQ0hFTElORV9CWVRFUzsKKwl1MzIgc2Ny YXRjaF9hZGRyID0KKwkJaW50ZWxfZ3Rfc2NyYXRjaF9vZmZzZXQocnEtPmVuZ2luZS0+Z3QpICsg MiAqIENBQ0hFTElORV9CWVRFUzsKIAl1MzIgKmNzLCBmbGFncyA9IDA7CiAJaW50IHJldDsKIApA QCAtMjk5LDcgKzMwNSw3IEBAIHN0YXRpYyB1MzIgKmdlbjZfcmNzX2VtaXRfYnJlYWRjcnVtYihz dHJ1Y3QgaTkxNV9yZXF1ZXN0ICpycSwgdTMyICpjcykKIAogCSpjcysrID0gR0ZYX09QX1BJUEVf Q09OVFJPTCg0KTsKIAkqY3MrKyA9IFBJUEVfQ09OVFJPTF9RV19XUklURTsKLQkqY3MrKyA9IGk5 MTVfc2NyYXRjaF9vZmZzZXQocnEtPmk5MTUpIHwgUElQRV9DT05UUk9MX0dMT0JBTF9HVFQ7CisJ KmNzKysgPSBpbnRlbF9ndF9zY3JhdGNoX29mZnNldChycS0+ZW5naW5lLT5ndCkgfCBQSVBFX0NP TlRST0xfR0xPQkFMX0dUVDsKIAkqY3MrKyA9IDA7CiAKIAkvKiBGaW5hbGx5IHdlIGNhbiBmbHVz aCBhbmQgd2l0aCBpdCBlbWl0IHRoZSBicmVhZGNydW1iICovCkBAIC0zNDIsNyArMzQ4LDggQEAg Z2VuN19yZW5kZXJfcmluZ19jc19zdGFsbF93YShzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpycSkKIHN0 YXRpYyBpbnQKIGdlbjdfcmVuZGVyX3JpbmdfZmx1c2goc3RydWN0IGk5MTVfcmVxdWVzdCAqcnEs IHUzMiBtb2RlKQogewotCXUzMiBzY3JhdGNoX2FkZHIgPSBpOTE1X3NjcmF0Y2hfb2Zmc2V0KHJx LT5pOTE1KSArIDIgKiBDQUNIRUxJTkVfQllURVM7CisJdTMyIHNjcmF0Y2hfYWRkciA9CisJCWlu dGVsX2d0X3NjcmF0Y2hfb2Zmc2V0KHJxLT5lbmdpbmUtPmd0KSArIDIgKiBDQUNIRUxJTkVfQllU RVM7CiAJdTMyICpjcywgZmxhZ3MgPSAwOwogCiAJLyoKQEAgLTEwNzEsOSArMTA3OCw5IEBAIGk4 MzBfZW1pdF9iYl9zdGFydChzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpycSwKIAkJICAgdTY0IG9mZnNl dCwgdTMyIGxlbiwKIAkJICAgdW5zaWduZWQgaW50IGRpc3BhdGNoX2ZsYWdzKQogewotCXUzMiAq Y3MsIGNzX29mZnNldCA9IGk5MTVfc2NyYXRjaF9vZmZzZXQocnEtPmk5MTUpOworCXUzMiAqY3Ms IGNzX29mZnNldCA9IGludGVsX2d0X3NjcmF0Y2hfb2Zmc2V0KHJxLT5lbmdpbmUtPmd0KTsKIAot CUdFTV9CVUdfT04ocnEtPmk5MTUtPmd0LnNjcmF0Y2gtPnNpemUgPCBJODMwX1dBX1NJWkUpOwor CUdFTV9CVUdfT04ocnEtPmVuZ2luZS0+Z3QtPnNjcmF0Y2gtPnNpemUgPCBJODMwX1dBX1NJWkUp OwogCiAJY3MgPSBpbnRlbF9yaW5nX2JlZ2luKHJxLCA2KTsKIAlpZiAoSVNfRVJSKGNzKSkKQEAg LTE1MDQsNyArMTUxMSw3IEBAIHN0YXRpYyBpbnQgZmx1c2hfcGRfZGlyKHN0cnVjdCBpOTE1X3Jl cXVlc3QgKnJxKQogCS8qIFN0YWxsIHVudGlsIHRoZSBwYWdlIHRhYmxlIGxvYWQgaXMgY29tcGxl dGUgKi8KIAkqY3MrKyA9IE1JX1NUT1JFX1JFR0lTVEVSX01FTSB8IE1JX1NSTV9MUk1fR0xPQkFM X0dUVDsKIAkqY3MrKyA9IGk5MTVfbW1pb19yZWdfb2Zmc2V0KFJJTkdfUFBfRElSX0JBU0UoZW5n aW5lLT5tbWlvX2Jhc2UpKTsKLQkqY3MrKyA9IGk5MTVfc2NyYXRjaF9vZmZzZXQocnEtPmk5MTUp OworCSpjcysrID0gaW50ZWxfZ3Rfc2NyYXRjaF9vZmZzZXQocnEtPmVuZ2luZS0+Z3QpOwogCSpj cysrID0gTUlfTk9PUDsKIAogCWludGVsX3JpbmdfYWR2YW5jZShycSwgY3MpOwpAQCAtMTYyMCw3 ICsxNjI3LDcgQEAgc3RhdGljIGlubGluZSBpbnQgbWlfc2V0X2NvbnRleHQoc3RydWN0IGk5MTVf cmVxdWVzdCAqcnEsIHUzMiBmbGFncykKIAkJCS8qIEluc2VydCBhIGRlbGF5IGJlZm9yZSB0aGUg bmV4dCBzd2l0Y2ghICovCiAJCQkqY3MrKyA9IE1JX1NUT1JFX1JFR0lTVEVSX01FTSB8IE1JX1NS TV9MUk1fR0xPQkFMX0dUVDsKIAkJCSpjcysrID0gaTkxNV9tbWlvX3JlZ19vZmZzZXQobGFzdF9y ZWcpOwotCQkJKmNzKysgPSBpOTE1X3NjcmF0Y2hfb2Zmc2V0KHJxLT5pOTE1KTsKKwkJCSpjcysr ID0gaW50ZWxfZ3Rfc2NyYXRjaF9vZmZzZXQocnEtPmVuZ2luZS0+Z3QpOwogCQkJKmNzKysgPSBN SV9OT09QOwogCQl9CiAJCSpjcysrID0gTUlfQVJCX09OX09GRiB8IE1JX0FSQl9FTkFCTEU7CmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9kcnYuaAppbmRleCA3ZDAyNGM3N2ViNWYuLjk2NDY1M2I0MTQ2MyAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAorKysgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2Rydi5oCkBAIC0yNzg4LDExICsyNzg4LDYgQEAgc3RhdGljIGlubGlu ZSBpbnQgaW50ZWxfaHdzX2NzYl93cml0ZV9pbmRleChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq aTkxNSkKIAkJcmV0dXJuIEk5MTVfSFdTX0NTQl9XUklURV9JTkRFWDsKIH0KIAotc3RhdGljIGlu bGluZSB1MzIgaTkxNV9zY3JhdGNoX29mZnNldChjb25zdCBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqaTkxNSkKLXsKLQlyZXR1cm4gaTkxNV9nZ3R0X29mZnNldChpOTE1LT5ndC5zY3JhdGNoKTsK LX0KLQogc3RhdGljIGlubGluZSBlbnVtIGk5MTVfbWFwX3R5cGUKIGk5MTVfY29oZXJlbnRfbWFw X3R5cGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpCiB7CmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9n ZW0uYwppbmRleCA2ZTA3MTI3MjQyZDkuLjhkZmYzYjhmMTJjMyAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2dlbS5jCkBAIC0xNDI0LDM5ICsxNDI0LDEyIEBAIHN0YXRpYyBpbnQgX19pbnRlbF9lbmdpbmVz X3JlY29yZF9kZWZhdWx0cyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkKIHN0YXRpYyBp bnQKIGk5MTVfZ2VtX2luaXRfc2NyYXRjaChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwg dW5zaWduZWQgaW50IHNpemUpCiB7Ci0Jc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iajsK LQlzdHJ1Y3QgaTkxNV92bWEgKnZtYTsKLQlpbnQgcmV0OwotCi0Jb2JqID0gaTkxNV9nZW1fb2Jq ZWN0X2NyZWF0ZV9zdG9sZW4oaTkxNSwgc2l6ZSk7Ci0JaWYgKCFvYmopCi0JCW9iaiA9IGk5MTVf Z2VtX29iamVjdF9jcmVhdGVfaW50ZXJuYWwoaTkxNSwgc2l6ZSk7Ci0JaWYgKElTX0VSUihvYmop KSB7Ci0JCURSTV9FUlJPUigiRmFpbGVkIHRvIGFsbG9jYXRlIHNjcmF0Y2ggcGFnZVxuIik7Ci0J CXJldHVybiBQVFJfRVJSKG9iaik7Ci0JfQotCi0Jdm1hID0gaTkxNV92bWFfaW5zdGFuY2Uob2Jq LCAmaTkxNS0+Z2d0dC52bSwgTlVMTCk7Ci0JaWYgKElTX0VSUih2bWEpKSB7Ci0JCXJldCA9IFBU Ul9FUlIodm1hKTsKLQkJZ290byBlcnJfdW5yZWY7Ci0JfQotCi0JcmV0ID0gaTkxNV92bWFfcGlu KHZtYSwgMCwgMCwgUElOX0dMT0JBTCB8IFBJTl9ISUdIKTsKLQlpZiAocmV0KQotCQlnb3RvIGVy cl91bnJlZjsKLQotCWk5MTUtPmd0LnNjcmF0Y2ggPSB2bWE7Ci0JcmV0dXJuIDA7Ci0KLWVycl91 bnJlZjoKLQlpOTE1X2dlbV9vYmplY3RfcHV0KG9iaik7Ci0JcmV0dXJuIHJldDsKKwlyZXR1cm4g aW50ZWxfZ3RfaW5pdF9zY3JhdGNoKCZpOTE1LT5ndCwgc2l6ZSk7CiB9CiAKIHN0YXRpYyB2b2lk IGk5MTVfZ2VtX2Zpbmlfc2NyYXRjaChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkKIHsK LQlpOTE1X3ZtYV91bnBpbl9hbmRfcmVsZWFzZSgmaTkxNS0+Z3Quc2NyYXRjaCwgMCk7CisJaW50 ZWxfZ3RfZmluaV9zY3JhdGNoKCZpOTE1LT5ndCk7CiB9CiAKIHN0YXRpYyBpbnQgaW50ZWxfZW5n aW5lc192ZXJpZnlfd29ya2Fyb3VuZHMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpCmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dwdV9lcnJvci5jIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9ncHVfZXJyb3IuYwppbmRleCBmNDdlNzc0ZTlhNDMuLjc0MTU5 N2Q3ZTgyOSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9ncHVfZXJyb3Iu YworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dwdV9lcnJvci5jCkBAIC0xNDQ3LDcg KzE0NDcsNyBAQCBzdGF0aWMgdm9pZCBnZW1fcmVjb3JkX3JpbmdzKHN0cnVjdCBpOTE1X2dwdV9z dGF0ZSAqZXJyb3IpCiAJCQlpZiAoSEFTX0JST0tFTl9DU19UTEIoaTkxNSkpCiAJCQkJZWUtPndh X2JhdGNoYnVmZmVyID0KIAkJCQkJaTkxNV9lcnJvcl9vYmplY3RfY3JlYXRlKGk5MTUsCi0JCQkJ CQkJCSBpOTE1LT5ndC5zY3JhdGNoKTsKKwkJCQkJCQkJIGVuZ2luZS0+Z3QtPnNjcmF0Y2gpOwog CQkJcmVxdWVzdF9yZWNvcmRfdXNlcl9ibyhyZXF1ZXN0LCBlZSk7CiAKIAkJCWVlLT5jdHggPQot LSAKMi4yMC4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcK aHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZng=