From mboxrd@z Thu Jan 1 00:00:00 1970 From: Michal Wajdeczko Subject: [PATCH v3] drm/i915/uc: Add explicit DISABLED state for firmware Date: Fri, 16 Aug 2019 17:51:30 +0000 Message-ID: <20190816175130.28624-1-michal.wajdeczko@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 908726E34C for ; Fri, 16 Aug 2019 17:51:38 +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 SSkKdjM6IHVzZSBwcm9wZXIgY2hlY2sgdG8gYXZvaWQgcHJvYmUgZmFpbHVyZSAoQ0kpCgpTaWdu ZWQtb2ZmLWJ5OiBNaWNoYWwgV2FqZGVjemtvIDxtaWNoYWwud2FqZGVjemtvQGludGVsLmNvbT4K Q2M6IERhbmllbGUgQ2VyYW9sbyBTcHVyaW8gPGRhbmllbGUuY2VyYW9sb3NwdXJpb0BpbnRlbC5j b20+CkNjOiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KLS0tCiBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9ndC91Yy9pbnRlbF9ndWMuaCAgICB8ICA3ICsrKystCiBkcml2ZXJz L2dwdS9kcm0vaTkxNS9ndC91Yy9pbnRlbF9odWMuaCAgICB8ICA3ICsrKystCiBkcml2ZXJzL2dw dS9kcm0vaTkxNS9ndC91Yy9pbnRlbF9odWNfZncuYyB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0v aTkxNS9ndC91Yy9pbnRlbF91Yy5jICAgICB8IDM3ICsrKysrKysrKysrKy0tLS0tLS0tLS0tCiBk cml2ZXJzL2dwdS9kcm0vaTkxNS9ndC91Yy9pbnRlbF91Yy5oICAgICB8IDE3ICsrKysrKysrKyst CiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC91Yy9pbnRlbF91Y19mdy5jICB8ICA1ICstLQogZHJp dmVycy9ncHUvZHJtL2k5MTUvZ3QvdWMvaW50ZWxfdWNfZncuaCAgfCAyMyArKysrKysrKysrLS0t LQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCAgICAgICAgICAgfCAgNCArLS0KIDgg ZmlsZXMgY2hhbmdlZCwgNzEgaW5zZXJ0aW9ucygrKSwgMzEgZGVsZXRpb25zKC0pCgpkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvdWMvaW50ZWxfZ3VjLmggYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9ndC91Yy9pbnRlbF9ndWMuaAppbmRleCA0OTk5ZGI5NjU2ODUuLjJiMmYwNDZk M2NjMyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvdWMvaW50ZWxfZ3VjLmgK KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvdWMvaW50ZWxfZ3VjLmgKQEAgLTE1NCw3ICsx NTQsMTIgQEAgc3RydWN0IGk5MTVfdm1hICppbnRlbF9ndWNfYWxsb2NhdGVfdm1hKHN0cnVjdCBp bnRlbF9ndWMgKmd1YywgdTMyIHNpemUpOwogCiBzdGF0aWMgaW5saW5lIGJvb2wgaW50ZWxfZ3Vj X2lzX3N1cHBvcnRlZChzdHJ1Y3QgaW50ZWxfZ3VjICpndWMpCiB7Ci0JcmV0dXJuIGludGVsX3Vj X2Z3X3N1cHBvcnRlZCgmZ3VjLT5mdyk7CisJcmV0dXJuIGludGVsX3VjX2Z3X2lzX3N1cHBvcnRl ZCgmZ3VjLT5mdyk7Cit9CisKK3N0YXRpYyBpbmxpbmUgYm9vbCBpbnRlbF9ndWNfaXNfZW5hYmxl ZChzdHJ1Y3QgaW50ZWxfZ3VjICpndWMpCit7CisJcmV0dXJuIGludGVsX3VjX2Z3X2lzX2VuYWJs ZWQoJmd1Yy0+ZncpOwogfQogCiBzdGF0aWMgaW5saW5lIGJvb2wgaW50ZWxfZ3VjX2lzX3J1bm5p bmcoc3RydWN0IGludGVsX2d1YyAqZ3VjKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvZ3QvdWMvaW50ZWxfaHVjLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC91Yy9pbnRlbF9o dWMuaAppbmRleCBmOGE0NTU3YzhkNmQuLjY0NGMwNTlmZTAxZCAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvZ3QvdWMvaW50ZWxfaHVjLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvZ3QvdWMvaW50ZWxfaHVjLmgKQEAgLTM4LDcgKzM4LDEyIEBAIHN0YXRpYyBpbmxpbmUgaW50 IGludGVsX2h1Y19zYW5pdGl6ZShzdHJ1Y3QgaW50ZWxfaHVjICpodWMpCiAKIHN0YXRpYyBpbmxp bmUgYm9vbCBpbnRlbF9odWNfaXNfc3VwcG9ydGVkKHN0cnVjdCBpbnRlbF9odWMgKmh1YykKIHsK LQlyZXR1cm4gaW50ZWxfdWNfZndfc3VwcG9ydGVkKCZodWMtPmZ3KTsKKwlyZXR1cm4gaW50ZWxf dWNfZndfaXNfc3VwcG9ydGVkKCZodWMtPmZ3KTsKK30KKworc3RhdGljIGlubGluZSBib29sIGlu dGVsX2h1Y19pc19lbmFibGVkKHN0cnVjdCBpbnRlbF9odWMgKmh1YykKK3sKKwlyZXR1cm4gaW50 ZWxfdWNfZndfaXNfZW5hYmxlZCgmaHVjLT5mdyk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgYm9vbCBp bnRlbF9odWNfaXNfYXV0aGVudGljYXRlZChzdHJ1Y3QgaW50ZWxfaHVjICpodWMpCmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC91Yy9pbnRlbF9odWNfZncuYyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2d0L3VjL2ludGVsX2h1Y19mdy5jCmluZGV4IDk2ZmVjYTk5MzIyYS4uNzQ2 MDI0ODdlZDY3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC91Yy9pbnRlbF9o dWNfZncuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC91Yy9pbnRlbF9odWNfZncuYwpA QCAtMzUsNyArMzUsNyBAQCB2b2lkIGludGVsX2h1Y19md19pbml0X2Vhcmx5KHN0cnVjdCBpbnRl bF9odWMgKmh1YykKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSA9IGd0LT5pOTE1Owog CiAJaW50ZWxfdWNfZndfaW5pdF9lYXJseSgmaHVjLT5mdywgSU5URUxfVUNfRldfVFlQRV9IVUMs Ci0JCQkgICAgICAgaW50ZWxfdWNfc3VwcG9ydHNfZ3VjKHVjKSwKKwkJCSAgICAgICBpbnRlbF91 Y191c2VzX2d1Yyh1YyksCiAJCQkgICAgICAgSU5URUxfSU5GTyhpOTE1KS0+cGxhdGZvcm0sIElO VEVMX1JFVklEKGk5MTUpKTsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv Z3QvdWMvaW50ZWxfdWMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3VjL2ludGVsX3VjLmMK aW5kZXggMGRjMmIwY2Y0NjA0Li40NDljNDMyZGQ3NjggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2d0L3VjL2ludGVsX3VjLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Qv dWMvaW50ZWxfdWMuYwpAQCAtNDUsMTcgKzQ1LDE3IEBAIHN0YXRpYyB2b2lkIF9fY29uZmlybV9v cHRpb25zKHN0cnVjdCBpbnRlbF91YyAqdWMpCiAJRFJNX0RFVl9ERUJVR19EUklWRVIoaTkxNS0+ ZHJtLmRldiwKIAkJCSAgICAgImVuYWJsZV9ndWM9JWQgKGd1YzolcyBzdWJtaXNzaW9uOiVzIGh1 YzolcylcbiIsCiAJCQkgICAgIGk5MTVfbW9kcGFyYW1zLmVuYWJsZV9ndWMsCi0JCQkgICAgIHll c25vKGludGVsX3VjX3N1cHBvcnRzX2d1Yyh1YykpLAotCQkJICAgICB5ZXNubyhpbnRlbF91Y19z dXBwb3J0c19ndWNfc3VibWlzc2lvbih1YykpLAotCQkJICAgICB5ZXNubyhpbnRlbF91Y19zdXBw b3J0c19odWModWMpKSk7CisJCQkgICAgIHllc25vKGludGVsX3VjX3VzZXNfZ3VjKHVjKSksCisJ CQkgICAgIHllc25vKGludGVsX3VjX3VzZXNfZ3VjX3N1Ym1pc3Npb24odWMpKSwKKwkJCSAgICAg eWVzbm8oaW50ZWxfdWNfdXNlc19odWModWMpKSk7CiAKIAlpZiAoaTkxNV9tb2RwYXJhbXMuZW5h YmxlX2d1YyA9PSAtMSkKIAkJcmV0dXJuOwogCiAJaWYgKGk5MTVfbW9kcGFyYW1zLmVuYWJsZV9n dWMgPT0gMCkgewotCQlHRU1fQlVHX09OKGludGVsX3VjX3N1cHBvcnRzX2d1Yyh1YykpOwotCQlH RU1fQlVHX09OKGludGVsX3VjX3N1cHBvcnRzX2d1Y19zdWJtaXNzaW9uKHVjKSk7Ci0JCUdFTV9C VUdfT04oaW50ZWxfdWNfc3VwcG9ydHNfaHVjKHVjKSk7CisJCUdFTV9CVUdfT04oaW50ZWxfdWNf dXNlc19ndWModWMpKTsKKwkJR0VNX0JVR19PTihpbnRlbF91Y191c2VzX2d1Y19zdWJtaXNzaW9u KHVjKSk7CisJCUdFTV9CVUdfT04oaW50ZWxfdWNfdXNlc19odWModWMpKTsKIAkJcmV0dXJuOwog CX0KIApAQCAtMjY2LDIzICsyNjYsMjMgQEAgdm9pZCBpbnRlbF91Y19mZXRjaF9maXJtd2FyZXMo c3RydWN0IGludGVsX3VjICp1YykKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSA9IHVj X3RvX2d0KHVjKS0+aTkxNTsKIAlpbnQgZXJyOwogCi0JaWYgKCFpbnRlbF91Y19zdXBwb3J0c19n dWModWMpKQorCWlmICghaW50ZWxfdWNfdXNlc19ndWModWMpKQogCQlyZXR1cm47CiAKIAllcnIg PSBpbnRlbF91Y19md19mZXRjaCgmdWMtPmd1Yy5mdywgaTkxNSk7CiAJaWYgKGVycikKIAkJcmV0 dXJuOwogCi0JaWYgKGludGVsX3VjX3N1cHBvcnRzX2h1Yyh1YykpCisJaWYgKGludGVsX3VjX3Vz ZXNfaHVjKHVjKSkKIAkJaW50ZWxfdWNfZndfZmV0Y2goJnVjLT5odWMuZncsIGk5MTUpOwogfQog CiB2b2lkIGludGVsX3VjX2NsZWFudXBfZmlybXdhcmVzKHN0cnVjdCBpbnRlbF91YyAqdWMpCiB7 Ci0JaWYgKCFpbnRlbF91Y19zdXBwb3J0c19ndWModWMpKQorCWlmICghaW50ZWxfdWNfdXNlc19n dWModWMpKQogCQlyZXR1cm47CiAKLQlpZiAoaW50ZWxfdWNfc3VwcG9ydHNfaHVjKHVjKSkKKwlp ZiAoaW50ZWxfdWNfdXNlc19odWModWMpKQogCQlpbnRlbF91Y19md19jbGVhbnVwX2ZldGNoKCZ1 Yy0+aHVjLmZ3KTsKIAogCWludGVsX3VjX2Z3X2NsZWFudXBfZmV0Y2goJnVjLT5ndWMuZncpOwpA QCAtMjk0LDcgKzI5NCw3IEBAIGludCBpbnRlbF91Y19pbml0KHN0cnVjdCBpbnRlbF91YyAqdWMp CiAJc3RydWN0IGludGVsX2h1YyAqaHVjID0gJnVjLT5odWM7CiAJaW50IHJldDsKIAotCWlmICgh aW50ZWxfdWNfc3VwcG9ydHNfZ3VjKHVjKSkKKwlpZiAoIWludGVsX3VjX3VzZXNfZ3VjKHVjKSkK IAkJcmV0dXJuIDA7CiAKIAkvKiBYWFg6IEd1QyBzdWJtaXNzaW9uIGlzIHVuYXZhaWxhYmxlIGZv ciBub3cgKi8KQEAgLTMwNCw3ICszMDQsNyBAQCBpbnQgaW50ZWxfdWNfaW5pdChzdHJ1Y3QgaW50 ZWxfdWMgKnVjKQogCWlmIChyZXQpCiAJCXJldHVybiByZXQ7CiAKLQlpZiAoaW50ZWxfdWNfc3Vw cG9ydHNfaHVjKHVjKSkgeworCWlmIChpbnRlbF91Y191c2VzX2h1Yyh1YykpIHsKIAkJcmV0ID0g aW50ZWxfaHVjX2luaXQoaHVjKTsKIAkJaWYgKHJldCkKIAkJCWdvdG8gb3V0X2h1YzsKQEAgLTMy MSwxMCArMzIxLDEwIEBAIHZvaWQgaW50ZWxfdWNfZmluaShzdHJ1Y3QgaW50ZWxfdWMgKnVjKQog ewogCXN0cnVjdCBpbnRlbF9ndWMgKmd1YyA9ICZ1Yy0+Z3VjOwogCi0JaWYgKCFpbnRlbF91Y19z dXBwb3J0c19ndWModWMpKQorCWlmICghaW50ZWxfdWNfdXNlc19ndWModWMpKQogCQlyZXR1cm47 CiAKLQlpZiAoaW50ZWxfdWNfc3VwcG9ydHNfaHVjKHVjKSkKKwlpZiAoaW50ZWxfdWNfdXNlc19o dWModWMpKQogCQlpbnRlbF9odWNfZmluaSgmdWMtPmh1Yyk7CiAKIAlpbnRlbF9ndWNfZmluaShn dWMpOwpAQCAtMzYwLDcgKzM2MCw3IEBAIHN0YXRpYyBpbnQgdWNfaW5pdF93b3BjbShzdHJ1Y3Qg aW50ZWxfdWMgKnVjKQogCXN0cnVjdCBpbnRlbF91bmNvcmUgKnVuY29yZSA9IGd0LT51bmNvcmU7 CiAJdTMyIGJhc2UgPSBpbnRlbF93b3BjbV9ndWNfYmFzZSgmZ3QtPmk5MTUtPndvcGNtKTsKIAl1 MzIgc2l6ZSA9IGludGVsX3dvcGNtX2d1Y19zaXplKCZndC0+aTkxNS0+d29wY20pOwotCXUzMiBo dWNfYWdlbnQgPSBpbnRlbF91Y19zdXBwb3J0c19odWModWMpID8gSFVDX0xPQURJTkdfQUdFTlRf R1VDIDogMDsKKwl1MzIgaHVjX2FnZW50ID0gaW50ZWxfdWNfdXNlc19odWModWMpID8gSFVDX0xP QURJTkdfQUdFTlRfR1VDIDogMDsKIAl1MzIgbWFzazsKIAlpbnQgZXJyOwogCkBAIC00MTcsNiAr NDE3LDkgQEAgaW50IGludGVsX3VjX2luaXRfaHcoc3RydWN0IGludGVsX3VjICp1YykKIAlpZiAo IWludGVsX3VjX3N1cHBvcnRzX2d1Yyh1YykpCiAJCXJldHVybiAwOwogCisJaWYgKCFpbnRlbF91 Y191c2VzX2d1Yyh1YykpCisJCXJldHVybiAwOworCiAJaWYgKCFpbnRlbF91Y19md19pc19hdmFp bGFibGUoJmd1Yy0+ZncpKSB7CiAJCXJldCA9IGludGVsX3VjX2Z3X3N0YXR1c190b19lcnJvcihn dWMtPmZ3LnN0YXR1cyk7CiAJCWdvdG8gZXJyX291dDsKQEAgLTQ0NCw3ICs0NDcsNyBAQCBpbnQg aW50ZWxfdWNfaW5pdF9odyhzdHJ1Y3QgaW50ZWxfdWMgKnVjKQogCQlpZiAocmV0KQogCQkJZ290 byBlcnJfb3V0OwogCi0JCWlmIChpbnRlbF91Y19zdXBwb3J0c19odWModWMpKSB7CisJCWlmIChp bnRlbF91Y191c2VzX2h1Yyh1YykpIHsKIAkJCXJldCA9IGludGVsX2h1Y19md191cGxvYWQoaHVj KTsKIAkJCWlmIChyZXQgJiYgaW50ZWxfdWNfZndfaXNfb3ZlcnJpZGRlbigmaHVjLT5mdykpCiAJ CQkJZ290byBlcnJfb3V0OwpAQCAtNDkwLDcgKzQ5Myw3IEBAIGludCBpbnRlbF91Y19pbml0X2h3 KHN0cnVjdCBpbnRlbF91YyAqdWMpCiAJCSAic3VibWlzc2lvbiIsCiAJCSBlbmFibGVkZGlzYWJs ZWQoaW50ZWxfdWNfc3VwcG9ydHNfZ3VjX3N1Ym1pc3Npb24odWMpKSk7CiAKLQlpZiAoaW50ZWxf dWNfc3VwcG9ydHNfaHVjKHVjKSkgeworCWlmIChpbnRlbF91Y191c2VzX2h1Yyh1YykpIHsKIAkJ ZGV2X2luZm8oaTkxNS0+ZHJtLmRldiwgIiVzIGZpcm13YXJlICVzIHZlcnNpb24gJXUuJXUgJXM6 JXNcbiIsCiAJCQkgaW50ZWxfdWNfZndfdHlwZV9yZXByKElOVEVMX1VDX0ZXX1RZUEVfSFVDKSwK IAkJCSBodWMtPmZ3LnBhdGgsCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC91 Yy9pbnRlbF91Yy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvdWMvaW50ZWxfdWMuaAppbmRl eCBiZmI2Zjk3NTc4YTUuLjFiOTQwNGE3NWFjMCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvZ3QvdWMvaW50ZWxfdWMuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC91Yy9p bnRlbF91Yy5oCkBAIC0zOSwxNCArMzksMjkgQEAgc3RhdGljIGlubGluZSBib29sIGludGVsX3Vj X3N1cHBvcnRzX2d1YyhzdHJ1Y3QgaW50ZWxfdWMgKnVjKQogCXJldHVybiBpbnRlbF9ndWNfaXNf c3VwcG9ydGVkKCZ1Yy0+Z3VjKTsKIH0KIAorc3RhdGljIGlubGluZSBib29sIGludGVsX3VjX3Vz ZXNfZ3VjKHN0cnVjdCBpbnRlbF91YyAqdWMpCit7CisJcmV0dXJuIGludGVsX2d1Y19pc19lbmFi bGVkKCZ1Yy0+Z3VjKTsKK30KKwogc3RhdGljIGlubGluZSBib29sIGludGVsX3VjX3N1cHBvcnRz X2d1Y19zdWJtaXNzaW9uKHN0cnVjdCBpbnRlbF91YyAqdWMpCiB7CiAJcmV0dXJuIGludGVsX2d1 Y19pc19zdWJtaXNzaW9uX3N1cHBvcnRlZCgmdWMtPmd1Yyk7CiB9CiAKK3N0YXRpYyBpbmxpbmUg Ym9vbCBpbnRlbF91Y191c2VzX2d1Y19zdWJtaXNzaW9uKHN0cnVjdCBpbnRlbF91YyAqdWMpCit7 CisJcmV0dXJuIGludGVsX2d1Y19pc19zdWJtaXNzaW9uX3N1cHBvcnRlZCgmdWMtPmd1Yyk7Cit9 CisKIHN0YXRpYyBpbmxpbmUgYm9vbCBpbnRlbF91Y19zdXBwb3J0c19odWMoc3RydWN0IGludGVs X3VjICp1YykKIHsKLQlyZXR1cm4gaW50ZWxfaHVjX2lzX3N1cHBvcnRlZCgmdWMtPmh1Yyk7CisJ cmV0dXJuIGludGVsX3VjX3N1cHBvcnRzX2d1Yyh1Yyk7Cit9CisKK3N0YXRpYyBpbmxpbmUgYm9v bCBpbnRlbF91Y191c2VzX2h1YyhzdHJ1Y3QgaW50ZWxfdWMgKnVjKQoreworCXJldHVybiBpbnRl bF9odWNfaXNfZW5hYmxlZCgmdWMtPmh1Yyk7CiB9CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvZ3QvdWMvaW50ZWxfdWNfZncuYyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2d0L3VjL2ludGVsX3VjX2Z3LmMKaW5kZXggZjRhMzRlYTU3OWZkLi44OTBhZTZiNGEzZDAg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3VjL2ludGVsX3VjX2Z3LmMKKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvdWMvaW50ZWxfdWNfZncuYwpAQCAtMjA2LDggKzIw Niw5IEBAIHZvaWQgaW50ZWxfdWNfZndfaW5pdF9lYXJseShzdHJ1Y3QgaW50ZWxfdWNfZncgKnVj X2Z3LAogCQlfX3VjX2Z3X3VzZXJfb3ZlcnJpZGUodWNfZncpOwogCX0KIAotCWludGVsX3VjX2Z3 X2NoYW5nZV9zdGF0dXModWNfZncsIHVjX2Z3LT5wYXRoICYmICp1Y19mdy0+cGF0aCA/CisJaW50 ZWxfdWNfZndfY2hhbmdlX3N0YXR1cyh1Y19mdywgdWNfZnctPnBhdGggPyAqdWNfZnctPnBhdGgg PwogCQkJCSAgSU5URUxfVUNfRklSTVdBUkVfU0VMRUNURUQgOgorCQkJCSAgSU5URUxfVUNfRklS TVdBUkVfRElTQUJMRUQgOgogCQkJCSAgSU5URUxfVUNfRklSTVdBUkVfTk9UX1NVUFBPUlRFRCk7 CiB9CiAKQEAgLTI2Niw3ICsyNjcsNyBAQCBpbnQgaW50ZWxfdWNfZndfZmV0Y2goc3RydWN0IGlu dGVsX3VjX2Z3ICp1Y19mdywgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpCiAJaW50IGVy cjsKIAogCUdFTV9CVUdfT04oIWk5MTUtPndvcGNtLnNpemUpOwotCUdFTV9CVUdfT04oIWludGVs X3VjX2Z3X3N1cHBvcnRlZCh1Y19mdykpOworCUdFTV9CVUdfT04oIWludGVsX3VjX2Z3X2lzX2Vu YWJsZWQodWNfZncpKTsKIAogCWVyciA9IGk5MTVfaW5qZWN0X2xvYWRfZXJyb3IoaTkxNSwgLUVO WElPKTsKIAlpZiAoZXJyKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvdWMv aW50ZWxfdWNfZncuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3VjL2ludGVsX3VjX2Z3LmgK aW5kZXggNmZhNTAyNzNjMmNlLi40ODBmMmU5NjAyNjkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2d0L3VjL2ludGVsX3VjX2Z3LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv Z3QvdWMvaW50ZWxfdWNfZncuaApAQCAtMTksOCArMTksOSBAQCBzdHJ1Y3QgaW50ZWxfZ3Q7CiAj ZGVmaW5lIElOVEVMX1VDX0ZJUk1XQVJFX1VSTCAiaHR0cHM6Ly9naXQua2VybmVsLm9yZy9wdWIv c2NtL2xpbnV4L2tlcm5lbC9naXQvZmlybXdhcmUvbGludXgtZmlybXdhcmUuZ2l0L3RyZWUvaTkx NSIKIAogZW51bSBpbnRlbF91Y19md19zdGF0dXMgewotCUlOVEVMX1VDX0ZJUk1XQVJFX05PVF9T VVBQT1JURUQgPSAtMSwgLyogbm8gdWMgSFcgb3IgZGlzYWJsZWQgKi8KKwlJTlRFTF9VQ19GSVJN V0FSRV9OT1RfU1VQUE9SVEVEID0gLTEsIC8qIG5vIHVjIEhXICovCiAJSU5URUxfVUNfRklSTVdB UkVfVU5JTklUSUFMSVpFRCA9IDAsIC8qIHVzZWQgdG8gY2F0Y2ggY2hlY2tzIGRvbmUgdG9vIGVh cmx5ICovCisJSU5URUxfVUNfRklSTVdBUkVfRElTQUJMRUQsIC8qIGRpc2FibGVkICovCiAJSU5U RUxfVUNfRklSTVdBUkVfU0VMRUNURUQsIC8qIHNlbGVjdGVkIHRoZSBibG9iIHdlIHdhbnQgdG8g bG9hZCAqLwogCUlOVEVMX1VDX0ZJUk1XQVJFX01JU1NJTkcsIC8qIGJsb2Igbm90IGZvdW5kIG9u IHRoZSBzeXN0ZW0gKi8KIAlJTlRFTF9VQ19GSVJNV0FSRV9FUlJPUiwgLyogaW52YWxpZCBmb3Jt YXQgb3IgdmVyc2lvbiAqLwpAQCAtODQsNiArODUsOCBAQCBjb25zdCBjaGFyICppbnRlbF91Y19m d19zdGF0dXNfcmVwcihlbnVtIGludGVsX3VjX2Z3X3N0YXR1cyBzdGF0dXMpCiAJCXJldHVybiAi Ti9BIjsKIAljYXNlIElOVEVMX1VDX0ZJUk1XQVJFX1VOSU5JVElBTElaRUQ6CiAJCXJldHVybiAi VU5JTklUSUFMSVpFRCI7CisJY2FzZSBJTlRFTF9VQ19GSVJNV0FSRV9ESVNBQkxFRDoKKwkJcmV0 dXJuICJESVNBQkxFRCI7CiAJY2FzZSBJTlRFTF9VQ19GSVJNV0FSRV9TRUxFQ1RFRDoKIAkJcmV0 dXJuICJTRUxFQ1RFRCI7CiAJY2FzZSBJTlRFTF9VQ19GSVJNV0FSRV9NSVNTSU5HOgpAQCAtMTA2 LDcgKzEwOSwxMCBAQCBzdGF0aWMgaW5saW5lIGludCBpbnRlbF91Y19md19zdGF0dXNfdG9fZXJy b3IoZW51bSBpbnRlbF91Y19md19zdGF0dXMgc3RhdHVzKQogewogCXN3aXRjaCAoc3RhdHVzKSB7 CiAJY2FzZSBJTlRFTF9VQ19GSVJNV0FSRV9OT1RfU1VQUE9SVEVEOgorCQlyZXR1cm4gLUVOT0RF VjsKIAljYXNlIElOVEVMX1VDX0ZJUk1XQVJFX1VOSU5JVElBTElaRUQ6CisJCXJldHVybiAtRUFD Q0VTOworCWNhc2UgSU5URUxfVUNfRklSTVdBUkVfRElTQUJMRUQ6CiAJCXJldHVybiAtRVBFUk07 CiAJY2FzZSBJTlRFTF9VQ19GSVJNV0FSRV9NSVNTSU5HOgogCQlyZXR1cm4gLUVOT0VOVDsKQEAg LTE0Miw2ICsxNDgsMTYgQEAgX19pbnRlbF91Y19md19zdGF0dXMoc3RydWN0IGludGVsX3VjX2Z3 ICp1Y19mdykKIAlyZXR1cm4gdWNfZnctPnN0YXR1czsKIH0KIAorc3RhdGljIGlubGluZSBib29s IGludGVsX3VjX2Z3X2lzX3N1cHBvcnRlZChzdHJ1Y3QgaW50ZWxfdWNfZncgKnVjX2Z3KQorewor CXJldHVybiBfX2ludGVsX3VjX2Z3X3N0YXR1cyh1Y19mdykgIT0gSU5URUxfVUNfRklSTVdBUkVf Tk9UX1NVUFBPUlRFRDsKK30KKworc3RhdGljIGlubGluZSBib29sIGludGVsX3VjX2Z3X2lzX2Vu YWJsZWQoc3RydWN0IGludGVsX3VjX2Z3ICp1Y19mdykKK3sKKwlyZXR1cm4gX19pbnRlbF91Y19m d19zdGF0dXModWNfZncpID4gSU5URUxfVUNfRklSTVdBUkVfRElTQUJMRUQ7Cit9CisKIHN0YXRp YyBpbmxpbmUgYm9vbCBpbnRlbF91Y19md19pc19hdmFpbGFibGUoc3RydWN0IGludGVsX3VjX2Z3 ICp1Y19mdykKIHsKIAlyZXR1cm4gX19pbnRlbF91Y19md19zdGF0dXModWNfZncpID49IElOVEVM X1VDX0ZJUk1XQVJFX0FWQUlMQUJMRTsKQEAgLTE1NywxMSArMTczLDYgQEAgc3RhdGljIGlubGlu ZSBib29sIGludGVsX3VjX2Z3X2lzX3J1bm5pbmcoc3RydWN0IGludGVsX3VjX2Z3ICp1Y19mdykK IAlyZXR1cm4gX19pbnRlbF91Y19md19zdGF0dXModWNfZncpID09IElOVEVMX1VDX0ZJUk1XQVJF X1JVTk5JTkc7CiB9CiAKLXN0YXRpYyBpbmxpbmUgYm9vbCBpbnRlbF91Y19md19zdXBwb3J0ZWQo c3RydWN0IGludGVsX3VjX2Z3ICp1Y19mdykKLXsKLQlyZXR1cm4gX19pbnRlbF91Y19md19zdGF0 dXModWNfZncpICE9IElOVEVMX1VDX0ZJUk1XQVJFX05PVF9TVVBQT1JURUQ7Ci19Ci0KIHN0YXRp YyBpbmxpbmUgYm9vbCBpbnRlbF91Y19md19pc19vdmVycmlkZGVuKGNvbnN0IHN0cnVjdCBpbnRl bF91Y19mdyAqdWNfZncpCiB7CiAJcmV0dXJuIHVjX2Z3LT51c2VyX292ZXJyaWRkZW47CmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9kcnYuaAppbmRleCAwNTI3ZWRlNmUwZjIuLjUxNGE2MzE5MGNjMSAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAorKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2Rydi5oCkBAIC0yMjE0LDggKzIyMTQsOCBAQCBJU19TVUJQTEFURk9STShj b25zdCBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwKICNkZWZpbmUgSEFTX0dUX1VDKGRl dl9wcml2KQkoSU5URUxfSU5GTyhkZXZfcHJpdiktPmhhc19ndF91YykKIAogLyogSGF2aW5nIEd1 QyBpcyBub3QgdGhlIHNhbWUgYXMgdXNpbmcgR3VDICovCi0jZGVmaW5lIFVTRVNfR1VDKGRldl9w cml2KQkJaW50ZWxfdWNfc3VwcG9ydHNfZ3VjKCYoZGV2X3ByaXYpLT5ndC51YykKLSNkZWZpbmUg VVNFU19HVUNfU1VCTUlTU0lPTihkZXZfcHJpdikJaW50ZWxfdWNfc3VwcG9ydHNfZ3VjX3N1Ym1p c3Npb24oJihkZXZfcHJpdiktPmd0LnVjKQorI2RlZmluZSBVU0VTX0dVQyhkZXZfcHJpdikJCWlu dGVsX3VjX3VzZXNfZ3VjKCYoZGV2X3ByaXYpLT5ndC51YykKKyNkZWZpbmUgVVNFU19HVUNfU1VC TUlTU0lPTihkZXZfcHJpdikJaW50ZWxfdWNfdXNlc19ndWNfc3VibWlzc2lvbigmKGRldl9wcml2 KS0+Z3QudWMpCiAKICNkZWZpbmUgSEFTX1BPT0xFRF9FVShkZXZfcHJpdikJKElOVEVMX0lORk8o ZGV2X3ByaXYpLT5oYXNfcG9vbGVkX2V1KQogCi0tIAoyLjE5LjIKCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50 ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeA==