From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: =?utf-8?q?=5BPATCH_v1=C2=BD_05/13=5D_drm/i915/dp=3A_g?= =?utf-8?q?enerate_and_cache_sink_rate_array_for_all_DP=2C_not_just_eDP_1?= =?utf-8?q?=2E4?= Date: Fri, 27 Jan 2017 21:52:05 +0200 Message-ID: <87vat0xouy.fsf@intel.com> References: <99c0304ec86304e76eaaced3ebbc503ebd33872d.1485459621.git.jani.nikula@intel.com> <20170127172847.GJ31595@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by gabe.freedesktop.org (Postfix) with ESMTPS id 4D07F6E34B for ; Fri, 27 Jan 2017 19:52:16 +0000 (UTC) In-Reply-To: <20170127172847.GJ31595@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Ville =?utf-8?B?U3lyasOkbMOk?= Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gRnJpLCAyNyBKYW4gMjAxNywgVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4 LmludGVsLmNvbT4gd3JvdGU6Cj4gT24gVGh1LCBKYW4gMjYsIDIwMTcgYXQgMDk6NDQ6MTlQTSAr MDIwMCwgSmFuaSBOaWt1bGEgd3JvdGU6Cj4+IFRoZXJlIGlzIHNvbWUgY29uZmxhdGlvbiByZWxh dGVkIHRvIHNpbmsgcmF0ZXMsIG1ha2luZyB0aGlzIGNoYW5nZSBtb3JlCj4+IGNvbXBsaWNhdGVk IHRoYW4gaXQgd291bGQgb3RoZXJ3aXNlIGhhdmUgdG8gYmUuIFRoZXJlIGFyZSB0aHJlZSBjaGFu Z2VzCj4+IGhlcmUgdGhhdCBhcmUgcmF0aGVyIGRpZmZpY3VsdCB0byBzcGxpdCB1cDoKPj4gCj4+ IDEpIFVzZSB0aGUgaW50ZWxfZHAtPnNpbmtfcmF0ZXMgYXJyYXkgZm9yIGFsbCBEUCwgbm90IGp1 c3QgZURQIDEuNC4gV2UKPj4gICAgaW5pdGlhbGl6ZSBpdCBmcm9tIERQQ0Qgb24gZURQIDEuNCBs aWtlIGJlZm9yZSwgYnV0IGdlbmVyYXRlIGl0IGJhc2VkCj4+ICAgIG9uIERQX01BWF9MSU5LX1JB VEUgb24gb3RoZXJzLiBUaGlzIHJlZHVjZXMgY29kZSBjb21wbGV4aXR5IHdoZW4gd2UKPj4gICAg bmVlZCB0byB1c2UgdGhlIHNpbmsgcmF0ZXM7IHRoZXkgYXJlIGFsbCBhbHdheXMgaW4gdGhlIHNp bmtfcmF0ZXMKPj4gICAgYXJyYXkuCj4+IAo+PiAyKSBVcGRhdGUgdGhlIHNpbmsgcmF0ZSBhcnJh eSB3aGVuZXZlciB3ZSByZWFkIERQQ0QsIGFuZCB1c2UgdGhlCj4+ICAgIGluZm9ybWF0aW9uIGZy b20gdGhlcmUuIFRoaXMgaW5jcmVhc2VzIGNvZGUgcmVhZGFiaWxpdHkgd2hlbiB3ZSBuZWVkCj4+ ICAgIHRoZSBzaW5rIHJhdGVzLgo+PiAKPj4gMykgRGlzZW50YW5nbGUgZmFsbGJhY2sgcmF0ZSBs aW1pdGluZyBmcm9tIHNpbmsgcmF0ZXMuIEluIHRoZSBjb2RlLCB0aGUKPj4gICAgbWF4IHJhdGUg aXMgYSBkeW5hbWljIHByb3BlcnR5IG9mIHRoZSAqbGluayosIG5vdCBvZiB0aGUgKnNpbmsqLiBE bwo+PiAgICB0aGUgbGltaXRpbmcgYWZ0ZXIgaW50ZXJzZWN0aW5nIHRoZSBzb3VyY2UgYW5kIHNp bmsgcmF0ZXMsIHdoaWNoIGFyZQo+PiAgICBzdGF0aWMgcHJvcGVydGllcyBvZiB0aGUgZGV2aWNl cy4KPj4gCj4+IFRoaXMgcGF2ZXMgdGhlIHdheSBmb3IgZm9sbG93LXVwIHJlZmFjdG9yaW5nIHRo YXQgSSd2ZSByZWZyYWluZWQgZnJvbQo+PiBkb2luZyBoZXJlIHRvIGtlZXAgdGhpcyBjaGFuZ2Ug YXMgc2ltcGxlIGFzIGl0IHBvc3NpYmx5IGNhbi4KPj4gCj4+IENjOiBNYW5hc2kgTmF2YXJlIDxt YW5hc2kuZC5uYXZhcmVAaW50ZWwuY29tPgo+PiBDYzogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5z eXJqYWxhQGxpbnV4LmludGVsLmNvbT4KPj4gU2lnbmVkLW9mZi1ieTogSmFuaSBOaWt1bGEgPGph bmkubmlrdWxhQGludGVsLmNvbT4KPj4gLS0tCj4+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kcC5jICAgICAgICAgICAgICAgfCA3NiArKysrKysrKysrKysrKysrKystLS0tLS0tLS0KPj4g IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwX2xpbmtfdHJhaW5pbmcuYyB8ICAzICstCj4+ ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCAgICAgICAgICAgICAgfCAgNCArLQo+ PiAgMyBmaWxlcyBjaGFuZ2VkLCA1NSBpbnNlcnRpb25zKCspLCAyOCBkZWxldGlvbnMoLSkKPj4g Cj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYwo+PiBpbmRleCBjYzI1MjMzNjNjOGQuLmQxM2NlNjc0 NjU0MiAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYwo+PiAr KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCj4+IEBAIC0xMzMsNiArMTMzLDM0 IEBAIHN0YXRpYyB2b2lkIHZsdl9zdGVhbF9wb3dlcl9zZXF1ZW5jZXIoc3RydWN0IGRybV9kZXZp Y2UgKmRldiwKPj4gIAkJCQkgICAgICBlbnVtIHBpcGUgcGlwZSk7Cj4+ICBzdGF0aWMgdm9pZCBp bnRlbF9kcF91bnNldF9lZGlkKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApOwo+PiAgCj4+ICtz dGF0aWMgaW50IGludGVsX2RwX251bV9yYXRlcyh1OCBsaW5rX2J3X2NvZGUpCj4+ICt7Cj4+ICsJ c3dpdGNoIChsaW5rX2J3X2NvZGUpIHsKPj4gKwlkZWZhdWx0Ogo+PiArCQlXQVJOKDEsICJpbnZh bGlkIG1heCBEUCBsaW5rIGJ3IHZhbCAleCwgdXNpbmcgMS42MkdicHNcbiIsCj4+ICsJCSAgICAg bGlua19id19jb2RlKTsKPj4gKwljYXNlIERQX0xJTktfQldfMV82MjoKPj4gKwkJcmV0dXJuIDE7 Cj4+ICsJY2FzZSBEUF9MSU5LX0JXXzJfNzoKPj4gKwkJcmV0dXJuIDI7Cj4+ICsJY2FzZSBEUF9M SU5LX0JXXzVfNDoKPj4gKwkJcmV0dXJuIDM7Cj4+ICsJfQo+PiArfQo+PiArCj4+ICsvKiB1cGRh dGUgc2luayByYXRlcyBmcm9tIGRwY2QgKi8KPj4gK3N0YXRpYyB2b2lkIGludGVsX2RwX3NldF9z aW5rX3JhdGVzKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCj4+ICt7Cj4+ICsJaW50IGksIG51 bV9yYXRlczsKPj4gKwo+PiArCW51bV9yYXRlcyA9IGludGVsX2RwX251bV9yYXRlcyhpbnRlbF9k cC0+ZHBjZFtEUF9NQVhfTElOS19SQVRFXSk7Cj4+ICsKPj4gKwlmb3IgKGkgPSAwOyBpIDwgbnVt X3JhdGVzOyBpKyspCj4+ICsJCWludGVsX2RwLT5zaW5rX3JhdGVzW2ldID0gZGVmYXVsdF9yYXRl c1tpXTsKPj4gKwo+PiArCWludGVsX2RwLT5udW1fc2lua19yYXRlcyA9IG51bV9yYXRlczsKPj4g K30KPj4gKwo+PiAgc3RhdGljIGludAo+PiAgaW50ZWxfZHBfbWF4X2xpbmtfYncoc3RydWN0IGlu dGVsX2RwICAqaW50ZWxfZHApCj4+ICB7Cj4+IEBAIC0yMDUsMTkgKzIzMyw2IEBAIGludGVsX2Rw X2Rvd25zdHJlYW1fbWF4X2RvdGNsb2NrKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCj4+ICAJ cmV0dXJuIG1heF9kb3RjbGs7Cj4+ICB9Cj4+ICAKPj4gLXN0YXRpYyBpbnQKPj4gLWludGVsX2Rw X3NpbmtfcmF0ZXMoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCwgY29uc3QgaW50ICoqc2lua19y YXRlcykKPj4gLXsKPj4gLQlpZiAoaW50ZWxfZHAtPm51bV9zaW5rX3JhdGVzKSB7Cj4+IC0JCSpz aW5rX3JhdGVzID0gaW50ZWxfZHAtPnNpbmtfcmF0ZXM7Cj4+IC0JCXJldHVybiBpbnRlbF9kcC0+ bnVtX3NpbmtfcmF0ZXM7Cj4+IC0JfQo+PiAtCj4+IC0JKnNpbmtfcmF0ZXMgPSBkZWZhdWx0X3Jh dGVzOwo+PiAtCj4+IC0JcmV0dXJuIChpbnRlbF9kcC0+bWF4X3NpbmtfbGlua19idyA+PiAzKSAr IDE7Cj4+IC19Cj4+IC0KPj4gIHN0YXRpYyB2b2lkCj4+ICBpbnRlbF9kcF9zZXRfc291cmNlX3Jh dGVzKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCj4+ICB7Cj4+IEBAIC0yODUsMTUgKzMwMCwy MiBAQCBzdGF0aWMgaW50IGludGVsX2RwX2ZpbmRfcmF0ZShjb25zdCBpbnQgKnJhdGVzLCBpbnQg bGVuLCBpbnQgcmF0ZSkKPj4gIHN0YXRpYyBpbnQgaW50ZWxfZHBfY29tbW9uX3JhdGVzKHN0cnVj dCBpbnRlbF9kcCAqaW50ZWxfZHAsCj4+ICAJCQkJIGludCAqY29tbW9uX3JhdGVzKQo+PiAgewo+ PiAtCWNvbnN0IGludCAqc2lua19yYXRlczsKPj4gLQlpbnQgc2lua19sZW47Cj4+ICsJaW50IG1h eF9yYXRlID0gZHJtX2RwX2J3X2NvZGVfdG9fbGlua19yYXRlKGludGVsX2RwLT5tYXhfc2lua19s aW5rX2J3KTsKPj4gKwlpbnQgaSwgY29tbW9uX2xlbjsKPj4gIAo+PiAtCXNpbmtfbGVuID0gaW50 ZWxfZHBfc2lua19yYXRlcyhpbnRlbF9kcCwgJnNpbmtfcmF0ZXMpOwo+PiArCWNvbW1vbl9sZW4g PSBpbnRlcnNlY3RfcmF0ZXMoaW50ZWxfZHAtPnNvdXJjZV9yYXRlcywKPj4gKwkJCQkgICAgIGlu dGVsX2RwLT5udW1fc291cmNlX3JhdGVzLAo+PiArCQkJCSAgICAgaW50ZWxfZHAtPnNpbmtfcmF0 ZXMsCj4+ICsJCQkJICAgICBpbnRlbF9kcC0+bnVtX3NpbmtfcmF0ZXMsCj4+ICsJCQkJICAgICBj b21tb25fcmF0ZXMpOwo+PiAgCj4+IC0JcmV0dXJuIGludGVyc2VjdF9yYXRlcyhpbnRlbF9kcC0+ c291cmNlX3JhdGVzLAo+PiAtCQkJICAgICAgIGludGVsX2RwLT5udW1fc291cmNlX3JhdGVzLAo+ PiAtCQkJICAgICAgIHNpbmtfcmF0ZXMsIHNpbmtfbGVuLAo+PiAtCQkJICAgICAgIGNvbW1vbl9y YXRlcyk7Cj4+ICsJLyogTGltaXQgcmVzdWx0cyBieSBwb3RlbnRpYWxseSByZWR1Y2VkIG1heCBy YXRlICovCj4+ICsJZm9yIChpID0gMDsgaSA8IGNvbW1vbl9sZW47IGkrKykgewo+PiArCQlpZiAo Y29tbW9uX3JhdGVzW2NvbW1vbl9sZW4gLSBpIC0gMV0gPD0gbWF4X3JhdGUpCj4+ICsJCQlyZXR1 cm4gY29tbW9uX2xlbiAtIGk7Cj4+ICsJfQo+PiArCj4+ICsJcmV0dXJuIDA7Cj4+ICB9Cj4+ICAK Pj4gIHN0YXRpYyBpbnQgaW50ZWxfZHBfbGlua19yYXRlX2luZGV4KHN0cnVjdCBpbnRlbF9kcCAq aW50ZWxfZHAsCj4+IEBAIC0xNTAxLDggKzE1MjMsNyBAQCBzdGF0aWMgdm9pZCBzbnByaW50Zl9p bnRfYXJyYXkoY2hhciAqc3RyLCBzaXplX3QgbGVuLAo+PiAgCj4+ICBzdGF0aWMgdm9pZCBpbnRl bF9kcF9wcmludF9yYXRlcyhzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQo+PiAgewo+PiAtCWNv bnN0IGludCAqc2lua19yYXRlczsKPj4gLQlpbnQgc2lua19sZW4sIGNvbW1vbl9sZW47Cj4+ICsJ aW50IGNvbW1vbl9sZW47Cj4+ICAJaW50IGNvbW1vbl9yYXRlc1tEUF9NQVhfU1VQUE9SVEVEX1JB VEVTXTsKPj4gIAljaGFyIHN0clsxMjhdOyAvKiBGSVhNRTogdG9vIGJpZyBmb3Igc3RhY2s/ICov Cj4+ICAKPj4gQEAgLTE1MTMsOCArMTUzNCw4IEBAIHN0YXRpYyB2b2lkIGludGVsX2RwX3ByaW50 X3JhdGVzKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCj4+ICAJCQkgICBpbnRlbF9kcC0+c291 cmNlX3JhdGVzLCBpbnRlbF9kcC0+bnVtX3NvdXJjZV9yYXRlcyk7Cj4+ICAJRFJNX0RFQlVHX0tN Uygic291cmNlIHJhdGVzOiAlc1xuIiwgc3RyKTsKPj4gIAo+PiAtCXNpbmtfbGVuID0gaW50ZWxf ZHBfc2lua19yYXRlcyhpbnRlbF9kcCwgJnNpbmtfcmF0ZXMpOwo+PiAtCXNucHJpbnRmX2ludF9h cnJheShzdHIsIHNpemVvZihzdHIpLCBzaW5rX3JhdGVzLCBzaW5rX2xlbik7Cj4+ICsJc25wcmlu dGZfaW50X2FycmF5KHN0ciwgc2l6ZW9mKHN0ciksCj4+ICsJCQkgICBpbnRlbF9kcC0+c2lua19y YXRlcywgaW50ZWxfZHAtPm51bV9zaW5rX3JhdGVzKTsKPj4gIAlEUk1fREVCVUdfS01TKCJzaW5r IHJhdGVzOiAlc1xuIiwgc3RyKTsKPj4gIAo+PiAgCWNvbW1vbl9sZW4gPSBpbnRlbF9kcF9jb21t b25fcmF0ZXMoaW50ZWxfZHAsIGNvbW1vbl9yYXRlcyk7Cj4+IEBAIC0xNTgwLDcgKzE2MDEsOCBA QCBpbnQgaW50ZWxfZHBfcmF0ZV9zZWxlY3Qoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCwgaW50 IHJhdGUpCj4+ICB2b2lkIGludGVsX2RwX2NvbXB1dGVfcmF0ZShzdHJ1Y3QgaW50ZWxfZHAgKmlu dGVsX2RwLCBpbnQgcG9ydF9jbG9jaywKPj4gIAkJCSAgIHVpbnQ4X3QgKmxpbmtfYncsIHVpbnQ4 X3QgKnJhdGVfc2VsZWN0KQo+PiAgewo+PiAtCWlmIChpbnRlbF9kcC0+bnVtX3NpbmtfcmF0ZXMp IHsKPj4gKwkvKiBlRFAgMS40IHJhdGUgc2VsZWN0IG1ldGhvZC4gKi8KPj4gKwlpZiAoaXNfZWRw KGludGVsX2RwKSAmJiBpbnRlbF9kcC0+ZWRwX2RwY2RbMF0gPj0gMHgwMykgewo+Cj4gSSB3YXMg Y29udmluY2VkIHRoYXQgdGhpcyB3YXNuJ3QgYSBtYW5kYXRvcnkgZmVhdHVyZSwgYnV0IHRoZSBz cGVjIGRvZXMKPiBzZWVtIHRvIHNheSAiVGhlIHRhYmxlIG11c3QgY29udGFpbiBhdCBsZWFzdCBv bmUgbm9uLXplcm8gdmFsdWUgYXQgdGhlCj4gZmlyc3QgKGxvd2VzdCBEUENEIGFkZHJlc3MpIGxv Y2F0aW9uLiIKPgo+IEJ1dCBnaXZlbiBoaXN0b3JpY2FsIGV2aWRlbmNlIEknbSBzdGlsbCA5OSUg Y29udmluY2VkIHdlJ2xsIGV2ZW50dWFsbHkKPiBydW4gaW50byBzb21lIHBhbmVsIHNvbWV3aGVy ZSB0aGF0IGRvZXMgdGhpcyB3cm9uZywgc28gSSBkb24ndCByZWFsbHkKPiBsaWtlIHRoaXMgaWRl YS4KClRoZW4gSSB0aGluayB0aGlzIHNob3VsZCBiZSBmaXhlZCBpbiBpbnRlbF9lZHBfaW5pdF9k cGNkKCkgYnkgYSkKY2hlY2tpbmcgdGhhdCB0aGVyZSBpcyBhdCBsZWFzdCBvbmUgbm9uLXplcm8g dmFsdWUsIGZhbGxpbmcgYmFjayB0bwppbnRlbF9kcF9zZXRfc291cmNlX3JhdGVzKCkgaWYgbm90 LCBhbmQgYikgc2V0dGluZyBhIG5ldwppbnRlbF9kcC0+dXNlX3JhdGVfc2VsZXQgZmllbGQgYXQg dGhhdCB0aW1lLCB3aGljaCB3aWxsIGJlIHVzZWQgaW5zdGVhZApvZiAoaXNfZWRwKGludGVsX2Rw KSAmJiBpbnRlbF9kcC0+ZWRwX2RwY2RbMF0gPj0gMHgwMykuIFNvdW5kIGdvb2Q/CgpCUiwKSmFu aS4KCgo+Cj4+ICAJCSpsaW5rX2J3ID0gMDsKPj4gIAkJKnJhdGVfc2VsZWN0ID0KPj4gIAkJCWlu dGVsX2RwX3JhdGVfc2VsZWN0KGludGVsX2RwLCBwb3J0X2Nsb2NrKTsKPj4gQEAgLTM3MTMsNiAr MzczNSw4IEBAIGludGVsX2VkcF9pbml0X2RwY2Qoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkK Pj4gIAkJCWludGVsX2RwLT5zaW5rX3JhdGVzW2ldID0gKHZhbCAqIDIwMCkgLyAxMDsKPj4gIAkJ fQo+PiAgCQlpbnRlbF9kcC0+bnVtX3NpbmtfcmF0ZXMgPSBpOwo+PiArCX0gZWxzZSB7Cj4+ICsJ CWludGVsX2RwX3NldF9zaW5rX3JhdGVzKGludGVsX2RwKTsKPj4gIAl9Cj4+ICAKPj4gIAlyZXR1 cm4gdHJ1ZTsKPj4gQEAgLTM3MjUsNiArMzc0OSw4IEBAIGludGVsX2RwX2dldF9kcGNkKHN0cnVj dCBpbnRlbF9kcCAqaW50ZWxfZHApCj4+ICAJaWYgKCFpbnRlbF9kcF9yZWFkX2RwY2QoaW50ZWxf ZHApKQo+PiAgCQlyZXR1cm4gZmFsc2U7Cj4+ICAKPj4gKwlpbnRlbF9kcF9zZXRfc2lua19yYXRl cyhpbnRlbF9kcCk7Cj4+ICsKPj4gIAlpZiAoZHJtX2RwX2RwY2RfcmVhZCgmaW50ZWxfZHAtPmF1 eCwgRFBfU0lOS19DT1VOVCwKPj4gIAkJCSAgICAgJmludGVsX2RwLT5zaW5rX2NvdW50LCAxKSA8 IDApCj4+ICAJCXJldHVybiBmYWxzZTsKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2RwX2xpbmtfdHJhaW5pbmcuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2RwX2xpbmtfdHJhaW5pbmcuYwo+PiBpbmRleCAwMDQ4YjUyMGJhZjcuLjY5NGFkMGZmYjUyMyAx MDA2NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHBfbGlua190cmFpbmlu Zy5jCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwX2xpbmtfdHJhaW5pbmcu Ywo+PiBAQCAtMTQ2LDcgKzE0Niw4IEBAIGludGVsX2RwX2xpbmtfdHJhaW5pbmdfY2xvY2tfcmVj b3Zlcnkoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKPj4gIAkJbGlua19jb25maWdbMV0gfD0g RFBfTEFORV9DT1VOVF9FTkhBTkNFRF9GUkFNRV9FTjsKPj4gIAlkcm1fZHBfZHBjZF93cml0ZSgm aW50ZWxfZHAtPmF1eCwgRFBfTElOS19CV19TRVQsIGxpbmtfY29uZmlnLCAyKTsKPj4gIAo+PiAt CWlmIChpbnRlbF9kcC0+bnVtX3NpbmtfcmF0ZXMpCj4+ICsJLyogZURQIDEuNCByYXRlIHNlbGVj dCBtZXRob2QuICovCj4+ICsJaWYgKCFsaW5rX2J3KQo+PiAgCQlkcm1fZHBfZHBjZF93cml0ZSgm aW50ZWxfZHAtPmF1eCwgRFBfTElOS19SQVRFX1NFVCwKPj4gIAkJCQkgICZyYXRlX3NlbGVjdCwg MSk7Cj4+ICAKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5o IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPj4gaW5kZXggZjEzMmQ0YWVhMWFk Li5iOTE0ZGQ1NDMzNjIgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2Rydi5oCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4+IEBAIC05 MzMsOCArOTMzLDggQEAgc3RydWN0IGludGVsX2RwIHsKPj4gIAkvKiBzb3VyY2UgcmF0ZXMgKi8K Pj4gIAlpbnQgbnVtX3NvdXJjZV9yYXRlczsKPj4gIAljb25zdCBpbnQgKnNvdXJjZV9yYXRlczsK Pj4gLQkvKiBzaW5rIHJhdGVzIGFzIHJlcG9ydGVkIGJ5IERQX1NVUFBPUlRFRF9MSU5LX1JBVEVT ICovCj4+IC0JdWludDhfdCBudW1fc2lua19yYXRlczsKPj4gKwkvKiBzaW5rIHJhdGVzIGFzIHJl cG9ydGVkIGJ5IERQX01BWF9MSU5LX1JBVEUvRFBfU1VQUE9SVEVEX0xJTktfUkFURVMgKi8KPj4g KwlpbnQgbnVtX3NpbmtfcmF0ZXM7Cj4+ICAJaW50IHNpbmtfcmF0ZXNbRFBfTUFYX1NVUFBPUlRF RF9SQVRFU107Cj4+ICAJLyogTWF4IGxhbmUgY291bnQgZm9yIHRoZSBzaW5rIGFzIHBlciBEUENE IHJlZ2lzdGVycyAqLwo+PiAgCXVpbnQ4X3QgbWF4X3NpbmtfbGFuZV9jb3VudDsKPj4gLS0gCj4+ IDIuMS40CgotLSAKSmFuaSBOaWt1bGEsIEludGVsIE9wZW4gU291cmNlIFRlY2hub2xvZ3kgQ2Vu dGVyCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVs LWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczov L2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=