From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniele Ceraolo Spurio Subject: Re: [PATCH v3] drm/i915/gen11: Preempt-to-idle support in execlists. Date: Fri, 18 May 2018 14:08:38 -0700 Message-ID: References: <1522163879-10837-1-git-send-email-tomasz.lis@intel.com> <1526053522-3745-1-git-send-email-tomasz.lis@intel.com> <1526053522-3745-2-git-send-email-tomasz.lis@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTPS id 3E7F06EF03 for ; Fri, 18 May 2018 21:08:39 +0000 (UTC) In-Reply-To: <1526053522-3745-2-git-send-email-tomasz.lis@intel.com> Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Tomasz Lis , intel-gfx@lists.freedesktop.org Cc: mika.kuoppala@intel.com List-Id: intel-gfx@lists.freedesktop.org CgpPbiAxMS8wNS8xOCAwODo0NSwgVG9tYXN6IExpcyB3cm90ZToKPiBUaGUgcGF0Y2ggYWRkcyBz dXBwb3J0IG9mIHByZWVtcHQtdG8taWRsZSByZXF1ZXN0aW5nIGJ5IHNldHRpbmcgYSBwcm9wZXIK PiBiaXQgd2l0aGluIEV4ZWNsaXN0IENvbnRyb2wgUmVnaXN0ZXIsIGFuZCByZWNlaXZpbmcgcHJl ZW1wdGlvbiByZXN1bHQgZnJvbQo+IENvbnRleHQgU3RhdHVzIEJ1ZmZlci4KPiAKPiBQcmVlbXB0 aW9uIGluIHByZXZpb3VzIGdlbnMgcmVxdWlyZWQgYSBzcGVjaWFsIGJhdGNoIGJ1ZmZlciB0byBi ZSBleGVjdXRlZCwKPiBzbyB0aGUgQ29tbWFuZCBTdHJlYW1lciBuZXZlciBwcmVlbXB0ZWQgdG8g aWRsZSBkaXJlY3RseS4gSW4gSWNlbGFrZSBpdCBpcwo+IHBvc3NpYmxlLCBhcyB0aGVyZSBpcyBh IGhhcmR3YXJlIG1lY2hhbmlzbSB0byBpbmZvcm0gdGhlIGtlcm5lbCBhYm91dAo+IHN0YXR1cyBv ZiB0aGUgcHJlZW1wdGlvbiByZXF1ZXN0Lgo+IAo+IFRoaXMgcGF0Y2ggZG9lcyBub3QgY292ZXIg dXNpbmcgdGhlIG5ldyBwcmVlbXB0aW9uIG1lY2hhbmlzbSB3aGVuIEd1QyBpcwo+IGFjdGl2ZS4K PiAKPiB2MjogQWRkZWQgbmVlZHNfcHJlZW1wdF9jb250ZXh0KCkgY2hhbmdlIHNvIHRoYXQgaXQg aXMgbm90IGNyZWF0ZWQgd2hlbgo+ICAgICAgcHJlZW1wdC10by1pZGxlIGlzIHN1cHBvcnRlZC4g KENocmlzKQo+ICAgICAgVXBkYXRlZCBzZXR0aW5nIEhXQUNLIGZsYWcgc28gdGhhdCBpdCBpcyBj bGVhcmVkIGFmdGVyCj4gICAgICBwcmVlbXB0LXRvLWRsZS4gKENocmlzLCBEYW5pZWxlKQo+ICAg ICAgVXBkYXRlZCB0byB1c2UgSTkxNV9FTkdJTkVfSEFTX1BSRUVNUFRJT04gZmxhZy4gKENocmlz KQo+IAo+IHYzOiBGaXhlZCBuZWVkc19wcmVlbXB0X2NvbnRleHQoKSBjaGFuZ2UuIChDaHJpcykK PiAgICAgIE1lcmdlZCBwcmVlbXB0aW9uIHRyaWdnZXIgZnVuY3Rpb25zIHRvIG9uZS4gKENocmlz KQo+ICAgICAgRml4ZWQgY29udGV4dCBzdGF0ZSB0byBub3QgYXNzdW1lIENPTVBMRVRFRF9NQVNL IGFmdGVyIHByZWVtcHRpb24sCj4gICAgICBzaW5jZSBpZGxlLXRvLWlkbGUgY2FzZSB3aWxsIG5v dCBoYXZlIGl0IHNldC4KPiAKPiBCc3BlYzogMTg5MjIKPiBTaWduZWQtb2ZmLWJ5OiBUb21hc3og TGlzIDx0b21hc3oubGlzQGludGVsLmNvbT4KPiAtLS0KPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZHJ2LmggICAgICAgICAgfCAgIDIgKwo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9nZW1fY29udGV4dC5jICB8ICAgNSArLQo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9w Y2kuYyAgICAgICAgICB8ICAgMyArLQo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGV2 aWNlX2luZm8uaCB8ICAgMSArCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYyAg ICAgICAgIHwgMTE1ICsrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0KPiAgIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2xyYy5oICAgICAgICAgfCAgIDEgKwo+ICAgNiBmaWxlcyBjaGFu Z2VkLCA5MiBpbnNlcnRpb25zKCspLCAzNSBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZHJ2LmgKPiBpbmRleCA1N2ZiM2FhLi42ZTk2NDdiIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2Rydi5oCj4gQEAgLTI1MzUsNiArMjUzNSw4IEBAIGludGVsX2luZm8oY29uc3Qgc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ICAgCQkoKGRldl9wcml2KS0+aW5mby5oYXNfbG9n aWNhbF9yaW5nX2Vsc3EpCj4gICAjZGVmaW5lIEhBU19MT0dJQ0FMX1JJTkdfUFJFRU1QVElPTihk ZXZfcHJpdikgXAo+ICAgCQkoKGRldl9wcml2KS0+aW5mby5oYXNfbG9naWNhbF9yaW5nX3ByZWVt cHRpb24pCj4gKyNkZWZpbmUgSEFTX0hXX1BSRUVNUFRfVE9fSURMRShkZXZfcHJpdikgXAo+ICsJ CSgoZGV2X3ByaXYpLT5pbmZvLmhhc19od19wcmVlbXB0X3RvX2lkbGUpCj4gICAKPiAgICNkZWZp bmUgSEFTX0VYRUNMSVNUUyhkZXZfcHJpdikgSEFTX0xPR0lDQUxfUklOR19DT05URVhUUyhkZXZf cHJpdikKPiAgIAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9j b250ZXh0LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9jb250ZXh0LmMKPiBpbmRl eCAzM2Y4YTRiLi5iZGFjMTI5IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZ2VtX2NvbnRleHQuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2Nv bnRleHQuYwo+IEBAIC00NTQsNyArNDU0LDEwIEBAIGRlc3Ryb3lfa2VybmVsX2NvbnRleHQoc3Ry dWN0IGk5MTVfZ2VtX2NvbnRleHQgKipjdHhwKQo+ICAgCj4gICBzdGF0aWMgYm9vbCBuZWVkc19w cmVlbXB0X2NvbnRleHQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpCj4gICB7Cj4gLQly ZXR1cm4gSEFTX0xPR0lDQUxfUklOR19QUkVFTVBUSU9OKGk5MTUpOwo+ICsJcmV0dXJuIEhBU19M T0dJQ0FMX1JJTkdfUFJFRU1QVElPTihpOTE1KSAmJgo+ICsJICAgICAgICghSEFTX0hXX1BSRUVN UFRfVE9fSURMRShpOTE1KSB8fAo+ICsJCShIQVNfSFdfUFJFRU1QVF9UT19JRExFKGk5MTUpICYm Cj4gKwkJIVVTRVNfR1VDX1NVQk1JU1NJT04oaTkxNSkpKTsKCldoeSBkbyB3ZSBrZWVwIHRoZSBw cmVlbXB0IGNvbnRleHQgZm9yICFVU0VTX0dVQ19TVUJNSVNTSU9OKGk5MTUpIGV2ZW4gCmlmIEhB U19IV19QUkVFTVBUX1RPX0lETEUoaTkxNSk/IEFmdGVyIHRoaXMgcGF0Y2ggd2Ugc2hvdWxkbid0 IG5lZWQgaXQgCmFueW1vcmUsIHJpZ2h0PwoKPiAgIH0KPiAgIAo+ICAgaW50IGk5MTVfZ2VtX2Nv bnRleHRzX2luaXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BjaS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9wY2kuYwo+IGluZGV4IDQzNjQ5MjIuLjY2YjY3MDAgMTAwNjQ0Cj4gLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wY2kuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfcGNpLmMKPiBAQCAtNTk1LDcgKzU5NSw4IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgaW50 ZWxfZGV2aWNlX2luZm8gaW50ZWxfY2Fubm9ubGFrZV9pbmZvID0gewo+ICAgCUdFTigxMSksIFwK PiAgIAkuZGRiX3NpemUgPSAyMDQ4LCBcCj4gICAJLmhhc19jc3IgPSAwLCBcCj4gLQkuaGFzX2xv Z2ljYWxfcmluZ19lbHNxID0gMQo+ICsJLmhhc19sb2dpY2FsX3JpbmdfZWxzcSA9IDEsIFwKPiAr CS5oYXNfaHdfcHJlZW1wdF90b19pZGxlID0gMQo+ICAgCj4gICBzdGF0aWMgY29uc3Qgc3RydWN0 IGludGVsX2RldmljZV9pbmZvIGludGVsX2ljZWxha2VfMTFfaW5mbyA9IHsKPiAgIAlHRU4xMV9G RUFUVVJFUywKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGV2aWNl X2luZm8uaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RldmljZV9pbmZvLmgKPiBpbmRl eCA5MzNlMzE2Li40ZWI5N2I1IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2RldmljZV9pbmZvLmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZXZp Y2VfaW5mby5oCj4gQEAgLTk4LDYgKzk4LDcgQEAgZW51bSBpbnRlbF9wbGF0Zm9ybSB7Cj4gICAJ ZnVuYyhoYXNfbG9naWNhbF9yaW5nX2NvbnRleHRzKTsgXAo+ICAgCWZ1bmMoaGFzX2xvZ2ljYWxf cmluZ19lbHNxKTsgXAo+ICAgCWZ1bmMoaGFzX2xvZ2ljYWxfcmluZ19wcmVlbXB0aW9uKTsgXAo+ ICsJZnVuYyhoYXNfaHdfcHJlZW1wdF90b19pZGxlKTsgXAo+ICAgCWZ1bmMoaGFzX292ZXJsYXkp OyBcCj4gICAJZnVuYyhoYXNfcG9vbGVkX2V1KTsgXAo+ICAgCWZ1bmMoaGFzX3Bzcik7IFwKPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9scmMuYwo+IGluZGV4IDI5ZGNmMzQuLjhmZTY3OTUgMTAwNjQ0Cj4g LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKPiArKysgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9scmMuYwo+IEBAIC0xNTQsNiArMTU0LDcgQEAKPiAgICNkZWZpbmUg R0VOOF9DVFhfU1RBVFVTX0FDVElWRV9JRExFCSgxIDw8IDMpCj4gICAjZGVmaW5lIEdFTjhfQ1RY X1NUQVRVU19DT01QTEVURQkoMSA8PCA0KQo+ICAgI2RlZmluZSBHRU44X0NUWF9TVEFUVVNfTElU RV9SRVNUT1JFCSgxIDw8IDE1KQo+ICsjZGVmaW5lIEdFTjExX0NUWF9TVEFUVVNfUFJFRU1QVF9J RExFCSgxIDw8IDI5KQo+ICAgCj4gICAjZGVmaW5lIEdFTjhfQ1RYX1NUQVRVU19DT01QTEVURURf TUFTSyBcCj4gICAJIChHRU44X0NUWF9TVEFUVVNfQ09NUExFVEUgfCBHRU44X0NUWF9TVEFUVVNf UFJFRU1QVEVEKQo+IEBAIC01MjYsMzEgKzUyNyw0OSBAQCBzdGF0aWMgdm9pZCBwb3J0X2Fzc2ln bihzdHJ1Y3QgZXhlY2xpc3RfcG9ydCAqcG9ydCwgc3RydWN0IGk5MTVfcmVxdWVzdCAqcnEpCj4g ICBzdGF0aWMgdm9pZCBpbmplY3RfcHJlZW1wdF9jb250ZXh0KHN0cnVjdCBpbnRlbF9lbmdpbmVf Y3MgKmVuZ2luZSkKCkZvciBnZW4xMSsgd2UgZG9uJ3QgaW5qZWN0IGEgcHJlZW1wdCBjb250ZXh0 IGFueW1vcmUsIG1heWJlIHdlIGNhbiAKcmVuYW1lIHRoaXMgZnVuY3Rpb24gdG8gc29tZXRoaW5n IGxpa2UgImluamVjdF9wcmVlbXB0KCkiLgoKPiAgIHsKPiAgIAlzdHJ1Y3QgaW50ZWxfZW5naW5l X2V4ZWNsaXN0cyAqZXhlY2xpc3RzID0gJmVuZ2luZS0+ZXhlY2xpc3RzOwo+IC0Jc3RydWN0IGlu dGVsX2NvbnRleHQgKmNlID0KPiAtCQl0b19pbnRlbF9jb250ZXh0KGVuZ2luZS0+aTkxNS0+cHJl ZW1wdF9jb250ZXh0LCBlbmdpbmUpOwo+IC0JdW5zaWduZWQgaW50IG47Cj4gICAKPiAtCUdFTV9C VUdfT04oZXhlY2xpc3RzLT5wcmVlbXB0X2NvbXBsZXRlX3N0YXR1cyAhPQo+IC0JCSAgIHVwcGVy XzMyX2JpdHMoY2UtPmxyY19kZXNjKSk7Cj4gLQlHRU1fQlVHX09OKChjZS0+bHJjX3JlZ19zdGF0 ZVtDVFhfQ09OVEVYVF9DT05UUk9MICsgMV0gJgo+IC0JCSAgICBfTUFTS0VEX0JJVF9FTkFCTEUo Q1RYX0NUUkxfRU5HSU5FX0NUWF9SRVNUT1JFX0lOSElCSVQgfAo+IC0JCQkJICAgICAgIENUWF9D VFJMX0VOR0lORV9DVFhfU0FWRV9JTkhJQklUKSkgIT0KPiAtCQkgICBfTUFTS0VEX0JJVF9FTkFC TEUoQ1RYX0NUUkxfRU5HSU5FX0NUWF9SRVNUT1JFX0lOSElCSVQgfAo+IC0JCQkJICAgICAgQ1RY X0NUUkxfRU5HSU5FX0NUWF9TQVZFX0lOSElCSVQpKTsKPiArCWlmIChIQVNfSFdfUFJFRU1QVF9U T19JRExFKGVuZ2luZS0+aTkxNSkpIHsKPiArCQkvKgo+ICsJCSAqIElmIHdlIGhhdmUgaGFyZHdh cmUgcHJlZW1wdC10by1pZGxlLCB3ZSBkbyBub3QgbmVlZCB0bwo+ICsJCSAqIGluamVjdCBhbnkg am9iIHRvIHRoZSBoYXJkd2FyZS4gV2Ugb25seSBzZXQgYSBmbGFnLgo+ICsJCSAqLwo+ICsJCUdF TV9UUkFDRSgiJXNcbiIsIGVuZ2luZS0+bmFtZSk7CgpUaGlzIHRyYWNlIGlzIGluIGJvdGggY29u ZGl0aW9uYWwgYnJhbmNoZXMsIG1pZ2h0IGJlIGNsZWFuZXIgdG8ganVzdCBwdXQgCml0IGJlZm9y ZSB0aGUgaWYgc3RhdGVtZW50LgoKPiAgIAo+IC0JLyoKPiAtCSAqIFN3aXRjaCB0byBvdXIgZW1w dHkgcHJlZW1wdCBjb250ZXh0IHNvCj4gLQkgKiB0aGUgc3RhdGUgb2YgdGhlIEdQVSBpcyBrbm93 biAoaWRsZSkuCj4gLQkgKi8KPiAtCUdFTV9UUkFDRSgiJXNcbiIsIGVuZ2luZS0+bmFtZSk7Cj4g LQlmb3IgKG4gPSBleGVjbGlzdHNfbnVtX3BvcnRzKGV4ZWNsaXN0cyk7IC0tbjsgKQo+IC0JCXdy aXRlX2Rlc2MoZXhlY2xpc3RzLCAwLCBuKTsKPiArCQkvKgo+ICsJCSAqIGhhcmR3YXJlIHdoaWNo IEhBU19IV19QUkVFTVBUX1RPX0lETEUoKSwgYWx3YXlzIGFsc28KPiArCQkgKiBIQVNfTE9HSUNB TF9SSU5HX0VMU1EoKSwgc28gd2UgY2FuIGFzc3VtZSBjdHJsX3JlZyBpcyBzZXQKPiArCQkgKi8K PiArCQlHRU1fQlVHX09OKGV4ZWNsaXN0cy0+Y3RybF9yZWcgPT0gTlVMTCk7Cj4gICAKPiAtCXdy aXRlX2Rlc2MoZXhlY2xpc3RzLCBjZS0+bHJjX2Rlc2MsIG4pOwo+ICsJCS8qIHRyaWdnZXIgcHJl ZW1wdGlvbiB0byBpZGxlICovCj4gKwkJd3JpdGVsKEVMX0NUUkxfUFJFRU1QVF9UT19JRExFLCBl eGVjbGlzdHMtPmN0cmxfcmVnKTsKPiArCX0gZWxzZSB7Cj4gKwkJc3RydWN0IGludGVsX2NvbnRl eHQgKmNlID0KPiArCQkJdG9faW50ZWxfY29udGV4dChlbmdpbmUtPmk5MTUtPnByZWVtcHRfY29u dGV4dCwgZW5naW5lKTsKPiArCQl1bnNpZ25lZCBpbnQgbjsKPiAgIAo+IC0JLyogd2UgbmVlZCB0 byBtYW51YWxseSBsb2FkIHRoZSBzdWJtaXQgcXVldWUgKi8KPiAtCWlmIChleGVjbGlzdHMtPmN0 cmxfcmVnKQo+IC0JCXdyaXRlbChFTF9DVFJMX0xPQUQsIGV4ZWNsaXN0cy0+Y3RybF9yZWcpOwo+ ICsJCUdFTV9CVUdfT04oZXhlY2xpc3RzLT5wcmVlbXB0X2NvbXBsZXRlX3N0YXR1cyAhPQo+ICsJ CQkgICB1cHBlcl8zMl9iaXRzKGNlLT5scmNfZGVzYykpOwo+ICsJCUdFTV9CVUdfT04oKGNlLT5s cmNfcmVnX3N0YXRlW0NUWF9DT05URVhUX0NPTlRST0wgKyAxXSAmCj4gKwkJICAgICAgIF9NQVNL RURfQklUX0VOQUJMRShDVFhfQ1RSTF9FTkdJTkVfQ1RYX1JFU1RPUkVfSU5ISUJJVCB8Cj4gKwkJ CQkJICBDVFhfQ1RSTF9FTkdJTkVfQ1RYX1NBVkVfSU5ISUJJVCkpICE9Cj4gKwkJICAgICAgIF9N QVNLRURfQklUX0VOQUJMRShDVFhfQ1RSTF9FTkdJTkVfQ1RYX1JFU1RPUkVfSU5ISUJJVCB8Cj4g KwkJCQkJICBDVFhfQ1RSTF9FTkdJTkVfQ1RYX1NBVkVfSU5ISUJJVCkpOwo+ICsKPiArCQkvKgo+ ICsJCSAqIFN3aXRjaCB0byBvdXIgZW1wdHkgcHJlZW1wdCBjb250ZXh0IHNvCj4gKwkJICogdGhl IHN0YXRlIG9mIHRoZSBHUFUgaXMga25vd24gKGlkbGUpLgo+ICsJCSAqLwo+ICsJCUdFTV9UUkFD RSgiJXNcbiIsIGVuZ2luZS0+bmFtZSk7Cj4gKwkJZm9yIChuID0gZXhlY2xpc3RzX251bV9wb3J0 cyhleGVjbGlzdHMpOyAtLW47ICkKPiArCQkJd3JpdGVfZGVzYyhleGVjbGlzdHMsIDAsIG4pOwo+ ICsKPiArCQl3cml0ZV9kZXNjKGV4ZWNsaXN0cywgY2UtPmxyY19kZXNjLCBuKTsKPiArCj4gKwkJ Lyogd2UgbmVlZCB0byBtYW51YWxseSBsb2FkIHRoZSBzdWJtaXQgcXVldWUgKi8KPiArCQlpZiAo ZXhlY2xpc3RzLT5jdHJsX3JlZykKPiArCQkJd3JpdGVsKEVMX0NUUkxfTE9BRCwgZXhlY2xpc3Rz LT5jdHJsX3JlZyk7Cj4gKwl9Cj4gICAKPiAgIAlleGVjbGlzdHNfY2xlYXJfYWN0aXZlKCZlbmdp bmUtPmV4ZWNsaXN0cywgRVhFQ0xJU1RTX0FDVElWRV9IV0FDSyk7Cj4gICAJZXhlY2xpc3RzX3Nl dF9hY3RpdmUoJmVuZ2luZS0+ZXhlY2xpc3RzLCBFWEVDTElTVFNfQUNUSVZFX1BSRUVNUFQpOwo+ IEBAIC0xMDQ1LDIyICsxMDY0LDUxIEBAIHN0YXRpYyB2b2lkIGV4ZWNsaXN0c19zdWJtaXNzaW9u X3Rhc2tsZXQodW5zaWduZWQgbG9uZyBkYXRhKQo+ICAgCQkJCSAgc3RhdHVzLCBidWZbMipoZWFk ICsgMV0sCj4gICAJCQkJICBleGVjbGlzdHMtPmFjdGl2ZSk7Cj4gICAKPiAtCQkJaWYgKHN0YXR1 cyAmIChHRU44X0NUWF9TVEFUVVNfSURMRV9BQ1RJVkUgfAo+IC0JCQkJICAgICAgR0VOOF9DVFhf U1RBVFVTX1BSRUVNUFRFRCkpCj4gLQkJCQlleGVjbGlzdHNfc2V0X2FjdGl2ZShleGVjbGlzdHMs Cj4gLQkJCQkJCSAgICAgRVhFQ0xJU1RTX0FDVElWRV9IV0FDSyk7Cj4gLQkJCWlmIChzdGF0dXMg JiBHRU44X0NUWF9TVEFUVVNfQUNUSVZFX0lETEUpCj4gKwkJCS8qCj4gKwkJCSAqIENoZWNrIGlm IHByZWVtcHRlZCBmcm9tIGlkbGUgdG8gaWRsZSBkaXJlY3RseS4KPiArCQkJICogVGhlIFNUQVRV U19JRExFX0FDVElWRSBmbGFnIGlzIHVzZWQgdG8gbWFyawo+ICsJCQkgKiBzdWNoIHRyYW5zaXRp b24uCj4gKwkJCSAqLwo+ICsJCQlpZiAoKHN0YXR1cyAmIEdFTjhfQ1RYX1NUQVRVU19JRExFX0FD VElWRSkgJiYKPiArCQkJICAgICAoc3RhdHVzICYgR0VOMTFfQ1RYX1NUQVRVU19QUkVFTVBUX0lE TEUpKSB7Cj4gKwo+ICAgCQkJCWV4ZWNsaXN0c19jbGVhcl9hY3RpdmUoZXhlY2xpc3RzLAo+ICAg CQkJCQkJICAgICAgIEVYRUNMSVNUU19BQ1RJVkVfSFdBQ0spOwoKRVhFQ0xJU1RTX0FDVElWRV9I V0FDSyBzaG91bGQgYmUgYWxyZWFkeSBjbGVhciBoZXJlICh3ZSBjbGVhciBpdCBib3RoIAp3aGVu IHdlIGluamVjdCB0aGUgcHJlLWVtcHRpb24gYW5kIG9uIHRoZSBwcmV2aW91cyBBLT5JIENTQiBl dmVudCksIHNvIAp0aGVyZSBzaG91bGQgYmUgbm8gbmVlZCB0byBjbGVhciBpdC4KCj4gICAKPiAt CQkJaWYgKCEoc3RhdHVzICYgR0VOOF9DVFhfU1RBVFVTX0NPTVBMRVRFRF9NQVNLKSkKPiAtCQkJ CWNvbnRpbnVlOwo+ICsJCQkJLyoKPiArCQkJCSAqIFdlIGNvdWxkIG5vdCBoYXZlIENPTVBMRVRF RCBhbnl0aGluZwo+ICsJCQkJICogaWYgd2Ugd2VyZSBpZGxlIGJlZm9yZSBwcmVlbXB0aW9uLgo+ ICsJCQkJICovCj4gKwkJCQlHRU1fQlVHX09OKHN0YXR1cyAmIEdFTjhfQ1RYX1NUQVRVU19DT01Q TEVURURfTUFTSyk7Cj4gKwkJCX0KPiArCj4gKwkJCWVsc2UgewoKbml0cGljazogZm9ybWF0dGlu ZyBpcyB3cm9uZyBoZXJlLgoKRGFuaWVsZQoKPiArCQkJCWlmIChzdGF0dXMgJiAoR0VOOF9DVFhf U1RBVFVTX0lETEVfQUNUSVZFIHwKPiArCQkJCQkgICAgICBHRU44X0NUWF9TVEFUVVNfUFJFRU1Q VEVEKSkKPiArCQkJCQlleGVjbGlzdHNfc2V0X2FjdGl2ZShleGVjbGlzdHMsCj4gKwkJCQkJCSAg ICAgICBFWEVDTElTVFNfQUNUSVZFX0hXQUNLKTsKPiArCj4gKwkJCQlpZiAoc3RhdHVzICYgR0VO OF9DVFhfU1RBVFVTX0FDVElWRV9JRExFKQo+ICsJCQkJCWV4ZWNsaXN0c19jbGVhcl9hY3RpdmUo ZXhlY2xpc3RzLAo+ICsJCQkJCQkgICAgICAgRVhFQ0xJU1RTX0FDVElWRV9IV0FDSyk7Cj4gICAK PiAtCQkJLyogV2Ugc2hvdWxkIG5ldmVyIGdldCBhIENPTVBMRVRFRCB8IElETEVfQUNUSVZFISAq Lwo+IC0JCQlHRU1fQlVHX09OKHN0YXR1cyAmIEdFTjhfQ1RYX1NUQVRVU19JRExFX0FDVElWRSk7 Cj4gKwkJCQlpZiAoIShzdGF0dXMgJiBHRU44X0NUWF9TVEFUVVNfQ09NUExFVEVEX01BU0spKQo+ ICsJCQkJCWNvbnRpbnVlOwo+ICAgCj4gLQkJCWlmIChzdGF0dXMgJiBHRU44X0NUWF9TVEFUVVNf Q09NUExFVEUgJiYKPiAtCQkJICAgIGJ1ZlsyKmhlYWQgKyAxXSA9PSBleGVjbGlzdHMtPnByZWVt cHRfY29tcGxldGVfc3RhdHVzKSB7Cj4gKwkJCQkvKgo+ICsJCQkJICogV2Ugc2hvdWxkIG5ldmVy IGdldCBhCj4gKwkJCQkgKiBDT01QTEVURUQgfCBJRExFX0FDVElWRSEKPiArCQkJCSAqLwo+ICsJ CQkJR0VNX0JVR19PTihzdGF0dXMgJiBHRU44X0NUWF9TVEFUVVNfSURMRV9BQ1RJVkUpOwo+ICsJ CQl9Cj4gKwo+ICsJCQkvKgo+ICsJCQkgKiBDaGVjayBpZiBwcmVlbXB0ZWQgdG8gcmVhbCBpZGxl LCBlaXRoZXIgZGlyZWN0bHkgb3IKPiArCQkJICogdGhlIHByZWVtcHRpdmUgY29udGV4dCBhbHJl YWR5IGZpbmlzaGVkIGV4ZWN1dGluZwo+ICsJCQkgKi8KPiArCQkJaWYgKChzdGF0dXMgJiBHRU4x MV9DVFhfU1RBVFVTX1BSRUVNUFRfSURMRSkgfHwKPiArCQkJICAgIChzdGF0dXMgJiBHRU44X0NU WF9TVEFUVVNfQ09NUExFVEUgJiYKPiArCQkJICAgIGJ1ZlsyKmhlYWQgKyAxXSA9PSBleGVjbGlz dHMtPnByZWVtcHRfY29tcGxldGVfc3RhdHVzKSkgewo+ICAgCQkJCUdFTV9UUkFDRSgiJXMgcHJl ZW1wdC1pZGxlXG4iLCBlbmdpbmUtPm5hbWUpOwo+ICAgCj4gICAJCQkJZXhlY2xpc3RzX2NhbmNl bF9wb3J0X3JlcXVlc3RzKGV4ZWNsaXN0cyk7Cj4gQEAgLTIyMTcsNyArMjI2NSw4IEBAIHN0YXRp YyB2b2lkIGV4ZWNsaXN0c19zZXRfZGVmYXVsdF9zdWJtaXNzaW9uKHN0cnVjdCBpbnRlbF9lbmdp bmVfY3MgKmVuZ2luZSkKPiAgIAllbmdpbmUtPnVucGFyayA9IE5VTEw7Cj4gICAKPiAgIAllbmdp bmUtPmZsYWdzIHw9IEk5MTVfRU5HSU5FX1NVUFBPUlRTX1NUQVRTOwo+IC0JaWYgKGVuZ2luZS0+ aTkxNS0+cHJlZW1wdF9jb250ZXh0KQo+ICsJaWYgKGVuZ2luZS0+aTkxNS0+cHJlZW1wdF9jb250 ZXh0IHx8Cj4gKwkgICAgSEFTX0hXX1BSRUVNUFRfVE9fSURMRShlbmdpbmUtPmk5MTUpKQo+ICAg CQllbmdpbmUtPmZsYWdzIHw9IEk5MTVfRU5HSU5FX0hBU19QUkVFTVBUSU9OOwo+ICAgCj4gICAJ ZW5naW5lLT5pOTE1LT5jYXBzLnNjaGVkdWxlciA9Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2xyYy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmgK PiBpbmRleCA0ZWM3ZDhkLi5iMTA4M2FjIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2xyYy5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmgK PiBAQCAtNDUsNiArNDUsNyBAQAo+ICAgI2RlZmluZSBSSU5HX0VYRUNMSVNUX1NRX0NPTlRFTlRT KGVuZ2luZSkJX01NSU8oKGVuZ2luZSktPm1taW9fYmFzZSArIDB4NTEwKQo+ICAgI2RlZmluZSBS SU5HX0VYRUNMSVNUX0NPTlRST0woZW5naW5lKQkJX01NSU8oKGVuZ2luZSktPm1taW9fYmFzZSAr IDB4NTUwKQo+ICAgI2RlZmluZQkgIEVMX0NUUkxfTE9BRAkJCQkoMSA8PCAwKQo+ICsjZGVmaW5l CSAgRUxfQ1RSTF9QUkVFTVBUX1RPX0lETEUJCSgxIDw8IDEpCj4gICAKPiAgIC8qIFRoZSBkb2Nz IHNwZWNpZnkgdGhhdCB0aGUgd3JpdGUgcG9pbnRlciB3cmFwcyBhcm91bmQgYWZ0ZXIgNWgsICJB ZnRlciBzdGF0dXMKPiAgICAqIGlzIHdyaXR0ZW4gb3V0IHRvIHRoZSBsYXN0IGF2YWlsYWJsZSBz dGF0dXMgUVcgYXQgb2Zmc2V0IDVoLCB0aGlzIHBvaW50ZXIKPiAKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRl bC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3Jn L21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==