From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [PATCH 3/3] drm/i915: Move dev_priv->pm_i{m, e}r into intel_gt Date: Tue, 2 Jul 2019 11:23:13 +0100 Message-ID: <20190702102313.9333-4-tvrtko.ursulin@linux.intel.com> References: <20190702102313.9333-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 mga17.intel.com (mga17.intel.com [192.55.52.151]) by gabe.freedesktop.org (Postfix) with ESMTPS id 6E28989AC2 for ; Tue, 2 Jul 2019 10:23:27 +0000 (UTC) In-Reply-To: <20190702102313.9333-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 Cc: Paulo Zanoni List-Id: intel-gfx@lists.freedesktop.org RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KClBNIGludGVy cnVwdHMgYmVsb25nIHRvIHRoZSBHVCBzbyBtb3ZlIHRoZSB2YXJpYWJsZXMgdG8gYmUgaW5zaWRl CnN0cnVjdCBpbnRlbF9ndC4KCkNvLWF1dGhvcmVkLWJ5OiBQYXVsbyBaYW5vbmkgPHBhdWxvLnIu emFub25pQGludGVsLmNvbT4KU2lnbmVkLW9mZi1ieTogUGF1bG8gWmFub25pIDxwYXVsby5yLnph bm9uaUBpbnRlbC5jb20+ClNpZ25lZC1vZmYtYnk6IFR2cnRrbyBVcnN1bGluIDx0dnJ0a28udXJz dWxpbkBpbnRlbC5jb20+CkNjOiBEYW5pZWxlIENlcmFvbG8gU3B1cmlvIDxkYW5pZWxlLmNlcmFv bG9zcHVyaW9AaW50ZWwuY29tPgpDYzogQW5kaSBTaHl0aSA8YW5kaS5zaHl0aUBpbnRlbC5jb20+ Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZ3RfdHlwZXMuaCAgIHwgICAzICsK IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX3JpbmdidWZmZXIuYyB8ICAgNCArLQogZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCAgICAgICAgICAgIHwgICAyIC0KIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfaXJxLmMgICAgICAgICAgICB8IDEyMSArKysrKysrKysrKy0tLS0t LS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfaXJxLmggICAgICAgICAgICB8ICAgNCAr LQogNSBmaWxlcyBjaGFuZ2VkLCA3MSBpbnNlcnRpb25zKCspLCA2MyBkZWxldGlvbnMoLSkKCmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9ndF90eXBlcy5oIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZ3RfdHlwZXMuaAppbmRleCBjMDNlNTY2MjhlZTIu LjM3ZGE0MjhiZWY2MiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxf Z3RfdHlwZXMuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9ndF90eXBlcy5o CkBAIC01NSw2ICs1NSw5IEBAIHN0cnVjdCBpbnRlbF9ndCB7CiAJa3RpbWVfdCBsYXN0X2luaXRf dGltZTsKIAogCXN0cnVjdCBpOTE1X3ZtYSAqc2NyYXRjaDsKKworCXUzMiBwbV9pbXI7CisJdTMy IHBtX2llcjsKIH07CiAKICNlbmRpZiAvKiBfX0lOVEVMX0dUX1RZUEVTX0hfXyAqLwpkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfcmluZ2J1ZmZlci5jIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfcmluZ2J1ZmZlci5jCmluZGV4IDgxZjliMDQyMmU2YS4u ZDkyMjZhZGEwMTNmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9y aW5nYnVmZmVyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfcmluZ2J1ZmZl ci5jCkBAIC0xMDQxLDE0ICsxMDQxLDE0IEBAIGhzd192ZWJveF9pcnFfZW5hYmxlKHN0cnVjdCBp bnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKIAkvKiBGbHVzaC9kZWxheSB0byBlbnN1cmUgdGhlIFJJ TkdfSU1SIGlzIGFjdGl2ZSBiZWZvcmUgdGhlIEdUIElNUiAqLwogCUVOR0lORV9QT1NUSU5HX1JF QUQoZW5naW5lLCBSSU5HX0lNUik7CiAKLQlnZW42X3VubWFza19wbV9pcnEoZW5naW5lLT5pOTE1 LCBlbmdpbmUtPmlycV9lbmFibGVfbWFzayk7CisJZ2VuNl91bm1hc2tfcG1faXJxKGVuZ2luZS0+ Z3QsIGVuZ2luZS0+aXJxX2VuYWJsZV9tYXNrKTsKIH0KIAogc3RhdGljIHZvaWQKIGhzd192ZWJv eF9pcnFfZGlzYWJsZShzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCiB7CiAJRU5HSU5F X1dSSVRFKGVuZ2luZSwgUklOR19JTVIsIH4wKTsKLQlnZW42X21hc2tfcG1faXJxKGVuZ2luZS0+ aTkxNSwgZW5naW5lLT5pcnFfZW5hYmxlX21hc2spOworCWdlbjZfbWFza19wbV9pcnEoZW5naW5l LT5ndCwgZW5naW5lLT5pcnFfZW5hYmxlX21hc2spOwogfQogCiBzdGF0aWMgaW50CmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9kcnYuaAppbmRleCAwMmRkOWY5ZjNhODkuLjUwNGJiZjExMDI5ZCAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2Rydi5oCkBAIC0xNDAzLDggKzE0MDMsNiBAQCBzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSB7CiAJCXUzMiBkZV9pcnFfbWFza1tJOTE1X01BWF9QSVBFU107CiAJfTsKIAl1MzIgZ3Rf aXJxX21hc2s7Ci0JdTMyIHBtX2ltcjsKLQl1MzIgcG1faWVyOwogCXUzMiBwbV9ycHNfZXZlbnRz OwogCXUzMiBwbV9ndWNfZXZlbnRzOwogCXUzMiBwaXBlc3RhdF9pcnFfbWFza1tJOTE1X01BWF9Q SVBFU107CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2lycS5jIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYwppbmRleCA4MTdkZWZmMjBiZGQuLmJkZmRkODg0 MzYyNyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYworKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2lycS5jCkBAIC00MDksNTAgKzQwOSw1NCBAQCBzdGF0 aWMgaTkxNV9yZWdfdCBnZW42X3BtX2lpcihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYpCiAJcmV0dXJuIElOVEVMX0dFTihkZXZfcHJpdikgPj0gOCA/IEdFTjhfR1RfSUlSKDIpIDog R0VONl9QTUlJUjsKIH0KIAotc3RhdGljIHZvaWQgd3JpdGVfcG1faW1yKHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdikKK3N0YXRpYyB2b2lkIHdyaXRlX3BtX2ltcihzdHJ1Y3QgaW50 ZWxfZ3QgKmd0KQogeworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1ID0gZ3QtPmk5MTU7 CisJc3RydWN0IGludGVsX3VuY29yZSAqdW5jb3JlID0gZ3QtPnVuY29yZTsKKwl1MzIgbWFzayA9 IGd0LT5wbV9pbXI7CiAJaTkxNV9yZWdfdCByZWc7Ci0JdTMyIG1hc2sgPSBkZXZfcHJpdi0+cG1f aW1yOwogCi0JaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPj0gMTEpIHsKKwlpZiAoSU5URUxfR0VO KGk5MTUpID49IDExKSB7CiAJCXJlZyA9IEdFTjExX0dQTV9XR0JPWFBFUkZfSU5UUl9NQVNLOwog CQkvKiBwbSBpcyBpbiB1cHBlciBoYWxmICovCiAJCW1hc2sgPSBtYXNrIDw8IDE2OwotCX0gZWxz ZSBpZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSA4KSB7CisJfSBlbHNlIGlmIChJTlRFTF9HRU4o aTkxNSkgPj0gOCkgewogCQlyZWcgPSBHRU44X0dUX0lNUigyKTsKIAl9IGVsc2UgewogCQlyZWcg PSBHRU42X1BNSU1SOwogCX0KIAotCUk5MTVfV1JJVEUocmVnLCBtYXNrKTsKLQlQT1NUSU5HX1JF QUQocmVnKTsKKwlpbnRlbF91bmNvcmVfd3JpdGUodW5jb3JlLCByZWcsIG1hc2spOworCWludGVs X3VuY29yZV9wb3N0aW5nX3JlYWQodW5jb3JlLCByZWcpOwogfQogCi1zdGF0aWMgdm9pZCB3cml0 ZV9wbV9pZXIoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQorc3RhdGljIHZvaWQg d3JpdGVfcG1faWVyKHN0cnVjdCBpbnRlbF9ndCAqZ3QpCiB7CisJc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmk5MTUgPSBndC0+aTkxNTsKKwlzdHJ1Y3QgaW50ZWxfdW5jb3JlICp1bmNvcmUgPSBn dC0+dW5jb3JlOworCXUzMiBtYXNrID0gZ3QtPnBtX2llcjsKIAlpOTE1X3JlZ190IHJlZzsKLQl1 MzIgbWFzayA9IGRldl9wcml2LT5wbV9pZXI7CiAKLQlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA+ PSAxMSkgeworCWlmIChJTlRFTF9HRU4oaTkxNSkgPj0gMTEpIHsKIAkJcmVnID0gR0VOMTFfR1BN X1dHQk9YUEVSRl9JTlRSX0VOQUJMRTsKIAkJLyogcG0gaXMgaW4gdXBwZXIgaGFsZiAqLwogCQlt YXNrID0gbWFzayA8PCAxNjsKLQl9IGVsc2UgaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPj0gOCkg eworCX0gZWxzZSBpZiAoSU5URUxfR0VOKGk5MTUpID49IDgpIHsKIAkJcmVnID0gR0VOOF9HVF9J RVIoMik7CiAJfSBlbHNlIHsKIAkJcmVnID0gR0VONl9QTUlFUjsKIAl9CiAKLQlJOTE1X1dSSVRF KHJlZywgbWFzayk7CisJaW50ZWxfdW5jb3JlX3dyaXRlKHVuY29yZSwgcmVnLCBtYXNrKTsKIH0K IAogLyoqCiAgKiBzbmJfdXBkYXRlX3BtX2lycSAtIHVwZGF0ZSBHRU42X1BNSU1SCi0gKiBAZGV2 X3ByaXY6IGRyaXZlciBwcml2YXRlCisgKiBAZ3Q6IGd0IGZvciB0aGUgaW50ZXJydXB0cwogICog QGludGVycnVwdF9tYXNrOiBtYXNrIG9mIGludGVycnVwdCBiaXRzIHRvIHVwZGF0ZQogICogQGVu YWJsZWRfaXJxX21hc2s6IG1hc2sgb2YgaW50ZXJydXB0IGJpdHMgdG8gZW5hYmxlCiAgKi8KLXN0 YXRpYyB2b2lkIHNuYl91cGRhdGVfcG1faXJxKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdiwKK3N0YXRpYyB2b2lkIHNuYl91cGRhdGVfcG1faXJxKHN0cnVjdCBpbnRlbF9ndCAqZ3Qs CiAJCQkgICAgICB1MzIgaW50ZXJydXB0X21hc2ssCiAJCQkgICAgICB1MzIgZW5hYmxlZF9pcnFf bWFzaykKIHsKQEAgLTQ2MCwzNyArNDY0LDM3IEBAIHN0YXRpYyB2b2lkIHNuYl91cGRhdGVfcG1f aXJxKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAogCVdBUk5fT04oZW5hYmxl ZF9pcnFfbWFzayAmIH5pbnRlcnJ1cHRfbWFzayk7CiAKLQlsb2NrZGVwX2Fzc2VydF9oZWxkKCZk ZXZfcHJpdi0+aXJxX2xvY2spOworCWxvY2tkZXBfYXNzZXJ0X2hlbGQoJmd0LT5pOTE1LT5pcnFf bG9jayk7CiAKLQluZXdfdmFsID0gZGV2X3ByaXYtPnBtX2ltcjsKKwluZXdfdmFsID0gZ3QtPnBt X2ltcjsKIAluZXdfdmFsICY9IH5pbnRlcnJ1cHRfbWFzazsKIAluZXdfdmFsIHw9ICh+ZW5hYmxl ZF9pcnFfbWFzayAmIGludGVycnVwdF9tYXNrKTsKIAotCWlmIChuZXdfdmFsICE9IGRldl9wcml2 LT5wbV9pbXIpIHsKLQkJZGV2X3ByaXYtPnBtX2ltciA9IG5ld192YWw7Ci0JCXdyaXRlX3BtX2lt cihkZXZfcHJpdik7CisJaWYgKG5ld192YWwgIT0gZ3QtPnBtX2ltcikgeworCQlndC0+cG1faW1y ID0gbmV3X3ZhbDsKKwkJd3JpdGVfcG1faW1yKGd0KTsKIAl9CiB9CiAKLXZvaWQgZ2VuNl91bm1h c2tfcG1faXJxKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgdTMyIG1hc2spCit2 b2lkIGdlbjZfdW5tYXNrX3BtX2lycShzdHJ1Y3QgaW50ZWxfZ3QgKmd0LCB1MzIgbWFzaykKIHsK LQlpZiAoV0FSTl9PTighaW50ZWxfaXJxc19lbmFibGVkKGRldl9wcml2KSkpCisJaWYgKFdBUk5f T04oIWludGVsX2lycXNfZW5hYmxlZChndC0+aTkxNSkpKQogCQlyZXR1cm47CiAKLQlzbmJfdXBk YXRlX3BtX2lycShkZXZfcHJpdiwgbWFzaywgbWFzayk7CisJc25iX3VwZGF0ZV9wbV9pcnEoZ3Qs IG1hc2ssIG1hc2spOwogfQogCi1zdGF0aWMgdm9pZCBfX2dlbjZfbWFza19wbV9pcnEoc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCB1MzIgbWFzaykKK3N0YXRpYyB2b2lkIF9fZ2Vu Nl9tYXNrX3BtX2lycShzdHJ1Y3QgaW50ZWxfZ3QgKmd0LCB1MzIgbWFzaykKIHsKLQlzbmJfdXBk YXRlX3BtX2lycShkZXZfcHJpdiwgbWFzaywgMCk7CisJc25iX3VwZGF0ZV9wbV9pcnEoZ3QsIG1h c2ssIDApOwogfQogCi12b2lkIGdlbjZfbWFza19wbV9pcnEoc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2LCB1MzIgbWFzaykKK3ZvaWQgZ2VuNl9tYXNrX3BtX2lycShzdHJ1Y3QgaW50 ZWxfZ3QgKmd0LCB1MzIgbWFzaykKIHsKLQlpZiAoV0FSTl9PTighaW50ZWxfaXJxc19lbmFibGVk KGRldl9wcml2KSkpCisJaWYgKFdBUk5fT04oIWludGVsX2lycXNfZW5hYmxlZChndC0+aTkxNSkp KQogCQlyZXR1cm47CiAKLQlfX2dlbjZfbWFza19wbV9pcnEoZGV2X3ByaXYsIG1hc2spOworCV9f Z2VuNl9tYXNrX3BtX2lycShndCwgbWFzayk7CiB9CiAKIHN0YXRpYyB2b2lkIGdlbjZfcmVzZXRf cG1faWlyKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgdTMyIHJlc2V0X21hc2sp CkBAIC01MDQsMjMgKzUwOCwyMyBAQCBzdGF0aWMgdm9pZCBnZW42X3Jlc2V0X3BtX2lpcihzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIHUzMiByZXNldF9tYXNrKQogCVBPU1RJTkdf UkVBRChyZWcpOwogfQogCi1zdGF0aWMgdm9pZCBnZW42X2VuYWJsZV9wbV9pcnEoc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCB1MzIgZW5hYmxlX21hc2spCitzdGF0aWMgdm9pZCBn ZW42X2VuYWJsZV9wbV9pcnEoc3RydWN0IGludGVsX2d0ICpndCwgdTMyIGVuYWJsZV9tYXNrKQog ewotCWxvY2tkZXBfYXNzZXJ0X2hlbGQoJmRldl9wcml2LT5pcnFfbG9jayk7CisJbG9ja2RlcF9h c3NlcnRfaGVsZCgmZ3QtPmk5MTUtPmlycV9sb2NrKTsKIAotCWRldl9wcml2LT5wbV9pZXIgfD0g ZW5hYmxlX21hc2s7Ci0Jd3JpdGVfcG1faWVyKGRldl9wcml2KTsKLQlnZW42X3VubWFza19wbV9p cnEoZGV2X3ByaXYsIGVuYWJsZV9tYXNrKTsKKwlndC0+cG1faWVyIHw9IGVuYWJsZV9tYXNrOwor CXdyaXRlX3BtX2llcihndCk7CisJZ2VuNl91bm1hc2tfcG1faXJxKGd0LCBlbmFibGVfbWFzayk7 CiAJLyogdW5tYXNrX3BtX2lycSBwcm92aWRlcyBhbiBpbXBsaWNpdCBiYXJyaWVyIChQT1NUSU5H X1JFQUQpICovCiB9CiAKLXN0YXRpYyB2b2lkIGdlbjZfZGlzYWJsZV9wbV9pcnEoc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCB1MzIgZGlzYWJsZV9tYXNrKQorc3RhdGljIHZvaWQg Z2VuNl9kaXNhYmxlX3BtX2lycShzdHJ1Y3QgaW50ZWxfZ3QgKmd0LCB1MzIgZGlzYWJsZV9tYXNr KQogewotCWxvY2tkZXBfYXNzZXJ0X2hlbGQoJmRldl9wcml2LT5pcnFfbG9jayk7CisJbG9ja2Rl cF9hc3NlcnRfaGVsZCgmZ3QtPmk5MTUtPmlycV9sb2NrKTsKIAotCWRldl9wcml2LT5wbV9pZXIg Jj0gfmRpc2FibGVfbWFzazsKLQlfX2dlbjZfbWFza19wbV9pcnEoZGV2X3ByaXYsIGRpc2FibGVf bWFzayk7Ci0Jd3JpdGVfcG1faWVyKGRldl9wcml2KTsKKwlndC0+cG1faWVyICY9IH5kaXNhYmxl X21hc2s7CisJX19nZW42X21hc2tfcG1faXJxKGd0LCBkaXNhYmxlX21hc2spOworCXdyaXRlX3Bt X2llcihndCk7CiAJLyogdGhvdWdoIGEgYmFycmllciBpcyBtaXNzaW5nIGhlcmUsIGJ1dCBkb24n dCByZWFsbHkgbmVlZCBhIG9uZSAqLwogfQogCkBAIC01NDYsNiArNTUwLDcgQEAgdm9pZCBnZW42 X3Jlc2V0X3Jwc19pbnRlcnJ1cHRzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikK IAogdm9pZCBnZW42X2VuYWJsZV9ycHNfaW50ZXJydXB0cyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYpCiB7CisJc3RydWN0IGludGVsX2d0ICpndCA9ICZkZXZfcHJpdi0+Z3Q7CiAJ c3RydWN0IGludGVsX3JwcyAqcnBzID0gJmRldl9wcml2LT5ndF9wbS5ycHM7CiAKIAlpZiAoUkVB RF9PTkNFKHJwcy0+aW50ZXJydXB0c19lbmFibGVkKSkKQEAgLTU1NSwxMiArNTYwLDEyIEBAIHZv aWQgZ2VuNl9lbmFibGVfcnBzX2ludGVycnVwdHMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2KQogCVdBUk5fT05fT05DRShycHMtPnBtX2lpcik7CiAKIAlpZiAoSU5URUxfR0VOKGRl dl9wcml2KSA+PSAxMSkKLQkJV0FSTl9PTl9PTkNFKGdlbjExX3Jlc2V0X29uZV9paXIoJmRldl9w cml2LT5ndCwgMCwgR0VOMTFfR1RQTSkpOworCQlXQVJOX09OX09OQ0UoZ2VuMTFfcmVzZXRfb25l X2lpcihndCwgMCwgR0VOMTFfR1RQTSkpOwogCWVsc2UKIAkJV0FSTl9PTl9PTkNFKEk5MTVfUkVB RChnZW42X3BtX2lpcihkZXZfcHJpdikpICYgZGV2X3ByaXYtPnBtX3Jwc19ldmVudHMpOwogCiAJ cnBzLT5pbnRlcnJ1cHRzX2VuYWJsZWQgPSB0cnVlOwotCWdlbjZfZW5hYmxlX3BtX2lycShkZXZf cHJpdiwgZGV2X3ByaXYtPnBtX3Jwc19ldmVudHMpOworCWdlbjZfZW5hYmxlX3BtX2lycShndCwg ZGV2X3ByaXYtPnBtX3Jwc19ldmVudHMpOwogCiAJc3Bpbl91bmxvY2tfaXJxKCZkZXZfcHJpdi0+ aXJxX2xvY2spOwogfQpAQCAtNTc3LDcgKzU4Miw3IEBAIHZvaWQgZ2VuNl9kaXNhYmxlX3Jwc19p bnRlcnJ1cHRzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAogCUk5MTVfV1JJ VEUoR0VONl9QTUlOVFJNU0ssIGdlbjZfc2FuaXRpemVfcnBzX3BtX21hc2soZGV2X3ByaXYsIH4w dSkpOwogCi0JZ2VuNl9kaXNhYmxlX3BtX2lycShkZXZfcHJpdiwgR0VONl9QTV9SUFNfRVZFTlRT KTsKKwlnZW42X2Rpc2FibGVfcG1faXJxKCZkZXZfcHJpdi0+Z3QsIEdFTjZfUE1fUlBTX0VWRU5U Uyk7CiAKIAlzcGluX3VubG9ja19pcnEoJmRldl9wcml2LT5pcnFfbG9jayk7CiAJc3luY2hyb25p emVfaXJxKGRldl9wcml2LT5kcm0uaXJxKTsKQEAgLTYxMiw3ICs2MTcsNyBAQCB2b2lkIGdlbjlf ZW5hYmxlX2d1Y19pbnRlcnJ1cHRzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikK IAkJV0FSTl9PTl9PTkNFKEk5MTVfUkVBRChnZW42X3BtX2lpcihkZXZfcHJpdikpICYKIAkJCQkg ICAgICAgZGV2X3ByaXYtPnBtX2d1Y19ldmVudHMpOwogCQlkZXZfcHJpdi0+Z3VjLmludGVycnVw dHMuZW5hYmxlZCA9IHRydWU7Ci0JCWdlbjZfZW5hYmxlX3BtX2lycShkZXZfcHJpdiwgZGV2X3By aXYtPnBtX2d1Y19ldmVudHMpOworCQlnZW42X2VuYWJsZV9wbV9pcnEoJmRldl9wcml2LT5ndCwg ZGV2X3ByaXYtPnBtX2d1Y19ldmVudHMpOwogCX0KIAlzcGluX3VubG9ja19pcnEoJmRldl9wcml2 LT5pcnFfbG9jayk7CiB9CkBAIC02MjQsNyArNjI5LDcgQEAgdm9pZCBnZW45X2Rpc2FibGVfZ3Vj X2ludGVycnVwdHMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCXNwaW5fbG9j a19pcnEoJmRldl9wcml2LT5pcnFfbG9jayk7CiAJZGV2X3ByaXYtPmd1Yy5pbnRlcnJ1cHRzLmVu YWJsZWQgPSBmYWxzZTsKIAotCWdlbjZfZGlzYWJsZV9wbV9pcnEoZGV2X3ByaXYsIGRldl9wcml2 LT5wbV9ndWNfZXZlbnRzKTsKKwlnZW42X2Rpc2FibGVfcG1faXJxKCZkZXZfcHJpdi0+Z3QsIGRl dl9wcml2LT5wbV9ndWNfZXZlbnRzKTsKIAogCXNwaW5fdW5sb2NrX2lycSgmZGV2X3ByaXYtPmly cV9sb2NrKTsKIAlzeW5jaHJvbml6ZV9pcnEoZGV2X3ByaXYtPmRybS5pcnEpOwpAQCAtMTQyNiw3 ICsxNDMxLDcgQEAgc3RhdGljIHZvaWQgZ2VuNl9wbV9ycHNfd29yayhzdHJ1Y3Qgd29ya19zdHJ1 Y3QgKndvcmspCiAJLyogTWFrZSBzdXJlIG5vdCB0byBjb3JydXB0IFBNSU1SIHN0YXRlIHVzZWQg YnkgcmluZ2J1ZmZlciBvbiBHRU42ICovCiAJc3Bpbl9sb2NrX2lycSgmZGV2X3ByaXYtPmlycV9s b2NrKTsKIAlpZiAocnBzLT5pbnRlcnJ1cHRzX2VuYWJsZWQpCi0JCWdlbjZfdW5tYXNrX3BtX2ly cShkZXZfcHJpdiwgZGV2X3ByaXYtPnBtX3Jwc19ldmVudHMpOworCQlnZW42X3VubWFza19wbV9p cnEoJmRldl9wcml2LT5ndCwgZGV2X3ByaXYtPnBtX3Jwc19ldmVudHMpOwogCXNwaW5fdW5sb2Nr X2lycSgmZGV2X3ByaXYtPmlycV9sb2NrKTsKIH0KIApAQCAtMTg5Myw4ICsxODk4LDkgQEAgc3Rh dGljIHZvaWQgaTl4eF9waXBlX2NyY19pcnFfaGFuZGxlcihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYsCiAvKiBUaGUgUlBTIGV2ZW50cyBuZWVkIGZvcmNld2FrZSwgc28gd2UgYWRk IHRoZW0gdG8gYSB3b3JrIHF1ZXVlIGFuZCBtYXNrIHRoZWlyCiAgKiBJTVIgYml0cyB1bnRpbCB0 aGUgd29yayBpcyBkb25lLiBPdGhlciBpbnRlcnJ1cHRzIGNhbiBiZSBwcm9jZXNzZWQgd2l0aG91 dAogICogdGhlIHdvcmsgcXVldWUuICovCi1zdGF0aWMgdm9pZCBnZW4xMV9ycHNfaXJxX2hhbmRs ZXIoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUsIHUzMiBwbV9paXIpCitzdGF0aWMgdm9p ZCBnZW4xMV9ycHNfaXJxX2hhbmRsZXIoc3RydWN0IGludGVsX2d0ICpndCwgdTMyIHBtX2lpcikK IHsKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSA9IGd0LT5pOTE1OwogCXN0cnVjdCBp bnRlbF9ycHMgKnJwcyA9ICZpOTE1LT5ndF9wbS5ycHM7CiAJY29uc3QgdTMyIGV2ZW50cyA9IGk5 MTUtPnBtX3Jwc19ldmVudHMgJiBwbV9paXI7CiAKQEAgLTE5MDMsNyArMTkwOSw3IEBAIHN0YXRp YyB2b2lkIGdlbjExX3Jwc19pcnFfaGFuZGxlcihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkx NSwgdTMyIHBtX2lpcikKIAlpZiAodW5saWtlbHkoIWV2ZW50cykpCiAJCXJldHVybjsKIAotCWdl bjZfbWFza19wbV9pcnEoaTkxNSwgZXZlbnRzKTsKKwlnZW42X21hc2tfcG1faXJxKGd0LCBldmVu dHMpOwogCiAJaWYgKCFycHMtPmludGVycnVwdHNfZW5hYmxlZCkKIAkJcmV0dXJuOwpAQCAtMTkx OCw3ICsxOTI0LDggQEAgc3RhdGljIHZvaWQgZ2VuNl9ycHNfaXJxX2hhbmRsZXIoc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCB1MzIgcG1faWlyKQogCiAJaWYgKHBtX2lpciAmIGRl dl9wcml2LT5wbV9ycHNfZXZlbnRzKSB7CiAJCXNwaW5fbG9jaygmZGV2X3ByaXYtPmlycV9sb2Nr KTsKLQkJZ2VuNl9tYXNrX3BtX2lycShkZXZfcHJpdiwgcG1faWlyICYgZGV2X3ByaXYtPnBtX3Jw c19ldmVudHMpOworCQlnZW42X21hc2tfcG1faXJxKCZkZXZfcHJpdi0+Z3QsCisJCQkJIHBtX2lp ciAmIGRldl9wcml2LT5wbV9ycHNfZXZlbnRzKTsKIAkJaWYgKHJwcy0+aW50ZXJydXB0c19lbmFi bGVkKSB7CiAJCQlycHMtPnBtX2lpciB8PSBwbV9paXIgJiBkZXZfcHJpdi0+cG1fcnBzX2V2ZW50 czsKIAkJCXNjaGVkdWxlX3dvcmsoJnJwcy0+d29yayk7CkBAIC0zMDc2LDcgKzMwODMsNyBAQCBn ZW4xMV9vdGhlcl9pcnFfaGFuZGxlcihzdHJ1Y3QgaW50ZWxfZ3QgKmd0LCBjb25zdCB1OCBpbnN0 YW5jZSwKIAkJcmV0dXJuIGdlbjExX2d1Y19pcnFfaGFuZGxlcihpOTE1LCBpaXIpOwogCiAJaWYg KGluc3RhbmNlID09IE9USEVSX0dUUE1fSU5TVEFOQ0UpCi0JCXJldHVybiBnZW4xMV9ycHNfaXJx X2hhbmRsZXIoaTkxNSwgaWlyKTsKKwkJcmV0dXJuIGdlbjExX3Jwc19pcnFfaGFuZGxlcihndCwg aWlyKTsKIAogCVdBUk5fT05DRSgxLCAidW5oYW5kbGVkIG90aGVyIGludGVycnVwdCBpbnN0YW5j ZT0weCV4LCBpaXI9MHgleFxuIiwKIAkJICBpbnN0YW5jZSwgaWlyKTsKQEAgLTQwMDYsMTEgKzQw MTMsMTEgQEAgc3RhdGljIHZvaWQgZ2VuNV9ndF9pcnFfcG9zdGluc3RhbGwoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2KQogCQkgKi8KIAkJaWYgKEhBU19FTkdJTkUoZGV2X3ByaXYs IFZFQ1MwKSkgewogCQkJcG1faXJxcyB8PSBQTV9WRUJPWF9VU0VSX0lOVEVSUlVQVDsKLQkJCWRl dl9wcml2LT5wbV9pZXIgfD0gUE1fVkVCT1hfVVNFUl9JTlRFUlJVUFQ7CisJCQlkZXZfcHJpdi0+ Z3QucG1faWVyIHw9IFBNX1ZFQk9YX1VTRVJfSU5URVJSVVBUOwogCQl9CiAKLQkJZGV2X3ByaXYt PnBtX2ltciA9IDB4ZmZmZmZmZmY7Ci0JCUdFTjNfSVJRX0lOSVQodW5jb3JlLCBHRU42X1BNLCBk ZXZfcHJpdi0+cG1faW1yLCBwbV9pcnFzKTsKKwkJZGV2X3ByaXYtPmd0LnBtX2ltciA9IDB4ZmZm ZmZmZmY7CisJCUdFTjNfSVJRX0lOSVQodW5jb3JlLCBHRU42X1BNLCBkZXZfcHJpdi0+Z3QucG1f aW1yLCBwbV9pcnFzKTsKIAl9CiB9CiAKQEAgLTQxMDcsOSArNDExNCwxMCBAQCBzdGF0aWMgdm9p ZCB2YWxsZXl2aWV3X2lycV9wb3N0aW5zdGFsbChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYpCiAJUE9TVElOR19SRUFEKFZMVl9NQVNURVJfSUVSKTsKIH0KIAotc3RhdGljIHZvaWQg Z2VuOF9ndF9pcnFfcG9zdGluc3RhbGwoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 KQorc3RhdGljIHZvaWQgZ2VuOF9ndF9pcnFfcG9zdGluc3RhbGwoc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmk5MTUpCiB7Ci0Jc3RydWN0IGludGVsX3VuY29yZSAqdW5jb3JlID0gJmRldl9wcml2 LT51bmNvcmU7CisJc3RydWN0IGludGVsX2d0ICpndCA9ICZpOTE1LT5ndDsKKwlzdHJ1Y3QgaW50 ZWxfdW5jb3JlICp1bmNvcmUgPSBndC0+dW5jb3JlOwogCiAJLyogVGhlc2UgYXJlIGludGVycnVw dHMgd2UnbGwgdG9nZ2xlIHdpdGggdGhlIHJpbmcgbWFzayByZWdpc3RlciAqLwogCXUzMiBndF9p bnRlcnJ1cHRzW10gPSB7CkBAIC00MTI5LDE1ICs0MTM3LDE1IEBAIHN0YXRpYyB2b2lkIGdlbjhf Z3RfaXJxX3Bvc3RpbnN0YWxsKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAkJ IEdUX0NPTlRFWFRfU1dJVENIX0lOVEVSUlVQVCA8PCBHRU44X1ZFQ1NfSVJRX1NISUZUKQogCX07 CiAKLQlkZXZfcHJpdi0+cG1faWVyID0gMHgwOwotCWRldl9wcml2LT5wbV9pbXIgPSB+ZGV2X3By aXYtPnBtX2llcjsKKwlndC0+cG1faWVyID0gMHgwOworCWd0LT5wbV9pbXIgPSB+Z3QtPnBtX2ll cjsKIAlHRU44X0lSUV9JTklUX05EWCh1bmNvcmUsIEdULCAwLCB+Z3RfaW50ZXJydXB0c1swXSwg Z3RfaW50ZXJydXB0c1swXSk7CiAJR0VOOF9JUlFfSU5JVF9ORFgodW5jb3JlLCBHVCwgMSwgfmd0 X2ludGVycnVwdHNbMV0sIGd0X2ludGVycnVwdHNbMV0pOwogCS8qCiAJICogUlBTIGludGVycnVw dHMgd2lsbCBnZXQgZW5hYmxlZC9kaXNhYmxlZCBvbiBkZW1hbmQgd2hlbiBSUFMgaXRzZWxmCiAJ ICogaXMgZW5hYmxlZC9kaXNhYmxlZC4gU2FtZSB3aWwgYmUgdGhlIGNhc2UgZm9yIEd1QyBpbnRl cnJ1cHRzLgogCSAqLwotCUdFTjhfSVJRX0lOSVRfTkRYKHVuY29yZSwgR1QsIDIsIGRldl9wcml2 LT5wbV9pbXIsIGRldl9wcml2LT5wbV9pZXIpOworCUdFTjhfSVJRX0lOSVRfTkRYKHVuY29yZSwg R1QsIDIsIGd0LT5wbV9pbXIsIGd0LT5wbV9pZXIpOwogCUdFTjhfSVJRX0lOSVRfTkRYKHVuY29y ZSwgR1QsIDMsIH5ndF9pbnRlcnJ1cHRzWzNdLCBndF9pbnRlcnJ1cHRzWzNdKTsKIH0KIApAQCAt NDIyOCw3ICs0MjM2LDYgQEAgc3RhdGljIHZvaWQgZ2VuOF9pcnFfcG9zdGluc3RhbGwoc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogc3RhdGljIHZvaWQgZ2VuMTFfZ3RfaXJxX3Bv c3RpbnN0YWxsKHN0cnVjdCBpbnRlbF9ndCAqZ3QpCiB7CiAJY29uc3QgdTMyIGlycXMgPSBHVF9S RU5ERVJfVVNFUl9JTlRFUlJVUFQgfCBHVF9DT05URVhUX1NXSVRDSF9JTlRFUlJVUFQ7Ci0Jc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZ3QtPmk5MTU7CiAJc3RydWN0IGludGVs X3VuY29yZSAqdW5jb3JlID0gZ3QtPnVuY29yZTsKIAljb25zdCB1MzIgZG1hc2sgPSBpcnFzIDw8 IDE2IHwgaXJxczsKIAljb25zdCB1MzIgc21hc2sgPSBpcnFzIDw8IDE2OwpAQCAtNDI1MCw4ICs0 MjU3LDggQEAgc3RhdGljIHZvaWQgZ2VuMTFfZ3RfaXJxX3Bvc3RpbnN0YWxsKHN0cnVjdCBpbnRl bF9ndCAqZ3QpCiAJICogUlBTIGludGVycnVwdHMgd2lsbCBnZXQgZW5hYmxlZC9kaXNhYmxlZCBv biBkZW1hbmQgd2hlbiBSUFMgaXRzZWxmCiAJICogaXMgZW5hYmxlZC9kaXNhYmxlZC4KIAkgKi8K LQlkZXZfcHJpdi0+cG1faWVyID0gMHgwOwotCWRldl9wcml2LT5wbV9pbXIgPSB+ZGV2X3ByaXYt PnBtX2llcjsKKwlndC0+cG1faWVyID0gMHgwOworCWd0LT5wbV9pbXIgPSB+Z3QtPnBtX2llcjsK IAlpbnRlbF91bmNvcmVfd3JpdGUodW5jb3JlLCBHRU4xMV9HUE1fV0dCT1hQRVJGX0lOVFJfRU5B QkxFLCAwKTsKIAlpbnRlbF91bmNvcmVfd3JpdGUodW5jb3JlLCBHRU4xMV9HUE1fV0dCT1hQRVJG X0lOVFJfTUFTSywgIH4wKTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9pcnEuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfaXJxLmgKaW5kZXggNWFmNTY1NGY4 MDFkLi4yZGQ1ZDUyNTlkYmUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf aXJxLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuaApAQCAtNzcsOCArNzcs OCBAQCBpYnhfZGlzYWJsZV9kaXNwbGF5X2ludGVycnVwdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYsIHUzMiBiaXRzKQogCiB2b2lkIGdlbjVfZW5hYmxlX2d0X2lycShzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIHUzMiBtYXNrKTsKIHZvaWQgZ2VuNV9kaXNhYmxl X2d0X2lycShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIHUzMiBtYXNrKTsKLXZv aWQgZ2VuNl9tYXNrX3BtX2lycShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIHUz MiBtYXNrKTsKLXZvaWQgZ2VuNl91bm1hc2tfcG1faXJxKHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiwgdTMyIG1hc2spOwordm9pZCBnZW42X21hc2tfcG1faXJxKHN0cnVjdCBpbnRl bF9ndCAqZ3QsIHUzMiBtYXNrKTsKK3ZvaWQgZ2VuNl91bm1hc2tfcG1faXJxKHN0cnVjdCBpbnRl bF9ndCAqZ3QsIHUzMiBtYXNrKTsKIHZvaWQgZ2VuMTFfcmVzZXRfcnBzX2ludGVycnVwdHMoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsKIHZvaWQgZ2VuNl9yZXNldF9ycHNfaW50 ZXJydXB0cyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwogdm9pZCBnZW42X2Vu YWJsZV9ycHNfaW50ZXJydXB0cyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwot LSAKMi4yMC4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcK aHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZng=