From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: Re: [PATCH v3 3/4] drm/i915: set optimum eu/slice/sub-slice configuration based on load type Date: Tue, 11 Dec 2018 12:47:50 +0000 Message-ID: <81d8c172-697b-bad9-8d29-caa38c73cb82@linux.intel.com> References: <1544523261-26905-1-git-send-email-ankit.p.navik@intel.com> <1544523261-26905-4-git-send-email-ankit.p.navik@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTPS id BD1836E11F for ; Tue, 11 Dec 2018 12:47:52 +0000 (UTC) In-Reply-To: <1544523261-26905-4-git-send-email-ankit.p.navik@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: Ankit Navik , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org Ck9uIDExLzEyLzIwMTggMTA6MTQsIEFua2l0IE5hdmlrIHdyb3RlOgo+IEZyb206IFByYXZlZW4g RGl3YWthciA8cHJhdmVlbi5kaXdha2FyQGludGVsLmNvbT4KPiAKPiBUaGlzIHBhdGNoIHdpbGwg c2VsZWN0IG9wdGltdW0gZXUvc2xpY2Uvc3ViLXNsaWNlIGNvbmZpZ3VyYXRpb24gYmFzZWQgb24K PiB0eXBlIG9mIGxvYWQgKGxvdywgbWVkaXVtLCBoaWdoKSBhcyBpbnB1dC4KPiBCYXNlZCBvbiBv dXIgcmVhZGluZ3MgYW5kIGV4cGVyaW1lbnRzIHdlIGhhdmUgcHJlZGVmaW5lZCBzZXQgb2Ygb3B0 aW11bQo+IGNvbmZpZ3VyYXRpb24gZm9yIGVhY2ggcGxhdGZvcm0oQ0hULCBLQkwpLgo+IGk5MTVf Z2VtX2NvbnRleHRfc2V0X2xvYWRfdHlwZSB3aWxsIHNlbGVjdCBvcHRpbXVtIGNvbmZpZ3VyYXRp b24gZnJvbQo+IHByZS1kZWZpbmVkIG9wdGltdW0gY29uZmlndXJhdGlvbiB0YWJsZShvcHRfY29u ZmlnKS4KPiAKPiBJdCBhbHNvIGludHJvZHVjZSBmbGFnIHVwZGF0ZV9yZW5kZXJfY29uZmlnIHdo aWNoIGNhbiBzZXQgYnkgYW55IGdvdmVybm9yLgo+IAo+IHYyOgo+ICAgKiBNb3ZlIHN0YXRpYyBv cHRpbXVtX2NvbmZpZyB0byBkZXZpY2UgaW5pdCB0aW1lLgo+ICAgKiBSZW5hbWUgZnVuY3Rpb24g dG8gYXBwcm9wcmlhdGUgbmFtZSwgZml4IGRhdGEgdHlwZXMgYW5kIHBhdGNoIG9yZGVyaW5nLgo+ ICAgKiBSZW5hbWUgcHJldl9sb2FkX3R5cGUgdG8gcGVuZGluZ19sb2FkX3R5cGUuIChUdnJ0a28g VXJzdWxpbikKPiAKPiB2MzoKPiAgICogQWRkIHNhZmUgZ3VhcmQgY2hlY2sgaW4gaTkxNV9nZW1f Y29udGV4dF9zZXRfbG9hZF90eXBlLgo+ICAgKiBSZW5hbWUgc3RydWN0IGZyb20gb3B0aW11bV9j b25maWcgdG8gaTkxNV9zc2V1X29wdGltdW1fY29uZmlnIHRvCj4gICAgIGF2b2lkIG5hbWVzcGFj ZSBjbGFzaGVzLgo+ICAgKiBSZWR1Y2VzIG1lbWNweSBmb3Igc3BhY2UgZWZmaWNpZW50Lgo+ICAg KiBSZWJhc2UuCj4gICAqIEltcHJvdmVkIGNvbW1pdCBtZXNzYWdlLiAoVHZydGtvIFVyc3VsaW4p Cj4gCj4gQ2M6IEtlZGFyIEogS2FyYW5qZSA8a2VkYXIuai5rYXJhbmplQGludGVsLmNvbT4KPiBD YzogWW9nZXNoIE1hcmF0aGUgPHlvZ2VzaC5tYXJhdGhlQGludGVsLmNvbT4KPiBSZXZpZXdlZC1i eTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGxpbnV4LmludGVsLmNvbT4KCkFnYWlu IGZvciB0aGUgcmVjb3JkIG5vLCBJIGRpZCBub3Qgci1iIHRoaXMuCgo+IFNpZ25lZC1vZmYtYnk6 IFByYXZlZW4gRGl3YWthciA8cHJhdmVlbi5kaXdha2FyQGludGVsLmNvbT4KPiBTaWduZWQtb2Zm LWJ5OiBBcmF2aW5kYW4gTXV0aHVrdW1hciA8YXJhdmluZGFuLm11dGh1a3VtYXJAaW50ZWwuY29t Pgo+IFNpZ25lZC1vZmYtYnk6IEFua2l0IE5hdmlrIDxhbmtpdC5wLm5hdmlrQGludGVsLmNvbT4K PiAtLS0KPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggICAgICAgICAgfCAgMyAr Kwo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4dC5jICB8IDE4ICsrKysr KysrKysrKwo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4dC5oICB8IDI1 ICsrKysrKysrKysrKysrKysrCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZXZpY2Vf aW5mby5jIHwgNDcgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0KPiAgIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2xyYy5jICAgICAgICAgfCAgNCArKy0KPiAgIDUgZmlsZXMgY2hh bmdlZCwgOTQgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZHJ2LmgKPiBpbmRleCA0YWNhNTM0Li40YjlhOGM1IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2Rydi5oCj4gQEAgLTE2ODEsNiArMTY4MSw5IEBAIHN0cnVjdCBkcm1faTkxNV9wcml2YXRlIHsK PiAgIAlzdHJ1Y3QgZHJtX2k5MTVfZmVuY2VfcmVnIGZlbmNlX3JlZ3NbSTkxNV9NQVhfTlVNX0ZF TkNFU107IC8qIGFzc3VtZSA5NjUgKi8KPiAgIAlpbnQgbnVtX2ZlbmNlX3JlZ3M7IC8qIDggb24g cHJlLTk2NSwgMTYgb3RoZXJ3aXNlICovCj4gICAKPiArCS8qIG9wdGltYWwgc2xpY2Uvc3Vic2xp Y2UvRVUgY29uZmlncmF0aW9uIHN0YXRlICovCj4gKwlzdHJ1Y3QgaTkxNV9zc2V1X29wdGltdW1f Y29uZmlnIG9wdF9jb25maWdbTE9BRF9UWVBFX0xBU1RdOwoKTWFrZSBpdCBhIHBvaW50ZXIgdG8g c3RydWN0IGk5MTVfc3NldV9vcHRpbXVtX2NvbmZpZy4KCj4gKwo+ICAgCXVuc2lnbmVkIGludCBm c2JfZnJlcSwgbWVtX2ZyZXEsIGlzX2RkcjM7Cj4gICAJdW5zaWduZWQgaW50IHNrbF9wcmVmZXJy ZWRfdmNvX2ZyZXE7Cj4gICAJdW5zaWduZWQgaW50IG1heF9jZGNsa19mcmVxOwo+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9jb250ZXh0LmMgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2dlbV9jb250ZXh0LmMKPiBpbmRleCBkMDQwODU4Li5jMGNlZDcyIDEw MDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRleHQuYwo+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRleHQuYwo+IEBAIC0zOTIsMTAg KzM5MiwyOCBAQCBpOTE1X2dlbV9jcmVhdGVfY29udGV4dChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYsCj4gICAJY3R4LT5zdWJzbGljZV9jbnQgPSBod2VpZ2h0OCgKPiAgIAkJCUlO VEVMX0lORk8oZGV2X3ByaXYpLT5zc2V1LnN1YnNsaWNlX21hc2tbMF0pOwo+ICAgCWN0eC0+ZXVf Y250ID0gSU5URUxfSU5GTyhkZXZfcHJpdiktPnNzZXUuZXVfcGVyX3N1YnNsaWNlOwo+ICsJY3R4 LT5sb2FkX3R5cGUgPSAwOwo+ICsJY3R4LT5wZW5kaW5nX2xvYWRfdHlwZSA9IDA7CgpOb3QgbmVl ZGVkIGJlY2F1c2Ugd2UgemVybyB0aGUgYWxsb2NhdGlvbiBhbmQgcHJvYmFibHkgZGVwZW5kIG9u IAp1bnRvdWNoZWQgZmllbGRzIGJlaW5nIHplcm8gZWxzZXdoZXJlLgoKPiAgIAo+ICAgCXJldHVy biBjdHg7Cj4gICB9Cj4gICAKPiArCj4gK3ZvaWQgaTkxNV9nZW1fY29udGV4dF9zZXRfbG9hZF90 eXBlKHN0cnVjdCBpOTE1X2dlbV9jb250ZXh0ICpjdHgsCj4gKwkJZW51bSBnZW1fbG9hZF90eXBl IHR5cGUpCj4gK3sKPiArCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGN0eC0+ aTkxNTsKPiArCj4gKwlpZiAoR0VNX1dBUk5fT04odHlwZSA+IExPQURfVFlQRV9MQVNUKSkKPiAr CQlyZXR1cm47Cj4gKwo+ICsJLyogQ2FsbCBvcHRfY29uZmlnIHRvIGdldCBjb3JyZWN0IGNvbmZp Z3VyYXRpb24gZm9yIGV1LHNsaWNlLHN1YnNsaWNlICovCj4gKwljdHgtPnNsaWNlX2NudCA9IGRl dl9wcml2LT5vcHRfY29uZmlnW3R5cGVdLnNsaWNlOwo+ICsJY3R4LT5zdWJzbGljZV9jbnQgPSBk ZXZfcHJpdi0+b3B0X2NvbmZpZ1t0eXBlXS5zdWJzbGljZTsKPiArCWN0eC0+ZXVfY250ID0gZGV2 X3ByaXYtPm9wdF9jb25maWdbdHlwZV0uZXU7Cj4gKwljdHgtPnBlbmRpbmdfbG9hZF90eXBlID0g dHlwZTsKPiArfQo+ICsKPiAgIC8qKgo+ICAgICogaTkxNV9nZW1fY29udGV4dF9jcmVhdGVfZ3Z0 IC0gY3JlYXRlIGEgR1ZUIEdFTSBjb250ZXh0Cj4gICAgKiBAZGV2OiBkcm0gZGV2aWNlICoKPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4dC5oIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4dC5oCj4gaW5kZXggZTAwMDUzMC4uYTBk YjEzYyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9jb250ZXh0 LmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9jb250ZXh0LmgKPiBAQCAt NTMsNiArNTMsMTkgQEAgc3RydWN0IGludGVsX2NvbnRleHRfb3BzIHsKPiAgIAl2b2lkICgqZGVz dHJveSkoc3RydWN0IGludGVsX2NvbnRleHQgKmNlKTsKPiAgIH07Cj4gICAKPiArZW51bSBnZW1f bG9hZF90eXBlIHsKPiArCUxPQURfVFlQRV9MT1csCj4gKwlMT0FEX1RZUEVfTUVESVVNLAo+ICsJ TE9BRF9UWVBFX0hJR0gsCj4gKwlMT0FEX1RZUEVfTEFTVAo+ICt9Owo+ICsKPiArc3RydWN0IGk5 MTVfc3NldV9vcHRpbXVtX2NvbmZpZyB7Cj4gKwl1OCBzbGljZTsKPiArCXU4IHN1YnNsaWNlOwo+ ICsJdTggZXU7Cj4gK307Cj4gKwo+ICAgLyoqCj4gICAgKiBzdHJ1Y3QgaTkxNV9nZW1fY29udGV4 dCAtIGNsaWVudCBzdGF0ZQo+ICAgICoKPiBAQCAtMjA4LDYgKzIyMSwxNiBAQCBzdHJ1Y3QgaTkx NV9nZW1fY29udGV4dCB7Cj4gICAKPiAgIAkvKiogZXVfY250OiB1c2VkIHRvIHNldCB0aGUgIyBv ZiBldSB0byBiZSBlbmFibGVkLiAqLwo+ICAgCXU4IGV1X2NudDsKPiArCj4gKwkvKiogbG9hZF90 eXBlOiBUaGUgZGVzaWduYXRlZCBsb2FkX3R5cGUgKGhpZ2gvbWVkaXVtL2xvdykgZm9yIGEgZ2l2 ZW4KPiArCSAqIG51bWJlciBvZiBwZW5kaW5nIGNvbW1hbmRzIGluIHRoZSBjb21tYW5kIHF1ZXVl Lgo+ICsJICovCj4gKwllbnVtIGdlbV9sb2FkX3R5cGUgbG9hZF90eXBlOwo+ICsKPiArCS8qKiBw ZW5kaW5nX2xvYWRfdHlwZTogVGhlIGVhcmxpZXIgbG9hZCB0eXBlIHRoYXQgdGhlIEdQVSB3YXMg Y29uZmlndXJlZAo+ICsJICogZm9yIChoaWdoL21lZGl1bS9sb3cpLgo+ICsJICovCj4gKwllbnVt IGdlbV9sb2FkX3R5cGUgcGVuZGluZ19sb2FkX3R5cGU7Cj4gICB9Owo+ICAgCj4gICBzdGF0aWMg aW5saW5lIGJvb2wgaTkxNV9nZW1fY29udGV4dF9pc19jbG9zZWQoY29uc3Qgc3RydWN0IGk5MTVf Z2VtX2NvbnRleHQgKmN0eCkKPiBAQCAtMzM2LDYgKzM1OSw4IEBAIGludCBpOTE1X2dlbV9jb250 ZXh0X3NldHBhcmFtX2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCj4g ICAJCQkJICAgIHN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2KTsKPiAgIGludCBpOTE1X2dlbV9j b250ZXh0X3Jlc2V0X3N0YXRzX2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRh dGEsCj4gICAJCQkJICAgICAgIHN0cnVjdCBkcm1fZmlsZSAqZmlsZSk7Cj4gK3ZvaWQgaTkxNV9n ZW1fY29udGV4dF9zZXRfbG9hZF90eXBlKHN0cnVjdCBpOTE1X2dlbV9jb250ZXh0ICpjdHgsCj4g KwkJZW51bSBnZW1fbG9hZF90eXBlIHR5cGUpOwo+ICAgCj4gICBzdHJ1Y3QgaTkxNV9nZW1fY29u dGV4dCAqCj4gICBpOTE1X2dlbV9jb250ZXh0X2NyZWF0ZV9rZXJuZWwoc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmk5MTUsIGludCBwcmlvKTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZGV2aWNlX2luZm8uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rl dmljZV9pbmZvLmMKPiBpbmRleCAwZWYwYzY0Li4zM2M2MzEwIDEwMDY0NAo+IC0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2RldmljZV9pbmZvLmMKPiArKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kZXZpY2VfaW5mby5jCj4gQEAgLTc0MSw2ICs3NDEsMjggQEAgdm9pZCBp bnRlbF9kZXZpY2VfaW5mb19ydW50aW1lX2luaXQoc3RydWN0IGludGVsX2RldmljZV9pbmZvICpp bmZvKQo+ICAgCQljb250YWluZXJfb2YoaW5mbywgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUsIGlu Zm8pOwo+ICAgCWVudW0gcGlwZSBwaXBlOwo+ICAgCj4gKwlzdHJ1Y3QgaTkxNV9zc2V1X29wdGlt dW1fY29uZmlnICpvcHRfY29uZmlnID0gTlVMTDsKPiArCS8qIHN0YXRpYyB0YWJsZSBvZiBzbGlj ZS9zdWJzbGljZS9FVSBmb3IgQ2hlcnJ5dmlldyAqLwo+ICsJc3RydWN0IGk5MTVfc3NldV9vcHRp bXVtX2NvbmZpZyBjaHZfY29uZmlnW0xPQURfVFlQRV9MQVNUXSA9IHsKPiArCQl7MSwgMSwgNH0s CS8qIExvdyAqLwo+ICsJCXsxLCAxLCA2fSwJLyogTWVkaXVtICovCj4gKwkJezEsIDIsIDZ9CS8q IEhpZ2ggKi8KPiArCX07Cj4gKwo+ICsJLyogc3RhdGljIHRhYmxlIG9mIHNsaWNlL3N1YnNsaWNl L0VVIGZvciBLQkwgR1QyICovCj4gKwlzdHJ1Y3QgaTkxNV9zc2V1X29wdGltdW1fY29uZmlnIGti bF9ndDJfY29uZmlnW0xPQURfVFlQRV9MQVNUXSA9IHsKPiArCQl7MSwgMywgMn0sCS8qIExvdyAq Lwo+ICsJCXsxLCAzLCA0fSwJLyogTWVkaXVtICovCj4gKwkJezEsIDMsIDh9CS8qIEhpZ2ggKi8K PiArCX07Cj4gKwo+ICsJLyogc3RhdGljIHRhYmxlIG9mIHNsaWNlL3N1YnNsaWNlL0VVIGZvciBL QkwgR1QzICovCj4gKwlzdHJ1Y3QgaTkxNV9zc2V1X29wdGltdW1fY29uZmlnIGtibF9ndDNfY29u ZmlnW0xPQURfVFlQRV9MQVNUXSA9IHsKPiArCQl7MiwgMywgNH0sCS8qIExvdyAqLwo+ICsJCXsy LCAzLCA2fSwJLyogTWVkaXVtICovCj4gKwkJezIsIDMsIDh9CS8qIEhpZ2ggKi8KPiArCX07CgpN b3ZlIHRoZXNlIHRvIGZpbGUgc2NvcGUgYXMgc3RhdGljIGNvbnN0LgoKPiArCj4gICAJaWYgKElO VEVMX0dFTihkZXZfcHJpdikgPj0gMTApIHsKPiAgIAkJZm9yX2VhY2hfcGlwZShkZXZfcHJpdiwg cGlwZSkKPiAgIAkJCWluZm8tPm51bV9zY2FsZXJzW3BpcGVdID0gMjsKPiBAQCAtODQwLDE3ICs4 NjIsMzggQEAgdm9pZCBpbnRlbF9kZXZpY2VfaW5mb19ydW50aW1lX2luaXQoc3RydWN0IGludGVs X2RldmljZV9pbmZvICppbmZvKQo+ICAgCS8qIEluaXRpYWxpemUgc2xpY2Uvc3Vic2xpY2UvRVUg aW5mbyAqLwo+ICAgCWlmIChJU19IQVNXRUxMKGRldl9wcml2KSkKPiAgIAkJaGFzd2VsbF9zc2V1 X2luZm9faW5pdChkZXZfcHJpdik7Cj4gLQllbHNlIGlmIChJU19DSEVSUllWSUVXKGRldl9wcml2 KSkKPiArCWVsc2UgaWYgKElTX0NIRVJSWVZJRVcoZGV2X3ByaXYpKSB7Cj4gICAJCWNoZXJyeXZp ZXdfc3NldV9pbmZvX2luaXQoZGV2X3ByaXYpOwo+ICsJCW9wdF9jb25maWcgPSBjaHZfY29uZmln OwoKRm9yIG15IGlkZWEgdG8gd29yayBoZXJlIGFuZCBiZWxvdyBhZGQ6CgpCVUlMRF9CVUdfT04o QVJSQVlfU0laRShjaHZfY29uZmlnKSAhPSBMT0FEX1RZUEVfTEFTVCk7Cgo+ICsJfQo+ICAgCWVs c2UgaWYgKElTX0JST0FEV0VMTChkZXZfcHJpdikpCj4gICAJCWJyb2Fkd2VsbF9zc2V1X2luZm9f aW5pdChkZXZfcHJpdik7Cj4gLQllbHNlIGlmIChJTlRFTF9HRU4oZGV2X3ByaXYpID09IDkpCj4g KwllbHNlIGlmIChJTlRFTF9HRU4oZGV2X3ByaXYpID09IDkpIHsKPiAgIAkJZ2VuOV9zc2V1X2lu Zm9faW5pdChkZXZfcHJpdik7Cj4gKwo+ICsJCWlmIChJU19LQUJZTEFLRShkZXZfcHJpdikpIHsK PiArCQkJc3dpdGNoIChpbmZvLT5ndCkgewo+ICsJCQlkZWZhdWx0Ogo+ICsJCQkJTUlTU0lOR19D QVNFKGluZm8tPmd0KTsKClRoaXMgc2hvdWxkIHByb2JhYmx5IGJlIHNpbGVudCBzaW5jZSBhYnNl bmNlIG9mIHNzZXUgdHVuaW5nIGlzIG5vdCBhbiAKZXJyb3Igb24gb3RoZXIgcGxhdGZvcm1zLgoK PiArCQkJCS8qIGZhbGwgdGhyb3VnaCAqLwo+ICsJCQljYXNlIDI6Cj4gKwkJCQlvcHRfY29uZmln ID0ga2JsX2d0Ml9jb25maWc7Cj4gKwkJCWJyZWFrOwo+ICsJCQljYXNlIDM6Cj4gKwkJCQlvcHRf Y29uZmlnID0ga2JsX2d0M19jb25maWc7CgpXb3VsZCBLYWJ5bGFrZSB0YWJsZSB3b3JrIGZvciBv dGhlciBHZW45IHBsYXRmb3Jtcz8KCj4gKwkJCWJyZWFrOwo+ICsJCQl9Cj4gKwkJfQo+ICsJfQo+ ICAgCWVsc2UgaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPT0gMTApCj4gICAJCWdlbjEwX3NzZXVf aW5mb19pbml0KGRldl9wcml2KTsKPiAgIAllbHNlIGlmIChJTlRFTF9HRU4oZGV2X3ByaXYpID49 IDExKQo+ICAgCQlnZW4xMV9zc2V1X2luZm9faW5pdChkZXZfcHJpdik7Cj4gICAKPiArCWlmIChv cHRfY29uZmlnKQo+ICsJCW1lbWNweShkZXZfcHJpdi0+b3B0X2NvbmZpZywgb3B0X2NvbmZpZywg TE9BRF9UWVBFX0xBU1QgKgo+ICsJCQlzaXplb2Yoc3RydWN0IGk5MTVfc3NldV9vcHRpbXVtX2Nv bmZpZykpOwoKQW5kIGlmIHlvdSBhZ3JlZSB3aXRoIG15IG90aGVyIHN1Z2dlc3Rpb25zIHRoZW4g eW91IGNhbiByZXBsYWNlIGEgY29weSB3aXRoOgoKCWRldl9wcml2LT5vcHRfY29uZmlnID0gb3B0 X2NvbmZpZzsKCk9yIGluIGZhY3QsIGV2ZW4gZG8gaXQgZGlyZWN0bHkgb24gYXNzaWdubWVudCBz aXRlcyBhYm92ZS4KCj4gKwo+ICAgCS8qIEluaXRpYWxpemUgY29tbWFuZCBzdHJlYW0gdGltZXN0 YW1wIGZyZXF1ZW5jeSAqLwo+ICAgCWluZm8tPmNzX3RpbWVzdGFtcF9mcmVxdWVuY3lfa2h6ID0g cmVhZF90aW1lc3RhbXBfZnJlcXVlbmN5KGRldl9wcml2KTsKPiAgIH0KPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9scmMuYwo+IGluZGV4IGExN2Y2NzYuLjdmYjljZDIgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9scmMuYwo+IEBAIC00MjcsMTEgKzQyNywxMyBAQCBzdGF0aWMgdTY0IGV4ZWNsaXN0c191 cGRhdGVfY29udGV4dChzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpycSkKPiAgIAo+ICAgCXJlZ19zdGF0 ZVtDVFhfUklOR19UQUlMKzFdID0gaW50ZWxfcmluZ19zZXRfdGFpbChycS0+cmluZywgcnEtPnRh aWwpOwo+ICAgCS8qIEZJWE1FOiBUbyBhdm9pZCBzdGFsZSBycGNzIGNvbmZpZywgbW92ZSBpdCB0 byBjb250ZXh0X3BpbiAqLwo+IC0JaWYgKGN0eC0+cGlkICYmIGN0eC0+bmFtZSAmJiAocnEtPmVu Z2luZS0+aWQgPT0gUkNTKSkgewo+ICsJaWYgKGN0eC0+cGlkICYmIGN0eC0+bmFtZSAmJiAocnEt PmVuZ2luZS0+aWQgPT0gUkNTKSAmJgo+ICsJCQkoY3R4LT5sb2FkX3R5cGUgIT0gY3R4LT5wZW5k aW5nX2xvYWRfdHlwZSkpIHsKPiAgIAkJcnBjc19jb25maWcgPSBtYWtlX3JwY3MoY3R4LT5pOTE1 KTsKPiAgIAkJcmVnX3N0YXRlW0NUWF9MUklfSEVBREVSXzJdID0gTUlfTE9BRF9SRUdJU1RFUl9J TU0oMSk7Cj4gICAJCUNUWF9SRUcocmVnX3N0YXRlLCBDVFhfUl9QV1JfQ0xLX1NUQVRFLCBHRU44 X1JfUFdSX0NMS19TVEFURSwKPiAgIAkJCQlycGNzX2NvbmZpZyk7Cj4gKwkJY3R4LT5sb2FkX3R5 cGUgPSBjdHgtPnBlbmRpbmdfbG9hZF90eXBlOwo+ICAgCX0KPiAgIAo+ICAgCS8qIFRydWUgMzJi IFBQR1RUIHdpdGggZHluYW1pYyBwYWdlIGFsbG9jYXRpb246IHVwZGF0ZSBQRFAKPiAKClJlZ2Fy ZHMsCgpUdnJ0a28KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3Jn Cmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4 Cg==