From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rodrigo Vivi Subject: Re: [PATCH 2/3] drm/i915/icl: Enable 2nd DBuf slice only when needed Date: Wed, 25 Apr 2018 16:46:16 -0700 Message-ID: <20180425234616.GF3617@intel.com> References: <20180405091756.14848-1-mahesh1.kumar@intel.com> <20180405091756.14848-3-mahesh1.kumar@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" 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 086276E5B4 for ; Wed, 25 Apr 2018 23:47:16 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20180405091756.14848-3-mahesh1.kumar@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Mahesh Kumar Cc: intel-gfx@lists.freedesktop.org, lucas.demarchi@intel.com, paulo.r.zanoni@intel.com List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCBBcHIgMDUsIDIwMTggYXQgMDI6NDc6NTVQTSArMDUzMCwgTWFoZXNoIEt1bWFyIHdy b3RlOgo+IElDTCBoYXMgdHdvIHNsaWNlcyBvZiBEQnVmLCBlYWNoIHNsaWNlIG9mIHNpemUgMTAy NCBibG9ja3MuCj4gV2Ugc2hvdWxkIG5vdCBhbHdheXMgZW5hYmxlIHNsaWNlLTIuIEl0IHNob3Vs ZCBiZSBlbmFibGVkIG9ubHkgaWYKPiBkaXNwbGF5IHRvdGFsIHJlcXVpcmVkIEJXIGlzID4gMTJH QnBzIE9SIG1vcmUgdGhhbiAxIHBpcGVzIGFyZSBlbmFibGVkLgo+Cj4gQ2hhbmdlcyBzaW5jZSBW MToKPiAgLSB0eXBlY2FzdCB0b3RhbF9kYXRhX3JhdGUgdG8gdTY0IGJlZm9yZSBtdWx0aXBsaWNh dGlvbiB0byBzb2x2ZSBhbnkKPiAgICBwb3NzaWJsZSBvdmVyZmxvdyAoUm9kcmlnbykKPiAgLSBm aXggd2hlcmUgc2tsX3dtX2dldF9od19zdGF0ZSB3YXMgbWVtc2V0dGluZyBkZGIsIHJlc3VsdGlu Zwo+ICAgIGVuYWJsZWRfc2xpY2VzIHRvIGJlY29tZSB6ZXJvCj4gIC0gRml4IHRoZSBsb2dpYyBv ZiBjYWxjdWxhdGluZyBkZGJfc2l6ZQo+IENoYW5nZXMgc2luY2UgVjI6Cj4gIC0gSWYgbm8tY3J0 YyBpcyBwYXJ0IG9mIGNvbW1pdCByZXF1aXJlZF9zbGljZXMgd2lsbCBoYXZlIHZhbHVlICIwIiwK PiAgICBkb24ndCB0cnkgdG8gZGlzYWJsZSBEQnVmIHNsaWNlLgo+IENoYW5nZXMgc2luY2UgVjM6 Cj4gIC0gQ3JlYXRlIGEgZ2VuZXJpYyBoZWxwZXIgdG8gZW5hYmxlL2Rpc2FibGUgc2xpY2UKPiAg LSBkb24ndCByZXR1cm4gZWFybHkgaWYgdG90YWxfZGF0YV9yYXRlIGlzIDAsIGl0IG1heSBiZSBj dXJzb3Igb25seQo+ICAgIGNvbW1pdCwgb3IgYXRvbWljIG1vZGVzZXQgd2l0aG91dCBhbnkgcGxh bmUuCj4gQ2hhbmdlcyBzaW5jZSBWMzoKPiAgLSBTb2x2ZSBjaGVja3BhdGNoIHdhcm5pbmdzCj4g IC0gdXNlIGtlcm5lbCB0eXBlcyB1OC91NjQgaW5zdGVhZCBvZiB1aW50OF90L3VpbnQ2NF90CgpQ YXVsbyB3YXJuZWQgbWUgdGhhdCBJIHJldmlld2VkIHRoZSB3cm9uZyBvbmUuCgpydi1iIHN0YXlz IHdpdGggdGhpcyBjaGFuZ2UuCgpSZXZpZXdlZC1ieTogUm9kcmlnbyBWaXZpIDxyb2RyaWdvLnZp dmlAaW50ZWwuY29tPgoKPgo+IFNpZ25lZC1vZmYtYnk6IE1haGVzaCBLdW1hciA8bWFoZXNoMS5r dW1hckBpbnRlbC5jb20+Cj4gLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3Bs YXkuYyAgICB8IDEwICsrKysrCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oICAg ICAgICB8ICA2ICsrKwo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jICAgICAgICAg fCA1NyArKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9ydW50aW1lX3BtLmMgfCA2NSArKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0t LS0KPiAgNCBmaWxlcyBjaGFuZ2VkLCAxMTMgaW5zZXJ0aW9ucygrKSwgMjUgZGVsZXRpb25zKC0p Cj4KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4gaW5kZXggOTZhMWU2YTdmNjll Li5kZmQ3Mjg4Yjk0ODQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZGlzcGxheS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4g QEAgLTEyMTk2LDYgKzEyMTk2LDggQEAgc3RhdGljIHZvaWQgc2tsX3VwZGF0ZV9jcnRjcyhzdHJ1 Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpCj4gIAlib29sIHByb2dyZXNzOwo+ICAJZW51bSBw aXBlIHBpcGU7Cj4gIAlpbnQgaTsKPiArCXU4IGh3X2VuYWJsZWRfc2xpY2VzID0gZGV2X3ByaXYt PndtLnNrbF9ody5kZGIuZW5hYmxlZF9zbGljZXM7Cj4gKwl1OCByZXF1aXJlZF9zbGljZXMgPSBp bnRlbF9zdGF0ZS0+d21fcmVzdWx0cy5kZGIuZW5hYmxlZF9zbGljZXM7Cj4KPiAgCWNvbnN0IHN0 cnVjdCBza2xfZGRiX2VudHJ5ICplbnRyaWVzW0k5MTVfTUFYX1BJUEVTXSA9IHt9Owo+Cj4gQEAg LTEyMjA0LDYgKzEyMjA2LDEwIEBAIHN0YXRpYyB2b2lkIHNrbF91cGRhdGVfY3J0Y3Moc3RydWN0 IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKQo+ICAJCWlmIChuZXdfY3J0Y19zdGF0ZS0+YWN0aXZl KQo+ICAJCQllbnRyaWVzW2ldID0gJnRvX2ludGVsX2NydGNfc3RhdGUob2xkX2NydGNfc3RhdGUp LT53bS5za2wuZGRiOwo+Cj4gKwkvKiBJZiAybmQgREJ1ZiBzbGljZSByZXF1aXJlZCwgZW5hYmxl IGl0IGhlcmUgKi8KPiArCWlmIChJTlRFTF9HRU4oZGV2X3ByaXYpID49IDExICYmIHJlcXVpcmVk X3NsaWNlcyA+IGh3X2VuYWJsZWRfc2xpY2VzKQo+ICsJCWljbF9kYnVmX3NsaWNlc191cGRhdGUo ZGV2X3ByaXYsIHJlcXVpcmVkX3NsaWNlcyk7Cj4gKwo+ICAJLyoKPiAgCSAqIFdoZW5ldmVyIHRo ZSBudW1iZXIgb2YgYWN0aXZlIHBpcGVzIGNoYW5nZXMsIHdlIG5lZWQgdG8gbWFrZSBzdXJlIHdl Cj4gIAkgKiB1cGRhdGUgdGhlIHBpcGVzIGluIHRoZSByaWdodCBvcmRlciBzbyB0aGF0IHRoZWly IGRkYiBhbGxvY2F0aW9ucwo+IEBAIC0xMjI1NCw2ICsxMjI2MCwxMCBAQCBzdGF0aWMgdm9pZCBz a2xfdXBkYXRlX2NydGNzKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSkKPiAgCQkJcHJv Z3Jlc3MgPSB0cnVlOwo+ICAJCX0KPiAgCX0gd2hpbGUgKHByb2dyZXNzKTsKPiArCj4gKwkvKiBJ ZiAybmQgREJ1ZiBzbGljZSBpcyBubyBtb3JlIHJlcXVpcmVkIGRpc2FibGUgaXQgKi8KPiArCWlm IChJTlRFTF9HRU4oZGV2X3ByaXYpID49IDExICYmIHJlcXVpcmVkX3NsaWNlcyA8IGh3X2VuYWJs ZWRfc2xpY2VzKQo+ICsJCWljbF9kYnVmX3NsaWNlc191cGRhdGUoZGV2X3ByaXYsIHJlcXVpcmVk X3NsaWNlcyk7Cj4gIH0KPgo+ICBzdGF0aWMgdm9pZCBpbnRlbF9hdG9taWNfaGVscGVyX2ZyZWVf c3RhdGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2Rydi5oCj4gaW5kZXggZDE0NTJmZDJhNThkLi4xM2I5ZDljZTJjNTEgMTAwNjQ0Cj4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiArKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kcnYuaAo+IEBAIC0xNDAsNiArMTQwLDEwIEBACj4gICNkZWZpbmUgS0h6 KHgpICgxMDAwICogKHgpKQo+ICAjZGVmaW5lIE1Ieih4KSBLSHooMTAwMCAqICh4KSkKPgo+ICsj ZGVmaW5lIEtCcHMoeCkgKDEwMDAgKiAoeCkpCj4gKyNkZWZpbmUgTUJwcyh4KSBLQnBzKDEwMDAg KiAoeCkpCj4gKyNkZWZpbmUgR0Jwcyh4KSAoKHU2NCkxMDAwICogTUJwcygoeCkpKQo+ICsKPiAg LyoKPiAgICogRGlzcGxheSByZWxhdGVkIHN0dWZmCj4gICAqLwo+IEBAIC0xOTE0LDYgKzE5MTgs OCBAQCBib29sIGludGVsX2Rpc3BsYXlfcG93ZXJfZ2V0X2lmX2VuYWJsZWQoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ICAJCQkJCWVudW0gaW50ZWxfZGlzcGxheV9wb3dlcl9k b21haW4gZG9tYWluKTsKPiAgdm9pZCBpbnRlbF9kaXNwbGF5X3Bvd2VyX3B1dChzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gIAkJCSAgICAgZW51bSBpbnRlbF9kaXNwbGF5X3Bv d2VyX2RvbWFpbiBkb21haW4pOwo+ICt2b2lkIGljbF9kYnVmX3NsaWNlc191cGRhdGUoc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ICsJCQkgICAgdTggcmVxX3NsaWNlcyk7Cj4K PiAgc3RhdGljIGlubGluZSB2b2lkCj4gIGFzc2VydF9ycG1fZGV2aWNlX25vdF9zdXNwZW5kZWQo c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+IGRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0u Ywo+IGluZGV4IDczNDFmNGFmMzE1MS4uNjE1YTA4NDczNmYzIDEwMDY0NAo+IC0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9wbS5jCj4gQEAgLTM3NzEsOSArMzc3MSw0MiBAQCBib29sIGludGVsX2Nhbl9lbmFibGVf c2FndihzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpCj4gIAlyZXR1cm4gdHJ1ZTsKPiAg fQo+Cj4gK3N0YXRpYyB1bnNpZ25lZCBpbnQgaW50ZWxfZ2V0X2RkYl9zaXplKHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiArCQkJCSAgICAgICBjb25zdCBzdHJ1Y3QgaW50ZWxf Y3J0Y19zdGF0ZSAqY3N0YXRlLAo+ICsJCQkJICAgICAgIGNvbnN0IHVuc2lnbmVkIGludCB0b3Rh bF9kYXRhX3JhdGUsCj4gKwkJCQkgICAgICAgY29uc3QgaW50IG51bV9hY3RpdmUsCj4gKwkJCQkg ICAgICAgc3RydWN0IHNrbF9kZGJfYWxsb2NhdGlvbiAqZGRiKQo+ICt7Cj4gKwljb25zdCBzdHJ1 Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqYWRqdXN0ZWRfbW9kZTsKPiArCXU2NCB0b3RhbF9kYXRhX2J3 Owo+ICsJdTE2IGRkYl9zaXplID0gSU5URUxfSU5GTyhkZXZfcHJpdiktPmRkYl9zaXplOwo+ICsK PiArCVdBUk5fT04oZGRiX3NpemUgPT0gMCk7Cj4gKwo+ICsJaWYgKElOVEVMX0dFTihkZXZfcHJp dikgPCAxMSkKPiArCQlyZXR1cm4gZGRiX3NpemUgLSA0OyAvKiA0IGJsb2NrcyBmb3IgYnlwYXNz IHBhdGggYWxsb2NhdGlvbiAqLwo+ICsKPiArCWFkanVzdGVkX21vZGUgPSAmY3N0YXRlLT5iYXNl LmFkanVzdGVkX21vZGU7Cj4gKwl0b3RhbF9kYXRhX2J3ID0gKHU2NCl0b3RhbF9kYXRhX3JhdGUg KiBkcm1fbW9kZV92cmVmcmVzaChhZGp1c3RlZF9tb2RlKTsKPiArCj4gKwkvKgo+ICsJICogMTJH Qi9zIGlzIG1heGltdW0gQlcgc3VwcG9ydGVkIGJ5IHNpbmdsZSBEQnVmIHNsaWNlLgo+ICsJICov Cj4gKwlpZiAodG90YWxfZGF0YV9idyA+PSBHQnBzKDEyKSB8fCBudW1fYWN0aXZlID4gMSkgewo+ ICsJCWRkYi0+ZW5hYmxlZF9zbGljZXMgPSAyOwo+ICsJfSBlbHNlIHsKPiArCQlkZGItPmVuYWJs ZWRfc2xpY2VzID0gMTsKPiArCQlkZGJfc2l6ZSAvPSAyOwo+ICsJfQo+ICsKPiArCXJldHVybiBk ZGJfc2l6ZTsKPiArfQo+ICsKPiAgc3RhdGljIHZvaWQKPiAgc2tsX2RkYl9nZXRfcGlwZV9hbGxv Y2F0aW9uX2xpbWl0cyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ICAJCQkJICAgY29uc3Qgc3Ry dWN0IGludGVsX2NydGNfc3RhdGUgKmNzdGF0ZSwKPiArCQkJCSAgIGNvbnN0IHVuc2lnbmVkIGlu dCB0b3RhbF9kYXRhX3JhdGUsCj4gKwkJCQkgICBzdHJ1Y3Qgc2tsX2RkYl9hbGxvY2F0aW9uICpk ZGIsCj4gIAkJCQkgICBzdHJ1Y3Qgc2tsX2RkYl9lbnRyeSAqYWxsb2MsIC8qIG91dCAqLwo+ICAJ CQkJICAgaW50ICpudW1fYWN0aXZlIC8qIG91dCAqLykKPiAgewo+IEBAIC0zNzk2LDExICszODI5 LDggQEAgc2tsX2RkYl9nZXRfcGlwZV9hbGxvY2F0aW9uX2xpbWl0cyhzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2LAo+ICAJZWxzZQo+ICAJCSpudW1fYWN0aXZlID0gaHdlaWdodDMyKGRldl9wcml2LT5h Y3RpdmVfY3J0Y3MpOwo+Cj4gLQlkZGJfc2l6ZSA9IElOVEVMX0lORk8oZGV2X3ByaXYpLT5kZGJf c2l6ZTsKPiAtCVdBUk5fT04oZGRiX3NpemUgPT0gMCk7Cj4gLQo+IC0JaWYgKElOVEVMX0dFTihk ZXZfcHJpdikgPCAxMSkKPiAtCQlkZGJfc2l6ZSAtPSA0OyAvKiA0IGJsb2NrcyBmb3IgYnlwYXNz IHBhdGggYWxsb2NhdGlvbiAqLwo+ICsJZGRiX3NpemUgPSBpbnRlbF9nZXRfZGRiX3NpemUoZGV2 X3ByaXYsIGNzdGF0ZSwgdG90YWxfZGF0YV9yYXRlLAo+ICsJCQkJICAgICAgKm51bV9hY3RpdmUs IGRkYik7Cj4KPiAgCS8qCj4gIAkgKiBJZiB0aGUgc3RhdGUgZG9lc24ndCBjaGFuZ2UgdGhlIGFj dGl2ZSBDUlRDJ3MsIHRoZW4gdGhlcmUncwo+IEBAIC00MjM5LDcgKzQyNjksMTEgQEAgc2tsX2Fs bG9jYXRlX3BpcGVfZGRiKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjc3RhdGUsCj4gIAkJcmV0 dXJuIDA7Cj4gIAl9Cj4KPiAtCXNrbF9kZGJfZ2V0X3BpcGVfYWxsb2NhdGlvbl9saW1pdHMoZGV2 LCBjc3RhdGUsIGFsbG9jLCAmbnVtX2FjdGl2ZSk7Cj4gKwl0b3RhbF9kYXRhX3JhdGUgPSBza2xf Z2V0X3RvdGFsX3JlbGF0aXZlX2RhdGFfcmF0ZShjc3RhdGUsCj4gKwkJCQkJCQkgICBwbGFuZV9k YXRhX3JhdGUsCj4gKwkJCQkJCQkgICBwbGFuZV95X2RhdGFfcmF0ZSk7Cj4gKwlza2xfZGRiX2dl dF9waXBlX2FsbG9jYXRpb25fbGltaXRzKGRldiwgY3N0YXRlLCB0b3RhbF9kYXRhX3JhdGUsIGRk YiwKPiArCQkJCQkgICBhbGxvYywgJm51bV9hY3RpdmUpOwo+ICAJYWxsb2Nfc2l6ZSA9IHNrbF9k ZGJfZW50cnlfc2l6ZShhbGxvYyk7Cj4gIAlpZiAoYWxsb2Nfc2l6ZSA9PSAwKQo+ICAJCXJldHVy biAwOwo+IEBAIC00Mjc0LDkgKzQzMDgsNiBAQCBza2xfYWxsb2NhdGVfcGlwZV9kZGIoc3RydWN0 IGludGVsX2NydGNfc3RhdGUgKmNzdGF0ZSwKPiAgCSAqCj4gIAkgKiBGSVhNRTogd2UgbWF5IG5v dCBhbGxvY2F0ZSBldmVyeSBzaW5nbGUgYmxvY2sgaGVyZS4KPiAgCSAqLwo+IC0JdG90YWxfZGF0 YV9yYXRlID0gc2tsX2dldF90b3RhbF9yZWxhdGl2ZV9kYXRhX3JhdGUoY3N0YXRlLAo+IC0JCQkJ CQkJICAgcGxhbmVfZGF0YV9yYXRlLAo+IC0JCQkJCQkJICAgcGxhbmVfeV9kYXRhX3JhdGUpOwo+ ICAJaWYgKHRvdGFsX2RhdGFfcmF0ZSA9PSAwKQo+ICAJCXJldHVybiAwOwo+Cj4gQEAgLTUzODIs OCArNTQxMywxMiBAQCB2b2lkIHNrbF93bV9nZXRfaHdfc3RhdGUoc3RydWN0IGRybV9kZXZpY2Ug KmRldikKPiAgCQkvKiBGdWxseSByZWNvbXB1dGUgRERCIG9uIGZpcnN0IGF0b21pYyBjb21taXQg Ki8KPiAgCQlkZXZfcHJpdi0+d20uZGlzdHJ1c3RfYmlvc193bSA9IHRydWU7Cj4gIAl9IGVsc2Ug ewo+IC0JCS8qIEVhc3kvY29tbW9uIGNhc2U7IGp1c3Qgc2FuaXRpemUgRERCIG5vdyBpZiBldmVy eXRoaW5nIG9mZiAqLwo+IC0JCW1lbXNldChkZGIsIDAsIHNpemVvZigqZGRiKSk7Cj4gKwkJLyoK PiArCQkgKiBFYXN5L2NvbW1vbiBjYXNlOyBqdXN0IHNhbml0aXplIEREQiBub3cgaWYgZXZlcnl0 aGluZyBvZmYKPiArCQkgKiBLZWVwIGRidWYgc2xpY2UgaW5mbyBpbnRhY3QKPiArCQkgKi8KPiAr CQltZW1zZXQoZGRiLT5wbGFuZSwgMCwgc2l6ZW9mKGRkYi0+cGxhbmUpKTsKPiArCQltZW1zZXQo ZGRiLT55X3BsYW5lLCAwLCBzaXplb2YoZGRiLT55X3BsYW5lKSk7Cj4gIAl9Cj4gIH0KPgo+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ydW50aW1lX3BtLmMgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ydW50aW1lX3BtLmMKPiBpbmRleCA1OGJlNTQyZDY2MGIu LjA2YzExMWNhMTc3ZSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9y dW50aW1lX3BtLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ydW50aW1lX3Bt LmMKPiBAQCAtMjYyNywzMiArMjYyNyw2OSBAQCBzdGF0aWMgdm9pZCBpbnRlbF9wb3dlcl9kb21h aW5zX3N5bmNfaHcoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ICAJbXV0ZXhf dW5sb2NrKCZwb3dlcl9kb21haW5zLT5sb2NrKTsKPiAgfQo+Cj4gLXN0YXRpYyB2b2lkIGdlbjlf ZGJ1Zl9lbmFibGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ICtzdGF0aWMg aW5saW5lCj4gK2Jvb2wgaW50ZWxfZGJ1Zl9zbGljZV9zZXQoc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2LAo+ICsJCQkgIGk5MTVfcmVnX3QgcmVnLCBib29sIGVuYWJsZSkKPiAgewo+ IC0JSTkxNV9XUklURShEQlVGX0NUTCwgSTkxNV9SRUFEKERCVUZfQ1RMKSB8IERCVUZfUE9XRVJf UkVRVUVTVCk7Cj4gLQlQT1NUSU5HX1JFQUQoREJVRl9DVEwpOwo+ICsJdTMyIHZhbCwgc3RhdHVz Owo+Cj4gKwl2YWwgPSBJOTE1X1JFQUQocmVnKTsKPiArCXZhbCA9IGVuYWJsZSA/ICh2YWwgfCBE QlVGX1BPV0VSX1JFUVVFU1QpIDogKHZhbCAmIH5EQlVGX1BPV0VSX1JFUVVFU1QpOwo+ICsJSTkx NV9XUklURShyZWcsIHZhbCk7Cj4gKwlQT1NUSU5HX1JFQUQocmVnKTsKPiAgCXVkZWxheSgxMCk7 Cj4KPiAtCWlmICghKEk5MTVfUkVBRChEQlVGX0NUTCkgJiBEQlVGX1BPV0VSX1NUQVRFKSkKPiAt CQlEUk1fRVJST1IoIkRCdWYgcG93ZXIgZW5hYmxlIHRpbWVvdXRcbiIpOwo+ICsJc3RhdHVzID0g STkxNV9SRUFEKHJlZykgJiBEQlVGX1BPV0VSX1NUQVRFOwo+ICsJaWYgKChlbmFibGUgJiYgIXN0 YXR1cykgfHwgKCFlbmFibGUgJiYgc3RhdHVzKSkgewo+ICsJCURSTV9FUlJPUigiREJ1cyBwb3dl ciAlcyB0aW1lb3V0IVxuIiwKPiArCQkJICBlbmFibGUgPyAiZW5hYmxlIiA6ICJkaXNhYmxlIik7 Cj4gKwkJcmV0dXJuIGZhbHNlOwo+ICsJfQo+ICsJcmV0dXJuIHRydWU7Cj4gK30KPiArCj4gK3N0 YXRpYyB2b2lkIGdlbjlfZGJ1Zl9lbmFibGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2KQo+ICt7Cj4gKwlpbnRlbF9kYnVmX3NsaWNlX3NldChkZXZfcHJpdiwgREJVRl9DVEwsIHRy dWUpOwo+ICB9Cj4KPiAgc3RhdGljIHZvaWQgZ2VuOV9kYnVmX2Rpc2FibGUoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ICB7Cj4gLQlJOTE1X1dSSVRFKERCVUZfQ1RMLCBJOTE1 X1JFQUQoREJVRl9DVEwpICYgfkRCVUZfUE9XRVJfUkVRVUVTVCk7Cj4gLQlQT1NUSU5HX1JFQUQo REJVRl9DVEwpOwo+ICsJaW50ZWxfZGJ1Zl9zbGljZV9zZXQoZGV2X3ByaXYsIERCVUZfQ1RMLCBm YWxzZSk7Cj4gK30KPgo+IC0JdWRlbGF5KDEwKTsKPiArc3RhdGljIHU4IGludGVsX2RidWZfbWF4 X3NsaWNlcyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gK3sKPiArCWlmIChJ TlRFTF9HRU4oZGV2X3ByaXYpIDwgMTEpCj4gKwkJcmV0dXJuIDE7Cj4gKwlyZXR1cm4gMjsKPiAr fQo+Cj4gLQlpZiAoSTkxNV9SRUFEKERCVUZfQ1RMKSAmIERCVUZfUE9XRVJfU1RBVEUpCj4gLQkJ RFJNX0VSUk9SKCJEQnVmIHBvd2VyIGRpc2FibGUgdGltZW91dCFcbiIpOwo+ICt2b2lkIGljbF9k YnVmX3NsaWNlc191cGRhdGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ICsJ CQkgICAgdTggcmVxX3NsaWNlcykKPiArewo+ICsJdTggaHdfZW5hYmxlZF9zbGljZXMgPSBkZXZf cHJpdi0+d20uc2tsX2h3LmRkYi5lbmFibGVkX3NsaWNlczsKPiArCXUzMiB2YWw7Cj4gKwlib29s IHJldDsKPiArCj4gKwlpZiAocmVxX3NsaWNlcyA+IGludGVsX2RidWZfbWF4X3NsaWNlcyhkZXZf cHJpdikpIHsKPiArCQlEUk1fRVJST1IoIkludmFsaWQgbnVtYmVyIG9mIGRidWYgc2xpY2VzIHJl cXVlc3RlZFxuIik7Cj4gKwkJcmV0dXJuOwo+ICsJfQo+ICsKPiArCWlmIChyZXFfc2xpY2VzID09 IGh3X2VuYWJsZWRfc2xpY2VzIHx8IHJlcV9zbGljZXMgPT0gMCkKPiArCQlyZXR1cm47Cj4gKwo+ ICsJdmFsID0gSTkxNV9SRUFEKERCVUZfQ1RMX1MyKTsKPiArCWlmIChyZXFfc2xpY2VzID4gaHdf ZW5hYmxlZF9zbGljZXMpCj4gKwkJcmV0ID0gaW50ZWxfZGJ1Zl9zbGljZV9zZXQoZGV2X3ByaXYs IERCVUZfQ1RMX1MyLCB0cnVlKTsKPiArCWVsc2UKPiArCQlyZXQgPSBpbnRlbF9kYnVmX3NsaWNl X3NldChkZXZfcHJpdiwgREJVRl9DVExfUzIsIGZhbHNlKTsKPiArCj4gKwlpZiAocmV0KQo+ICsJ CWRldl9wcml2LT53bS5za2xfaHcuZGRiLmVuYWJsZWRfc2xpY2VzID0gcmVxX3NsaWNlczsKPiAg fQo+Cj4gLS8qCj4gLSAqIFRPRE86IHdlIHNob3VsZG4ndCBhbHdheXMgZW5hYmxlIERCVUZfQ1RM X1MyLCB3ZSBzaG91bGQgb25seSBlbmFibGUgaXQgd2hlbgo+IC0gKiBuZWVkZWQgYW5kIGtlZXAg aXQgZGlzYWJsZWQgYXMgbXVjaCBhcyBwb3NzaWJsZS4KPiAtICovCj4gIHN0YXRpYyB2b2lkIGlj bF9kYnVmX2VuYWJsZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gIHsKPiAg CUk5MTVfV1JJVEUoREJVRl9DVExfUzEsIEk5MTVfUkVBRChEQlVGX0NUTF9TMSkgfCBEQlVGX1BP V0VSX1JFUVVFU1QpOwo+IC0tCj4gMi4xNi4yCj4KPiBfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwo+IEludGVsLWdmeCBtYWlsaW5nIGxpc3QKPiBJbnRlbC1n ZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcv bWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMu ZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlz dGluZm8vaW50ZWwtZ2Z4Cg==