From mboxrd@z Thu Jan 1 00:00:00 1970 From: Michal Wajdeczko Subject: [PATCH v4] drm/i915/uc: Add explicit DISABLED state for firmware Date: Fri, 16 Aug 2019 20:56:58 +0000 Message-ID: <20190816205658.15020-1-michal.wajdeczko@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by gabe.freedesktop.org (Postfix) with ESMTPS id 1773A6E2F8 for ; Fri, 16 Aug 2019 20:57:22 +0000 (UTC) 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 V2UgcmVhbGx5IG5lZWQgdG8gaGF2ZSBzZXBhcmF0ZSBOT1RfU1VQUE9SVEVEIHN0YXRlIChmb3IK bGFjayBvZiBoYXJkd2FyZSBzdXBwb3J0KSBhbmQgRElTQUJMRUQgc3RhdGUgKHRvIGluZGljYXRl CnVzZXIgZGVjaXNpb24pIGFzIHdlIHdpbGwgaGF2ZSB0byB0YWtlIHNwZWNpYWwgc3RlcHMgZXZl bgppZiBHdUMgZmlybXdhcmUgaXMgbm93IGRpc2FibGVkIGJ1dCBoYXJkd2FyZSBleGlzdHMgYW5k CmNvdWxkIGhhdmUgYmVlbiBwcmV2aW91c2x5IHVzZWQuCgp2MjogZml4IGxvZ2ljIChDaHJpcy9D SSkKdjM6IHVzZSBwcm9wZXIgY2hlY2sgdG8gYXZvaWQgcHJvYmUgZmFpbHVyZSAoQ0kpCnY0OiBl eHBsYWluIHN0YXR1cyB0cmFuc2l0aW9ucyAoQ2hyaXMpCgpTaWduZWQtb2ZmLWJ5OiBNaWNoYWwg V2FqZGVjemtvIDxtaWNoYWwud2FqZGVjemtvQGludGVsLmNvbT4KQ2M6IERhbmllbGUgQ2VyYW9s byBTcHVyaW8gPGRhbmllbGUuY2VyYW9sb3NwdXJpb0BpbnRlbC5jb20+CkNjOiBDaHJpcyBXaWxz b24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9n dC91Yy9pbnRlbF9ndWMuaCAgICB8ICA3ICsrKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3Vj L2ludGVsX2h1Yy5oICAgIHwgIDcgKysrLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvdWMvaW50 ZWxfaHVjX2Z3LmMgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvdWMvaW50ZWxfdWMu YyAgICAgfCAzNyArKysrKysrKysrLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC91 Yy9pbnRlbF91Yy5oICAgICB8IDE3ICsrKysrKysrLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Qv dWMvaW50ZWxfdWNfZncuYyAgfCAgNSArLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3VjL2lu dGVsX3VjX2Z3LmggIHwgNDMgKysrKysrKysrKysrKysrKysrKy0tLS0KIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZHJ2LmggICAgICAgICAgIHwgIDQgKy0tCiA4IGZpbGVzIGNoYW5nZWQsIDkx IGluc2VydGlvbnMoKyksIDMxIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2d0L3VjL2ludGVsX2d1Yy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvdWMv aW50ZWxfZ3VjLmgKaW5kZXggNDk5OWRiOTY1Njg1Li4yYjJmMDQ2ZDNjYzMgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3VjL2ludGVsX2d1Yy5oCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2d0L3VjL2ludGVsX2d1Yy5oCkBAIC0xNTQsNyArMTU0LDEyIEBAIHN0cnVjdCBp OTE1X3ZtYSAqaW50ZWxfZ3VjX2FsbG9jYXRlX3ZtYShzdHJ1Y3QgaW50ZWxfZ3VjICpndWMsIHUz MiBzaXplKTsKIAogc3RhdGljIGlubGluZSBib29sIGludGVsX2d1Y19pc19zdXBwb3J0ZWQoc3Ry dWN0IGludGVsX2d1YyAqZ3VjKQogewotCXJldHVybiBpbnRlbF91Y19md19zdXBwb3J0ZWQoJmd1 Yy0+ZncpOworCXJldHVybiBpbnRlbF91Y19md19pc19zdXBwb3J0ZWQoJmd1Yy0+ZncpOworfQor CitzdGF0aWMgaW5saW5lIGJvb2wgaW50ZWxfZ3VjX2lzX2VuYWJsZWQoc3RydWN0IGludGVsX2d1 YyAqZ3VjKQoreworCXJldHVybiBpbnRlbF91Y19md19pc19lbmFibGVkKCZndWMtPmZ3KTsKIH0K IAogc3RhdGljIGlubGluZSBib29sIGludGVsX2d1Y19pc19ydW5uaW5nKHN0cnVjdCBpbnRlbF9n dWMgKmd1YykKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3VjL2ludGVsX2h1 Yy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvdWMvaW50ZWxfaHVjLmgKaW5kZXggZjhhNDU1 N2M4ZDZkLi42NDRjMDU5ZmUwMWQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0 L3VjL2ludGVsX2h1Yy5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3VjL2ludGVsX2h1 Yy5oCkBAIC0zOCw3ICszOCwxMiBAQCBzdGF0aWMgaW5saW5lIGludCBpbnRlbF9odWNfc2FuaXRp emUoc3RydWN0IGludGVsX2h1YyAqaHVjKQogCiBzdGF0aWMgaW5saW5lIGJvb2wgaW50ZWxfaHVj X2lzX3N1cHBvcnRlZChzdHJ1Y3QgaW50ZWxfaHVjICpodWMpCiB7Ci0JcmV0dXJuIGludGVsX3Vj X2Z3X3N1cHBvcnRlZCgmaHVjLT5mdyk7CisJcmV0dXJuIGludGVsX3VjX2Z3X2lzX3N1cHBvcnRl ZCgmaHVjLT5mdyk7Cit9CisKK3N0YXRpYyBpbmxpbmUgYm9vbCBpbnRlbF9odWNfaXNfZW5hYmxl ZChzdHJ1Y3QgaW50ZWxfaHVjICpodWMpCit7CisJcmV0dXJuIGludGVsX3VjX2Z3X2lzX2VuYWJs ZWQoJmh1Yy0+ZncpOwogfQogCiBzdGF0aWMgaW5saW5lIGJvb2wgaW50ZWxfaHVjX2lzX2F1dGhl bnRpY2F0ZWQoc3RydWN0IGludGVsX2h1YyAqaHVjKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvZ3QvdWMvaW50ZWxfaHVjX2Z3LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC91 Yy9pbnRlbF9odWNfZncuYwppbmRleCA5NmZlY2E5OTMyMmEuLjc0NjAyNDg3ZWQ2NyAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvdWMvaW50ZWxfaHVjX2Z3LmMKKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvZ3QvdWMvaW50ZWxfaHVjX2Z3LmMKQEAgLTM1LDcgKzM1LDcgQEAg dm9pZCBpbnRlbF9odWNfZndfaW5pdF9lYXJseShzdHJ1Y3QgaW50ZWxfaHVjICpodWMpCiAJc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUgPSBndC0+aTkxNTsKIAogCWludGVsX3VjX2Z3X2lu aXRfZWFybHkoJmh1Yy0+ZncsIElOVEVMX1VDX0ZXX1RZUEVfSFVDLAotCQkJICAgICAgIGludGVs X3VjX3N1cHBvcnRzX2d1Yyh1YyksCisJCQkgICAgICAgaW50ZWxfdWNfdXNlc19ndWModWMpLAog CQkJICAgICAgIElOVEVMX0lORk8oaTkxNSktPnBsYXRmb3JtLCBJTlRFTF9SRVZJRChpOTE1KSk7 CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3VjL2ludGVsX3VjLmMg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC91Yy9pbnRlbF91Yy5jCmluZGV4IDBkYzJiMGNmNDYw NC4uNDQ5YzQzMmRkNzY4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC91Yy9p bnRlbF91Yy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3VjL2ludGVsX3VjLmMKQEAg LTQ1LDE3ICs0NSwxNyBAQCBzdGF0aWMgdm9pZCBfX2NvbmZpcm1fb3B0aW9ucyhzdHJ1Y3QgaW50 ZWxfdWMgKnVjKQogCURSTV9ERVZfREVCVUdfRFJJVkVSKGk5MTUtPmRybS5kZXYsCiAJCQkgICAg ICJlbmFibGVfZ3VjPSVkIChndWM6JXMgc3VibWlzc2lvbjolcyBodWM6JXMpXG4iLAogCQkJICAg ICBpOTE1X21vZHBhcmFtcy5lbmFibGVfZ3VjLAotCQkJICAgICB5ZXNubyhpbnRlbF91Y19zdXBw b3J0c19ndWModWMpKSwKLQkJCSAgICAgeWVzbm8oaW50ZWxfdWNfc3VwcG9ydHNfZ3VjX3N1Ym1p c3Npb24odWMpKSwKLQkJCSAgICAgeWVzbm8oaW50ZWxfdWNfc3VwcG9ydHNfaHVjKHVjKSkpOwor CQkJICAgICB5ZXNubyhpbnRlbF91Y191c2VzX2d1Yyh1YykpLAorCQkJICAgICB5ZXNubyhpbnRl bF91Y191c2VzX2d1Y19zdWJtaXNzaW9uKHVjKSksCisJCQkgICAgIHllc25vKGludGVsX3VjX3Vz ZXNfaHVjKHVjKSkpOwogCiAJaWYgKGk5MTVfbW9kcGFyYW1zLmVuYWJsZV9ndWMgPT0gLTEpCiAJ CXJldHVybjsKIAogCWlmIChpOTE1X21vZHBhcmFtcy5lbmFibGVfZ3VjID09IDApIHsKLQkJR0VN X0JVR19PTihpbnRlbF91Y19zdXBwb3J0c19ndWModWMpKTsKLQkJR0VNX0JVR19PTihpbnRlbF91 Y19zdXBwb3J0c19ndWNfc3VibWlzc2lvbih1YykpOwotCQlHRU1fQlVHX09OKGludGVsX3VjX3N1 cHBvcnRzX2h1Yyh1YykpOworCQlHRU1fQlVHX09OKGludGVsX3VjX3VzZXNfZ3VjKHVjKSk7CisJ CUdFTV9CVUdfT04oaW50ZWxfdWNfdXNlc19ndWNfc3VibWlzc2lvbih1YykpOworCQlHRU1fQlVH X09OKGludGVsX3VjX3VzZXNfaHVjKHVjKSk7CiAJCXJldHVybjsKIAl9CiAKQEAgLTI2NiwyMyAr MjY2LDIzIEBAIHZvaWQgaW50ZWxfdWNfZmV0Y2hfZmlybXdhcmVzKHN0cnVjdCBpbnRlbF91YyAq dWMpCiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUgPSB1Y190b19ndCh1YyktPmk5MTU7 CiAJaW50IGVycjsKIAotCWlmICghaW50ZWxfdWNfc3VwcG9ydHNfZ3VjKHVjKSkKKwlpZiAoIWlu dGVsX3VjX3VzZXNfZ3VjKHVjKSkKIAkJcmV0dXJuOwogCiAJZXJyID0gaW50ZWxfdWNfZndfZmV0 Y2goJnVjLT5ndWMuZncsIGk5MTUpOwogCWlmIChlcnIpCiAJCXJldHVybjsKIAotCWlmIChpbnRl bF91Y19zdXBwb3J0c19odWModWMpKQorCWlmIChpbnRlbF91Y191c2VzX2h1Yyh1YykpCiAJCWlu dGVsX3VjX2Z3X2ZldGNoKCZ1Yy0+aHVjLmZ3LCBpOTE1KTsKIH0KIAogdm9pZCBpbnRlbF91Y19j bGVhbnVwX2Zpcm13YXJlcyhzdHJ1Y3QgaW50ZWxfdWMgKnVjKQogewotCWlmICghaW50ZWxfdWNf c3VwcG9ydHNfZ3VjKHVjKSkKKwlpZiAoIWludGVsX3VjX3VzZXNfZ3VjKHVjKSkKIAkJcmV0dXJu OwogCi0JaWYgKGludGVsX3VjX3N1cHBvcnRzX2h1Yyh1YykpCisJaWYgKGludGVsX3VjX3VzZXNf aHVjKHVjKSkKIAkJaW50ZWxfdWNfZndfY2xlYW51cF9mZXRjaCgmdWMtPmh1Yy5mdyk7CiAKIAlp bnRlbF91Y19md19jbGVhbnVwX2ZldGNoKCZ1Yy0+Z3VjLmZ3KTsKQEAgLTI5NCw3ICsyOTQsNyBA QCBpbnQgaW50ZWxfdWNfaW5pdChzdHJ1Y3QgaW50ZWxfdWMgKnVjKQogCXN0cnVjdCBpbnRlbF9o dWMgKmh1YyA9ICZ1Yy0+aHVjOwogCWludCByZXQ7CiAKLQlpZiAoIWludGVsX3VjX3N1cHBvcnRz X2d1Yyh1YykpCisJaWYgKCFpbnRlbF91Y191c2VzX2d1Yyh1YykpCiAJCXJldHVybiAwOwogCiAJ LyogWFhYOiBHdUMgc3VibWlzc2lvbiBpcyB1bmF2YWlsYWJsZSBmb3Igbm93ICovCkBAIC0zMDQs NyArMzA0LDcgQEAgaW50IGludGVsX3VjX2luaXQoc3RydWN0IGludGVsX3VjICp1YykKIAlpZiAo cmV0KQogCQlyZXR1cm4gcmV0OwogCi0JaWYgKGludGVsX3VjX3N1cHBvcnRzX2h1Yyh1YykpIHsK KwlpZiAoaW50ZWxfdWNfdXNlc19odWModWMpKSB7CiAJCXJldCA9IGludGVsX2h1Y19pbml0KGh1 Yyk7CiAJCWlmIChyZXQpCiAJCQlnb3RvIG91dF9odWM7CkBAIC0zMjEsMTAgKzMyMSwxMCBAQCB2 b2lkIGludGVsX3VjX2Zpbmkoc3RydWN0IGludGVsX3VjICp1YykKIHsKIAlzdHJ1Y3QgaW50ZWxf Z3VjICpndWMgPSAmdWMtPmd1YzsKIAotCWlmICghaW50ZWxfdWNfc3VwcG9ydHNfZ3VjKHVjKSkK KwlpZiAoIWludGVsX3VjX3VzZXNfZ3VjKHVjKSkKIAkJcmV0dXJuOwogCi0JaWYgKGludGVsX3Vj X3N1cHBvcnRzX2h1Yyh1YykpCisJaWYgKGludGVsX3VjX3VzZXNfaHVjKHVjKSkKIAkJaW50ZWxf aHVjX2ZpbmkoJnVjLT5odWMpOwogCiAJaW50ZWxfZ3VjX2ZpbmkoZ3VjKTsKQEAgLTM2MCw3ICsz NjAsNyBAQCBzdGF0aWMgaW50IHVjX2luaXRfd29wY20oc3RydWN0IGludGVsX3VjICp1YykKIAlz dHJ1Y3QgaW50ZWxfdW5jb3JlICp1bmNvcmUgPSBndC0+dW5jb3JlOwogCXUzMiBiYXNlID0gaW50 ZWxfd29wY21fZ3VjX2Jhc2UoJmd0LT5pOTE1LT53b3BjbSk7CiAJdTMyIHNpemUgPSBpbnRlbF93 b3BjbV9ndWNfc2l6ZSgmZ3QtPmk5MTUtPndvcGNtKTsKLQl1MzIgaHVjX2FnZW50ID0gaW50ZWxf dWNfc3VwcG9ydHNfaHVjKHVjKSA/IEhVQ19MT0FESU5HX0FHRU5UX0dVQyA6IDA7CisJdTMyIGh1 Y19hZ2VudCA9IGludGVsX3VjX3VzZXNfaHVjKHVjKSA/IEhVQ19MT0FESU5HX0FHRU5UX0dVQyA6 IDA7CiAJdTMyIG1hc2s7CiAJaW50IGVycjsKIApAQCAtNDE3LDYgKzQxNyw5IEBAIGludCBpbnRl bF91Y19pbml0X2h3KHN0cnVjdCBpbnRlbF91YyAqdWMpCiAJaWYgKCFpbnRlbF91Y19zdXBwb3J0 c19ndWModWMpKQogCQlyZXR1cm4gMDsKIAorCWlmICghaW50ZWxfdWNfdXNlc19ndWModWMpKQor CQlyZXR1cm4gMDsKKwogCWlmICghaW50ZWxfdWNfZndfaXNfYXZhaWxhYmxlKCZndWMtPmZ3KSkg ewogCQlyZXQgPSBpbnRlbF91Y19md19zdGF0dXNfdG9fZXJyb3IoZ3VjLT5mdy5zdGF0dXMpOwog CQlnb3RvIGVycl9vdXQ7CkBAIC00NDQsNyArNDQ3LDcgQEAgaW50IGludGVsX3VjX2luaXRfaHco c3RydWN0IGludGVsX3VjICp1YykKIAkJaWYgKHJldCkKIAkJCWdvdG8gZXJyX291dDsKIAotCQlp ZiAoaW50ZWxfdWNfc3VwcG9ydHNfaHVjKHVjKSkgeworCQlpZiAoaW50ZWxfdWNfdXNlc19odWMo dWMpKSB7CiAJCQlyZXQgPSBpbnRlbF9odWNfZndfdXBsb2FkKGh1Yyk7CiAJCQlpZiAocmV0ICYm IGludGVsX3VjX2Z3X2lzX292ZXJyaWRkZW4oJmh1Yy0+ZncpKQogCQkJCWdvdG8gZXJyX291dDsK QEAgLTQ5MCw3ICs0OTMsNyBAQCBpbnQgaW50ZWxfdWNfaW5pdF9odyhzdHJ1Y3QgaW50ZWxfdWMg KnVjKQogCQkgInN1Ym1pc3Npb24iLAogCQkgZW5hYmxlZGRpc2FibGVkKGludGVsX3VjX3N1cHBv cnRzX2d1Y19zdWJtaXNzaW9uKHVjKSkpOwogCi0JaWYgKGludGVsX3VjX3N1cHBvcnRzX2h1Yyh1 YykpIHsKKwlpZiAoaW50ZWxfdWNfdXNlc19odWModWMpKSB7CiAJCWRldl9pbmZvKGk5MTUtPmRy bS5kZXYsICIlcyBmaXJtd2FyZSAlcyB2ZXJzaW9uICV1LiV1ICVzOiVzXG4iLAogCQkJIGludGVs X3VjX2Z3X3R5cGVfcmVwcihJTlRFTF9VQ19GV19UWVBFX0hVQyksCiAJCQkgaHVjLT5mdy5wYXRo LApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvdWMvaW50ZWxfdWMuaCBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2d0L3VjL2ludGVsX3VjLmgKaW5kZXggYmZiNmY5NzU3OGE1Li4x Yjk0MDRhNzVhYzAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3VjL2ludGVs X3VjLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvdWMvaW50ZWxfdWMuaApAQCAtMzks MTQgKzM5LDI5IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBpbnRlbF91Y19zdXBwb3J0c19ndWMoc3Ry dWN0IGludGVsX3VjICp1YykKIAlyZXR1cm4gaW50ZWxfZ3VjX2lzX3N1cHBvcnRlZCgmdWMtPmd1 Yyk7CiB9CiAKK3N0YXRpYyBpbmxpbmUgYm9vbCBpbnRlbF91Y191c2VzX2d1YyhzdHJ1Y3QgaW50 ZWxfdWMgKnVjKQoreworCXJldHVybiBpbnRlbF9ndWNfaXNfZW5hYmxlZCgmdWMtPmd1Yyk7Cit9 CisKIHN0YXRpYyBpbmxpbmUgYm9vbCBpbnRlbF91Y19zdXBwb3J0c19ndWNfc3VibWlzc2lvbihz dHJ1Y3QgaW50ZWxfdWMgKnVjKQogewogCXJldHVybiBpbnRlbF9ndWNfaXNfc3VibWlzc2lvbl9z dXBwb3J0ZWQoJnVjLT5ndWMpOwogfQogCitzdGF0aWMgaW5saW5lIGJvb2wgaW50ZWxfdWNfdXNl c19ndWNfc3VibWlzc2lvbihzdHJ1Y3QgaW50ZWxfdWMgKnVjKQoreworCXJldHVybiBpbnRlbF9n dWNfaXNfc3VibWlzc2lvbl9zdXBwb3J0ZWQoJnVjLT5ndWMpOworfQorCiBzdGF0aWMgaW5saW5l IGJvb2wgaW50ZWxfdWNfc3VwcG9ydHNfaHVjKHN0cnVjdCBpbnRlbF91YyAqdWMpCiB7Ci0JcmV0 dXJuIGludGVsX2h1Y19pc19zdXBwb3J0ZWQoJnVjLT5odWMpOworCXJldHVybiBpbnRlbF91Y19z dXBwb3J0c19ndWModWMpOworfQorCitzdGF0aWMgaW5saW5lIGJvb2wgaW50ZWxfdWNfdXNlc19o dWMoc3RydWN0IGludGVsX3VjICp1YykKK3sKKwlyZXR1cm4gaW50ZWxfaHVjX2lzX2VuYWJsZWQo JnVjLT5odWMpOwogfQogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2d0L3VjL2ludGVsX3VjX2Z3LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC91Yy9pbnRlbF91 Y19mdy5jCmluZGV4IGY0YTM0ZWE1NzlmZC4uODkwYWU2YjRhM2QwIDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9ndC91Yy9pbnRlbF91Y19mdy5jCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2d0L3VjL2ludGVsX3VjX2Z3LmMKQEAgLTIwNiw4ICsyMDYsOSBAQCB2b2lkIGludGVs X3VjX2Z3X2luaXRfZWFybHkoc3RydWN0IGludGVsX3VjX2Z3ICp1Y19mdywKIAkJX191Y19md191 c2VyX292ZXJyaWRlKHVjX2Z3KTsKIAl9CiAKLQlpbnRlbF91Y19md19jaGFuZ2Vfc3RhdHVzKHVj X2Z3LCB1Y19mdy0+cGF0aCAmJiAqdWNfZnctPnBhdGggPworCWludGVsX3VjX2Z3X2NoYW5nZV9z dGF0dXModWNfZncsIHVjX2Z3LT5wYXRoID8gKnVjX2Z3LT5wYXRoID8KIAkJCQkgIElOVEVMX1VD X0ZJUk1XQVJFX1NFTEVDVEVEIDoKKwkJCQkgIElOVEVMX1VDX0ZJUk1XQVJFX0RJU0FCTEVEIDoK IAkJCQkgIElOVEVMX1VDX0ZJUk1XQVJFX05PVF9TVVBQT1JURUQpOwogfQogCkBAIC0yNjYsNyAr MjY3LDcgQEAgaW50IGludGVsX3VjX2Z3X2ZldGNoKHN0cnVjdCBpbnRlbF91Y19mdyAqdWNfZncs IHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1KQogCWludCBlcnI7CiAKIAlHRU1fQlVHX09O KCFpOTE1LT53b3BjbS5zaXplKTsKLQlHRU1fQlVHX09OKCFpbnRlbF91Y19md19zdXBwb3J0ZWQo dWNfZncpKTsKKwlHRU1fQlVHX09OKCFpbnRlbF91Y19md19pc19lbmFibGVkKHVjX2Z3KSk7CiAK IAllcnIgPSBpOTE1X2luamVjdF9sb2FkX2Vycm9yKGk5MTUsIC1FTlhJTyk7CiAJaWYgKGVycikK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3VjL2ludGVsX3VjX2Z3LmggYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9ndC91Yy9pbnRlbF91Y19mdy5oCmluZGV4IDZmYTUwMjczYzJj ZS4uYmFjZWUwZDMxOGMwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC91Yy9p bnRlbF91Y19mdy5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3VjL2ludGVsX3VjX2Z3 LmgKQEAgLTE4LDkgKzE4LDMwIEBAIHN0cnVjdCBpbnRlbF9ndDsKIC8qIEhvbWUgb2YgR3VDLCBI dUMgYW5kIERNQyBmaXJtd2FyZXMgKi8KICNkZWZpbmUgSU5URUxfVUNfRklSTVdBUkVfVVJMICJo dHRwczovL2dpdC5rZXJuZWwub3JnL3B1Yi9zY20vbGludXgva2VybmVsL2dpdC9maXJtd2FyZS9s aW51eC1maXJtd2FyZS5naXQvdHJlZS9pOTE1IgogCisvKgorICogKy0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCisgKiB8ICAg UEhBU0UgICAgfCAgICAgICAgICAgRklSTVdBUkUgU1RBVFVTIFRSQU5TSVRJT05TICAgICAgICAg ICAgIHwKKyAqICs9PT09PT09PT09PT0rPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09KworICogfCAgICAgICAgICAgIHwgICAgICAgICAgICAgICBVTklO SVRJQUxJWkVEICAgICAgICAgICAgICAgICAgICAgICB8CisgKiArLS0tLS0tLS0tLS0tKy0gICAg ICAgICAgICAgICAvICAgfCAgIFwgICAgICAgICAgICAgICAgICAgICAgICAgLSsKKyAqIHwgICAg ICAgICAgICB8ICAgRElTQUJMRUQgPC0tLyAgICB8ICAgIFwtLT4gTk9UX1NVUFBPUlRFRCAgICAg ICAgfAorICogfCBpbml0X2Vhcmx5IHwgICAgICAgICAgICAgICAgICAgIFYgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB8CisgKiB8ICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgU0VM RUNURUQgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAqICstLS0tLS0tLS0tLS0rLSAgICAg ICAgICAgICAgIC8gICB8ICAgXCAgICAgICAgICAgICAgICAgICAgICAgICAtKworICogfCAgICAg ICAgICAgIHwgICAgTUlTU0lORyA8LS0vICAgIHwgICAgXC0tPiBFUlJPUiAgICAgICAgICAgICAg ICB8CisgKiB8ICAgZmV0Y2ggICAgfCAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHwKKyAqIHwgICAgICAgICAgICB8ICAgICAgICAvLS0tLS0tPiBBVkFJ TEFCTEUgPC0tLTwtLS0tLS0tLS0tLVwgICAgICAgfAorICogKy0tLS0tLS0tLS0tLSstICAgICAg IFwgICAgICAgICAvICAgIFwgICAgICAgIFwgICAgICAgICAgIFwgICAgIC0rCisgKiB8ICAgICAg ICAgICAgfCAgICAgICAgIEZBSUwgPC0tPCAgICAgIFwtLT4gVFJBTlNGRVJSRUQgICAgIFwgICAg IHwKKyAqIHwgICB1cGxvYWQgICB8ICAgICAgICAgICAgICAgICAgXCAgICAgICAgICAgLyAgIFwg ICAgICAgICAgLyAgICAgfAorICogfCAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgXC0t LS0tLS0tLS8gICAgIFwtLT4gUlVOTklORyAgICB8CisgKiArLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKKyAqLworCiBlbnVt IGludGVsX3VjX2Z3X3N0YXR1cyB7Ci0JSU5URUxfVUNfRklSTVdBUkVfTk9UX1NVUFBPUlRFRCA9 IC0xLCAvKiBubyB1YyBIVyBvciBkaXNhYmxlZCAqLworCUlOVEVMX1VDX0ZJUk1XQVJFX05PVF9T VVBQT1JURUQgPSAtMSwgLyogbm8gdWMgSFcgKi8KIAlJTlRFTF9VQ19GSVJNV0FSRV9VTklOSVRJ QUxJWkVEID0gMCwgLyogdXNlZCB0byBjYXRjaCBjaGVja3MgZG9uZSB0b28gZWFybHkgKi8KKwlJ TlRFTF9VQ19GSVJNV0FSRV9ESVNBQkxFRCwgLyogZGlzYWJsZWQgKi8KIAlJTlRFTF9VQ19GSVJN V0FSRV9TRUxFQ1RFRCwgLyogc2VsZWN0ZWQgdGhlIGJsb2Igd2Ugd2FudCB0byBsb2FkICovCiAJ SU5URUxfVUNfRklSTVdBUkVfTUlTU0lORywgLyogYmxvYiBub3QgZm91bmQgb24gdGhlIHN5c3Rl bSAqLwogCUlOVEVMX1VDX0ZJUk1XQVJFX0VSUk9SLCAvKiBpbnZhbGlkIGZvcm1hdCBvciB2ZXJz aW9uICovCkBAIC04NCw2ICsxMDUsOCBAQCBjb25zdCBjaGFyICppbnRlbF91Y19md19zdGF0dXNf cmVwcihlbnVtIGludGVsX3VjX2Z3X3N0YXR1cyBzdGF0dXMpCiAJCXJldHVybiAiTi9BIjsKIAlj YXNlIElOVEVMX1VDX0ZJUk1XQVJFX1VOSU5JVElBTElaRUQ6CiAJCXJldHVybiAiVU5JTklUSUFM SVpFRCI7CisJY2FzZSBJTlRFTF9VQ19GSVJNV0FSRV9ESVNBQkxFRDoKKwkJcmV0dXJuICJESVNB QkxFRCI7CiAJY2FzZSBJTlRFTF9VQ19GSVJNV0FSRV9TRUxFQ1RFRDoKIAkJcmV0dXJuICJTRUxF Q1RFRCI7CiAJY2FzZSBJTlRFTF9VQ19GSVJNV0FSRV9NSVNTSU5HOgpAQCAtMTA2LDcgKzEyOSwx MCBAQCBzdGF0aWMgaW5saW5lIGludCBpbnRlbF91Y19md19zdGF0dXNfdG9fZXJyb3IoZW51bSBp bnRlbF91Y19md19zdGF0dXMgc3RhdHVzKQogewogCXN3aXRjaCAoc3RhdHVzKSB7CiAJY2FzZSBJ TlRFTF9VQ19GSVJNV0FSRV9OT1RfU1VQUE9SVEVEOgorCQlyZXR1cm4gLUVOT0RFVjsKIAljYXNl IElOVEVMX1VDX0ZJUk1XQVJFX1VOSU5JVElBTElaRUQ6CisJCXJldHVybiAtRUFDQ0VTOworCWNh c2UgSU5URUxfVUNfRklSTVdBUkVfRElTQUJMRUQ6CiAJCXJldHVybiAtRVBFUk07CiAJY2FzZSBJ TlRFTF9VQ19GSVJNV0FSRV9NSVNTSU5HOgogCQlyZXR1cm4gLUVOT0VOVDsKQEAgLTE0Miw2ICsx NjgsMTYgQEAgX19pbnRlbF91Y19md19zdGF0dXMoc3RydWN0IGludGVsX3VjX2Z3ICp1Y19mdykK IAlyZXR1cm4gdWNfZnctPnN0YXR1czsKIH0KIAorc3RhdGljIGlubGluZSBib29sIGludGVsX3Vj X2Z3X2lzX3N1cHBvcnRlZChzdHJ1Y3QgaW50ZWxfdWNfZncgKnVjX2Z3KQoreworCXJldHVybiBf X2ludGVsX3VjX2Z3X3N0YXR1cyh1Y19mdykgIT0gSU5URUxfVUNfRklSTVdBUkVfTk9UX1NVUFBP UlRFRDsKK30KKworc3RhdGljIGlubGluZSBib29sIGludGVsX3VjX2Z3X2lzX2VuYWJsZWQoc3Ry dWN0IGludGVsX3VjX2Z3ICp1Y19mdykKK3sKKwlyZXR1cm4gX19pbnRlbF91Y19md19zdGF0dXMo dWNfZncpID4gSU5URUxfVUNfRklSTVdBUkVfRElTQUJMRUQ7Cit9CisKIHN0YXRpYyBpbmxpbmUg Ym9vbCBpbnRlbF91Y19md19pc19hdmFpbGFibGUoc3RydWN0IGludGVsX3VjX2Z3ICp1Y19mdykK IHsKIAlyZXR1cm4gX19pbnRlbF91Y19md19zdGF0dXModWNfZncpID49IElOVEVMX1VDX0ZJUk1X QVJFX0FWQUlMQUJMRTsKQEAgLTE1NywxMSArMTkzLDYgQEAgc3RhdGljIGlubGluZSBib29sIGlu dGVsX3VjX2Z3X2lzX3J1bm5pbmcoc3RydWN0IGludGVsX3VjX2Z3ICp1Y19mdykKIAlyZXR1cm4g X19pbnRlbF91Y19md19zdGF0dXModWNfZncpID09IElOVEVMX1VDX0ZJUk1XQVJFX1JVTk5JTkc7 CiB9CiAKLXN0YXRpYyBpbmxpbmUgYm9vbCBpbnRlbF91Y19md19zdXBwb3J0ZWQoc3RydWN0IGlu dGVsX3VjX2Z3ICp1Y19mdykKLXsKLQlyZXR1cm4gX19pbnRlbF91Y19md19zdGF0dXModWNfZncp ICE9IElOVEVMX1VDX0ZJUk1XQVJFX05PVF9TVVBQT1JURUQ7Ci19Ci0KIHN0YXRpYyBpbmxpbmUg Ym9vbCBpbnRlbF91Y19md19pc19vdmVycmlkZGVuKGNvbnN0IHN0cnVjdCBpbnRlbF91Y19mdyAq dWNfZncpCiB7CiAJcmV0dXJuIHVjX2Z3LT51c2VyX292ZXJyaWRkZW47CmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9kcnYuaAppbmRleCAwNTI3ZWRlNmUwZjIuLjUxNGE2MzE5MGNjMSAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2Rydi5oCkBAIC0yMjE0LDggKzIyMTQsOCBAQCBJU19TVUJQTEFURk9STShjb25zdCBzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwKICNkZWZpbmUgSEFTX0dUX1VDKGRldl9wcml2KQko SU5URUxfSU5GTyhkZXZfcHJpdiktPmhhc19ndF91YykKIAogLyogSGF2aW5nIEd1QyBpcyBub3Qg dGhlIHNhbWUgYXMgdXNpbmcgR3VDICovCi0jZGVmaW5lIFVTRVNfR1VDKGRldl9wcml2KQkJaW50 ZWxfdWNfc3VwcG9ydHNfZ3VjKCYoZGV2X3ByaXYpLT5ndC51YykKLSNkZWZpbmUgVVNFU19HVUNf U1VCTUlTU0lPTihkZXZfcHJpdikJaW50ZWxfdWNfc3VwcG9ydHNfZ3VjX3N1Ym1pc3Npb24oJihk ZXZfcHJpdiktPmd0LnVjKQorI2RlZmluZSBVU0VTX0dVQyhkZXZfcHJpdikJCWludGVsX3VjX3Vz ZXNfZ3VjKCYoZGV2X3ByaXYpLT5ndC51YykKKyNkZWZpbmUgVVNFU19HVUNfU1VCTUlTU0lPTihk ZXZfcHJpdikJaW50ZWxfdWNfdXNlc19ndWNfc3VibWlzc2lvbigmKGRldl9wcml2KS0+Z3QudWMp CiAKICNkZWZpbmUgSEFTX1BPT0xFRF9FVShkZXZfcHJpdikJKElOVEVMX0lORk8oZGV2X3ByaXYp LT5oYXNfcG9vbGVkX2V1KQogCi0tIAoyLjE5LjIKCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxp c3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2ludGVsLWdmeA==