From mboxrd@z Thu Jan 1 00:00:00 1970 From: Subject: [PATCH 04/45] drm/amd/display: Fix runtime errors for diagnostic tests Date: Tue, 11 Dec 2018 17:57:10 -0500 Message-ID: <1544569071-7114-5-git-send-email-sunpeng.li@amd.com> References: <1544569071-7114-1-git-send-email-sunpeng.li@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1544569071-7114-1-git-send-email-sunpeng.li-5C7GfCeVMHo@public.gmane.org> List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Cc: sunpeng.li-5C7GfCeVMHo@public.gmane.org, Eric Bernstein RnJvbTogRXJpYyBCZXJuc3RlaW4gPGVyaWMuYmVybnN0ZWluQGFtZC5jb20+CgoxKSBSZW5hbWUg YW5kIG1ha2UgcHVibGljIGRlZmluaXRpb24gb2YgaW5wdXQgQ1NDIG1hdHJpeCBzdHJ1Y3QuCjIp IE1ha2Ugd21fcmVhZF9zdGF0ZSgpIGZ1bmN0aW9uIGFuIGludGVyZmFjZSBvZiBodWJidWIsIGFu ZCBjaGVjawogICBpZiB3YXRlcm1hcmsgcmVnaXN0ZXJzIGV4aXN0IGJlZm9yZSByZWFkL3dyaXRl IHRvIHRoZW0uCjMpIENoZWNrIGlmIE9UR19JTlRFUkxBQ0VfQ09OVFJPTCByZWdpc3RlciBleGlz dHMgYmVmb3JlIHVwZGF0aW5nCjQpIEFkZCBkdW1teSBmdW5jdGlvbnMgZm9yIHNldF9pbnB1dC9v dXRwdXRfdHJhbnNmZXIgZnVuY3Rpb24gdG8gYXZvaWQKICAgZXJyb3JzIGR1ZSB0byBkaWZmZXJl bmNlcyBpbiBDTSByZWdpc3RlcnMuCjUpIEFkZGVkIG1pc3NpbmcgcmVnaXN0ZXIgZmllbGQgZGVm aW5pdGlvbiBpbiBoZWFkZXIgZmlsZQoKU2lnbmVkLW9mZi1ieTogRXJpYyBCZXJuc3RlaW4gPGVy aWMuYmVybnN0ZWluQGFtZC5jb20+ClJldmlld2VkLWJ5OiBEbXl0cm8gTGFrdHl1c2hraW4gPERt eXRyby5MYWt0eXVzaGtpbkBhbWQuY29tPgpBY2tlZC1ieTogTGVvIExpIDxzdW5wZW5nLmxpQGFt ZC5jb20+Ci0tLQogLi4uL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvZGNuMTAvZGNuMTBfZHBwX2Nt LmMgICAgfCAxMiArKy0tCiAuLi4vZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9kY24xMC9kY24xMF9o dWJidWIuYyAgICB8IDczICsrKysrKysrKysrKy0tLS0tLS0tLS0KIC4uLi9ncHUvZHJtL2FtZC9k aXNwbGF5L2RjL2RjbjEwL2RjbjEwX2h1YmJ1Yi5oICAgIHwgMTIgLS0tLQogLi4uL2RybS9hbWQv ZGlzcGxheS9kYy9kY24xMC9kY24xMF9od19zZXF1ZW5jZXIuYyAgfCAgMiArLQogLi4uL2Rpc3Bs YXkvZGMvZGNuMTAvZGNuMTBfaHdfc2VxdWVuY2VyX2RlYnVnLmMgICAgfCAgMiArLQogZHJpdmVy cy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2RjbjEwL2RjbjEwX29wdGMuYyAgfCAyMSArKysrLS0t CiBkcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvaW5jL2h3L2RjaHViYnViLmggICB8IDE1 ICsrKysrCiBkcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvaW5jL2h3L2RwcC5oICAgICAg ICB8ICA1ICsrCiA4IGZpbGVzIGNoYW5nZWQsIDc4IGluc2VydGlvbnMoKyksIDY0IGRlbGV0aW9u cygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9kY24xMC9k Y24xMF9kcHBfY20uYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9kY24xMC9kY24x MF9kcHBfY20uYwppbmRleCAxMTY5NzdlLi40MWYwZjRjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vYW1kL2Rpc3BsYXkvZGMvZGNuMTAvZGNuMTBfZHBwX2NtLmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL2FtZC9kaXNwbGF5L2RjL2RjbjEwL2RjbjEwX2RwcF9jbS5jCkBAIC01MSwxMCArNTEs NiBAQAogCiAjZGVmaW5lIE5VTV9FTEVNRU5UUyhhKSAoc2l6ZW9mKGEpIC8gc2l6ZW9mKChhKVsw XSkpCiAKLXN0cnVjdCBkY24xMF9pbnB1dF9jc2NfbWF0cml4IHsKLQllbnVtIGRjX2NvbG9yX3Nw YWNlIGNvbG9yX3NwYWNlOwotCXVpbnQxNl90IHJlZ3ZhbFsxMl07Ci19OwogCiBlbnVtIGRjbjEw X2NvZWZfZmlsdGVyX3R5cGVfc2VsIHsKIAlTQ0xfQ09FRl9MVU1BX1ZFUlRfRklMVEVSID0gMCwK QEAgLTk5LDcgKzk1LDcgQEAgZW51bSBnYW11dF9yZW1hcF9zZWxlY3QgewogCUdBTVVUX1JFTUFQ X0NPTUJfQ09FRkYKIH07CiAKLXN0YXRpYyBjb25zdCBzdHJ1Y3QgZGNuMTBfaW5wdXRfY3NjX21h dHJpeCBkY24xMF9pbnB1dF9jc2NfbWF0cml4W10gPSB7CitzdGF0aWMgY29uc3Qgc3RydWN0IGRw cF9pbnB1dF9jc2NfbWF0cml4IGRwcF9pbnB1dF9jc2NfbWF0cml4W10gPSB7CiAJe0NPTE9SX1NQ QUNFX1NSR0IsCiAJCXsweDIwMDAsIDAsIDAsIDAsIDAsIDB4MjAwMCwgMCwgMCwgMCwgMCwgMHgy MDAwLCAwfSB9LAogCXtDT0xPUl9TUEFDRV9TUkdCX0xJTUlURUQsCkBAIC00NTQsNyArNDUwLDcg QEAgdm9pZCBkcHAxX3Byb2dyYW1faW5wdXRfY3NjKAogewogCXN0cnVjdCBkY24xMF9kcHAgKmRw cCA9IFRPX0RDTjEwX0RQUChkcHBfYmFzZSk7CiAJaW50IGk7Ci0JaW50IGFycl9zaXplID0gc2l6 ZW9mKGRjbjEwX2lucHV0X2NzY19tYXRyaXgpL3NpemVvZihzdHJ1Y3QgZGNuMTBfaW5wdXRfY3Nj X21hdHJpeCk7CisJaW50IGFycl9zaXplID0gc2l6ZW9mKGRwcF9pbnB1dF9jc2NfbWF0cml4KS9z aXplb2Yoc3RydWN0IGRwcF9pbnB1dF9jc2NfbWF0cml4KTsKIAljb25zdCB1aW50MTZfdCAqcmVn dmFsID0gTlVMTDsKIAl1aW50MzJfdCBjdXJfc2VsZWN0ID0gMDsKIAllbnVtIGRjbjEwX2lucHV0 X2NzY19zZWxlY3Qgc2VsZWN0OwpAQCAtNDY3LDggKzQ2Myw4IEBAIHZvaWQgZHBwMV9wcm9ncmFt X2lucHV0X2NzYygKIAogCWlmICh0YmxfZW50cnkgPT0gTlVMTCkgewogCQlmb3IgKGkgPSAwOyBp IDwgYXJyX3NpemU7IGkrKykKLQkJCWlmIChkY24xMF9pbnB1dF9jc2NfbWF0cml4W2ldLmNvbG9y X3NwYWNlID09IGNvbG9yX3NwYWNlKSB7Ci0JCQkJcmVndmFsID0gZGNuMTBfaW5wdXRfY3NjX21h dHJpeFtpXS5yZWd2YWw7CisJCQlpZiAoZHBwX2lucHV0X2NzY19tYXRyaXhbaV0uY29sb3Jfc3Bh Y2UgPT0gY29sb3Jfc3BhY2UpIHsKKwkJCQlyZWd2YWwgPSBkcHBfaW5wdXRfY3NjX21hdHJpeFtp XS5yZWd2YWw7CiAJCQkJYnJlYWs7CiAJCQl9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9hbWQvZGlzcGxheS9kYy9kY24xMC9kY24xMF9odWJidWIuYyBiL2RyaXZlcnMvZ3B1L2RybS9h bWQvZGlzcGxheS9kYy9kY24xMC9kY24xMF9odWJidWIuYwppbmRleCBjN2QxZTY3Li5lYjMxYTVl IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvZGNuMTAvZGNuMTBf aHViYnViLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2RjbjEwL2RjbjEw X2h1YmJ1Yi5jCkBAIC0yNzUsMTQgKzI3NSwxNiBAQCB2b2lkIGh1YmJ1YjFfcHJvZ3JhbV93YXRl cm1hcmtzKAogCQkJd2F0ZXJtYXJrcy0+YS51cmdlbnRfbnMsIHByb2dfd21fdmFsdWUpOwogCX0K IAotCWlmIChzYWZlX3RvX2xvd2VyIHx8IHdhdGVybWFya3MtPmEucHRlX21ldGFfdXJnZW50X25z ID4gaHViYnViLT53YXRlcm1hcmtzLmEucHRlX21ldGFfdXJnZW50X25zKSB7Ci0JCWh1YmJ1Yi0+ d2F0ZXJtYXJrcy5hLnB0ZV9tZXRhX3VyZ2VudF9ucyA9IHdhdGVybWFya3MtPmEucHRlX21ldGFf dXJnZW50X25zOwotCQlwcm9nX3dtX3ZhbHVlID0gY29udmVydF9hbmRfY2xhbXAod2F0ZXJtYXJr cy0+YS5wdGVfbWV0YV91cmdlbnRfbnMsCi0JCQkJcmVmY2xrX21oeiwgMHgxZmZmZmYpOwotCQlS RUdfV1JJVEUoRENIVUJCVUJfQVJCX1BURV9NRVRBX1VSR0VOQ1lfV0FURVJNQVJLX0EsIHByb2df d21fdmFsdWUpOwotCQlEQ19MT0dfQkFORFdJRFRIX0NBTENTKCJQVEVfTUVUQV9VUkdFTkNZX1dB VEVSTUFSS19BIGNhbGN1bGF0ZWQgPSVkXG4iCi0JCQkiSFcgcmVnaXN0ZXIgdmFsdWUgPSAweCV4 XG4iLAotCQkJd2F0ZXJtYXJrcy0+YS5wdGVfbWV0YV91cmdlbnRfbnMsIHByb2dfd21fdmFsdWUp OworCWlmIChSRUcoRENIVUJCVUJfQVJCX1BURV9NRVRBX1VSR0VOQ1lfV0FURVJNQVJLX0EpKSB7 CisJCWlmIChzYWZlX3RvX2xvd2VyIHx8IHdhdGVybWFya3MtPmEucHRlX21ldGFfdXJnZW50X25z ID4gaHViYnViLT53YXRlcm1hcmtzLmEucHRlX21ldGFfdXJnZW50X25zKSB7CisJCQlodWJidWIt PndhdGVybWFya3MuYS5wdGVfbWV0YV91cmdlbnRfbnMgPSB3YXRlcm1hcmtzLT5hLnB0ZV9tZXRh X3VyZ2VudF9uczsKKwkJCXByb2dfd21fdmFsdWUgPSBjb252ZXJ0X2FuZF9jbGFtcCh3YXRlcm1h cmtzLT5hLnB0ZV9tZXRhX3VyZ2VudF9ucywKKwkJCQkJcmVmY2xrX21oeiwgMHgxZmZmZmYpOwor CQkJUkVHX1dSSVRFKERDSFVCQlVCX0FSQl9QVEVfTUVUQV9VUkdFTkNZX1dBVEVSTUFSS19BLCBw cm9nX3dtX3ZhbHVlKTsKKwkJCURDX0xPR19CQU5EV0lEVEhfQ0FMQ1MoIlBURV9NRVRBX1VSR0VO Q1lfV0FURVJNQVJLX0EgY2FsY3VsYXRlZCA9JWRcbiIKKwkJCQkiSFcgcmVnaXN0ZXIgdmFsdWUg PSAweCV4XG4iLAorCQkJCXdhdGVybWFya3MtPmEucHRlX21ldGFfdXJnZW50X25zLCBwcm9nX3dt X3ZhbHVlKTsKKwkJfQogCX0KIAogCWlmIChSRUcoRENIVUJCVUJfQVJCX0FMTE9XX1NSX0VOVEVS X1dBVEVSTUFSS19BKSkgewpAQCAtMzM4LDE0ICszNDAsMTYgQEAgdm9pZCBodWJidWIxX3Byb2dy YW1fd2F0ZXJtYXJrcygKIAkJCXdhdGVybWFya3MtPmIudXJnZW50X25zLCBwcm9nX3dtX3ZhbHVl KTsKIAl9CiAKLQlpZiAoc2FmZV90b19sb3dlciB8fCB3YXRlcm1hcmtzLT5iLnB0ZV9tZXRhX3Vy Z2VudF9ucyA+IGh1YmJ1Yi0+d2F0ZXJtYXJrcy5iLnB0ZV9tZXRhX3VyZ2VudF9ucykgewotCQlo dWJidWItPndhdGVybWFya3MuYi5wdGVfbWV0YV91cmdlbnRfbnMgPSB3YXRlcm1hcmtzLT5iLnB0 ZV9tZXRhX3VyZ2VudF9uczsKLQkJcHJvZ193bV92YWx1ZSA9IGNvbnZlcnRfYW5kX2NsYW1wKHdh dGVybWFya3MtPmIucHRlX21ldGFfdXJnZW50X25zLAotCQkJCXJlZmNsa19taHosIDB4MWZmZmZm KTsKLQkJUkVHX1dSSVRFKERDSFVCQlVCX0FSQl9QVEVfTUVUQV9VUkdFTkNZX1dBVEVSTUFSS19C LCBwcm9nX3dtX3ZhbHVlKTsKLQkJRENfTE9HX0JBTkRXSURUSF9DQUxDUygiUFRFX01FVEFfVVJH RU5DWV9XQVRFUk1BUktfQiBjYWxjdWxhdGVkID0lZFxuIgotCQkJIkhXIHJlZ2lzdGVyIHZhbHVl ID0gMHgleFxuIiwKLQkJCXdhdGVybWFya3MtPmIucHRlX21ldGFfdXJnZW50X25zLCBwcm9nX3dt X3ZhbHVlKTsKKwlpZiAoUkVHKERDSFVCQlVCX0FSQl9QVEVfTUVUQV9VUkdFTkNZX1dBVEVSTUFS S19CKSkgeworCQlpZiAoc2FmZV90b19sb3dlciB8fCB3YXRlcm1hcmtzLT5iLnB0ZV9tZXRhX3Vy Z2VudF9ucyA+IGh1YmJ1Yi0+d2F0ZXJtYXJrcy5iLnB0ZV9tZXRhX3VyZ2VudF9ucykgeworCQkJ aHViYnViLT53YXRlcm1hcmtzLmIucHRlX21ldGFfdXJnZW50X25zID0gd2F0ZXJtYXJrcy0+Yi5w dGVfbWV0YV91cmdlbnRfbnM7CisJCQlwcm9nX3dtX3ZhbHVlID0gY29udmVydF9hbmRfY2xhbXAo d2F0ZXJtYXJrcy0+Yi5wdGVfbWV0YV91cmdlbnRfbnMsCisJCQkJCXJlZmNsa19taHosIDB4MWZm ZmZmKTsKKwkJCVJFR19XUklURShEQ0hVQkJVQl9BUkJfUFRFX01FVEFfVVJHRU5DWV9XQVRFUk1B UktfQiwgcHJvZ193bV92YWx1ZSk7CisJCQlEQ19MT0dfQkFORFdJRFRIX0NBTENTKCJQVEVfTUVU QV9VUkdFTkNZX1dBVEVSTUFSS19CIGNhbGN1bGF0ZWQgPSVkXG4iCisJCQkJIkhXIHJlZ2lzdGVy IHZhbHVlID0gMHgleFxuIiwKKwkJCQl3YXRlcm1hcmtzLT5iLnB0ZV9tZXRhX3VyZ2VudF9ucywg cHJvZ193bV92YWx1ZSk7CisJCX0KIAl9CiAKIAlpZiAoUkVHKERDSFVCQlVCX0FSQl9BTExPV19T Ul9FTlRFUl9XQVRFUk1BUktfQikpIHsKQEAgLTQwMSwxNCArNDA1LDE2IEBAIHZvaWQgaHViYnVi MV9wcm9ncmFtX3dhdGVybWFya3MoCiAJCQl3YXRlcm1hcmtzLT5jLnVyZ2VudF9ucywgcHJvZ193 bV92YWx1ZSk7CiAJfQogCi0JaWYgKHNhZmVfdG9fbG93ZXIgfHwgd2F0ZXJtYXJrcy0+Yy5wdGVf bWV0YV91cmdlbnRfbnMgPiBodWJidWItPndhdGVybWFya3MuYy5wdGVfbWV0YV91cmdlbnRfbnMp IHsKLQkJaHViYnViLT53YXRlcm1hcmtzLmMucHRlX21ldGFfdXJnZW50X25zID0gd2F0ZXJtYXJr cy0+Yy5wdGVfbWV0YV91cmdlbnRfbnM7Ci0JCXByb2dfd21fdmFsdWUgPSBjb252ZXJ0X2FuZF9j bGFtcCh3YXRlcm1hcmtzLT5jLnB0ZV9tZXRhX3VyZ2VudF9ucywKLQkJCQlyZWZjbGtfbWh6LCAw eDFmZmZmZik7Ci0JCVJFR19XUklURShEQ0hVQkJVQl9BUkJfUFRFX01FVEFfVVJHRU5DWV9XQVRF Uk1BUktfQywgcHJvZ193bV92YWx1ZSk7Ci0JCURDX0xPR19CQU5EV0lEVEhfQ0FMQ1MoIlBURV9N RVRBX1VSR0VOQ1lfV0FURVJNQVJLX0MgY2FsY3VsYXRlZCA9JWRcbiIKLQkJCSJIVyByZWdpc3Rl ciB2YWx1ZSA9IDB4JXhcbiIsCi0JCQl3YXRlcm1hcmtzLT5jLnB0ZV9tZXRhX3VyZ2VudF9ucywg cHJvZ193bV92YWx1ZSk7CisJaWYgKFJFRyhEQ0hVQkJVQl9BUkJfUFRFX01FVEFfVVJHRU5DWV9X QVRFUk1BUktfQykpIHsKKwkJaWYgKHNhZmVfdG9fbG93ZXIgfHwgd2F0ZXJtYXJrcy0+Yy5wdGVf bWV0YV91cmdlbnRfbnMgPiBodWJidWItPndhdGVybWFya3MuYy5wdGVfbWV0YV91cmdlbnRfbnMp IHsKKwkJCWh1YmJ1Yi0+d2F0ZXJtYXJrcy5jLnB0ZV9tZXRhX3VyZ2VudF9ucyA9IHdhdGVybWFy a3MtPmMucHRlX21ldGFfdXJnZW50X25zOworCQkJcHJvZ193bV92YWx1ZSA9IGNvbnZlcnRfYW5k X2NsYW1wKHdhdGVybWFya3MtPmMucHRlX21ldGFfdXJnZW50X25zLAorCQkJCQlyZWZjbGtfbWh6 LCAweDFmZmZmZik7CisJCQlSRUdfV1JJVEUoRENIVUJCVUJfQVJCX1BURV9NRVRBX1VSR0VOQ1lf V0FURVJNQVJLX0MsIHByb2dfd21fdmFsdWUpOworCQkJRENfTE9HX0JBTkRXSURUSF9DQUxDUygi UFRFX01FVEFfVVJHRU5DWV9XQVRFUk1BUktfQyBjYWxjdWxhdGVkID0lZFxuIgorCQkJCSJIVyBy ZWdpc3RlciB2YWx1ZSA9IDB4JXhcbiIsCisJCQkJd2F0ZXJtYXJrcy0+Yy5wdGVfbWV0YV91cmdl bnRfbnMsIHByb2dfd21fdmFsdWUpOworCQl9CiAJfQogCiAJaWYgKFJFRyhEQ0hVQkJVQl9BUkJf QUxMT1dfU1JfRU5URVJfV0FURVJNQVJLX0MpKSB7CkBAIC00NjQsMTQgKzQ3MCwxNiBAQCB2b2lk IGh1YmJ1YjFfcHJvZ3JhbV93YXRlcm1hcmtzKAogCQkJd2F0ZXJtYXJrcy0+ZC51cmdlbnRfbnMs IHByb2dfd21fdmFsdWUpOwogCX0KIAotCWlmIChzYWZlX3RvX2xvd2VyIHx8IHdhdGVybWFya3Mt PmQucHRlX21ldGFfdXJnZW50X25zID4gaHViYnViLT53YXRlcm1hcmtzLmQucHRlX21ldGFfdXJn ZW50X25zKSB7Ci0JCWh1YmJ1Yi0+d2F0ZXJtYXJrcy5kLnB0ZV9tZXRhX3VyZ2VudF9ucyA9IHdh dGVybWFya3MtPmQucHRlX21ldGFfdXJnZW50X25zOwotCQlwcm9nX3dtX3ZhbHVlID0gY29udmVy dF9hbmRfY2xhbXAod2F0ZXJtYXJrcy0+ZC5wdGVfbWV0YV91cmdlbnRfbnMsCi0JCQkJcmVmY2xr X21oeiwgMHgxZmZmZmYpOwotCQlSRUdfV1JJVEUoRENIVUJCVUJfQVJCX1BURV9NRVRBX1VSR0VO Q1lfV0FURVJNQVJLX0QsIHByb2dfd21fdmFsdWUpOwotCQlEQ19MT0dfQkFORFdJRFRIX0NBTENT KCJQVEVfTUVUQV9VUkdFTkNZX1dBVEVSTUFSS19EIGNhbGN1bGF0ZWQgPSVkXG4iCi0JCQkiSFcg cmVnaXN0ZXIgdmFsdWUgPSAweCV4XG4iLAotCQkJd2F0ZXJtYXJrcy0+ZC5wdGVfbWV0YV91cmdl bnRfbnMsIHByb2dfd21fdmFsdWUpOworCWlmIChSRUcoRENIVUJCVUJfQVJCX1BURV9NRVRBX1VS R0VOQ1lfV0FURVJNQVJLX0QpKSB7CisJCWlmIChzYWZlX3RvX2xvd2VyIHx8IHdhdGVybWFya3Mt PmQucHRlX21ldGFfdXJnZW50X25zID4gaHViYnViLT53YXRlcm1hcmtzLmQucHRlX21ldGFfdXJn ZW50X25zKSB7CisJCQlodWJidWItPndhdGVybWFya3MuZC5wdGVfbWV0YV91cmdlbnRfbnMgPSB3 YXRlcm1hcmtzLT5kLnB0ZV9tZXRhX3VyZ2VudF9uczsKKwkJCXByb2dfd21fdmFsdWUgPSBjb252 ZXJ0X2FuZF9jbGFtcCh3YXRlcm1hcmtzLT5kLnB0ZV9tZXRhX3VyZ2VudF9ucywKKwkJCQkJcmVm Y2xrX21oeiwgMHgxZmZmZmYpOworCQkJUkVHX1dSSVRFKERDSFVCQlVCX0FSQl9QVEVfTUVUQV9V UkdFTkNZX1dBVEVSTUFSS19ELCBwcm9nX3dtX3ZhbHVlKTsKKwkJCURDX0xPR19CQU5EV0lEVEhf Q0FMQ1MoIlBURV9NRVRBX1VSR0VOQ1lfV0FURVJNQVJLX0QgY2FsY3VsYXRlZCA9JWRcbiIKKwkJ CQkiSFcgcmVnaXN0ZXIgdmFsdWUgPSAweCV4XG4iLAorCQkJCXdhdGVybWFya3MtPmQucHRlX21l dGFfdXJnZW50X25zLCBwcm9nX3dtX3ZhbHVlKTsKKwkJfQogCX0KIAogCWlmIChSRUcoRENIVUJC VUJfQVJCX0FMTE9XX1NSX0VOVEVSX1dBVEVSTUFSS19EKSkgewpAQCAtODM3LDYgKzg0NSw3IEBA IHN0YXRpYyBjb25zdCBzdHJ1Y3QgaHViYnViX2Z1bmNzIGh1YmJ1YjFfZnVuY3MgPSB7CiAJLmRj Y19zdXBwb3J0X3N3aXp6bGUgPSBodWJidWIxX2RjY19zdXBwb3J0X3N3aXp6bGUsCiAJLmRjY19z dXBwb3J0X3BpeGVsX2Zvcm1hdCA9IGh1YmJ1YjFfZGNjX3N1cHBvcnRfcGl4ZWxfZm9ybWF0LAog CS5nZXRfZGNjX2NvbXByZXNzaW9uX2NhcCA9IGh1YmJ1YjFfZ2V0X2RjY19jb21wcmVzc2lvbl9j YXAsCisJLndtX3JlYWRfc3RhdGUgPSBodWJidWIxX3dtX3JlYWRfc3RhdGUsCiB9OwogCiB2b2lk IGh1YmJ1YjFfY29uc3RydWN0KHN0cnVjdCBodWJidWIgKmh1YmJ1YiwKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9kY24xMC9kY24xMF9odWJidWIuaCBiL2RyaXZl cnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9kY24xMC9kY24xMF9odWJidWIuaAppbmRleCBkMGYw M2QxLi5hY2E2NzYzIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMv ZGNuMTAvZGNuMTBfaHViYnViLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2Rj L2RjbjEwL2RjbjEwX2h1YmJ1Yi5oCkBAIC0xNjUsMTggKzE2NSw2IEBAIHN0cnVjdCBkY25faHVi YnViX21hc2sgewogCiBzdHJ1Y3QgZGM7CiAKLXN0cnVjdCBkY25faHViYnViX3dtX3NldCB7Ci0J dWludDMyX3Qgd21fc2V0OwotCXVpbnQzMl90IGRhdGFfdXJnZW50OwotCXVpbnQzMl90IHB0ZV9t ZXRhX3VyZ2VudDsKLQl1aW50MzJfdCBzcl9lbnRlcjsKLQl1aW50MzJfdCBzcl9leGl0OwotCXVp bnQzMl90IGRyYW1fY2xrX2NoYW5hZ2U7Ci19OwotCi1zdHJ1Y3QgZGNuX2h1YmJ1Yl93bSB7Ci0J c3RydWN0IGRjbl9odWJidWJfd21fc2V0IHNldHNbNF07Ci19OwogCiBzdHJ1Y3QgaHViYnViIHsK IAljb25zdCBzdHJ1Y3QgaHViYnViX2Z1bmNzICpmdW5jczsKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9hbWQvZGlzcGxheS9kYy9kY24xMC9kY24xMF9od19zZXF1ZW5jZXIuYyBiL2RyaXZl cnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9kY24xMC9kY24xMF9od19zZXF1ZW5jZXIuYwppbmRl eCAwYmQzM2E3Li4yZmRmNjlkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3Bs YXkvZGMvZGNuMTAvZGNuMTBfaHdfc2VxdWVuY2VyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2Ft ZC9kaXNwbGF5L2RjL2RjbjEwL2RjbjEwX2h3X3NlcXVlbmNlci5jCkBAIC05NSw3ICs5NSw3IEBA IHZvaWQgZGNuMTBfbG9nX2h1YmJ1Yl9zdGF0ZShzdHJ1Y3QgZGMgKmRjLCBzdHJ1Y3QgZGNfbG9n X2J1ZmZlcl9jdHggKmxvZ19jdHgpCiAJc3RydWN0IGRjbl9odWJidWJfd20gd20gPSB7MH07CiAJ aW50IGk7CiAKLQlodWJidWIxX3dtX3JlYWRfc3RhdGUoZGMtPnJlc19wb29sLT5odWJidWIsICZ3 bSk7CisJZGMtPnJlc19wb29sLT5odWJidWItPmZ1bmNzLT53bV9yZWFkX3N0YXRlKGRjLT5yZXNf cG9vbC0+aHViYnViLCAmd20pOwogCiAJRFROX0lORk8oIkhVQkJVQiBXTTogICAgICBkYXRhX3Vy Z2VudCAgcHRlX21ldGFfdXJnZW50IgogCQkJIiAgICAgICAgIHNyX2VudGVyICAgICAgICAgIHNy X2V4aXQgIGRyYW1fY2xrX2NoYW5nZVxuIik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v YW1kL2Rpc3BsYXkvZGMvZGNuMTAvZGNuMTBfaHdfc2VxdWVuY2VyX2RlYnVnLmMgYi9kcml2ZXJz L2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvZGNuMTAvZGNuMTBfaHdfc2VxdWVuY2VyX2RlYnVnLmMK aW5kZXggY2Q0NjkwMS4uODIxNzU4MiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9k aXNwbGF5L2RjL2RjbjEwL2RjbjEwX2h3X3NlcXVlbmNlcl9kZWJ1Zy5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9hbWQvZGlzcGxheS9kYy9kY24xMC9kY24xMF9od19zZXF1ZW5jZXJfZGVidWcuYwpA QCAtODEsNyArODEsNyBAQCBzdGF0aWMgdW5zaWduZWQgaW50IGRjbjEwX2dldF9odWJidWJfc3Rh dGUoc3RydWN0IGRjICpkYywgY2hhciAqcEJ1ZiwgdW5zaWduZWQgaQogCWNvbnN0IHVpbnQzMl90 IHJlZl9jbGtfbWh6ID0gZGNfY3R4LT5kYy0+cmVzX3Bvb2wtPnJlZl9jbG9ja19pbktoeiAvIDEw MDA7CiAJc3RhdGljIGNvbnN0IHVuc2lnbmVkIGludCBmcmFjID0gMTAwMDsKIAotCWh1YmJ1YjFf d21fcmVhZF9zdGF0ZShkYy0+cmVzX3Bvb2wtPmh1YmJ1YiwgJndtKTsKKwlkYy0+cmVzX3Bvb2wt Pmh1YmJ1Yi0+ZnVuY3MtPndtX3JlYWRfc3RhdGUoZGMtPnJlc19wb29sLT5odWJidWIsICZ3bSk7 CiAKIAljaGFyc19wcmludGVkID0gc25wcmludGZfY291bnQocEJ1ZiwgcmVtYWluaW5nX2J1ZmZl ciwgIndtX3NldF9pbmRleCxkYXRhX3VyZ2VudCxwdGVfbWV0YV91cmdlbnQsc3JfZW50ZXIsc3Jf ZXhpdCxkcmFtX2Nsa19jaGFuYWdlXG4iKTsKIAlyZW1haW5pbmdfYnVmZmVyIC09IGNoYXJzX3By aW50ZWQ7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvZGNuMTAv ZGNuMTBfb3B0Yy5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2RjbjEwL2RjbjEw X29wdGMuYwppbmRleCA3YzEzODYxLi5jZGIzZjA5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vYW1kL2Rpc3BsYXkvZGMvZGNuMTAvZGNuMTBfb3B0Yy5jCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9hbWQvZGlzcGxheS9kYy9kY24xMC9kY24xMF9vcHRjLmMKQEAgLTI5OSwxNiArMjk5LDE3IEBA IHZvaWQgb3B0YzFfcHJvZ3JhbV90aW1pbmcoCiAJfQogCiAJLyogSW50ZXJsYWNlICovCi0JaWYg KHBhdGNoZWRfY3J0Y190aW1pbmcuZmxhZ3MuSU5URVJMQUNFID09IDEpIHsKLQkJUkVHX1VQREFU RShPVEdfSU5URVJMQUNFX0NPTlRST0wsCi0JCQkJT1RHX0lOVEVSTEFDRV9FTkFCTEUsIDEpOwot CQl2X2luaXQgPSB2X2luaXQgLyAyOwotCQlpZiAoKG9wdGMtPmRsZ19vdGdfcGFyYW0udnN0YXJ0 dXBfc3RhcnQvMikqMiA+IGFzaWNfYmxhbmtfZW5kKQotCQkJdl9mcDIgPSB2X2ZwMiAvIDI7Ci0J fSBlbHNlCi0JCVJFR19VUERBVEUoT1RHX0lOVEVSTEFDRV9DT05UUk9MLAotCQkJCU9UR19JTlRF UkxBQ0VfRU5BQkxFLCAwKTsKLQorCWlmIChSRUcoT1RHX0lOVEVSTEFDRV9DT05UUk9MKSkgewor CQlpZiAocGF0Y2hlZF9jcnRjX3RpbWluZy5mbGFncy5JTlRFUkxBQ0UgPT0gMSkgeworCQkJUkVH X1VQREFURShPVEdfSU5URVJMQUNFX0NPTlRST0wsCisJCQkJCU9UR19JTlRFUkxBQ0VfRU5BQkxF LCAxKTsKKwkJCXZfaW5pdCA9IHZfaW5pdCAvIDI7CisJCQlpZiAoKG9wdGMtPmRsZ19vdGdfcGFy YW0udnN0YXJ0dXBfc3RhcnQvMikqMiA+IGFzaWNfYmxhbmtfZW5kKQorCQkJCXZfZnAyID0gdl9m cDIgLyAyOworCQl9IGVsc2UKKwkJCVJFR19VUERBVEUoT1RHX0lOVEVSTEFDRV9DT05UUk9MLAor CQkJCQlPVEdfSU5URVJMQUNFX0VOQUJMRSwgMCk7CisJfQogCiAJLyogVlRHIGVuYWJsZSBzZXQg dG8gMCBmaXJzdCBWSW5pdCAqLwogCVJFR19VUERBVEUoQ09OVFJPTCwKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9pbmMvaHcvZGNodWJidWIuaCBiL2RyaXZlcnMv Z3B1L2RybS9hbWQvZGlzcGxheS9kYy9pbmMvaHcvZGNodWJidWIuaAppbmRleCAwMmY3NTdkLi5k YzBiYjViIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvaW5jL2h3 L2RjaHViYnViLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2luYy9ody9k Y2h1YmJ1Yi5oCkBAIC0zOSw2ICszOSwxOCBAQCBlbnVtIHNlZ21lbnRfb3JkZXIgewogCXNlZ21l bnRfb3JkZXJfX25vbl9jb250aWd1b3VzLAogfTsKIAorc3RydWN0IGRjbl9odWJidWJfd21fc2V0 IHsKKwl1aW50MzJfdCB3bV9zZXQ7CisJdWludDMyX3QgZGF0YV91cmdlbnQ7CisJdWludDMyX3Qg cHRlX21ldGFfdXJnZW50OworCXVpbnQzMl90IHNyX2VudGVyOworCXVpbnQzMl90IHNyX2V4aXQ7 CisJdWludDMyX3QgZHJhbV9jbGtfY2hhbmFnZTsKK307CisKK3N0cnVjdCBkY25faHViYnViX3dt IHsKKwlzdHJ1Y3QgZGNuX2h1YmJ1Yl93bV9zZXQgc2V0c1s0XTsKK307CiAKIHN0cnVjdCBodWJi dWJfZnVuY3MgewogCXZvaWQgKCp1cGRhdGVfZGNodWIpKApAQCAtNTgsNiArNzAsOSBAQCBzdHJ1 Y3QgaHViYnViX2Z1bmNzIHsKIAlib29sICgqZGNjX3N1cHBvcnRfcGl4ZWxfZm9ybWF0KSgKIAkJ CWVudW0gc3VyZmFjZV9waXhlbF9mb3JtYXQgZm9ybWF0LAogCQkJdW5zaWduZWQgaW50ICpieXRl c19wZXJfZWxlbWVudCk7CisKKwl2b2lkICgqd21fcmVhZF9zdGF0ZSkoc3RydWN0IGh1YmJ1YiAq aHViYnViLAorCQkJc3RydWN0IGRjbl9odWJidWJfd20gKndtKTsKIH07CiAKIApkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2luYy9ody9kcHAuaCBiL2RyaXZlcnMv Z3B1L2RybS9hbWQvZGlzcGxheS9kYy9pbmMvaHcvZHBwLmgKaW5kZXggZTg5NGU2NC4uZmI3OTY3 YiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2luYy9ody9kcHAu aAorKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvaW5jL2h3L2RwcC5oCkBAIC0z OSw2ICszOSwxMSBAQCBzdHJ1Y3QgZHBwIHsKIAogfTsKIAorc3RydWN0IGRwcF9pbnB1dF9jc2Nf bWF0cml4IHsKKwllbnVtIGRjX2NvbG9yX3NwYWNlIGNvbG9yX3NwYWNlOworCXVpbnQxNl90IHJl Z3ZhbFsxMl07Cit9OworCiBzdHJ1Y3QgZHBwX2dycGhfY3NjX2FkanVzdG1lbnQgewogCXN0cnVj dCBmaXhlZDMxXzMyIHRlbXBlcmF0dXJlX21hdHJpeFtDU0NfVEVNUEVSQVRVUkVfTUFUUklYX1NJ WkVdOwogCWVudW0gZ3JhcGhpY3NfZ2FtdXRfYWRqdXN0X3R5cGUgZ2FtdXRfYWRqdXN0X3R5cGU7 Ci0tIAoyLjcuNAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KYW1kLWdmeCBtYWlsaW5nIGxpc3QKYW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0 cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9hbWQtZ2Z4Cg==