From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [RFC 28/31] drm/i915: Save trip via top-level i915 in a few more places Date: Fri, 14 Jun 2019 16:17:28 +0100 Message-ID: <20190614151731.17608-29-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 CD41B89AB3 for ; Fri, 14 Jun 2019 15:18:24 +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 RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KCkZvciBndCBy ZWxhdGVkIG9wZXJhdGlvbnMgaXQgbWFrZXMgbW9yZSBsb2dpY2FsIHNlbnNlIHRvIHN0YXkgaW4g dGhlIHJlYWxtCm9mIGd0IGluc3RlYWQgb2YgZGVyZWZlcmVuY2luZyB2aWEgZHJpdmVyIGk5MTUu CgpUaGlzIHBhdGNoIGhhbmRsZXMgYSBmZXcgb2YgdGhlIGVhc3kgb25lcyB3aXRoIHdvcmsgcmVx dWlyaW5nIG1vcmUKcmVmYWN0b3Jpbmcgc3RpbGwgb3V0c3RhbmRpbmcuCgpTaWduZWQtb2ZmLWJ5 OiBUdnJ0a28gVXJzdWxpbiA8dHZydGtvLnVyc3VsaW5AaW50ZWwuY29tPgotLS0KIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2dlbS9zZWxmdGVzdHMvaHVnZV9wYWdlcy5jICAgICAgIHwgMyArLS0KIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9zZWxmdGVzdHMvaTkxNV9nZW1fY29udGV4dC5jIHwgMyAr LS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2VuZ2luZV9jcy5jICAgICAgICAgICAg IHwgMiArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfbHJjLmMgICAgICAgICAgICAg ICAgICAgfCA0ICsrLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX3JpbmdidWZmZXIu YyAgICAgICAgICAgIHwgMiArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfd29ya2Fy b3VuZHMuYyAgICAgICAgICAgfCAyICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9zZWxmdGVz dF9oYW5nY2hlY2suYyAgICAgICAgICB8IDggKysrKy0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2d0L3NlbGZ0ZXN0X3dvcmthcm91bmRzLmMgICAgICAgIHwgMiArLQogZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9nZW1fZ3R0LmMgICAgICAgICAgICAgICAgICAgfCA0ICsrLS0KIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZ2VtX3JlbmRlcl9zdGF0ZS5jICAgICAgICAgIHwgMiArLQogZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9ncHVfZXJyb3IuYyAgICAgICAgICAgICAgICAgfCAyICst CiAxMSBmaWxlcyBjaGFuZ2VkLCAxNiBpbnNlcnRpb25zKCspLCAxOCBkZWxldGlvbnMoLSkKCmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vc2VsZnRlc3RzL2h1Z2VfcGFnZXMu YyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9zZWxmdGVzdHMvaHVnZV9wYWdlcy5jCmluZGV4 IDVhYTUyZWQ1MTRiNy4uZjE5N2E1NWRkMzJhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9nZW0vc2VsZnRlc3RzL2h1Z2VfcGFnZXMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9nZW0vc2VsZnRlc3RzL2h1Z2VfcGFnZXMuYwpAQCAtMTAzOSw4ICsxMDM5LDcgQEAgc3RhdGlj IGludCBfX2lndF93cml0ZV9odWdlKHN0cnVjdCBpOTE1X2dlbV9jb250ZXh0ICpjdHgsCiAJCQkg ICAgdTY0IHNpemUsIHU2NCBvZmZzZXQsCiAJCQkgICAgdTMyIGR3b3JkLCB1MzIgdmFsKQogewot CXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1ID0gdG9faTkxNShvYmotPmJhc2UuZGV2KTsK LQlzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2bSA9IGN0eC0+dm0gPzogJmk5MTUtPmdndHQu dm07CisJc3RydWN0IGk5MTVfYWRkcmVzc19zcGFjZSAqdm0gPSBjdHgtPnZtID86ICZlbmdpbmUt Pmd0LT5nZ3R0LT52bTsKIAl1bnNpZ25lZCBpbnQgZmxhZ3MgPSBQSU5fVVNFUiB8IFBJTl9PRkZT RVRfRklYRUQ7CiAJc3RydWN0IGk5MTVfdm1hICp2bWE7CiAJaW50IGVycjsKZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9zZWxmdGVzdHMvaTkxNV9nZW1fY29udGV4dC5jIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL3NlbGZ0ZXN0cy9pOTE1X2dlbV9jb250ZXh0LmMKaW5k ZXggOWUyODc4YTU5MDIzLi40OTZjOWMzNTNhZWUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2dlbS9zZWxmdGVzdHMvaTkxNV9nZW1fY29udGV4dC5jCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2dlbS9zZWxmdGVzdHMvaTkxNV9nZW1fY29udGV4dC5jCkBAIC0yNDEsOCArMjQx LDcgQEAgc3RhdGljIGludCBncHVfZmlsbChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2Jq LAogCQkgICAgc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lLAogCQkgICAgdW5zaWduZWQg aW50IGR3KQogewotCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1ID0gdG9faTkxNShvYmot PmJhc2UuZGV2KTsKLQlzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2bSA9IGN0eC0+dm0gPzog Jmk5MTUtPmdndHQudm07CisJc3RydWN0IGk5MTVfYWRkcmVzc19zcGFjZSAqdm0gPSBjdHgtPnZt ID86ICZlbmdpbmUtPmd0LT5nZ3R0LT52bTsKIAlzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpycTsKIAlz dHJ1Y3QgaTkxNV92bWEgKnZtYTsKIAlzdHJ1Y3QgaTkxNV92bWEgKmJhdGNoOwpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZW5naW5lX2NzLmMgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9ndC9pbnRlbF9lbmdpbmVfY3MuYwppbmRleCBjMmQ4N2M1MGRkNmYuLmFiOWM1 MTQxZWUwYyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZW5naW5l X2NzLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZW5naW5lX2NzLmMKQEAg LTU4MCw3ICs1ODAsNyBAQCBzdGF0aWMgaW50IGluaXRfc3RhdHVzX3BhZ2Uoc3RydWN0IGludGVs X2VuZ2luZV9jcyAqZW5naW5lKQogCiAJaTkxNV9nZW1fb2JqZWN0X3NldF9jYWNoZV9jb2hlcmVu Y3kob2JqLCBJOTE1X0NBQ0hFX0xMQyk7CiAKLQl2bWEgPSBpOTE1X3ZtYV9pbnN0YW5jZShvYmos ICZlbmdpbmUtPmk5MTUtPmdndHQudm0sIE5VTEwpOworCXZtYSA9IGk5MTVfdm1hX2luc3RhbmNl KG9iaiwgJmVuZ2luZS0+Z3QtPmdndHQtPnZtLCBOVUxMKTsKIAlpZiAoSVNfRVJSKHZtYSkpIHsK IAkJcmV0ID0gUFRSX0VSUih2bWEpOwogCQlnb3RvIGVycjsKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2d0L2ludGVsX2xyYy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50 ZWxfbHJjLmMKaW5kZXggYjhmNTU5MmRhMThmLi42OGM2ZjExYTAzYzUgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2xyYy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2d0L2ludGVsX2xyYy5jCkBAIC0xOTI2LDcgKzE5MjYsNyBAQCBzdGF0aWMgaW50IGxyY19z ZXR1cF93YV9jdHgoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQogCWlmIChJU19FUlIo b2JqKSkKIAkJcmV0dXJuIFBUUl9FUlIob2JqKTsKIAotCXZtYSA9IGk5MTVfdm1hX2luc3RhbmNl KG9iaiwgJmVuZ2luZS0+aTkxNS0+Z2d0dC52bSwgTlVMTCk7CisJdm1hID0gaTkxNV92bWFfaW5z dGFuY2Uob2JqLCAmZW5naW5lLT5ndC0+Z2d0dC0+dm0sIE5VTEwpOwogCWlmIChJU19FUlIodm1h KSkgewogCQllcnIgPSBQVFJfRVJSKHZtYSk7CiAJCWdvdG8gZXJyOwpAQCAtMzAxNyw3ICszMDE3 LDcgQEAgc3RhdGljIGludCBleGVjbGlzdHNfY29udGV4dF9kZWZlcnJlZF9hbGxvYyhzdHJ1Y3Qg aW50ZWxfY29udGV4dCAqY2UsCiAJaWYgKElTX0VSUihjdHhfb2JqKSkKIAkJcmV0dXJuIFBUUl9F UlIoY3R4X29iaik7CiAKLQl2bWEgPSBpOTE1X3ZtYV9pbnN0YW5jZShjdHhfb2JqLCAmZW5naW5l LT5pOTE1LT5nZ3R0LnZtLCBOVUxMKTsKKwl2bWEgPSBpOTE1X3ZtYV9pbnN0YW5jZShjdHhfb2Jq LCAmZW5naW5lLT5ndC0+Z2d0dC0+dm0sIE5VTEwpOwogCWlmIChJU19FUlIodm1hKSkgewogCQly ZXQgPSBQVFJfRVJSKHZtYSk7CiAJCWdvdG8gZXJyb3JfZGVyZWZfb2JqOwpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfcmluZ2J1ZmZlci5jIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvZ3QvaW50ZWxfcmluZ2J1ZmZlci5jCmluZGV4IDg5NDEyMmQyM2RkYS4uZjc0ODcy Y2NhNjg2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9yaW5nYnVm ZmVyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfcmluZ2J1ZmZlci5jCkBA IC0xNDQ0LDcgKzE0NDQsNyBAQCBhbGxvY19jb250ZXh0X3ZtYShzdHJ1Y3QgaW50ZWxfZW5naW5l X2NzICplbmdpbmUpCiAJCWk5MTVfZ2VtX29iamVjdF91bnBpbl9tYXAob2JqKTsKIAl9CiAKLQl2 bWEgPSBpOTE1X3ZtYV9pbnN0YW5jZShvYmosICZpOTE1LT5nZ3R0LnZtLCBOVUxMKTsKKwl2bWEg PSBpOTE1X3ZtYV9pbnN0YW5jZShvYmosICZlbmdpbmUtPmd0LT5nZ3R0LT52bSwgTlVMTCk7CiAJ aWYgKElTX0VSUih2bWEpKSB7CiAJCWVyciA9IFBUUl9FUlIodm1hKTsKIAkJZ290byBlcnJfb2Jq OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfd29ya2Fyb3VuZHMu YyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX3dvcmthcm91bmRzLmMKaW5kZXggMGIz MzA4ZTM5YTE3Li5jOWU5MjkyODViYzggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2d0L2ludGVsX3dvcmthcm91bmRzLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50 ZWxfd29ya2Fyb3VuZHMuYwpAQCAtMTM2OSw3ICsxMzY5LDcgQEAgc3RhdGljIGludCBlbmdpbmVf d2FfbGlzdF92ZXJpZnkoc3RydWN0IGludGVsX2NvbnRleHQgKmNlLAogCWlmICghd2FsLT5jb3Vu dCkKIAkJcmV0dXJuIDA7CiAKLQl2bWEgPSBjcmVhdGVfc2NyYXRjaCgmY2UtPmVuZ2luZS0+aTkx NS0+Z2d0dC52bSwgd2FsLT5jb3VudCk7CisJdm1hID0gY3JlYXRlX3NjcmF0Y2goJmNlLT5lbmdp bmUtPmd0LT5nZ3R0LT52bSwgd2FsLT5jb3VudCk7CiAJaWYgKElTX0VSUih2bWEpKQogCQlyZXR1 cm4gUFRSX0VSUih2bWEpOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9z ZWxmdGVzdF9oYW5nY2hlY2suYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3NlbGZ0ZXN0X2hh bmdjaGVjay5jCmluZGV4IGU1ZWRhZDc0MjU3ZS4uYzZiMjczN2NlY2NhIDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9zZWxmdGVzdF9oYW5nY2hlY2suYworKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9ndC9zZWxmdGVzdF9oYW5nY2hlY2suYwpAQCAtMTMwLDcgKzEzMCw3IEBA IHN0YXRpYyBzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICoKIGhhbmdfY3JlYXRlX3JlcXVlc3Qoc3RydWN0 IGhhbmcgKmgsIHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKIHsKIAlzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqaTkxNSA9IGgtPmk5MTU7Ci0Jc3RydWN0IGk5MTVfYWRkcmVzc19zcGFj ZSAqdm0gPSBoLT5jdHgtPnZtID86ICZpOTE1LT5nZ3R0LnZtOworCXN0cnVjdCBpOTE1X2FkZHJl c3Nfc3BhY2UgKnZtID0gaC0+Y3R4LT52bSA/OiAmZW5naW5lLT5ndC0+Z2d0dC0+dm07CiAJc3Ry dWN0IGk5MTVfcmVxdWVzdCAqcnEgPSBOVUxMOwogCXN0cnVjdCBpOTE1X3ZtYSAqaHdzLCAqdm1h OwogCXVuc2lnbmVkIGludCBmbGFnczsKQEAgLTE0MywxMiArMTQzLDEyIEBAIGhhbmdfY3JlYXRl X3JlcXVlc3Qoc3RydWN0IGhhbmcgKmgsIHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkK IAkJc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iajsKIAkJdm9pZCAqdmFkZHI7CiAKLQkJ b2JqID0gaTkxNV9nZW1fb2JqZWN0X2NyZWF0ZV9pbnRlcm5hbChoLT5pOTE1LCBQQUdFX1NJWkUp OworCQlvYmogPSBpOTE1X2dlbV9vYmplY3RfY3JlYXRlX2ludGVybmFsKGk5MTUsIFBBR0VfU0la RSk7CiAJCWlmIChJU19FUlIob2JqKSkKIAkJCXJldHVybiBFUlJfQ0FTVChvYmopOwogCiAJCXZh ZGRyID0gaTkxNV9nZW1fb2JqZWN0X3Bpbl9tYXAob2JqLAotCQkJCQkJaTkxNV9jb2hlcmVudF9t YXBfdHlwZShoLT5pOTE1KSk7CisJCQkJCQlpOTE1X2NvaGVyZW50X21hcF90eXBlKGk5MTUpKTsK IAkJaWYgKElTX0VSUih2YWRkcikpIHsKIAkJCWk5MTVfZ2VtX29iamVjdF9wdXQob2JqKTsKIAkJ CXJldHVybiBFUlJfQ0FTVCh2YWRkcik7CkBAIC0yNTUsNyArMjU1LDcgQEAgaGFuZ19jcmVhdGVf cmVxdWVzdChzdHJ1Y3QgaGFuZyAqaCwgc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQog CX0KIAogCWZsYWdzID0gMDsKLQlpZiAoSU5URUxfR0VOKHZtLT5pOTE1KSA8PSA1KQorCWlmIChJ TlRFTF9HRU4oaTkxNSkgPD0gNSkKIAkJZmxhZ3MgfD0gSTkxNV9ESVNQQVRDSF9TRUNVUkU7CiAK IAllcnIgPSBycS0+ZW5naW5lLT5lbWl0X2JiX3N0YXJ0KHJxLCB2bWEtPm5vZGUuc3RhcnQsIFBB R0VfU0laRSwgZmxhZ3MpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Qvc2Vs ZnRlc3Rfd29ya2Fyb3VuZHMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3NlbGZ0ZXN0X3dv cmthcm91bmRzLmMKaW5kZXggZjk4MTNkMjFmZTlkLi5mOTk4MmRhNGE0MGYgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3NlbGZ0ZXN0X3dvcmthcm91bmRzLmMKKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvZ3Qvc2VsZnRlc3Rfd29ya2Fyb3VuZHMuYwpAQCAtMTAzLDcgKzEw Myw3IEBAIHJlYWRfbm9ucHJpdnMoc3RydWN0IGk5MTVfZ2VtX2NvbnRleHQgKmN0eCwgc3RydWN0 IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQogCWk5MTVfZ2VtX29iamVjdF9mbHVzaF9tYXAocmVz dWx0KTsKIAlpOTE1X2dlbV9vYmplY3RfdW5waW5fbWFwKHJlc3VsdCk7CiAKLQl2bWEgPSBpOTE1 X3ZtYV9pbnN0YW5jZShyZXN1bHQsICZlbmdpbmUtPmk5MTUtPmdndHQudm0sIE5VTEwpOworCXZt YSA9IGk5MTVfdm1hX2luc3RhbmNlKHJlc3VsdCwgJmVuZ2luZS0+Z3QtPmdndHQtPnZtLCBOVUxM KTsKIAlpZiAoSVNfRVJSKHZtYSkpIHsKIAkJZXJyID0gUFRSX0VSUih2bWEpOwogCQlnb3RvIGVy cl9vYmo7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuYyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5jCmluZGV4IGY5N2YzMDAzMWQ0Ny4u MzViZTYxYWFkMWU1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9n dHQuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuYwpAQCAtMTg3Myw3 ICsxODczLDcgQEAgc3RhdGljIGludCBnZW42X2FsbG9jX3ZhX3JhbmdlKHN0cnVjdCBpOTE1X2Fk ZHJlc3Nfc3BhY2UgKnZtLAogCiAJaWYgKGZsdXNoKSB7CiAJCW1hcmtfdGxic19kaXJ0eSgmcHBn dHQtPmJhc2UpOwotCQlnZW42X2dndHRfaW52YWxpZGF0ZSgmdm0tPmk5MTUtPmdndHQpOworCQln ZW42X2dndHRfaW52YWxpZGF0ZSh2bS0+Z3QtPmdndHQpOwogCX0KIAogCWludGVsX3J1bnRpbWVf cG1fcHV0KHZtLT5pOTE1LCB3YWtlcmVmKTsKQEAgLTIwNTksNyArMjA1OSw3IEBAIHN0YXRpYyBj b25zdCBzdHJ1Y3QgaTkxNV92bWFfb3BzIHBkX3ZtYV9vcHMgPSB7CiBzdGF0aWMgc3RydWN0IGk5 MTVfdm1hICpwZF92bWFfY3JlYXRlKHN0cnVjdCBnZW42X3BwZ3R0ICpwcGd0dCwgaW50IHNpemUp CiB7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUgPSBwcGd0dC0+YmFzZS52bS5pOTE1 OwotCXN0cnVjdCBpOTE1X2dndHQgKmdndHQgPSAmaTkxNS0+Z2d0dDsKKwlzdHJ1Y3QgaTkxNV9n Z3R0ICpnZ3R0ID0gcHBndHQtPmJhc2Uudm0uZ3QtPmdndHQ7CiAJc3RydWN0IGk5MTVfdm1hICp2 bWE7CiAKIAlHRU1fQlVHX09OKCFJU19BTElHTkVEKHNpemUsIEk5MTVfR1RUX1BBR0VfU0laRSkp OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fcmVuZGVyX3N0YXRl LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9yZW5kZXJfc3RhdGUuYwppbmRleCA0 ZWUwMzIwNzJkNGYuLjZiZGEwOGMxZThkNyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9nZW1fcmVuZGVyX3N0YXRlLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9nZW1fcmVuZGVyX3N0YXRlLmMKQEAgLTE5NCw3ICsxOTQsNyBAQCBpbnQgaTkxNV9nZW1fcmVu ZGVyX3N0YXRlX2VtaXQoc3RydWN0IGk5MTVfcmVxdWVzdCAqcnEpCiAJaWYgKElTX0VSUihzby5v YmopKQogCQlyZXR1cm4gUFRSX0VSUihzby5vYmopOwogCi0Jc28udm1hID0gaTkxNV92bWFfaW5z dGFuY2Uoc28ub2JqLCAmZW5naW5lLT5pOTE1LT5nZ3R0LnZtLCBOVUxMKTsKKwlzby52bWEgPSBp OTE1X3ZtYV9pbnN0YW5jZShzby5vYmosICZlbmdpbmUtPmd0LT5nZ3R0LT52bSwgTlVMTCk7CiAJ aWYgKElTX0VSUihzby52bWEpKSB7CiAJCWVyciA9IFBUUl9FUlIoc28udm1hKTsKIAkJZ290byBl cnJfb2JqOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9ncHVfZXJyb3Iu YyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3B1X2Vycm9yLmMKaW5kZXggMjZjOWMwNTk1 YmRmLi5kMGY5YjRhYmEyNDEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf Z3B1X2Vycm9yLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9ncHVfZXJyb3IuYwpA QCAtMTQwOCwxMiArMTQwOCwxMiBAQCBjYXB0dXJlX29iamVjdChzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYsCiBzdGF0aWMgdm9pZCBnZW1fcmVjb3JkX3JpbmdzKHN0cnVjdCBpOTE1 X2dwdV9zdGF0ZSAqZXJyb3IpCiB7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUgPSBl cnJvci0+aTkxNTsKLQlzdHJ1Y3QgaTkxNV9nZ3R0ICpnZ3R0ID0gJmk5MTUtPmdndHQ7CiAJaW50 IGk7CiAKIAlmb3IgKGkgPSAwOyBpIDwgSTkxNV9OVU1fRU5HSU5FUzsgaSsrKSB7CiAJCXN0cnVj dCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSA9IGk5MTUtPmVuZ2luZVtpXTsKIAkJc3RydWN0IGRy bV9pOTE1X2Vycm9yX2VuZ2luZSAqZWUgPSAmZXJyb3ItPmVuZ2luZVtpXTsKKwkJc3RydWN0IGk5 MTVfZ2d0dCAqZ2d0dCA9IGVuZ2luZS0+Z3QtPmdndHQ7CiAJCXN0cnVjdCBpOTE1X3JlcXVlc3Qg KnJlcXVlc3Q7CiAKIAkJZWUtPmVuZ2luZV9pZCA9IC0xOwotLSAKMi4yMC4xCgpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBs aXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVz a3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZng=