From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matt Roper Subject: Re: [PATCH v2 09/11] drm/i915/gen9+: Program watermarks as a separate step during evasion, v2. Date: Wed, 26 Oct 2016 16:24:45 -0700 Message-ID: <20161026232445.GD5924@intel.com> References: <1477489299-25777-1-git-send-email-maarten.lankhorst@linux.intel.com> <1477489299-25777-10-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 mga07.intel.com (mga07.intel.com [134.134.136.100]) by gabe.freedesktop.org (Postfix) with ESMTPS id C01376E95F for ; Wed, 26 Oct 2016 23:24:45 +0000 (UTC) Content-Disposition: inline In-Reply-To: <1477489299-25777-10-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 T24gV2VkLCBPY3QgMjYsIDIwMTYgYXQgMDM6NDE6MzdQTSArMDIwMCwgTWFhcnRlbiBMYW5raG9y c3Qgd3JvdGU6Cj4gVGhlIHdhdGVybWFyayB1cGRhdGVzIGZvciBTS0wgc3R5bGUgd2F0ZXJtYXJr cyBhcmUgbm8gbG9uZ2VyIGRvbmUKPiBpbiB0aGUgcGxhbmUgY2FsbGJhY2tzLCBidXQgYXJlIG5v dyBjYWxsZWQgaW4gYSBzZXBhcmF0ZSB3YXRlcm1hcmsKPiB1cGRhdGUgZnVuY3Rpb24gdGhhdCdz IGNhbGxlZCBkdXJpbmcgdGhlIHNhbWUgdmJsYW5rIGV2YXNpb24sCj4gYmVmb3JlIHRoZSBwbGFu ZSB1cGRhdGVzLgo+IAo+IFRoaXMgYWxzbyBnZXRzIHJpZCBvZiB0aGUgZ2xvYmFsIHNrbF9yZXN1 bHRzLCB3aGljaCB3YXMgcmVxdWlyZWQgZm9yCj4ga2VlcGluZyB0cmFjayBvZiB0aGUgY3VycmVu dCBhdG9taWMgY29tbWl0Lgo+IAo+IENoYW5nZXMgc2luY2UgdjE6Cj4gLSBNb3ZlIGxpbmUgdW53 cmFwIHRvIGNvcnJlY3QgcGF0Y2guIChMeXVkZSkKPiAtIE1ha2Ugc3VyZSB3ZSBkb24ndCByZWdy ZXNzIElMSyB3YXRlcm1hcmtzLiAoTWF0dCkKPiAtIFJlcGhyYXNlIGNvbW1pdCBtZXNzYWdlLiAo TWF0dCkKPiAKLi4uCj4gQEAgLTE0NDU5LDggKzE0NDM2LDE3IEBAIHN0YXRpYyB2b2lkIGludGVs X2F0b21pY19jb21taXRfdGFpbChzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpCj4gIAkJ CWludGVsX2NoZWNrX2NwdV9maWZvX3VuZGVycnVucyhkZXZfcHJpdik7Cj4gIAkJCWludGVsX2No ZWNrX3BjaF9maWZvX3VuZGVycnVucyhkZXZfcHJpdik7Cj4gIAo+IC0JCQlpZiAoIWNydGMtPnN0 YXRlLT5hY3RpdmUpCj4gLQkJCQlpbnRlbF91cGRhdGVfd2F0ZXJtYXJrcyhjcnRjKTsKPiArCQkJ aWYgKCFjcnRjLT5zdGF0ZS0+YWN0aXZlKSB7Cj4gKwkJCQkvKgo+ICsJCQkJICogTWFrZSBzdXJl IHdlIGRvbid0IGNhbGwgaW5pdGlhbF93YXRlcm1hcmtzCj4gKwkJCQkgKiBmb3IgSUxLLXN0eWxl IHdhdGVybWFyayB1cGRhdGVzLgo+ICsJCQkJICovCj4gKwkJCQlpZiAoSEFTX0RESShkZXZfcHJp dikgJiYgZGV2X3ByaXYtPmRpc3BsYXkuaW5pdGlhbF93YXRlcm1hcmtzKQoKQXJlbid0IEhTVy9C RFcgRERJIHBsYXRmb3Jtcz8gIFRoZXkgc3RpbGwgdXNlIHRoZSBJTEstc3R5bGUgd2F0ZXJtYXJr cywKc28gSSBkb24ndCB0aGluayB0aGlzIGlzIHByb3RlY3RpbmcgYWxsIHRoZSBwbGF0Zm9ybXMg aXQgbmVlZHMgdG8uCgpFdmVuIGlmIHRoYXQgd2VyZW4ndCB0aGUgY2FzZSwgSSB3b3VsZG4ndCBi ZSB3aWxkIGFib3V0IHVzaW5nIEhBU19EREkKaGVyZSBzaW5jZSB3aGV0aGVyIG9yIG5vdCBhIHBs YXRmb3JtIGhhcyBEREkgaXNuJ3QgcmVhbGx5IHRoZSByZWFzb24Kd2UncmUgcHJvZ3JhbW1pbmcg d2F0ZXJtYXJrcyBkaWZmZXJlbnRseSBzbyB0aGUgY29kZSBpcyBhIGJpdCBjb25mdXNpbmcKdG8g dGhlIGNhc3VhbCByZWFkZXIuCgoKTWF0dAoKPiArCQkJCQlkZXZfcHJpdi0+ZGlzcGxheS5pbml0 aWFsX3dhdGVybWFya3MoaW50ZWxfc3RhdGUsCj4gKwkJCQkJCQkJCSAgICAgdG9faW50ZWxfY3J0 Y19zdGF0ZShjcnRjLT5zdGF0ZSkpOwo+ICsJCQkJZWxzZQo+ICsJCQkJCWludGVsX3VwZGF0ZV93 YXRlcm1hcmtzKGNydGMpOwo+ICsJCQl9Cj4gIAkJfQo+ICAJfQo+ICAKPiBAQCAtMTQ2MzEsNyAr MTQ2MTcsNiBAQCBzdGF0aWMgaW50IGludGVsX2F0b21pY19jb21taXQoc3RydWN0IGRybV9kZXZp Y2UgKmRldiwKPiAgCj4gIAlkcm1fYXRvbWljX2hlbHBlcl9zd2FwX3N0YXRlKHN0YXRlLCB0cnVl KTsKPiAgCWRldl9wcml2LT53bS5kaXN0cnVzdF9iaW9zX3dtID0gZmFsc2U7Cj4gLQlkZXZfcHJp di0+d20uc2tsX3Jlc3VsdHMgPSBpbnRlbF9zdGF0ZS0+d21fcmVzdWx0czsKPiAgCWludGVsX3No YXJlZF9kcGxsX2NvbW1pdChzdGF0ZSk7Cj4gIAlpbnRlbF9hdG9taWNfdHJhY2tfZmJzKHN0YXRl KTsKPiAgCj4gQEAgLTE0OTM5LDcgKzE0OTI0LDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfYmVnaW5f Y3J0Y19jb21taXQoc3RydWN0IGRybV9jcnRjICpjcnRjLAo+ICAJaW50ZWxfcGlwZV91cGRhdGVf c3RhcnQoaW50ZWxfY3J0Yyk7Cj4gIAo+ICAJaWYgKG1vZGVzZXQpCj4gLQkJcmV0dXJuOwo+ICsJ CWdvdG8gb3V0Owo+ICAKPiAgCWlmIChjcnRjLT5zdGF0ZS0+Y29sb3JfbWdtdF9jaGFuZ2VkIHx8 IHRvX2ludGVsX2NydGNfc3RhdGUoY3J0Yy0+c3RhdGUpLT51cGRhdGVfcGlwZSkgewo+ICAJCWlu dGVsX2NvbG9yX3NldF9jc2MoY3J0Yy0+c3RhdGUpOwo+IEBAIC0xNDk1MSw2ICsxNDkzNiw3IEBA IHN0YXRpYyB2b2lkIGludGVsX2JlZ2luX2NydGNfY29tbWl0KHN0cnVjdCBkcm1fY3J0YyAqY3J0 YywKPiAgCWVsc2UgaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPj0gOSkKPiAgCQlza2xfZGV0YWNo X3NjYWxlcnMoaW50ZWxfY3J0Yyk7Cj4gIAo+ICtvdXQ6Cj4gIAlpZiAoZGV2X3ByaXYtPmRpc3Bs YXkuYXRvbWljX2V2YWRlX3dhdGVybWFya3MpCj4gIAkJZGV2X3ByaXYtPmRpc3BsYXkuYXRvbWlj X2V2YWRlX3dhdGVybWFya3ModG9faW50ZWxfYXRvbWljX3N0YXRlKG9sZF9jcnRjX3N0YXRlLT5z dGF0ZSksIGludGVsX2NzdGF0ZSk7Cj4gIH0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+IGlu ZGV4IDc3YTBhNzNlMzdiMC4uMmNkN2M1ZmQ5ZWJkIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZHJ2LmgKPiBAQCAtMTc0NywxMyArMTc0Nyw2IEBAIGJvb2wgc2tsX2RkYl9hbGxvY2F0aW9uX2Vx dWFscyhjb25zdCBzdHJ1Y3Qgc2tsX2RkYl9hbGxvY2F0aW9uICpvbGQsCj4gIAkJCSAgICAgICBl bnVtIHBpcGUgcGlwZSk7Cj4gIGJvb2wgc2tsX2RkYl9hbGxvY2F0aW9uX292ZXJsYXBzKHN0cnVj dCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSwKPiAgCQkJCSBzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50 ZWxfY3J0Yyk7Cj4gLXZvaWQgc2tsX3dyaXRlX2N1cnNvcl93bShzdHJ1Y3QgaW50ZWxfY3J0YyAq aW50ZWxfY3J0YywKPiAtCQkJIGNvbnN0IHN0cnVjdCBza2xfcGxhbmVfd20gKndtLAo+IC0JCQkg Y29uc3Qgc3RydWN0IHNrbF9kZGJfYWxsb2NhdGlvbiAqZGRiKTsKPiAtdm9pZCBza2xfd3JpdGVf cGxhbmVfd20oc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMsCj4gLQkJCWNvbnN0IHN0cnVj dCBza2xfcGxhbmVfd20gKndtLAo+IC0JCQljb25zdCBzdHJ1Y3Qgc2tsX2RkYl9hbGxvY2F0aW9u ICpkZGIsCj4gLQkJCWludCBwbGFuZSk7Cj4gIHVpbnQzMl90IGlsa19waXBlX3BpeGVsX3JhdGUo Y29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnKTsKPiAgYm9vbCBpbGtf ZGlzYWJsZV9scF93bShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKPiAgaW50IHNhbml0aXplX3Jj Nl9vcHRpb24oc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCBpbnQgZW5hYmxlX3Jj Nik7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jCj4gaW5kZXggZmU0YmM5N2VkNTZhLi5lMjU0MTUz OTk2N2IgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYwo+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMKPiBAQCAtNDIwMSwyNiArNDIwMSwz NSBAQCBza2xfY29tcHV0ZV93bShzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpCj4gIAly ZXR1cm4gMDsKPiAgfQo+ICAKPiAtc3RhdGljIHZvaWQgc2tsX2V2YWRlX2NydGNfd20oc3RydWN0 IGludGVsX2F0b21pY19zdGF0ZSAqc3RhdGUsCj4gLQkJCSAgICAgIHN0cnVjdCBpbnRlbF9jcnRj X3N0YXRlICpjc3RhdGUpCj4gK3N0YXRpYyB2b2lkIHNrbF9ldmFkZV9jcnRjX3dtKHN0cnVjdCBp bnRlbF9hdG9taWNfc3RhdGUgKnN0YXRlLCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3N0YXRl KQo+ICB7Cj4gIAlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3N0YXRl LT5iYXNlLmNydGMpOwo+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9f aTkxNShzdGF0ZS0+YmFzZS5kZXYpOwo+ICAJc3RydWN0IHNrbF9waXBlX3dtICpwaXBlX3dtID0g JmNzdGF0ZS0+d20uc2tsLm9wdGltYWw7Cj4gKwljb25zdCBzdHJ1Y3Qgc2tsX2RkYl9hbGxvY2F0 aW9uICpkZGIgPSAmc3RhdGUtPndtX3Jlc3VsdHMuZGRiOwo+ICAJZW51bSBwaXBlIHBpcGUgPSBj cnRjLT5waXBlOwo+ICsJaW50IHBsYW5lOwo+ICsKPiArCWlmICghKHN0YXRlLT53bV9yZXN1bHRz LmRpcnR5X3BpcGVzICYgZHJtX2NydGNfbWFzaygmY3J0Yy0+YmFzZSkpKQo+ICsJCXJldHVybjsK PiAgCj4gIAlJOTE1X1dSSVRFKFBJUEVfV01fTElORVRJTUUocGlwZSksIHBpcGVfd20tPmxpbmV0 aW1lKTsKPiArCj4gKwlmb3IgKHBsYW5lID0gMDsgcGxhbmUgPCBpbnRlbF9udW1fcGxhbmVzKGNy dGMpOyBwbGFuZSsrKQo+ICsJCXNrbF93cml0ZV9wbGFuZV93bShjcnRjLCAmcGlwZV93bS0+cGxh bmVzW3BsYW5lXSwgZGRiLCBwbGFuZSk7Cj4gKwo+ICsJc2tsX3dyaXRlX2N1cnNvcl93bShjcnRj LCAmcGlwZV93bS0+cGxhbmVzW1BMQU5FX0NVUlNPUl0sIGRkYik7Cj4gIH0KPiAgCj4gLXN0YXRp YyB2b2lkIHNrbF91cGRhdGVfd20oc3RydWN0IGRybV9jcnRjICpjcnRjKQo+ICtzdGF0aWMgdm9p ZCBza2xfaW5pdGlhbF93bShzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpzdGF0ZSwKPiArCQkJ ICAgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNzdGF0ZSkKPiAgewo+ICsJc3RydWN0IGRybV9j cnRjICpjcnRjID0gY3N0YXRlLT5iYXNlLmNydGM7Cj4gIAlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50 ZWxfY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Yyk7Cj4gIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 ID0gY3J0Yy0+ZGV2Owo+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9f aTkxNShkZXYpOwo+IC0Jc3RydWN0IHNrbF93bV92YWx1ZXMgKnJlc3VsdHMgPSAmZGV2X3ByaXYt PndtLnNrbF9yZXN1bHRzOwo+ICsJc3RydWN0IHNrbF93bV92YWx1ZXMgKnJlc3VsdHMgPSAmc3Rh dGUtPndtX3Jlc3VsdHM7Cj4gIAlzdHJ1Y3Qgc2tsX3dtX3ZhbHVlcyAqaHdfdmFscyA9ICZkZXZf cHJpdi0+d20uc2tsX2h3Owo+IC0Jc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNzdGF0ZSA9IHRv X2ludGVsX2NydGNfc3RhdGUoY3J0Yy0+c3RhdGUpOwo+IC0Jc3RydWN0IHNrbF9waXBlX3dtICpw aXBlX3dtID0gJmNzdGF0ZS0+d20uc2tsLm9wdGltYWw7Cj4gIAllbnVtIHBpcGUgcGlwZSA9IGlu dGVsX2NydGMtPnBpcGU7Cj4gIAo+ICAJaWYgKChyZXN1bHRzLT5kaXJ0eV9waXBlcyAmIGRybV9j cnRjX21hc2soY3J0YykpID09IDApCj4gQEAgLTQyMzQsMTYgKzQyNDMsOCBAQCBzdGF0aWMgdm9p ZCBza2xfdXBkYXRlX3dtKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKPiAgCSAqIHRoZSBwaXBlJ3Mg c2h1dCBvZmYsIGp1c3QgZG8gc28gaGVyZS4gQWxyZWFkeSBhY3RpdmUgcGlwZXMgd2lsbCBoYXZl Cj4gIAkgKiB0aGVpciB3YXRlcm1hcmtzIHVwZGF0ZWQgb25jZSB3ZSB1cGRhdGUgdGhlaXIgcGxh bmVzLgo+ICAJICovCj4gLQlpZiAoY3J0Yy0+c3RhdGUtPmFjdGl2ZV9jaGFuZ2VkKSB7Cj4gLQkJ aW50IHBsYW5lOwo+IC0KPiAtCQlmb3IgKHBsYW5lID0gMDsgcGxhbmUgPCBpbnRlbF9udW1fcGxh bmVzKGludGVsX2NydGMpOyBwbGFuZSsrKQo+IC0JCQlza2xfd3JpdGVfcGxhbmVfd20oaW50ZWxf Y3J0YywgJnBpcGVfd20tPnBsYW5lc1twbGFuZV0sCj4gLQkJCQkJICAgJnJlc3VsdHMtPmRkYiwg cGxhbmUpOwo+IC0KPiAtCQlza2xfd3JpdGVfY3Vyc29yX3dtKGludGVsX2NydGMsICZwaXBlX3dt LT5wbGFuZXNbUExBTkVfQ1VSU09SXSwKPiAtCQkJCSAgICAmcmVzdWx0cy0+ZGRiKTsKPiAtCX0K PiArCWlmIChjc3RhdGUtPmJhc2UuYWN0aXZlX2NoYW5nZWQpCj4gKwkJc2tsX2V2YWRlX2NydGNf d20oc3RhdGUsIGNzdGF0ZSk7Cj4gIAo+ICAJc2tsX2NvcHlfd21fZm9yX3BpcGUoaHdfdmFscywg cmVzdWx0cywgcGlwZSk7Cj4gIAo+IEBAIC03NzUxLDcgKzc3NTIsNyBAQCB2b2lkIGludGVsX2lu aXRfcG0oc3RydWN0IGRybV9kZXZpY2UgKmRldikKPiAgCS8qIEZvciBGSUZPIHdhdGVybWFyayB1 cGRhdGVzICovCj4gIAlpZiAoSU5URUxfSU5GTyhkZXYpLT5nZW4gPj0gOSkgewo+ICAJCXNrbF9z ZXR1cF93bV9sYXRlbmN5KGRldik7Cj4gLQkJZGV2X3ByaXYtPmRpc3BsYXkudXBkYXRlX3dtID0g c2tsX3VwZGF0ZV93bTsKPiArCQlkZXZfcHJpdi0+ZGlzcGxheS5pbml0aWFsX3dhdGVybWFya3Mg PSBza2xfaW5pdGlhbF93bTsKPiAgCQlkZXZfcHJpdi0+ZGlzcGxheS5hdG9taWNfZXZhZGVfd2F0 ZXJtYXJrcyA9IHNrbF9ldmFkZV9jcnRjX3dtOwo+ICAJCWRldl9wcml2LT5kaXNwbGF5LmNvbXB1 dGVfZ2xvYmFsX3dhdGVybWFya3MgPSBza2xfY29tcHV0ZV93bTsKPiAgCX0gZWxzZSBpZiAoSEFT X1BDSF9TUExJVChkZXZfcHJpdikpIHsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfc3ByaXRlLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zcHJpdGUuYwo+ IGluZGV4IDQzZDAzNTA4NTZlNy4uMDBkMTdkNjgzZjY3IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX3Nwcml0ZS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfc3ByaXRlLmMKPiBAQCAtMjAzLDEzICsyMDMsOCBAQCBza2xfdXBkYXRlX3BsYW5lKHN0 cnVjdCBkcm1fcGxhbmUgKmRybV9wbGFuZSwKPiAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdiA9IHRvX2k5MTUoZGV2KTsKPiAgCXN0cnVjdCBpbnRlbF9wbGFuZSAqaW50ZWxfcGxh bmUgPSB0b19pbnRlbF9wbGFuZShkcm1fcGxhbmUpOwo+ICAJc3RydWN0IGRybV9mcmFtZWJ1ZmZl ciAqZmIgPSBwbGFuZV9zdGF0ZS0+YmFzZS5mYjsKPiAtCWNvbnN0IHN0cnVjdCBza2xfd21fdmFs dWVzICp3bSA9ICZkZXZfcHJpdi0+d20uc2tsX3Jlc3VsdHM7Cj4gLQlzdHJ1Y3QgZHJtX2NydGMg KmNydGMgPSBjcnRjX3N0YXRlLT5iYXNlLmNydGM7Cj4gLQlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50 ZWxfY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Yyk7Cj4gIAljb25zdCBpbnQgcGlwZSA9IGludGVs X3BsYW5lLT5waXBlOwo+ICAJY29uc3QgaW50IHBsYW5lID0gaW50ZWxfcGxhbmUtPnBsYW5lICsg MTsKPiAtCWNvbnN0IHN0cnVjdCBza2xfcGxhbmVfd20gKnBfd20gPQo+IC0JCSZjcnRjX3N0YXRl LT53bS5za2wub3B0aW1hbC5wbGFuZXNbcGxhbmVdOwo+ICAJdTMyIHBsYW5lX2N0bDsKPiAgCWNv bnN0IHN0cnVjdCBkcm1faW50ZWxfc3ByaXRlX2NvbG9ya2V5ICprZXkgPSAmcGxhbmVfc3RhdGUt PmNrZXk7Cj4gIAl1MzIgc3VyZl9hZGRyID0gcGxhbmVfc3RhdGUtPm1haW4ub2Zmc2V0Owo+IEBA IC0yMzMsOSArMjI4LDYgQEAgc2tsX3VwZGF0ZV9wbGFuZShzdHJ1Y3QgZHJtX3BsYW5lICpkcm1f cGxhbmUsCj4gIAo+ICAJcGxhbmVfY3RsIHw9IHNrbF9wbGFuZV9jdGxfcm90YXRpb24ocm90YXRp b24pOwo+ICAKPiAtCWlmICh3bS0+ZGlydHlfcGlwZXMgJiBkcm1fY3J0Y19tYXNrKGNydGMpKQo+ IC0JCXNrbF93cml0ZV9wbGFuZV93bShpbnRlbF9jcnRjLCBwX3dtLCAmd20tPmRkYiwgcGxhbmUp Owo+IC0KPiAgCWlmIChrZXktPmZsYWdzKSB7Cj4gIAkJSTkxNV9XUklURShQTEFORV9LRVlWQUwo cGlwZSwgcGxhbmUpLCBrZXktPm1pbl92YWx1ZSk7Cj4gIAkJSTkxNV9XUklURShQTEFORV9LRVlN QVgocGlwZSwgcGxhbmUpLCBrZXktPm1heF92YWx1ZSk7Cj4gQEAgLTI5MSwxOSArMjgzLDkgQEAg c2tsX2Rpc2FibGVfcGxhbmUoc3RydWN0IGRybV9wbGFuZSAqZHBsYW5lLCBzdHJ1Y3QgZHJtX2Ny dGMgKmNydGMpCj4gIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gZHBsYW5lLT5kZXY7Cj4gIAlz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRldik7Cj4gIAlzdHJ1 Y3QgaW50ZWxfcGxhbmUgKmludGVsX3BsYW5lID0gdG9faW50ZWxfcGxhbmUoZHBsYW5lKTsKPiAt CXN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjc3RhdGUgPSB0b19pbnRlbF9jcnRjX3N0YXRlKGNy dGMtPnN0YXRlKTsKPiAgCWNvbnN0IGludCBwaXBlID0gaW50ZWxfcGxhbmUtPnBpcGU7Cj4gIAlj b25zdCBpbnQgcGxhbmUgPSBpbnRlbF9wbGFuZS0+cGxhbmUgKyAxOwo+ICAKPiAtCS8qCj4gLQkg KiBXZSBvbmx5IHBvcHVsYXRlIHNrbF9yZXN1bHRzIG9uIHdhdGVybWFyayB1cGRhdGVzLCBhbmQg aWYgdGhlCj4gLQkgKiBwbGFuZSdzIHZpc2libGl0eSBpc24ndCBhY3R1YWxseSBjaGFuZ2luZyBu ZWl0aGVyIGlzIGl0cyB3YXRlcm1hcmtzLgo+IC0JICovCj4gLQlpZiAoIWRwbGFuZS0+c3RhdGUt PnZpc2libGUpCj4gLQkJc2tsX3dyaXRlX3BsYW5lX3dtKHRvX2ludGVsX2NydGMoY3J0YyksCj4g LQkJCQkgICAmY3N0YXRlLT53bS5za2wub3B0aW1hbC5wbGFuZXNbcGxhbmVdLAo+IC0JCQkJICAg JmRldl9wcml2LT53bS5za2xfcmVzdWx0cy5kZGIsIHBsYW5lKTsKPiAtCj4gIAlJOTE1X1dSSVRF KFBMQU5FX0NUTChwaXBlLCBwbGFuZSksIDApOwo+ICAKPiAgCUk5MTVfV1JJVEUoUExBTkVfU1VS RihwaXBlLCBwbGFuZSksIDApOwo+IC0tIAo+IDIuNy40Cj4gCgotLSAKTWF0dCBSb3BlcgpHcmFw aGljcyBTb2Z0d2FyZSBFbmdpbmVlcgpJb1RHIFBsYXRmb3JtIEVuYWJsaW5nICYgRGV2ZWxvcG1l bnQKSW50ZWwgQ29ycG9yYXRpb24KKDkxNikgMzU2LTI3OTUKX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1n ZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21h aWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==