From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mika Kuoppala Subject: [PATCH 09/20] drm/i915/icl: Enhanced execution list support Date: Tue, 13 Feb 2018 18:37:27 +0200 Message-ID: <20180213163738.9055-10-mika.kuoppala@linux.intel.com> References: <20180213163738.9055-1-mika.kuoppala@linux.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 9C7626E285 for ; Tue, 13 Feb 2018 16:38:01 +0000 (UTC) In-Reply-To: <20180213163738.9055-1-mika.kuoppala@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: Thomas Daniel , Rodrigo Vivi List-Id: intel-gfx@lists.freedesktop.org RnJvbTogVGhvbWFzIERhbmllbCA8dGhvbWFzLmRhbmllbEBpbnRlbC5jb20+CgpFbmhhbmNlZCBF eGVjbGlzdHMgaXMgYW4gdXBncmFkZWQgdmVyc2lvbiBvZiBleGVjbGlzdHMgd2hpY2ggc3VwcG9y dHMKdXAgdG8gOCBwb3J0cy4gVGhlIGxyY3MgdG8gYmUgc3VibWl0dGVkIGFyZSB3cml0dGVuIHRv IGEgc3VibWl0IHF1ZXVlCih0aGUgRXhlY0xpc3RzIFN1Ym1pc3Npb24gUXVldWUgLSBFTFNRKSwg d2hpY2ggaXMgdGhlbiBsb2FkZWQgb24gdGhlCkhXLiBXaGVuIHdyaXRpbmcgdG8gdGhlIEVMU1Ag cmVnaXN0ZXIsIHRoZSBscmNzIGFyZSB3cml0dGVuIGN5Y2xpY2FsbHkKaW4gdGhlIHF1ZXVlIGZy b20gcG9zaXRpb24gMCB0byBwb3NpdGlvbiA3LiBBbHRlcm5hdGl2ZWx5LCBpdCBpcwpwb3NzaWJs ZSB0byB3cml0ZSBkaXJlY3RseSBpbiB0aGUgaW5kaXZpZHVhbCBwb3NpdGlvbnMgb2YgdGhlIHF1 ZXVlCnVzaW5nIHRoZSBFTFNRQyByZWdpc3RlcnMuIFRvIGJlIGFibGUgdG8gcmUtdXNlIGFsbCB0 aGUgZXhpc3RpbmcgY29kZQp3ZSdyZSB1c2luZyB0aGUgbGF0dGVyIG1ldGhvZCBhbmQgd2UncmUg Y3VycmVudGx5IGxpbWl0aW5nIG91cnNlbGYgdG8Kb25seSB1c2luZyAyIGVsZW1lbnRzLgoKdjI6 IFJlYmFzZS4KdjM6IFN3aXRjaCBmcm9tICFJU19HRU4xMSB0byBHRU4gPCAxMSAoRGFuaWVsZSBD ZXJhb2xvIFNwdXJpbykuCnY0OiBVc2UgdGhlIGVsc3EgcmVnaXN0ZXJzIGluc3RlYWQgb2YgZWxz cC4gKERhbmllbGUgQ2VyYW9sbyBTcHVyaW8pCnY1OiBSZXdvcmQgY29tbWl0LCByZW5hbWUgcmVn cyB0byBiZSBjbG9zZXIgdG8gc3BlY3MsIHR1cm4gb2ZmCiAgICBwcmVlbXB0aW9uIChEYW5pZWxl KSwgcmV1c2UgZW5naW5lLT5leGVjbGlzdHMuZWxzcCAoQ2hyaXMpCnY2OiB1c2UgaGFzX2xvZ2lj YWxfcmluZ19lbHNxIHRvIGRpZmZlcmVudGlhdGUgdGhlIG5ldyBwYXRocwp2NzogYWRkIHByZWVt cHRpb24gc3VwcG9ydCwgcmVuYW1lIGVscyB0byBzdWJtaXRfcmVnIChDaHJpcykKdjg6IHNhdmUg dGhlIGN0cmwgcmVnaXN0ZXIgaW5zaWRlIHRoZSBleGVjbGlzdHMgc3RydWN0LCBkcm9wIENTQgog ICAgaGFuZGxpbmcgdXBkYXRlcyAoc3VwZXJzZWRlZCBieSBwcmVlbXB0X2NvbXBsZXRlX3N0YXR1 cykgKENocmlzKQoKQ2M6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgpD YzogTWlrYSBLdW9wcGFsYSA8bWlrYS5rdW9wcGFsYUBsaW51eC5pbnRlbC5jb20+ClNpZ25lZC1v ZmYtYnk6IFRob21hcyBEYW5pZWwgPHRob21hcy5kYW5pZWxAaW50ZWwuY29tPgpTaWduZWQtb2Zm LWJ5OiBSb2RyaWdvIFZpdmkgPHJvZHJpZ28udml2aUBpbnRlbC5jb20+ClNpZ25lZC1vZmYtYnk6 IERhbmllbGUgQ2VyYW9sbyBTcHVyaW8gPGRhbmllbGUuY2VyYW9sb3NwdXJpb0BpbnRlbC5jb20+ ClJldmlld2VkLWJ5OiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KLS0t CiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgICAgICAgIHwgIDIgKysKIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfcGNpLmMgICAgICAgICAgfCAgMyArLQogZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZGV2aWNlX2luZm8uaCB8ICAxICsKIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2xyYy5jICAgICAgICAgfCA2MCArKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0t LQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmggICAgICAgICB8ICAzICsrCiBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmggIHwgMTIgKysrKystLQogNiBmaWxl cyBjaGFuZ2VkLCA2MyBpbnNlcnRpb25zKCspLCAxOCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9kcnYuaAppbmRleCA5ZjgyNTllMGNlNmUuLjY1ZTY3NDY2OGIyZSAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2Rydi5oCkBAIC0yNzU4LDYgKzI3NTgsOCBAQCBpbnRlbF9pbmZvKGNvbnN0IHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAogI2RlZmluZSBIQVNfTE9HSUNBTF9SSU5H X0NPTlRFWFRTKGRldl9wcml2KSBcCiAJCSgoZGV2X3ByaXYpLT5pbmZvLmhhc19sb2dpY2FsX3Jp bmdfY29udGV4dHMpCisjZGVmaW5lIEhBU19MT0dJQ0FMX1JJTkdfRUxTUShkZXZfcHJpdikgXAor CQkoKGRldl9wcml2KS0+aW5mby5oYXNfbG9naWNhbF9yaW5nX2Vsc3EpCiAjZGVmaW5lIEhBU19M T0dJQ0FMX1JJTkdfUFJFRU1QVElPTihkZXZfcHJpdikgXAogCQkoKGRldl9wcml2KS0+aW5mby5o YXNfbG9naWNhbF9yaW5nX3ByZWVtcHRpb24pCiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfcGNpLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BjaS5jCmluZGV4 IGM5NGE3NmJlZjc2My4uOGM3MmEyYmQzMTVlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X3BjaS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcGNpLmMKQEAg LTU4Myw3ICs1ODMsOCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGludGVsX2RldmljZV9pbmZvIGlu dGVsX2Nhbm5vbmxha2VfaW5mbyA9IHsKIAlHRU4xMF9GRUFUVVJFUywgXAogCS5nZW4gPSAxMSwg XAogCS5kZGJfc2l6ZSA9IDIwNDgsIFwKLQkuaGFzX2NzciA9IDAKKwkuaGFzX2NzciA9IDAsIFwK KwkuaGFzX2xvZ2ljYWxfcmluZ19lbHNxID0gMQogCiBzdGF0aWMgY29uc3Qgc3RydWN0IGludGVs X2RldmljZV9pbmZvIGludGVsX2ljZWxha2VfMTFfaW5mbyA9IHsKIAlHRU4xMV9GRUFUVVJFUywK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RldmljZV9pbmZvLmggYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZXZpY2VfaW5mby5oCmluZGV4IDRjNmY4M2IyZGQ2 YS4uOWZkMmFmNDcwYzkwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k ZXZpY2VfaW5mby5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RldmljZV9pbmZv LmgKQEAgLTk2LDYgKzk2LDcgQEAgZW51bSBpbnRlbF9wbGF0Zm9ybSB7CiAJZnVuYyhoYXNfbDNf ZHBmKTsgXAogCWZ1bmMoaGFzX2xsYyk7IFwKIAlmdW5jKGhhc19sb2dpY2FsX3JpbmdfY29udGV4 dHMpOyBcCisJZnVuYyhoYXNfbG9naWNhbF9yaW5nX2Vsc3EpOyBcCiAJZnVuYyhoYXNfbG9naWNh bF9yaW5nX3ByZWVtcHRpb24pOyBcCiAJZnVuYyhoYXNfb3ZlcmxheSk7IFwKIAlmdW5jKGhhc19w b29sZWRfZXUpOyBcCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMu YyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCmluZGV4IGIyM2VlYzYxNDdhNi4u YWQ3OWY0ZDlkYmU5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMu YworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYwpAQCAtMzk5LDE4ICszOTks MzAgQEAgc3RhdGljIHU2NCBleGVjbGlzdHNfdXBkYXRlX2NvbnRleHQoc3RydWN0IGRybV9pOTE1 X2dlbV9yZXF1ZXN0ICpycSkKIAlyZXR1cm4gY2UtPmxyY19kZXNjOwogfQogCi1zdGF0aWMgaW5s aW5lIHZvaWQgZWxzcF93cml0ZSh1NjQgZGVzYywgdTMyIF9faW9tZW0gKmVsc3ApCitzdGF0aWMg aW5saW5lIHZvaWQgd3JpdGVfZGVzYyhzdHJ1Y3QgaW50ZWxfZW5naW5lX2V4ZWNsaXN0cyAqZXhl Y2xpc3RzLCB1NjQgZGVzYywgdTMyIHBvcnQpCiB7Ci0Jd3JpdGVsKHVwcGVyXzMyX2JpdHMoZGVz YyksIGVsc3ApOwotCXdyaXRlbChsb3dlcl8zMl9iaXRzKGRlc2MpLCBlbHNwKTsKKwlpZiAoZXhl Y2xpc3RzLT5jdHJsX3JlZykgeworCQl3cml0ZWwobG93ZXJfMzJfYml0cyhkZXNjKSwgZXhlY2xp c3RzLT5zdWJtaXRfcmVnICsgcG9ydCAqIDIpOworCQl3cml0ZWwodXBwZXJfMzJfYml0cyhkZXNj KSwgZXhlY2xpc3RzLT5zdWJtaXRfcmVnICsgcG9ydCAqIDIgKyAxKTsKKwl9IGVsc2UgeworCQl3 cml0ZWwodXBwZXJfMzJfYml0cyhkZXNjKSwgZXhlY2xpc3RzLT5zdWJtaXRfcmVnKTsKKwkJd3Jp dGVsKGxvd2VyXzMyX2JpdHMoZGVzYyksIGV4ZWNsaXN0cy0+c3VibWl0X3JlZyk7CisJfQogfQog CiBzdGF0aWMgdm9pZCBleGVjbGlzdHNfc3VibWl0X3BvcnRzKHN0cnVjdCBpbnRlbF9lbmdpbmVf Y3MgKmVuZ2luZSkKIHsKLQlzdHJ1Y3QgZXhlY2xpc3RfcG9ydCAqcG9ydCA9IGVuZ2luZS0+ZXhl Y2xpc3RzLnBvcnQ7CisJc3RydWN0IGludGVsX2VuZ2luZV9leGVjbGlzdHMgKmV4ZWNsaXN0cyA9 ICZlbmdpbmUtPmV4ZWNsaXN0czsKKwlzdHJ1Y3QgZXhlY2xpc3RfcG9ydCAqcG9ydCA9IGV4ZWNs aXN0cy0+cG9ydDsKIAl1bnNpZ25lZCBpbnQgbjsKIAotCWZvciAobiA9IGV4ZWNsaXN0c19udW1f cG9ydHMoJmVuZ2luZS0+ZXhlY2xpc3RzKTsgbi0tOyApIHsKKwkvKgorCSAqIEVMU1Egbm90ZTog dGhlIHN1Ym1pdCBxdWV1ZSBpcyBub3QgY2xlYXJlZCBhZnRlciBiZWluZyBzdWJtaXR0ZWQKKwkg KiB0byB0aGUgSFcgc28gd2UgbmVlZCB0byBtYWtlIHN1cmUgd2UgYWx3YXlzIGNsZWFuIGl0IHVw LiBUaGlzIGlzCisJICogY3VycmVudGx5IGVuc3VyZWQgYnkgdGhlIGZhY3QgdGhhdCB3ZSBhbHdh eXMgd3JpdGUgdGhlIHNhbWUgbnVtYmVyCisJICogb2YgZWxzcSBlbnRyaWVzLCBrZWVwIHRoaXMg aW4gbWluZCBiZWZvcmUgY2hhbmdpbmcgdGhlIGxvb3AgYmVsb3cuCisJICovCisJZm9yIChuID0g ZXhlY2xpc3RzX251bV9wb3J0cyhleGVjbGlzdHMpOyBuLS07ICkgewogCQlzdHJ1Y3QgZHJtX2k5 MTVfZ2VtX3JlcXVlc3QgKnJxOwogCQl1bnNpZ25lZCBpbnQgY291bnQ7CiAJCXU2NCBkZXNjOwpA QCAtNDMzLDkgKzQ0NSwxNCBAQCBzdGF0aWMgdm9pZCBleGVjbGlzdHNfc3VibWl0X3BvcnRzKHN0 cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKIAkJCWRlc2MgPSAwOwogCQl9CiAKLQkJZWxz cF93cml0ZShkZXNjLCBlbmdpbmUtPmV4ZWNsaXN0cy5lbHNwKTsKKwkJd3JpdGVfZGVzYyhleGVj bGlzdHMsIGRlc2MsIG4pOwogCX0KLQlleGVjbGlzdHNfY2xlYXJfYWN0aXZlKCZlbmdpbmUtPmV4 ZWNsaXN0cywgRVhFQ0xJU1RTX0FDVElWRV9IV0FDSyk7CisKKwkvKiB3ZSBuZWVkIHRvIG1hbnVh bGx5IGxvYWQgdGhlIHN1Ym1pdCBxdWV1ZSAqLworCWlmIChleGVjbGlzdHMtPmN0cmxfcmVnKQor CQl3cml0ZWwoRUxfQ1RSTF9MT0FELCBleGVjbGlzdHMtPmN0cmxfcmVnKTsKKworCWV4ZWNsaXN0 c19jbGVhcl9hY3RpdmUoZXhlY2xpc3RzLCBFWEVDTElTVFNfQUNUSVZFX0hXQUNLKTsKIH0KIAog c3RhdGljIGJvb2wgY3R4X3NpbmdsZV9wb3J0X3N1Ym1pc3Npb24oY29uc3Qgc3RydWN0IGk5MTVf Z2VtX2NvbnRleHQgKmN0eCkKQEAgLTQ2OSwxMSArNDg2LDEyIEBAIHN0YXRpYyB2b2lkIHBvcnRf YXNzaWduKHN0cnVjdCBleGVjbGlzdF9wb3J0ICpwb3J0LAogCiBzdGF0aWMgdm9pZCBpbmplY3Rf cHJlZW1wdF9jb250ZXh0KHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKIHsKKwlzdHJ1 Y3QgaW50ZWxfZW5naW5lX2V4ZWNsaXN0cyAqZXhlY2xpc3RzID0gJmVuZ2luZS0+ZXhlY2xpc3Rz OwogCXN0cnVjdCBpbnRlbF9jb250ZXh0ICpjZSA9CiAJCSZlbmdpbmUtPmk5MTUtPnByZWVtcHRf Y29udGV4dC0+ZW5naW5lW2VuZ2luZS0+aWRdOwogCXVuc2lnbmVkIGludCBuOwogCi0JR0VNX0JV R19PTihlbmdpbmUtPmV4ZWNsaXN0cy5wcmVlbXB0X2NvbXBsZXRlX3N0YXR1cyAhPQorCUdFTV9C VUdfT04oZXhlY2xpc3RzLT5wcmVlbXB0X2NvbXBsZXRlX3N0YXR1cyAhPQogCQkgICB1cHBlcl8z Ml9iaXRzKGNlLT5scmNfZGVzYykpOwogCUdFTV9CVUdfT04oIUlTX0FMSUdORUQoY2UtPnJpbmct PnNpemUsIFdBX1RBSUxfQllURVMpKTsKIApAQCAtNDg5LDExICs1MDcsMTYgQEAgc3RhdGljIHZv aWQgaW5qZWN0X3ByZWVtcHRfY29udGV4dChzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUp CiAJCQkJICAgICAgQ1RYX0NUUkxfRU5HSU5FX0NUWF9TQVZFX0lOSElCSVQpKTsKIAogCUdFTV9U UkFDRSgiJXNcbiIsIGVuZ2luZS0+bmFtZSk7Ci0JZm9yIChuID0gZXhlY2xpc3RzX251bV9wb3J0 cygmZW5naW5lLT5leGVjbGlzdHMpOyAtLW47ICkKLQkJZWxzcF93cml0ZSgwLCBlbmdpbmUtPmV4 ZWNsaXN0cy5lbHNwKTsKKwlmb3IgKG4gPSBleGVjbGlzdHNfbnVtX3BvcnRzKGV4ZWNsaXN0cyk7 IC0tbjsgKQorCQl3cml0ZV9kZXNjKGV4ZWNsaXN0cywgMCwgbik7CisKKwl3cml0ZV9kZXNjKGV4 ZWNsaXN0cywgY2UtPmxyY19kZXNjLCBuKTsKKworCS8qIHdlIG5lZWQgdG8gbWFudWFsbHkgbG9h ZCB0aGUgc3VibWl0IHF1ZXVlICovCisJaWYgKGV4ZWNsaXN0cy0+Y3RybF9yZWcpCisJCXdyaXRl bChFTF9DVFJMX0xPQUQsIGV4ZWNsaXN0cy0+Y3RybF9yZWcpOwogCi0JZWxzcF93cml0ZShjZS0+ bHJjX2Rlc2MsIGVuZ2luZS0+ZXhlY2xpc3RzLmVsc3ApOwotCWV4ZWNsaXN0c19jbGVhcl9hY3Rp dmUoJmVuZ2luZS0+ZXhlY2xpc3RzLCBFWEVDTElTVFNfQUNUSVZFX0hXQUNLKTsKKwlleGVjbGlz dHNfY2xlYXJfYWN0aXZlKGV4ZWNsaXN0cywgRVhFQ0xJU1RTX0FDVElWRV9IV0FDSyk7CiB9CiAK IHN0YXRpYyB2b2lkIGV4ZWNsaXN0c19kZXF1ZXVlKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVu Z2luZSkKQEAgLTIwNzUsOCArMjA5OCwxNSBAQCBzdGF0aWMgaW50IGxvZ2ljYWxfcmluZ19pbml0 KHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKIAlpZiAocmV0KQogCQlnb3RvIGVycm9y OwogCi0JZW5naW5lLT5leGVjbGlzdHMuZWxzcCA9Ci0JCWVuZ2luZS0+aTkxNS0+cmVncyArIGk5 MTVfbW1pb19yZWdfb2Zmc2V0KFJJTkdfRUxTUChlbmdpbmUpKTsKKwlpZiAoSEFTX0xPR0lDQUxf UklOR19FTFNRKGVuZ2luZS0+aTkxNSkpIHsKKwkJZW5naW5lLT5leGVjbGlzdHMuc3VibWl0X3Jl ZyA9IGVuZ2luZS0+aTkxNS0+cmVncyArCisJCQlpOTE1X21taW9fcmVnX29mZnNldChSSU5HX0VY RUNMSVNUX1NRX0NPTlRFTlRTKGVuZ2luZSkpOworCQllbmdpbmUtPmV4ZWNsaXN0cy5jdHJsX3Jl ZyA9IGVuZ2luZS0+aTkxNS0+cmVncyArCisJCQlpOTE1X21taW9fcmVnX29mZnNldChSSU5HX0VY RUNMSVNUX0NPTlRST0woZW5naW5lKSk7CisJfSBlbHNlIHsKKwkJZW5naW5lLT5leGVjbGlzdHMu c3VibWl0X3JlZyA9IGVuZ2luZS0+aTkxNS0+cmVncyArCisJCQlpOTE1X21taW9fcmVnX29mZnNl dChSSU5HX0VMU1AoZW5naW5lKSk7CisJfQogCiAJZW5naW5lLT5leGVjbGlzdHMucHJlZW1wdF9j b21wbGV0ZV9zdGF0dXMgPSB+MHU7CiAJaWYgKGVuZ2luZS0+aTkxNS0+cHJlZW1wdF9jb250ZXh0 KQpAQCAtMjM0NSw3ICsyMzc1LDcgQEAgcG9wdWxhdGVfbHJfY29udGV4dChzdHJ1Y3QgaTkxNV9n ZW1fY29udGV4dCAqY3R4LAogCWlmICghZW5naW5lLT5kZWZhdWx0X3N0YXRlKQogCQlyZWdzW0NU WF9DT05URVhUX0NPTlRST0wgKyAxXSB8PQogCQkJX01BU0tFRF9CSVRfRU5BQkxFKENUWF9DVFJM X0VOR0lORV9DVFhfUkVTVE9SRV9JTkhJQklUKTsKLQlpZiAoY3R4ID09IGN0eC0+aTkxNS0+cHJl ZW1wdF9jb250ZXh0KQorCWlmIChjdHggPT0gY3R4LT5pOTE1LT5wcmVlbXB0X2NvbnRleHQgJiYg SU5URUxfR0VOKGVuZ2luZS0+aTkxNSkgPCAxMSkKIAkJcmVnc1tDVFhfQ09OVEVYVF9DT05UUk9M ICsgMV0gfD0KIAkJCV9NQVNLRURfQklUX0VOQUJMRShDVFhfQ1RSTF9FTkdJTkVfQ1RYX1JFU1RP UkVfSU5ISUJJVCB8CiAJCQkJCSAgIENUWF9DVFJMX0VOR0lORV9DVFhfU0FWRV9JTkhJQklUKTsK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5oIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfbHJjLmgKaW5kZXggNjM2Y2VkNDEyMjVkLi41OWQ3Yjg2MDEyZTkg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5oCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5oCkBAIC00Miw2ICs0Miw5IEBACiAjZGVmaW5lIFJJ TkdfQ09OVEVYVF9TVEFUVVNfQlVGX0xPKGVuZ2luZSwgaSkJX01NSU8oKGVuZ2luZSktPm1taW9f YmFzZSArIDB4MzcwICsgKGkpICogOCkKICNkZWZpbmUgUklOR19DT05URVhUX1NUQVRVU19CVUZf SEkoZW5naW5lLCBpKQlfTU1JTygoZW5naW5lKS0+bW1pb19iYXNlICsgMHgzNzAgKyAoaSkgKiA4 ICsgNCkKICNkZWZpbmUgUklOR19DT05URVhUX1NUQVRVU19QVFIoZW5naW5lKQkJX01NSU8oKGVu Z2luZSktPm1taW9fYmFzZSArIDB4M2EwKQorI2RlZmluZSBSSU5HX0VYRUNMSVNUX1NRX0NPTlRF TlRTKGVuZ2luZSkJX01NSU8oKGVuZ2luZSktPm1taW9fYmFzZSArIDB4NTEwKQorI2RlZmluZSBS SU5HX0VYRUNMSVNUX0NPTlRST0woZW5naW5lKQkJX01NSU8oKGVuZ2luZSktPm1taW9fYmFzZSAr IDB4NTUwKQorI2RlZmluZQkgIEVMX0NUUkxfTE9BRAkJCQkoMSA8PCAwKQogCiAvKiBUaGUgZG9j cyBzcGVjaWZ5IHRoYXQgdGhlIHdyaXRlIHBvaW50ZXIgd3JhcHMgYXJvdW5kIGFmdGVyIDVoLCAi QWZ0ZXIgc3RhdHVzCiAgKiBpcyB3cml0dGVuIG91dCB0byB0aGUgbGFzdCBhdmFpbGFibGUgc3Rh dHVzIFFXIGF0IG9mZnNldCA1aCwgdGhpcyBwb2ludGVyCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9yaW5nYnVmZmVyLmgKaW5kZXggY2FlZDY0YmIwMmRhLi5lNTZlMGY5NWE3MjMgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuaAorKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmgKQEAgLTIwNyw5ICsyMDcsMTcgQEAgc3Ry dWN0IGludGVsX2VuZ2luZV9leGVjbGlzdHMgewogCWJvb2wgbm9fcHJpb2xpc3Q7CiAKIAkvKioK LQkgKiBAZWxzcDogdGhlIEV4ZWNMaXN0IFN1Ym1pc3Npb24gUG9ydCByZWdpc3RlcgorCSAqIEBz dWJtaXRfcmVnOiBnZW4tc3BlY2lmaWMgZXhlY2xpc3Qgc3VibWlzc2lvbiByZWdpc3RlcgorCSAq IHNldCB0byB0aGUgRXhlY0xpc3QgU3VibWlzc2lvbiBQb3J0IChlbHNwKSByZWdpc3RlciBwcmUt R2VuMTEgYW5kIHRvCisJICogdGhlIEV4ZWNMaXN0IFN1Ym1pc3Npb24gUXVldWUgQ29udGVudHMg cmVnaXN0ZXIgYXJyYXkgZm9yIEdlbjExKwogCSAqLwotCXUzMiBfX2lvbWVtICplbHNwOworCXUz MiBfX2lvbWVtICpzdWJtaXRfcmVnOworCisJLyoqCisJICogQGN0cmxfcmVnOiB0aGUgZW5oYW5j ZWQgZXhlY2xpc3RzIGNvbnRyb2wgcmVnaXN0ZXIsIHVzZWQgdG8gbG9hZCB0aGUKKwkgKiBzdWJt aXQgcXVldWUgb24gdGhlIEhXIGFuZCB0byByZXF1ZXN0IHByZWVtcHRpb25zIHRvIGlkbGUKKwkg Ki8KKwl1MzIgX19pb21lbSAqY3RybF9yZWc7CiAKIAkvKioKIAkgKiBAcG9ydDogZXhlY2xpc3Qg cG9ydCBzdGF0ZXMKLS0gCjIuMTQuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJl ZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGlu Zm8vaW50ZWwtZ2Z4Cg==