From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matt Roper Subject: Re: [PATCH 7/8] drm/i915/gen9+: Program watermarks as a separate step during evasion Date: Thu, 20 Oct 2016 11:35:07 -0700 Message-ID: <20161020183507.GC22654@intel.com> References: <1476278901-15750-1-git-send-email-maarten.lankhorst@linux.intel.com> <1476278901-15750-8-git-send-email-maarten.lankhorst@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTPS id 432786EC03 for ; Thu, 20 Oct 2016 18:35:42 +0000 (UTC) Content-Disposition: inline In-Reply-To: <1476278901-15750-8-git-send-email-maarten.lankhorst@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: Maarten Lankhorst Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gV2VkLCBPY3QgMTIsIDIwMTYgYXQgMDM6Mjg6MjBQTSArMDIwMCwgTWFhcnRlbiBMYW5raG9y c3Qgd3JvdGU6Cj4gSW5zdGVhZCBvZiBydW5uaW5nIHRoZSB3YXRlcm1hcmsgdXBkYXRlcyBmcm9t IHRoZSBjYWxsYmFja3MgcnVuCj4gdGhlbSBmcm9tIGEgc2VwYXJhdGUgaG9vayBhdG9taWNfZXZh ZGVfd2F0ZXJtYXJrcy4KPiAKPiBUaGlzIGFsc28gZ2V0cyByaWQgb2YgdGhlIGdsb2JhbCBza2xf cmVzdWx0cywgd2hpY2ggd2FzIHJlcXVpcmVkIGZvcgo+IGtlZXBpbmcgdHJhY2sgb2YgdGhlIGN1 cnJlbnQgYXRvbWljIGNvbW1pdC4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBNYWFydGVuIExhbmtob3Jz dCA8bWFhcnRlbi5sYW5raG9yc3RAbGludXguaW50ZWwuY29tPgo+IC0tLQo+ICBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgICAgfCAgNyAtLS0tLS0tCj4gIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2Rpc3BsYXkuYyB8IDM2ICsrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggICAgIHwgIDcgLS0tLS0t LQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jICAgICAgfCAzOCArKysrKysrKysr KysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf c3ByaXRlLmMgIHwgMTggLS0tLS0tLS0tLS0tLS0tLS0KPiAgNSBmaWxlcyBjaGFuZ2VkLCAyOCBp bnNlcnRpb25zKCspLCA3OCBkZWxldGlvbnMoLSkKPiAKLi4uCj4gQEAgLTE0NDM2LDggKzE0NDEz LDEzIEBAIHN0YXRpYyB2b2lkIGludGVsX2F0b21pY19jb21taXRfdGFpbChzdHJ1Y3QgZHJtX2F0 b21pY19zdGF0ZSAqc3RhdGUpCj4gIAkJCWludGVsX2NoZWNrX2NwdV9maWZvX3VuZGVycnVucyhk ZXZfcHJpdik7Cj4gIAkJCWludGVsX2NoZWNrX3BjaF9maWZvX3VuZGVycnVucyhkZXZfcHJpdik7 Cj4gIAo+IC0JCQlpZiAoIWNydGMtPnN0YXRlLT5hY3RpdmUpCj4gLQkJCQlpbnRlbF91cGRhdGVf d2F0ZXJtYXJrcyhjcnRjKTsKPiArCQkJaWYgKCFjcnRjLT5zdGF0ZS0+YWN0aXZlKSB7Cj4gKwkJ CQlpZiAoZGV2X3ByaXYtPmRpc3BsYXkuaW5pdGlhbF93YXRlcm1hcmtzKQo+ICsJCQkJCWRldl9w cml2LT5kaXNwbGF5LmluaXRpYWxfd2F0ZXJtYXJrcyhpbnRlbF9zdGF0ZSwKPiArCQkJCQkJCQkJ ICAgICB0b19pbnRlbF9jcnRjX3N0YXRlKGNydGMtPnN0YXRlKSk7Cj4gKwkJCQllbHNlCj4gKwkJ CQkJaW50ZWxfdXBkYXRlX3dhdGVybWFya3MoY3J0Yyk7Cj4gKwkJCX0KPiAgCQl9CgpUaGlzIHdp bGwgY2hhbmdlIHRoZSBiZWhhdmlvciBvbiBJTEstc3R5bGUgcGxhdGZvcm1zIHdvbid0IGl0PwpQ cmV2aW91c2x5IHRoZSBpbnRlbF91cGRhdGVfd2F0ZXJtYXJrcyBoZXJlIHdhcyBhIG5vb3Agb24g dGhvc2UKcGxhdGZvcm1zLCBidXQgbm93IHdlJ3JlIGNhbGxpbmcgaW5pdGlhbF93YXRlcm1hcmtz IGFmdGVyIHRoZSBDUlRDIGlzCmRpc2FibGVkIHRoZXJlIChub3RlIHRoYXQgdGhlcmUncyBhbHNv IGEgY2FsbCB0byBpdCBpbiBwcmVfcGxhbmVfdXBkYXRlCnRoYXQgd2UgcHVycG9zZWx5IHNraXAg d2hlbiBkb2luZyBhbnkga2luZCBvZiBtb2Rlc2V0KS4KCgpNYXR0Cgo+ICAJfQo+ICAKPiBAQCAt MTQ1OTksNyArMTQ1ODEsNiBAQCBzdGF0aWMgaW50IGludGVsX2F0b21pY19jb21taXQoc3RydWN0 IGRybV9kZXZpY2UgKmRldiwKPiAgCj4gIAlkcm1fYXRvbWljX2hlbHBlcl9zd2FwX3N0YXRlKHN0 YXRlLCB0cnVlKTsKPiAgCWRldl9wcml2LT53bS5kaXN0cnVzdF9iaW9zX3dtID0gZmFsc2U7Cj4g LQlkZXZfcHJpdi0+d20uc2tsX3Jlc3VsdHMgPSBpbnRlbF9zdGF0ZS0+d21fcmVzdWx0czsKPiAg CWludGVsX3NoYXJlZF9kcGxsX2NvbW1pdChzdGF0ZSk7Cj4gIAlpbnRlbF9hdG9taWNfdHJhY2tf ZmJzKHN0YXRlKTsKPiAgCj4gQEAgLTE0OTEzLDcgKzE0ODk0LDcgQEAgc3RhdGljIHZvaWQgaW50 ZWxfYmVnaW5fY3J0Y19jb21taXQoc3RydWN0IGRybV9jcnRjICpjcnRjLAo+ICAJaW50ZWxfcGlw ZV91cGRhdGVfc3RhcnQoaW50ZWxfY3J0Yyk7Cj4gIAo+ICAJaWYgKG1vZGVzZXQpCj4gLQkJcmV0 dXJuOwo+ICsJCWdvdG8gb3V0Owo+ICAKPiAgCWlmIChjcnRjLT5zdGF0ZS0+Y29sb3JfbWdtdF9j aGFuZ2VkIHx8IHRvX2ludGVsX2NydGNfc3RhdGUoY3J0Yy0+c3RhdGUpLT51cGRhdGVfcGlwZSkg ewo+ICAJCWludGVsX2NvbG9yX3NldF9jc2MoY3J0Yy0+c3RhdGUpOwo+IEBAIC0xNDkyNSw2ICsx NDkwNiw3IEBAIHN0YXRpYyB2b2lkIGludGVsX2JlZ2luX2NydGNfY29tbWl0KHN0cnVjdCBkcm1f Y3J0YyAqY3J0YywKPiAgCWVsc2UgaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPj0gOSkKPiAgCQlz a2xfZGV0YWNoX3NjYWxlcnMoaW50ZWxfY3J0Yyk7Cj4gIAo+ICtvdXQ6Cj4gIAlpZiAoZGV2X3By aXYtPmRpc3BsYXkuYXRvbWljX2V2YWRlX3dhdGVybWFya3MpCj4gIAkJZGV2X3ByaXYtPmRpc3Bs YXkuYXRvbWljX2V2YWRlX3dhdGVybWFya3ModG9faW50ZWxfYXRvbWljX3N0YXRlKG9sZF9jcnRj X3N0YXRlLT5zdGF0ZSksIGludGVsX2NzdGF0ZSk7Cj4gIH0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k cnYuaAo+IGluZGV4IDlmMDRlMjZjNDM2NS4uMTdjZjFlZTgzYmZiIDEwMDY0NAo+IC0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZHJ2LmgKPiBAQCAtMTc2MSwxMyArMTc2MSw2IEBAIGJvb2wgc2tsX2RkYl9hbGxv Y2F0aW9uX2VxdWFscyhjb25zdCBzdHJ1Y3Qgc2tsX2RkYl9hbGxvY2F0aW9uICpvbGQsCj4gIAkJ CSAgICAgICBlbnVtIHBpcGUgcGlwZSk7Cj4gIGJvb2wgc2tsX2RkYl9hbGxvY2F0aW9uX292ZXJs YXBzKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSwKPiAgCQkJCSBzdHJ1Y3QgaW50ZWxf Y3J0YyAqaW50ZWxfY3J0Yyk7Cj4gLXZvaWQgc2tsX3dyaXRlX2N1cnNvcl93bShzdHJ1Y3QgaW50 ZWxfY3J0YyAqaW50ZWxfY3J0YywKPiAtCQkJIGNvbnN0IHN0cnVjdCBza2xfcGxhbmVfd20gKndt LAo+IC0JCQkgY29uc3Qgc3RydWN0IHNrbF9kZGJfYWxsb2NhdGlvbiAqZGRiKTsKPiAtdm9pZCBz a2xfd3JpdGVfcGxhbmVfd20oc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMsCj4gLQkJCWNv bnN0IHN0cnVjdCBza2xfcGxhbmVfd20gKndtLAo+IC0JCQljb25zdCBzdHJ1Y3Qgc2tsX2RkYl9h bGxvY2F0aW9uICpkZGIsCj4gLQkJCWludCBwbGFuZSk7Cj4gIHVpbnQzMl90IGlsa19waXBlX3Bp eGVsX3JhdGUoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnKTsKPiAg Ym9vbCBpbGtfZGlzYWJsZV9scF93bShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKPiAgaW50IHNh bml0aXplX3JjNl9vcHRpb24oc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCBpbnQg ZW5hYmxlX3JjNik7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Bt LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jCj4gaW5kZXggYmUzZGQ4Y2RjN2Fl Li4xOGM2MmQxZWVhMTkgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf cG0uYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMKPiBAQCAtNDE3OSwy NyArNDE3OSwzNSBAQCBza2xfY29tcHV0ZV93bShzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3Rh dGUpCj4gIAlyZXR1cm4gMDsKPiAgfQo+ICAKPiAtc3RhdGljIHZvaWQgc2tsX2V2YWRlX2NydGNf d20oc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAqc3RhdGUsCj4gLQkJCSAgICAgIHN0cnVjdCBp bnRlbF9jcnRjX3N0YXRlICpjc3RhdGUpCj4gK3N0YXRpYyB2b2lkIHNrbF9ldmFkZV9jcnRjX3dt KHN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgKnN0YXRlLCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0 ZSAqY3N0YXRlKQo+ICB7Cj4gIAlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2Ny dGMoY3N0YXRlLT5iYXNlLmNydGMpOwo+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2ID0gdG9faTkxNShzdGF0ZS0+YmFzZS5kZXYpOwo+ICAJc3RydWN0IHNrbF9waXBlX3dtICpw aXBlX3dtID0gJmNzdGF0ZS0+d20uc2tsLm9wdGltYWw7Cj4gKwljb25zdCBzdHJ1Y3Qgc2tsX2Rk Yl9hbGxvY2F0aW9uICpkZGIgPSAmc3RhdGUtPndtX3Jlc3VsdHMuZGRiOwo+ICAJZW51bSBwaXBl IHBpcGUgPSBjcnRjLT5waXBlOwo+ICsJaW50IHBsYW5lOwo+ICsKPiArCWlmICghKHN0YXRlLT53 bV9yZXN1bHRzLmRpcnR5X3BpcGVzICYgZHJtX2NydGNfbWFzaygmY3J0Yy0+YmFzZSkpKQo+ICsJ CXJldHVybjsKPiAgCj4gLQlJOTE1X1dSSVRFKFBJUEVfV01fTElORVRJTUUocGlwZSksCj4gLQkJ ICAgcGlwZV93bS0+bGluZXRpbWUpOwo+ICsJSTkxNV9XUklURShQSVBFX1dNX0xJTkVUSU1FKHBp cGUpLCBwaXBlX3dtLT5saW5ldGltZSk7Cj4gKwo+ICsJZm9yIChwbGFuZSA9IDA7IHBsYW5lIDwg aW50ZWxfbnVtX3BsYW5lcyhjcnRjKTsgcGxhbmUrKykKPiArCQlza2xfd3JpdGVfcGxhbmVfd20o Y3J0YywgJnBpcGVfd20tPnBsYW5lc1twbGFuZV0sIGRkYiwgcGxhbmUpOwo+ICsKPiArCXNrbF93 cml0ZV9jdXJzb3Jfd20oY3J0YywgJnBpcGVfd20tPnBsYW5lc1tQTEFORV9DVVJTT1JdLCBkZGIp Owo+ICB9Cj4gIAo+IC1zdGF0aWMgdm9pZCBza2xfdXBkYXRlX3dtKHN0cnVjdCBkcm1fY3J0YyAq Y3J0YykKPiArc3RhdGljIHZvaWQgc2tsX2luaXRpYWxfd20oc3RydWN0IGludGVsX2F0b21pY19z dGF0ZSAqc3RhdGUsCj4gKwkJCSAgIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjc3RhdGUpCj4g IHsKPiArCXN0cnVjdCBkcm1fY3J0YyAqY3J0YyA9IGNzdGF0ZS0+YmFzZS5jcnRjOwo+ICAJc3Ry dWN0IGludGVsX2NydGMgKmludGVsX2NydGMgPSB0b19pbnRlbF9jcnRjKGNydGMpOwo+ICAJc3Ry dWN0IGRybV9kZXZpY2UgKmRldiA9IGNydGMtPmRldjsKPiAgCXN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZGV2KTsKPiAtCXN0cnVjdCBza2xfd21fdmFsdWVzICpy ZXN1bHRzID0gJmRldl9wcml2LT53bS5za2xfcmVzdWx0czsKPiArCXN0cnVjdCBza2xfd21fdmFs dWVzICpyZXN1bHRzID0gJnN0YXRlLT53bV9yZXN1bHRzOwo+ICAJc3RydWN0IHNrbF93bV92YWx1 ZXMgKmh3X3ZhbHMgPSAmZGV2X3ByaXYtPndtLnNrbF9odzsKPiAtCXN0cnVjdCBpbnRlbF9jcnRj X3N0YXRlICpjc3RhdGUgPSB0b19pbnRlbF9jcnRjX3N0YXRlKGNydGMtPnN0YXRlKTsKPiAtCXN0 cnVjdCBza2xfcGlwZV93bSAqcGlwZV93bSA9ICZjc3RhdGUtPndtLnNrbC5vcHRpbWFsOwo+ICAJ ZW51bSBwaXBlIHBpcGUgPSBpbnRlbF9jcnRjLT5waXBlOwo+ICAKPiAgCWlmICgocmVzdWx0cy0+ ZGlydHlfcGlwZXMgJiBkcm1fY3J0Y19tYXNrKGNydGMpKSA9PSAwKQo+IEBAIC00MjEzLDE2ICs0 MjIxLDggQEAgc3RhdGljIHZvaWQgc2tsX3VwZGF0ZV93bShzdHJ1Y3QgZHJtX2NydGMgKmNydGMp Cj4gIAkgKiB0aGUgcGlwZSdzIHNodXQgb2ZmLCBqdXN0IGRvIHNvIGhlcmUuIEFscmVhZHkgYWN0 aXZlIHBpcGVzIHdpbGwgaGF2ZQo+ICAJICogdGhlaXIgd2F0ZXJtYXJrcyB1cGRhdGVkIG9uY2Ug d2UgdXBkYXRlIHRoZWlyIHBsYW5lcy4KPiAgCSAqLwo+IC0JaWYgKGNydGMtPnN0YXRlLT5hY3Rp dmVfY2hhbmdlZCkgewo+IC0JCWludCBwbGFuZTsKPiAtCj4gLQkJZm9yIChwbGFuZSA9IDA7IHBs YW5lIDwgaW50ZWxfbnVtX3BsYW5lcyhpbnRlbF9jcnRjKTsgcGxhbmUrKykKPiAtCQkJc2tsX3dy aXRlX3BsYW5lX3dtKGludGVsX2NydGMsICZwaXBlX3dtLT5wbGFuZXNbcGxhbmVdLAo+IC0JCQkJ CSAgICZyZXN1bHRzLT5kZGIsIHBsYW5lKTsKPiAtCj4gLQkJc2tsX3dyaXRlX2N1cnNvcl93bShp bnRlbF9jcnRjLCAmcGlwZV93bS0+cGxhbmVzW1BMQU5FX0NVUlNPUl0sCj4gLQkJCQkgICAgJnJl c3VsdHMtPmRkYik7Cj4gLQl9Cj4gKwlpZiAoY3N0YXRlLT5iYXNlLmFjdGl2ZV9jaGFuZ2VkKQo+ ICsJCXNrbF9ldmFkZV9jcnRjX3dtKHN0YXRlLCBjc3RhdGUpOwo+ICAKPiAgCXNrbF9jb3B5X3dt X2Zvcl9waXBlKGh3X3ZhbHMsIHJlc3VsdHMsIHBpcGUpOwo+ICAKPiBAQCAtNzcyNyw3ICs3NzI3 LDcgQEAgdm9pZCBpbnRlbF9pbml0X3BtKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gIAkvKiBG b3IgRklGTyB3YXRlcm1hcmsgdXBkYXRlcyAqLwo+ICAJaWYgKElOVEVMX0lORk8oZGV2KS0+Z2Vu ID49IDkpIHsKPiAgCQlza2xfc2V0dXBfd21fbGF0ZW5jeShkZXYpOwo+IC0JCWRldl9wcml2LT5k aXNwbGF5LnVwZGF0ZV93bSA9IHNrbF91cGRhdGVfd207Cj4gKwkJZGV2X3ByaXYtPmRpc3BsYXku aW5pdGlhbF93YXRlcm1hcmtzID0gc2tsX2luaXRpYWxfd207Cj4gIAkJZGV2X3ByaXYtPmRpc3Bs YXkuYXRvbWljX2V2YWRlX3dhdGVybWFya3MgPSBza2xfZXZhZGVfY3J0Y193bTsKPiAgCQlkZXZf cHJpdi0+ZGlzcGxheS5jb21wdXRlX2dsb2JhbF93YXRlcm1hcmtzID0gc2tsX2NvbXB1dGVfd207 Cj4gIAl9IGVsc2UgaWYgKEhBU19QQ0hfU1BMSVQoZGV2KSkgewo+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zcHJpdGUuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX3Nwcml0ZS5jCj4gaW5kZXggMGZiNzc1YjRjOTNlLi4zNjY5MDBkY2RlMzQgMTAwNjQ0Cj4g LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc3ByaXRlLmMKPiArKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9zcHJpdGUuYwo+IEBAIC0yMDMsMTMgKzIwMyw4IEBAIHNrbF91 cGRhdGVfcGxhbmUoc3RydWN0IGRybV9wbGFuZSAqZHJtX3BsYW5lLAo+ICAJc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShkZXYpOwo+ICAJc3RydWN0IGludGVsX3Bs YW5lICppbnRlbF9wbGFuZSA9IHRvX2ludGVsX3BsYW5lKGRybV9wbGFuZSk7Cj4gIAlzdHJ1Y3Qg ZHJtX2ZyYW1lYnVmZmVyICpmYiA9IHBsYW5lX3N0YXRlLT5iYXNlLmZiOwo+IC0JY29uc3Qgc3Ry dWN0IHNrbF93bV92YWx1ZXMgKndtID0gJmRldl9wcml2LT53bS5za2xfcmVzdWx0czsKPiAtCXN0 cnVjdCBkcm1fY3J0YyAqY3J0YyA9IGNydGNfc3RhdGUtPmJhc2UuY3J0YzsKPiAtCXN0cnVjdCBp bnRlbF9jcnRjICppbnRlbF9jcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjKTsKPiAgCWNvbnN0IGlu dCBwaXBlID0gaW50ZWxfcGxhbmUtPnBpcGU7Cj4gIAljb25zdCBpbnQgcGxhbmUgPSBpbnRlbF9w bGFuZS0+cGxhbmUgKyAxOwo+IC0JY29uc3Qgc3RydWN0IHNrbF9wbGFuZV93bSAqcF93bSA9Cj4g LQkJJmNydGNfc3RhdGUtPndtLnNrbC5vcHRpbWFsLnBsYW5lc1twbGFuZV07Cj4gIAl1MzIgcGxh bmVfY3RsOwo+ICAJY29uc3Qgc3RydWN0IGRybV9pbnRlbF9zcHJpdGVfY29sb3JrZXkgKmtleSA9 ICZwbGFuZV9zdGF0ZS0+Y2tleTsKPiAgCXUzMiBzdXJmX2FkZHIgPSBwbGFuZV9zdGF0ZS0+bWFp bi5vZmZzZXQ7Cj4gQEAgLTIzMyw5ICsyMjgsNiBAQCBza2xfdXBkYXRlX3BsYW5lKHN0cnVjdCBk cm1fcGxhbmUgKmRybV9wbGFuZSwKPiAgCj4gIAlwbGFuZV9jdGwgfD0gc2tsX3BsYW5lX2N0bF9y b3RhdGlvbihyb3RhdGlvbik7Cj4gIAo+IC0JaWYgKHdtLT5kaXJ0eV9waXBlcyAmIGRybV9jcnRj X21hc2soY3J0YykpCj4gLQkJc2tsX3dyaXRlX3BsYW5lX3dtKGludGVsX2NydGMsIHBfd20sICZ3 bS0+ZGRiLCBwbGFuZSk7Cj4gLQo+ICAJaWYgKGtleS0+ZmxhZ3MpIHsKPiAgCQlJOTE1X1dSSVRF KFBMQU5FX0tFWVZBTChwaXBlLCBwbGFuZSksIGtleS0+bWluX3ZhbHVlKTsKPiAgCQlJOTE1X1dS SVRFKFBMQU5FX0tFWU1BWChwaXBlLCBwbGFuZSksIGtleS0+bWF4X3ZhbHVlKTsKPiBAQCAtMjkx LDE5ICsyODMsOSBAQCBza2xfZGlzYWJsZV9wbGFuZShzdHJ1Y3QgZHJtX3BsYW5lICpkcGxhbmUs IHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKPiAgCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBkcGxh bmUtPmRldjsKPiAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUo ZGV2KTsKPiAgCXN0cnVjdCBpbnRlbF9wbGFuZSAqaW50ZWxfcGxhbmUgPSB0b19pbnRlbF9wbGFu ZShkcGxhbmUpOwo+IC0Jc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNzdGF0ZSA9IHRvX2ludGVs X2NydGNfc3RhdGUoY3J0Yy0+c3RhdGUpOwo+ICAJY29uc3QgaW50IHBpcGUgPSBpbnRlbF9wbGFu ZS0+cGlwZTsKPiAgCWNvbnN0IGludCBwbGFuZSA9IGludGVsX3BsYW5lLT5wbGFuZSArIDE7Cj4g IAo+IC0JLyoKPiAtCSAqIFdlIG9ubHkgcG9wdWxhdGUgc2tsX3Jlc3VsdHMgb24gd2F0ZXJtYXJr IHVwZGF0ZXMsIGFuZCBpZiB0aGUKPiAtCSAqIHBsYW5lJ3MgdmlzaWJsaXR5IGlzbid0IGFjdHVh bGx5IGNoYW5naW5nIG5laXRoZXIgaXMgaXRzIHdhdGVybWFya3MuCj4gLQkgKi8KPiAtCWlmICgh ZHBsYW5lLT5zdGF0ZS0+dmlzaWJsZSkKPiAtCQlza2xfd3JpdGVfcGxhbmVfd20odG9faW50ZWxf Y3J0YyhjcnRjKSwKPiAtCQkJCSAgICZjc3RhdGUtPndtLnNrbC5vcHRpbWFsLnBsYW5lc1twbGFu ZV0sCj4gLQkJCQkgICAmZGV2X3ByaXYtPndtLnNrbF9yZXN1bHRzLmRkYiwgcGxhbmUpOwo+IC0K PiAgCUk5MTVfV1JJVEUoUExBTkVfQ1RMKHBpcGUsIHBsYW5lKSwgMCk7Cj4gIAo+ICAJSTkxNV9X UklURShQTEFORV9TVVJGKHBpcGUsIHBsYW5lKSwgMCk7Cj4gLS0gCj4gMi43LjQKPiAKPiBfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+IEludGVsLWdmeCBt YWlsaW5nIGxpc3QKPiBJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gaHR0cHM6Ly9s aXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngKCi0tIApNYXR0 IFJvcGVyCkdyYXBoaWNzIFNvZnR3YXJlIEVuZ2luZWVyCklvVEcgUGxhdGZvcm0gRW5hYmxpbmcg JiBEZXZlbG9wbWVudApJbnRlbCBDb3Jwb3JhdGlvbgooOTE2KSAzNTYtMjc5NQpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBs aXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVz a3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK