From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lyude Paul Subject: Re: [Intel-gfx] [PATCH v2 05/10] drm/i915/gen9: Get rid of redundant watermark values Date: Thu, 13 Oct 2016 17:25:54 -0400 Message-ID: <1476393954.24414.2.camel@redhat.com> References: <1475885497-6094-1-git-send-email-cpaul@redhat.com> <1475885497-6094-6-git-send-email-cpaul@redhat.com> <1476389043.2478.30.camel@intel.com> <1476389242.2478.33.camel@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1476389242.2478.33.camel@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Paulo Zanoni , Maarten Lankhorst , intel-gfx@lists.freedesktop.org Cc: Daniel Vetter , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org WW91ciBpcyBTQUdWIHJlbGF0ZWQsIGFuZCB3aGVuIHdlIGRvbid0IG1ha2UgdGhlIFNBR1YgaGFw cHkgcGVvcGxlJ3MKbWFjaGluZXMgdXN1YWxseSBoYW5nLiBTbyBJJ20gZGVmaW5pdGVseSBmb3Ig eW91ciBwYXRjaGVzIGdldHRpbmcKbWVyZ2VkIGZpcnN0CgoKT24gVGh1LCAyMDE2LTEwLTEzIGF0 IDE3OjA3IC0wMzAwLCBQYXVsbyBaYW5vbmkgd3JvdGU6Cj4gRW0gUXVpLCAyMDE2LTEwLTEzIMOg cyAxNzowNCAtMDMwMCwgUGF1bG8gWmFub25pIGVzY3JldmV1Ogo+ID4gCj4gPiBFbSBRdWksIDIw MTYtMTAtMTMgw6BzIDE1OjM5ICswMjAwLCBNYWFydGVuIExhbmtob3JzdCBlc2NyZXZldToKPiA+ ID4gCj4gPiA+IAo+ID4gPiBPcCAwOC0xMC0xNiBvbSAwMjoxMSBzY2hyZWVmIEx5dWRlOgo+ID4g PiA+IAo+ID4gPiA+IAo+ID4gPiA+IAo+ID4gPiA+IE5vdyB0aGF0IHdlJ3ZlIG1ha2Ugc2tsX3dt X2xldmVscyBtYWtlIGEgbGl0dGxlIG1vcmUgc2Vuc2UsIHdlCj4gPiA+ID4gY2FuCj4gPiA+ID4g cmVtb3ZlIGFsbCBvZiB0aGUgcmVkdW5kYW50IHdtIGluZm9ybWF0aW9uLiBVcCB1bnRpbCBub3cg d2UnZAo+ID4gPiA+IGJlZW4KPiA+ID4gPiBzdG9yaW5nIHR3byBjb3BpZXMgb2YgYWxsIG9mIHRo ZSBza2wgd2F0ZXJtYXJrczogb25lIGJlaW5nIHRoZQo+ID4gPiA+IHNrbF9waXBlX3dtIHN0cnVj dHMsIHRoZSBvdGhlciBiZWluZyB0aGUgZ2xvYmFsIHdtIHN0cnVjdCBpbgo+ID4gPiA+IGRybV9p OTE1X3ByaXZhdGUgY29udGFpbmluZyB0aGUgcmF3IHJlZ2lzdGVyIHZhbHVlcy4gVGhpcyBpcwo+ ID4gPiA+IGNvbmZ1c2luZwo+ID4gPiA+IGFuZCBwcm9ibGVtYXRpYywgc2luY2UgaXQgbWVhbnMg d2UncmUgcHJvbmUgdG8gYWNjaWRlbnRhbGx5Cj4gPiA+ID4gbGV0dGluZwo+ID4gPiA+IHRoZQo+ ID4gPiA+IHR3byBjb3BpZXMgZ28gb3V0IG9mIHN5bmMuIFNvLCBnZXQgcmlkIG9mIGFsbCBvZiB0 aGUgZnVuY3Rpb25zCj4gPiA+ID4gcmVzcG9uc2libGUgZm9yIGNvbXB1dGluZyB0aGUgcmVnaXN0 ZXIgdmFsdWVzIGFuZCBqdXN0IHVzZSBhCj4gPiA+ID4gc2luZ2xlCj4gPiA+ID4gaGVscGVyLCBz a2xfd3JpdGVfd21fbGV2ZWwoKSwgdG8gY29udmVydCBhbmQgd3JpdGUgdGhlIG5ldwo+ID4gPiA+ IHdhdGVybWFya3Mgb24KPiA+ID4gPiB0aGUgZmx5Lgo+ID4gPiA+IAo+ID4gPiA+IENoYW5nZXMg c2luY2UgdjE6Cj4gPiA+ID4gLSBGaXh1cCBza2xfd3JpdGVfd21fbGV2ZWwoKQo+ID4gPiA+IC0g Rml4dXAgc2tsX3dtX2xldmVsX2Zyb21fcmVnX3ZhbCgpCj4gPiA+ID4gLSBEb24ndCBmb3JnZXQg dG8gY29weSAqYWN0aXZlIHRvIGludGVsX2NydGMtPndtLmFjdGl2ZS5za2wKPiA+ID4gPiAKPiA+ ID4gPiBTaWduZWQtb2ZmLWJ5OiBMeXVkZSA8Y3BhdWxAcmVkaGF0LmNvbT4KPiA+ID4gPiBSZXZp ZXdlZC1ieTogTWFhcnRlbiBMYW5raG9yc3QgPG1hYXJ0ZW4ubGFua2hvcnN0QGxpbnV4LmludGVs LmMKPiA+ID4gPiBvbQo+ID4gPiA+ID4gCj4gPiA+ID4gPiAKPiA+ID4gPiBDYzogVmlsbGUgU3ly asOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KPiA+ID4gPiBDYzogUGF1bG8g WmFub25pIDxwYXVsby5yLnphbm9uaUBpbnRlbC5jb20+Cj4gPiA+ID4gLS0tCj4gPiA+ID4gwqBk cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5owqDCoMKgwqDCoMKgfMKgwqDCoDIgLQo+ID4g PiA+IMKgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIHzCoMKgMTQgKystCj4g PiA+ID4gwqBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaMKgwqDCoMKgwqB8wqDCoMKg NiArLQo+ID4gPiA+IMKgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uY8KgwqDCoMKgwqDC oHwgMjA0ICsrKysrKysrKysrKy0tLS0tLS0KPiA+ID4gPiAtLQo+ID4gPiA+IC0tCj4gPiA+ID4g LS0tLS0tLS0tLS0tCj4gPiA+ID4gwqBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zcHJpdGUu Y8KgwqB8wqDCoMKgOCArLQo+ID4gPiA+IMKgNSBmaWxlcyBjaGFuZ2VkLCA5MCBpbnNlcnRpb25z KCspLCAxNDQgZGVsZXRpb25zKC0pCj4gPiA+ID4gCj4gPiA+ID4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPiA+ID4gPiBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZHJ2LmgKPiA+ID4gPiBpbmRleCAwMjg3YzkzLi43NjU4M2IyIDEwMDY0NAo+ID4gPiA+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPiA+ID4gPiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4gPiA+ID4gQEAgLTE2NDQsOCArMTY0NCw2IEBA IHN0cnVjdCBza2xfZGRiX2FsbG9jYXRpb24gewo+ID4gPiA+IMKgc3RydWN0IHNrbF93bV92YWx1 ZXMgewo+ID4gPiA+IMKgCXVuc2lnbmVkIGRpcnR5X3BpcGVzOwo+ID4gPiA+IMKgCXN0cnVjdCBz a2xfZGRiX2FsbG9jYXRpb24gZGRiOwo+ID4gPiA+IC0JdWludDMyX3QgcGxhbmVbSTkxNV9NQVhf UElQRVNdW0k5MTVfTUFYX1BMQU5FU11bOF07Cj4gPiA+ID4gLQl1aW50MzJfdCBwbGFuZV90cmFu c1tJOTE1X01BWF9QSVBFU11bSTkxNV9NQVhfUExBTkVTXTsKPiA+ID4gPiDCoH07Cj4gPiA+ID4g wqAKPiA+ID4gPiDCoHN0cnVjdCBza2xfd21fbGV2ZWwgewo+ID4gPiA+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiA+ID4gPiBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+ID4gPiA+IGluZGV4IGE3MWQwNWEuLjM5NDAwYTAg MTAwNjQ0Cj4gPiA+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5j Cj4gPiA+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4gPiA+ ID4gQEAgLTMzNzgsNiArMzM3OCw4IEBAIHN0YXRpYyB2b2lkCj4gPiA+ID4gc2t5bGFrZV91cGRh dGVfcHJpbWFyeV9wbGFuZShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKPiA+ID4gPiDCoAlzdHJ1 Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YyA9Cj4gPiA+ID4gdG9faW50ZWxfY3J0YyhjcnRjX3N0 YXRlLQo+ID4gPiA+ID4gCj4gPiA+ID4gPiAKPiA+ID4gPiA+IGJhc2UuY3J0Yyk7Cj4gPiA+ID4g wqAJc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIgPSBwbGFuZV9zdGF0ZS0+YmFzZS5mYjsKPiA+ ID4gPiDCoAljb25zdCBzdHJ1Y3Qgc2tsX3dtX3ZhbHVlcyAqd20gPSAmZGV2X3ByaXYtCj4gPiA+ ID4gPiAKPiA+ID4gPiA+IAo+ID4gPiA+ID4gd20uc2tsX3Jlc3VsdHM7Cj4gPiA+ID4gKwljb25z dCBzdHJ1Y3Qgc2tsX3BsYW5lX3dtICpwX3dtID0KPiA+ID4gPiArCQkmY3J0Y19zdGF0ZS0+d20u c2tsLm9wdGltYWwucGxhbmVzWzBdOwo+ID4gPiA+IMKgCWludCBwaXBlID0gaW50ZWxfY3J0Yy0+ cGlwZTsKPiA+ID4gPiDCoAl1MzIgcGxhbmVfY3RsOwo+ID4gPiA+IMKgCXVuc2lnbmVkIGludCBy b3RhdGlvbiA9IHBsYW5lX3N0YXRlLT5iYXNlLnJvdGF0aW9uOwo+ID4gPiA+IEBAIC0zNDE0LDcg KzM0MTYsNyBAQCBzdGF0aWMgdm9pZAo+ID4gPiA+IHNreWxha2VfdXBkYXRlX3ByaW1hcnlfcGxh bmUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCj4gPiA+ID4gwqAJaW50ZWxfY3J0Yy0+YWRqdXN0 ZWRfeSA9IHNyY195Owo+ID4gPiA+IMKgCj4gPiA+ID4gwqAJaWYgKHdtLT5kaXJ0eV9waXBlcyAm IGRybV9jcnRjX21hc2soJmludGVsX2NydGMtCj4gPiA+ID4gPmJhc2UpKQo+ID4gPiA+IC0JCXNr bF93cml0ZV9wbGFuZV93bShpbnRlbF9jcnRjLCB3bSwgMCk7Cj4gPiA+ID4gKwkJc2tsX3dyaXRl X3BsYW5lX3dtKGludGVsX2NydGMsIHBfd20sICZ3bS0+ZGRiLAo+ID4gPiA+IDApOwo+ID4gPiA+ IMKgCj4gPiA+ID4gwqAJSTkxNV9XUklURShQTEFORV9DVEwocGlwZSwgMCksIHBsYW5lX2N0bCk7 Cj4gPiA+ID4gwqAJSTkxNV9XUklURShQTEFORV9PRkZTRVQocGlwZSwgMCksIChzcmNfeSA8PCAx NikgfAo+ID4gPiA+IHNyY194KTsKPiA+ID4gPiBAQCAtMzQ0OCw2ICszNDUwLDggQEAgc3RhdGlj IHZvaWQKPiA+ID4gPiBza3lsYWtlX2Rpc2FibGVfcHJpbWFyeV9wbGFuZShzdHJ1Y3QgZHJtX3Bs YW5lICpwcmltYXJ5LAo+ID4gPiA+IMKgCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjcnRjLT5k ZXY7Cj4gPiA+ID4gwqAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkx NShkZXYpOwo+ID4gPiA+IMKgCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0gdG9faW50 ZWxfY3J0YyhjcnRjKTsKPiA+ID4gPiArCXN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjc3RhdGUg PQo+ID4gPiA+IHRvX2ludGVsX2NydGNfc3RhdGUoY3J0Yy0+c3RhdGUpOwo+ID4gPiA+ICsJY29u c3Qgc3RydWN0IHNrbF9wbGFuZV93bSAqcF93bSA9ICZjc3RhdGUtCj4gPiA+ID4gPiAKPiA+ID4g PiA+IAo+ID4gPiA+ID4gd20uc2tsLm9wdGltYWwucGxhbmVzWzBdOwo+ID4gPiA+IMKgCWludCBw aXBlID0gaW50ZWxfY3J0Yy0+cGlwZTsKPiA+ID4gPiDCoAo+ID4gPiA+IMKgCS8qCj4gPiA+ID4g QEAgLTM0NTUsNyArMzQ1OSw4IEBAIHN0YXRpYyB2b2lkCj4gPiA+ID4gc2t5bGFrZV9kaXNhYmxl X3ByaW1hcnlfcGxhbmUoc3RydWN0IGRybV9wbGFuZSAqcHJpbWFyeSwKPiA+ID4gPiDCoAnCoCog cGxhbmUncyB2aXNpYmxpdHkgaXNuJ3QgYWN0dWFsbHkgY2hhbmdpbmcgbmVpdGhlcgo+ID4gPiA+ IGlzCj4gPiA+ID4gaXRzIHdhdGVybWFya3MuCj4gPiA+ID4gwqAJwqAqLwo+ID4gPiA+IMKgCWlm ICghY3J0Yy0+cHJpbWFyeS0+c3RhdGUtPnZpc2libGUpCj4gPiA+ID4gLQkJc2tsX3dyaXRlX3Bs YW5lX3dtKGludGVsX2NydGMsICZkZXZfcHJpdi0KPiA+ID4gPiA+IAo+ID4gPiA+ID4gCj4gPiA+ ID4gPiB3bS5za2xfcmVzdWx0cywgMCk7Cj4gPiA+ID4gKwkJc2tsX3dyaXRlX3BsYW5lX3dtKGlu dGVsX2NydGMsIHBfd20sCj4gPiA+ID4gKwkJCQnCoMKgwqAmZGV2X3ByaXYtCj4gPiA+ID4gPiAK PiA+ID4gPiA+IHdtLnNrbF9yZXN1bHRzLmRkYiwKPiA+ID4gPiAwKTsKPiA+ID4gPiDCoAo+ID4g PiA+IMKgCUk5MTVfV1JJVEUoUExBTkVfQ1RMKHBpcGUsIDApLCAwKTsKPiA+ID4gPiDCoAlJOTE1 X1dSSVRFKFBMQU5FX1NVUkYocGlwZSwgMCksIDApOwo+ID4gPiA+IEBAIC0xMDgxOSwxMiArMTA4 MjQsMTUgQEAgc3RhdGljIHZvaWQgaTl4eF91cGRhdGVfY3Vyc29yKHN0cnVjdAo+ID4gPiA+IGRy bV9jcnRjICpjcnRjLCB1MzIgYmFzZSwKPiA+ID4gPiDCoAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 ID0gY3J0Yy0+ZGV2Owo+ID4gPiA+IMKgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diA9IHRvX2k5MTUoZGV2KTsKPiA+ID4gPiDCoAlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0 YyA9IHRvX2ludGVsX2NydGMoY3J0Yyk7Cj4gPiA+ID4gKwlzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0 ZSAqY3N0YXRlID0KPiA+ID4gPiB0b19pbnRlbF9jcnRjX3N0YXRlKGNydGMtPnN0YXRlKTsKPiA+ ID4gPiDCoAljb25zdCBzdHJ1Y3Qgc2tsX3dtX3ZhbHVlcyAqd20gPSAmZGV2X3ByaXYtCj4gPiA+ ID4gPiAKPiA+ID4gPiA+IAo+ID4gPiA+ID4gd20uc2tsX3Jlc3VsdHM7Cj4gPiA+ID4gKwljb25z dCBzdHJ1Y3Qgc2tsX3BsYW5lX3dtICpwX3dtID0KPiA+ID4gPiArCQkmY3N0YXRlLT53bS5za2wu b3B0aW1hbC5wbGFuZXNbUExBTkVfQ1VSU09SXTsKPiA+ID4gPiDCoAlpbnQgcGlwZSA9IGludGVs X2NydGMtPnBpcGU7Cj4gPiA+ID4gwqAJdWludDMyX3QgY250bCA9IDA7Cj4gPiA+ID4gwqAKPiA+ ID4gPiDCoAlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSA5ICYmIHdtLT5kaXJ0eV9waXBlcyAm Cj4gPiA+ID4gZHJtX2NydGNfbWFzayhjcnRjKSkKPiA+ID4gPiAtCQlza2xfd3JpdGVfY3Vyc29y X3dtKGludGVsX2NydGMsIHdtKTsKPiA+ID4gPiArCQlza2xfd3JpdGVfY3Vyc29yX3dtKGludGVs X2NydGMsIHBfd20sICZ3bS0KPiA+ID4gPiA+ZGRiKTsKPiA+ID4gPiDCoAo+ID4gPiA+IMKgCWlm IChwbGFuZV9zdGF0ZSAmJiBwbGFuZV9zdGF0ZS0+YmFzZS52aXNpYmxlKSB7Cj4gPiA+ID4gwqAJ CWNudGwgPSBNQ1VSU09SX0dBTU1BX0VOQUJMRTsKPiA+ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiA+ID4gPiBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2Rydi5oCj4gPiA+ID4gaW5kZXggZDY4NGY0Zi4uOTU4ZGM3MiAxMDA2NDQKPiA+ID4g PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+ID4gPiA+ICsrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gPiA+ID4gQEAgLTE3NjUsOSArMTc2NSwx MSBAQCBib29sIHNrbF9kZGJfYWxsb2NhdGlvbl9lcXVhbHMoY29uc3QKPiA+ID4gPiBzdHJ1Y3QK PiA+ID4gPiBza2xfZGRiX2FsbG9jYXRpb24gKm9sZCwKPiA+ID4gPiDCoGJvb2wgc2tsX2RkYl9h bGxvY2F0aW9uX292ZXJsYXBzKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlCj4gPiA+ID4gKnN0YXRl LAo+ID4gPiA+IMKgCQkJCcKgc3RydWN0IGludGVsX2NydGMKPiA+ID4gPiAqaW50ZWxfY3J0Yyk7 Cj4gPiA+ID4gwqB2b2lkIHNrbF93cml0ZV9jdXJzb3Jfd20oc3RydWN0IGludGVsX2NydGMgKmlu dGVsX2NydGMsCj4gPiA+ID4gLQkJCcKgY29uc3Qgc3RydWN0IHNrbF93bV92YWx1ZXMgKndtKTsK PiA+ID4gPiArCQkJwqBjb25zdCBzdHJ1Y3Qgc2tsX3BsYW5lX3dtICp3bSwKPiA+ID4gPiArCQkJ wqBjb25zdCBzdHJ1Y3Qgc2tsX2RkYl9hbGxvY2F0aW9uCj4gPiA+ID4gKmRkYik7Cj4gPiA+ID4g wqB2b2lkIHNrbF93cml0ZV9wbGFuZV93bShzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YywK PiA+ID4gPiAtCQkJY29uc3Qgc3RydWN0IHNrbF93bV92YWx1ZXMgKndtLAo+ID4gPiA+ICsJCQlj b25zdCBzdHJ1Y3Qgc2tsX3BsYW5lX3dtICp3bSwKPiA+ID4gPiArCQkJY29uc3Qgc3RydWN0IHNr bF9kZGJfYWxsb2NhdGlvbiAqZGRiLAo+ID4gPiA+IMKgCQkJaW50IHBsYW5lKTsKPiA+ID4gPiDC oHVpbnQzMl90IGlsa19waXBlX3BpeGVsX3JhdGUoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3Rh dGUKPiA+ID4gPiAqcGlwZV9jb25maWcpOwo+ID4gPiA+IMKgYm9vbCBpbGtfZGlzYWJsZV9scF93 bShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKPiA+ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfcG0uYwo+ID4gPiA+IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfcG0uYwo+ID4gPiA+IGluZGV4IDVkYmFmMTIuLjVjYjUzN2MgMTAwNjQ0Cj4gPiA+ID4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYwo+ID4gPiA+ICsrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX3BtLmMKPiA+ID4gPiBAQCAtMzAwMCw2ICszMDAwLDggQEAgYm9v bCBpbnRlbF9jYW5fZW5hYmxlX3NhZ3Yoc3RydWN0Cj4gPiA+ID4gZHJtX2F0b21pY19zdGF0ZSAq c3RhdGUpCj4gPiA+ID4gwqAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9f aTkxNShkZXYpOwo+ID4gPiA+IMKgCXN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgKmludGVsX3N0 YXRlID0KPiA+ID4gPiB0b19pbnRlbF9hdG9taWNfc3RhdGUoc3RhdGUpOwo+ID4gPiA+IMKgCXN0 cnVjdCBkcm1fY3J0YyAqY3J0YzsKPiA+ID4gPiArCXN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpj c3RhdGU7Cj4gPiA+ID4gKwlzdHJ1Y3Qgc2tsX3BsYW5lX3dtICp3bTsKPiA+ID4gPiDCoAllbnVt IHBpcGUgcGlwZTsKPiA+ID4gPiDCoAlpbnQgbGV2ZWwsIHBsYW5lOwo+ID4gPiA+IMKgCj4gPiA+ ID4gQEAgLTMwMjAsMTggKzMwMjIsMjEgQEAgYm9vbCBpbnRlbF9jYW5fZW5hYmxlX3NhZ3Yoc3Ry dWN0Cj4gPiA+ID4gZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpCj4gPiA+ID4gwqAJLyogU2luY2Ug d2UncmUgbm93IGd1YXJhbnRlZWQgdG8gb25seSBoYXZlIG9uZSBhY3RpdmUKPiA+ID4gPiBDUlRD Li4uICovCj4gPiA+ID4gwqAJcGlwZSA9IGZmcyhpbnRlbF9zdGF0ZS0+YWN0aXZlX2NydGNzKSAt IDE7Cj4gPiA+ID4gwqAJY3J0YyA9IGRldl9wcml2LT5waXBlX3RvX2NydGNfbWFwcGluZ1twaXBl XTsKPiA+ID4gPiArCWNzdGF0ZSA9IGludGVsX2F0b21pY19nZXRfY3J0Y19zdGF0ZShzdGF0ZSwK PiA+ID4gPiB0b19pbnRlbF9jcnRjKGNydGMpKTsKPiA+ID4gV3JvbmcgY3N0YXRlIGhlcmUsIHNo b3VsZCBiZSBjcnRjLT5zdGF0ZSBzaW5jZSBpdCdzIGNvbW1pdHRlZCBhbmQKPiA+ID4gY3J0Y19z dGF0ZSBpcyB0aGUgb2xkIHN0YXRlLgo+ID4gCj4gPiBBaC4uLiBIb3cgbWFueSBpbnN0YW5jZXMg b2YgdGhlICJ5b3UncmUgbG9va2luZyBhdCB0aGUgd3Jvbmcgc3RhdGUKPiA+IHN0cnVjdCIgaGF2 ZSB3ZSBzcG90dGVkL2ZpeGVkIGV2ZXIgc2luY2UgdGhlIGludHJvZHVjdGlvbiBvZiB0aGUKPiA+ IGF0b21pYwo+ID4gY29kZT8gQ2FuJ3Qgd2UgdHJ5IHRvIGRvIHNvbWV0aGluZyBtb3JlIGh1bWFu LXByb29mIGluIG9yZGVyIHRvCj4gPiBhdm9pZAo+ID4gdGhlc2UgcHJvYmxlbXMgZnJvbSBoYXBw ZW5pbmcgYWdhaW4gYW5kIGFnYWluPwo+ID4gCj4gPiBMaWtlIGZvciBleGFtcGxlIGNvcHlpbmcg dGhlIG9sZCBzdGF0ZXMgdG8gYSBzcGVjaWZpYyBzdHJ1Y3R1cmUKPiA+IGxpa2UKPiA+IGRybV9h dG9taWNfc3RhdGUtPm9sZF9zdGF0ZXNfd2hpY2hfeW91X3Byb2JhYmx5X3Nob3VsZG5fYmVfdXNp bmcsCj4gPiBhbmQKPiA+IHRoZW4gc2V0dGluZyB0aGUgQ1JUQy9jb25uZWN0b3IvcGxhbmUgc3Rh dGVzIGluIHRoZQo+ID4gZHJtX2F0b21pY19zdGF0ZQo+ID4gc3RydWN0IHRvIE5VTEwgc28gYnVn cyB3aWxsIGJlIG11Y2ggZWFzaWVyIHRvIHNwb3Q/Cj4gPiAKPiA+IEFueXdheSwgd2l0aCB0aGlz IHByb2JsZW0gZml4ZWQsIGZlZWwgZnJlZSB0byBhZGQ6Cj4gPiBSZXZpZXdlZC1ieTogUGF1bG8g WmFub25pIDxwYXVsby5yLnphbm9uaUBpbnRlbC5jb20+Cj4gCj4gT2gsIEkgZm9yZ290IHRvIG1l bnRpb246IHRoaXMgcGF0Y2ggaGFzIGEgY29uZmxpY3Qgd2l0aCBteQo+ICJ1bmNvbmRpdGlvbmFs bHkgYXBwbHkgdGhlIG1lbW9yeSB3b3JrYXJvdW5kIiBwYXRjaCwgc28gd2UgbWF5IG5lZWQKPiB0 bwo+IGRlY2lkZSB3aGljaCBvbmUgZ2V0cyBtZXJnZWQgZmlyc3QuIE9mIGNvdXJzZSBJJ2Qgc3Vn Z2VzdCBteSBwYXRjaCB0bwo+IGJlIG1lcmdlZCBmaXJzdCBzaW5jZSBJIHdhbnQgaXQgdG8gbGFu ZCBpbiBzdGFibGUsIGJ1dCBJJ20gYWx3YXlzCj4gYmlhc2VkIHRvd2FyZHMgbXkgcGF0Y2hlcy4g SWYgeW91IGFncmVlLCBJIGNhbiBldmVuIHZvbHVudGVlciBteXNlbGYKPiB0bwo+IHNvbHZlIHRo ZSBjb25mbGljdHMgb2YgdGhpcyBwYXRjaCBsYXRlciB3aGVuIGFwcGx5aW5nLgo+IAo+ID4gCj4g PiAKPiA+ID4gCj4gPiA+IAo+ID4gPiAKPiA+ID4gfk1hYXJ0ZW4KPiA+IF9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gPiBJbnRlbC1nZnggbWFpbGluZyBs aXN0Cj4gPiBJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gPiBodHRwczovL2xpc3Rz LmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeApfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0 CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3Rv cC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK