From mboxrd@z Thu Jan 1 00:00:00 1970 From: Manasi Navare Subject: Re: [PATCH v5 17/28] drm/i915/dsc: Compute Rate Control parameters for DSC Date: Tue, 23 Oct 2018 11:42:34 -0700 Message-ID: <20181023184232.GA18652@intel.com> References: <20181005232306.31133-1-manasi.d.navare@intel.com> <20181005232306.31133-18-manasi.d.navare@intel.com> <83F5C7385F545743AD4FB2A62F75B07347F7AE42@ORSMSX108.amr.corp.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <83F5C7385F545743AD4FB2A62F75B07347F7AE42@ORSMSX108.amr.corp.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: "Srivatsa, Anusha" Cc: "intel-gfx@lists.freedesktop.org" , "dri-devel@lists.freedesktop.org" List-Id: dri-devel@lists.freedesktop.org T24gTW9uLCBPY3QgMjIsIDIwMTggYXQgMDQ6MzQ6NTlQTSAtMDcwMCwgU3JpdmF0c2EsIEFudXNo YSB3cm90ZToKPiAKPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4g RnJvbTogSW50ZWwtZ2Z4IFtpbnRlbC1nZngtYm91bmNlc0BsaXN0cy5mcmVlZGVza3RvcC5vcmdd IG9uIGJlaGFsZiBvZiBNYW5hc2kgTmF2YXJlIFttYW5hc2kuZC5uYXZhcmVAaW50ZWwuY29tXQo+ IFNlbnQ6IEZyaWRheSwgT2N0b2JlciAwNSwgMjAxOCA0OjIyIFBNCj4gVG86IGludGVsLWdmeEBs aXN0cy5mcmVlZGVza3RvcC5vcmc7IGRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPiBT dWJqZWN0OiBbSW50ZWwtZ2Z4XSBbUEFUQ0ggdjUgMTcvMjhdIGRybS9pOTE1L2RzYzogQ29tcHV0 ZSBSYXRlIENvbnRyb2wgcGFyYW1ldGVycyBmb3IgRFNDCj4gCj4gRnJvbTogR2F1cmF2IEsgU2lu Z2ggPGdhdXJhdi5rLnNpbmdoQGludGVsLmNvbT4KPiAKPiBUaGlzIGNvbXB1dGF0aW9uIG9mIFJD IHBhcmFtcyBoYXBwZW5zIGluIHRoZSBhdG9taWMgY29tbWl0IHBoYXNlCj4gZHVyaW5nIGNvbXB1 dGVfY29uZmlnKCkgdG8gdmFsaWRhdGUgaWYgZGlzcGxheSBzdHJlYW0gY29tcHJlc3Npb24KPiBj YW4gYmUgZW5hYmxlZCBmb3IgdGhlIHJlcXVlc3RlZCBtb2RlLgo+IAo+IHY1IChGcm9tIE1hbmFz aSk6Cj4gKiBGaXggZGltIGNoZWNrcGF0Y2ggd2FybmluZ3MvY2hlY2tzCj4gdjQoRnJvbSBHYXVy YXYpOgo+ICogTm8gY2hhbmdlLlJlYmFzZSBvbiBkcm0tdGlwCj4gCj4gdjMgKEZyb20gR2F1cmF2 KToKPiAqIFJlYmFzZSBvbiB0b3Agb2YgTWFuYXNpJ3MgbGF0ZXN0IHNlcmllcwo+ICogUmV0dXJu IC12ZSB2YWx1ZSBpbiBjYXNlIG9mIGZhaWx1cmUgc2NlbmFyaW9zIChNYW5hc2kpCj4gCj4gRml4 IHJldmlldyBjb21tZW50cyBmcm9tIFZpbGxlOgo+ICogUmVtb3ZlIHVubmVjZXNzYXJ5IGNvbW1l bnRzCj4gKiBSZW1vdmUgdW5uZWNlc3NhcnkgcGFyYW50aGVzaXMKPiAqIEFkZCBjb21tZW50cyBm b3IgZmV3IFJDIHBhcmFtcyBjYWxjdWxhdGlvbnMKPiAKPiB2MiAoRnJvbSBNYW5hc2kpOgo+ICog UmViYXNlIEdhdXJhdidzIHBhdGNoIGZyb20gaW50ZWwtZ2Z4IHRvIGdmeC1pbnRlcm5hbAo+ICog VXNlIHN0cnVjdCBkcm1fZHNjX2NmZyBpbnN0ZWFkIG9mIHN0cnVjdCBpbnRlbF9kcAo+IGFzIGEg cGFyYW1ldGVyCj4gCj4gQ2M6IE1hbmFzaSBOYXZhcmUgPG1hbmFzaS5kLm5hdmFyZUBpbnRlbC5j b20+Cj4gQ2M6IEphbmkgTmlrdWxhIDxqYW5pLm5pa3VsYUBsaW51eC5pbnRlbC5jb20+Cj4gQ2M6 IFZpbGxlIFN5cmphbGEgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgo+IFNpZ25lZC1v ZmYtYnk6IEdhdXJhdiBLIFNpbmdoIDxnYXVyYXYuay5zaW5naEBpbnRlbC5jb20+Cj4gU2lnbmVk LW9mZi1ieTogTWFuYXNpIE5hdmFyZSA8bWFuYXNpLmQubmF2YXJlQGludGVsLmNvbT4KPiAtLS0K PiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdmRzYy5jIHwgMTI3ICsrKysrKysrKysrKysr KysrKysrKysrKysrKysrKwo+ICAxIGZpbGUgY2hhbmdlZCwgMTI3IGluc2VydGlvbnMoKykKPiAK PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdmRzYy5jIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfdmRzYy5jCj4gaW5kZXggMzUxZWE3ZDcxYzIxLi41OTQxOTZh OWQwZjQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdmRzYy5jCj4g KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdmRzYy5jCj4gQEAgLTMxNyw2ICszMTcs MTMwIEBAIHN0YXRpYyBpbnQgZ2V0X2NvbHVtbl9pbmRleF9mb3JfcmNfcGFyYW1zKHU4IGJpdHNf cGVyX2NvbXBvbmVudCkKPiAgICAgICAgIH0KPiAgfQo+IAo+ICtzdGF0aWMgaW50IGludGVsX2Nv bXB1dGVfcmNfcGFyYW1ldGVycyhzdHJ1Y3QgZHJtX2RzY19jb25maWcgKnZkc2NfY2ZnKQo+ICt7 Cj4gKyAgICAgICB1bnNpZ25lZCBsb25nIGdyb3Vwc19wZXJfbGluZSA9IDA7Cj4gKyAgICAgICB1 bnNpZ25lZCBsb25nIGdyb3Vwc190b3RhbCA9IDA7Cj4gKyAgICAgICB1bnNpZ25lZCBsb25nIG51 bV9leHRyYV9tdXhfYml0cyA9IDA7Cj4gKyAgICAgICB1bnNpZ25lZCBsb25nIHNsaWNlX2JpdHMg PSAwOwo+ICsgICAgICAgdW5zaWduZWQgbG9uZyBocmRfZGVsYXkgPSAwOwo+ICsgICAgICAgdW5z aWduZWQgbG9uZyBmaW5hbF9zY2FsZSA9IDA7Cj4gKyAgICAgICB1bnNpZ25lZCBsb25nIHJic19t aW4gPSAwOwo+ICsKPiArICAgICAgIC8qIE51bWJlciBvZiBncm91cHMgdXNlZCB0byBjb2RlIGVh Y2ggbGluZSBvZiBhIHNsaWNlICovCj4gKyAgICAgICBncm91cHNfcGVyX2xpbmUgPSBESVZfUk9V TkRfVVAodmRzY19jZmctPnNsaWNlX3dpZHRoLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIERTQ19SQ19QSVhFTFNfUEVSX0dST1VQKTsKPiArCj4gKyAgICAgICAvKiBj aHVua3NpemUgaW4gQnl0ZXMgKi8KPiArICAgICAgIHZkc2NfY2ZnLT5zbGljZV9jaHVua19zaXpl ID0gRElWX1JPVU5EX1VQKHZkc2NfY2ZnLT5zbGljZV93aWR0aCAqCj4gKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ZHNjX2NmZy0+Yml0c19wZXJfcGl4 ZWwsCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAo OCAqIDE2KSk7Cj4gKwo+ICsgICAgICAgaWYgKHZkc2NfY2ZnLT5jb252ZXJ0X3JnYikKPiArICAg ICAgICAgICAgICAgbnVtX2V4dHJhX211eF9iaXRzID0gMyAqICh2ZHNjX2NmZy0+bXV4X3dvcmRf c2l6ZSArCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQgKiB2 ZHNjX2NmZy0+Yml0c19wZXJfY29tcG9uZW50ICsgNCkKPiArICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAtIDIpOwo+ICsgICAgICAgZWxzZQo+ICsgICAgICAgICAgICAg ICBudW1fZXh0cmFfbXV4X2JpdHMgPSAzICogdmRzY19jZmctPm11eF93b3JkX3NpemUgKwo+ICsg ICAgICAgICAgICAgICAgICAgICAgICg0ICogdmRzY19jZmctPmJpdHNfcGVyX2NvbXBvbmVudCAr IDQpICsKPiArICAgICAgICAgICAgICAgICAgICAgICAyICogKDQgKiB2ZHNjX2NmZy0+Yml0c19w ZXJfY29tcG9uZW50KSAtIDI7Cj4gKyAgICAgICAvKiBOdW1iZXIgb2YgYml0cyBpbiBvbmUgU2xp Y2UgKi8KPiArICAgICAgIHNsaWNlX2JpdHMgPSA4ICogdmRzY19jZmctPnNsaWNlX2NodW5rX3Np emUgKiB2ZHNjX2NmZy0+c2xpY2VfaGVpZ2h0Owo+ICsKPiArICAgICAgIHdoaWxlICgobnVtX2V4 dHJhX211eF9iaXRzID4gMCkgJiYKPiArICAgICAgICAgICAgICAoKHNsaWNlX2JpdHMgLSBudW1f ZXh0cmFfbXV4X2JpdHMpICUgdmRzY19jZmctPm11eF93b3JkX3NpemUpKQo+ICsgICAgICAgICAg ICAgICBudW1fZXh0cmFfbXV4X2JpdHMtLTsKPiArCj4gKyAgICAgICBpZiAoZ3JvdXBzX3Blcl9s aW5lIDwgdmRzY19jZmctPmluaXRpYWxfc2NhbGVfdmFsdWUgLSA4KQo+ICsgICAgICAgICAgICAg ICB2ZHNjX2NmZy0+aW5pdGlhbF9zY2FsZV92YWx1ZSA9IGdyb3Vwc19wZXJfbGluZSArIDg7Cj4g Kwo+ICsgICAgICAgLyogc2NhbGVfZGVjcmVtZW50X2ludGVydmFsIGNhbGN1bGF0aW9uIGFjY29y ZGluZyB0byBEU0Mgc3BlYyAxLjExICovCj4gKyAgICAgICBpZiAodmRzY19jZmctPmluaXRpYWxf c2NhbGVfdmFsdWUgPiA4KQo+ICsgICAgICAgICAgICAgICB2ZHNjX2NmZy0+c2NhbGVfZGVjcmVt ZW50X2ludGVydmFsID0gZ3JvdXBzX3Blcl9saW5lIC8KPiArICAgICAgICAgICAgICAgICAgICAg ICAodmRzY19jZmctPmluaXRpYWxfc2NhbGVfdmFsdWUgLSA4KTsKPiArICAgICAgIGVsc2UKPiAr ICAgICAgICAgICAgICAgdmRzY19jZmctPnNjYWxlX2RlY3JlbWVudF9pbnRlcnZhbCA9IERTQ19T Q0FMRV9ERUNSRU1FTlRfSU5URVJWQUxfTUFYOwo+ICsKPiArICAgICAgIHZkc2NfY2ZnLT5maW5h bF9vZmZzZXQgPSB2ZHNjX2NmZy0+cmNfbW9kZWxfc2l6ZSAtCj4gKyAgICAgICAgICAgICAgICh2 ZHNjX2NmZy0+aW5pdGlhbF94bWl0X2RlbGF5ICoKPiArICAgICAgICAgICAgICAgIHZkc2NfY2Zn LT5iaXRzX3Blcl9waXhlbCArIDgpIC8gMTYgKyBudW1fZXh0cmFfbXV4X2JpdHM7Cj4gKwo+ICsg ICAgICAgaWYgKHZkc2NfY2ZnLT5maW5hbF9vZmZzZXQgPj0gdmRzY19jZmctPnJjX21vZGVsX3Np emUpIHsKPiArICAgICAgICAgICAgICAgRFJNX0VSUk9SKCJGaW5hbE9mcyA8IFJjTW9kZWxTemUg Zm9yIHRoaXMgSW5pdGlhbFhtaXREZWxheVxuIik7Cj4gKyAgICAgICAgICAgICAgIHJldHVybiAt RUlOVkFMOwo+ICsgICAgICAgfQo+ICsKPiArICAgICAgIGZpbmFsX3NjYWxlID0gKHZkc2NfY2Zn LT5yY19tb2RlbF9zaXplICogOCkgLwo+ICsgICAgICAgICAgICAgICAodmRzY19jZmctPnJjX21v ZGVsX3NpemUgLSB2ZHNjX2NmZy0+ZmluYWxfb2Zmc2V0KTsKPiArICAgICAgIGlmICh2ZHNjX2Nm Zy0+c2xpY2VfaGVpZ2h0ID4gMSkKPiArICAgICAgICAgICAgICAgLyoKPiArICAgICAgICAgICAg ICAgICogTmZsQnBnT2Zmc2V0IGlzIDE2IGJpdCB2YWx1ZSB3aXRoIDExIGZyYWN0aW9uYWwgYml0 cwo+ICsgICAgICAgICAgICAgICAgKiBoZW5jZSB3ZSBtdWx0aXBseSBieSAyXjExIGZvciBwcmVz ZXJ2aW5nIHRoZQo+ICsgICAgICAgICAgICAgICAgKiBmcmFjdGlvbmFsIHBhcnQKPiArICAgICAg ICAgICAgICAgICovCj4gKyAgICAgICAgICAgICAgIHZkc2NfY2ZnLT5uZmxfYnBnX29mZnNldCA9 IERJVl9ST1VORF9VUCgodmRzY19jZmctPmZpcnN0X2xpbmVfYnBnX29mZnNldCA8PCAxMSksCj4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAo dmRzY19jZmctPnNsaWNlX2hlaWdodCAtIDEpKTsKPiArICAgICAgIGVsc2UKPiArICAgICAgICAg ICAgICAgdmRzY19jZmctPm5mbF9icGdfb2Zmc2V0ID0gMDsKPiArCj4gKyAgICAgICAvKiAyXjE2 IC0gMSAqLwo+ICsgICAgICAgaWYgKHZkc2NfY2ZnLT5uZmxfYnBnX29mZnNldCA+IDY1NTM1KSB7 Cj4gKyAgICAgICAgICAgICAgIERSTV9FUlJPUigiTmZsQnBnT2Zmc2V0IGlzIHRvbyBsYXJnZSBm b3IgdGhpcyBzbGljZSBoZWlnaHRcbiIpOwo+ICsgICAgICAgICAgICAgICByZXR1cm4gLUVJTlZB TDsKPiArICAgICAgIH0KPiArCj4gKyAgICAgICAvKiBOdW1iZXIgb2YgZ3JvdXBzIHVzZWQgdG8g Y29kZSB0aGUgZW50aXJlIHNsaWNlICovCj4gKyAgICAgICBncm91cHNfdG90YWwgPSBncm91cHNf cGVyX2xpbmUgKiB2ZHNjX2NmZy0+c2xpY2VfaGVpZ2h0Owo+ICsKPiArICAgICAgIC8qIHNsaWNl X2JwZ19vZmZzZXQgaXMgMTYgYml0IHZhbHVlIHdpdGggMTEgZnJhY3Rpb25hbCBiaXRzICovCj4g KyAgICAgICB2ZHNjX2NmZy0+c2xpY2VfYnBnX29mZnNldCA9IERJVl9ST1VORF9VUCgoKHZkc2Nf Y2ZnLT5yY19tb2RlbF9zaXplIC0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgdmRzY19jZmctPmluaXRpYWxfb2Zmc2V0ICsKPiArICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbnVtX2V4dHJhX211eF9i aXRzKSA8PCAxMSksCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBncm91cHNfdG90YWwpOwo+ICsKPiArICAgICAgIGlmIChmaW5hbF9zY2FsZSA+IDB4 OSkgewo+IFdoeSBub3QganVzdCBmaW5hbF9zY2FsZSA+IDk/Cj4KCldlIGNvdWxkIHVzZSBlaXRo ZXIsIGRvZXNudCByZWFsbHkgbWF0dGVyIGluIHRlcm1zIG9mIGNvbXBpbGVyIG9wdGltaXphdGlv bi4gQnV0IGZyb20gcmVhZGliaWxpdHkKcG92IEkgY2FuIGNoYW5nZSBpdCB0byB1c2UgOSBpbnN0 ZWFkLgoKV2l0aCB0aGF0IGNoYW5nZSBjYW4gSSBjb25zaWRlciB5b3VyIHItYj8KCk1hbmFzaQoK PiBBbnVzaGEgCj4gKyAgICAgICAgICAgICAgIC8qCj4gKyAgICAgICAgICAgICAgICAqIFNjYWxl SW5jcmVtZW50SW50ZXJ2YWwgPQo+ICsgICAgICAgICAgICAgICAgKiBmaW5hbG9mZnNldC8oKE5m bEJwZ09mZnNldCArIFNsaWNlQnBnT2Zmc2V0KSo4KGZpbmFsc2NhbGUgLSAxLjEyNSkpCj4gKyAg ICAgICAgICAgICAgICAqIGFzIChOZmxCcGdPZmZzZXQgKyBTbGljZUJwZ09mZnNldCkgaGFzIDEx IGJpdCBmcmFjdGlvbmFsIHZhbHVlLAo+ICsgICAgICAgICAgICAgICAgKiB3ZSBuZWVkIGRpdmlk ZSBieSAyXjExIGZyb20gcHN0RHNjQ2ZnIHZhbHVlcwo+ICsgICAgICAgICAgICAgICAgKi8KPiAr ICAgICAgICAgICAgICAgdmRzY19jZmctPnNjYWxlX2luY3JlbWVudF9pbnRlcnZhbCA9Cj4gKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodmRzY19jZmctPmZpbmFsX29mZnNldCAqICgx IDw8IDExKSkgLwo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCh2ZHNjX2NmZy0+ bmZsX2JwZ19vZmZzZXQgKwo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmRzY19j ZmctPnNsaWNlX2JwZ19vZmZzZXQpKgo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg KGZpbmFsX3NjYWxlIC0gOSkpOwo+ICsgICAgICAgfSBlbHNlIHsKPiArICAgICAgICAgICAgICAg LyoKPiArICAgICAgICAgICAgICAgICogSWYgZmluYWxTY2FsZVZhbHVlIGlzIGxlc3MgdGhhbiBv ciBlcXVhbCB0byA5LCBhIHZhbHVlIG9mIDAgc2hvdWxkCj4gKyAgICAgICAgICAgICAgICAqIGJl IHVzZWQgdG8gZGlzYWJsZSB0aGUgc2NhbGUgaW5jcmVtZW50IGF0IHRoZSBlbmQgb2YgdGhlIHNs aWNlCj4gKyAgICAgICAgICAgICAgICAqLwo+ICsgICAgICAgICAgICAgICB2ZHNjX2NmZy0+c2Nh bGVfaW5jcmVtZW50X2ludGVydmFsID0gMDsKPiArICAgICAgIH0KPiArCj4gKyAgICAgICBpZiAo dmRzY19jZmctPnNjYWxlX2luY3JlbWVudF9pbnRlcnZhbCA+IDY1NTM1KSB7Cj4gKyAgICAgICAg ICAgICAgIERSTV9FUlJPUigiU2NhbGVJbmNyZW1lbnRJbnRlcnZhbCBpcyBsYXJnZSBmb3Igc2xp Y2UgaGVpZ2h0XG4iKTsKPiArICAgICAgICAgICAgICAgcmV0dXJuIC1FSU5WQUw7Cj4gKyAgICAg ICB9Cj4gKwo+ICsgICAgICAgLyoKPiArICAgICAgICAqIERTQyBzcGVjIG1lbnRpb25zIHRoYXQg Yml0c19wZXJfcGl4ZWwgc3BlY2lmaWVzIHRoZSB0YXJnZXQKPiArICAgICAgICAqIGJpdHMvcGl4 ZWwgKGJwcCkgcmF0ZSB0aGF0IGlzIHVzZWQgYnkgdGhlIGVuY29kZXIsCj4gKyAgICAgICAgKiBp biBzdGVwcyBvZiAxLzE2IG9mIGEgYml0IHBlciBwaXhlbAo+ICsgICAgICAgICovCj4gKyAgICAg ICByYnNfbWluID0gdmRzY19jZmctPnJjX21vZGVsX3NpemUgLSB2ZHNjX2NmZy0+aW5pdGlhbF9v ZmZzZXQgKwo+ICsgICAgICAgICAgICAgICBESVZfUk9VTkRfVVAodmRzY19jZmctPmluaXRpYWxf eG1pdF9kZWxheSAqCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ZHNjX2NmZy0+Yml0 c19wZXJfcGl4ZWwsIDE2KSArCj4gKyAgICAgICAgICAgICAgIGdyb3Vwc19wZXJfbGluZSAqIHZk c2NfY2ZnLT5maXJzdF9saW5lX2JwZ19vZmZzZXQ7Cj4gKwo+ICsgICAgICAgaHJkX2RlbGF5ID0g RElWX1JPVU5EX1VQKChyYnNfbWluICogMTYpLCB2ZHNjX2NmZy0+Yml0c19wZXJfcGl4ZWwpOwo+ ICsgICAgICAgdmRzY19jZmctPnJjX2JpdHMgPSAoaHJkX2RlbGF5ICogdmRzY19jZmctPmJpdHNf cGVyX3BpeGVsKSAvIDE2Owo+ICsgICAgICAgdmRzY19jZmctPmluaXRpYWxfZGVjX2RlbGF5ID0g aHJkX2RlbGF5IC0gdmRzY19jZmctPmluaXRpYWxfeG1pdF9kZWxheTsKPiArCj4gKyAgICAgICBy ZXR1cm4gMDsKPiArfQo+ICsKPiArCj4gIGludCBpbnRlbF9kcF9jb21wdXRlX2RzY19wYXJhbXMo c3RydWN0IGludGVsX2RwICppbnRlbF9kcCwKPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZykKPiAgewo+IEBAIC00NTEs NSArNTc1LDggQEAgaW50IGludGVsX2RwX2NvbXB1dGVfZHNjX3BhcmFtcyhzdHJ1Y3QgaW50ZWxf ZHAgKmludGVsX2RwLAo+ICAgICAgICAgdmRzY19jZmctPmluaXRpYWxfc2NhbGVfdmFsdWUgPSAo dmRzY19jZmctPnJjX21vZGVsX3NpemUgPDwgMykgLwo+ICAgICAgICAgICAgICAgICAodmRzY19j ZmctPnJjX21vZGVsX3NpemUgLSB2ZHNjX2NmZy0+aW5pdGlhbF9vZmZzZXQpOwo+IAo+ICsgICAg ICAgaWYgKGludGVsX2NvbXB1dGVfcmNfcGFyYW1ldGVycyh2ZHNjX2NmZykgPCAwKQo+ICsgICAg ICAgICAgICAgICByZXR1cm4gLTE7Cj4gKwo+ICAgICAgICAgcmV0dXJuIDA7Cj4gIH0KPiAtLQo+ IDIuMTguMAo+IAo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCj4gSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdAo+IEludGVsLWdmeEBsaXN0cy5mcmVlZGVza3Rv cC5vcmcKPiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2lu dGVsLWdmeAo+IApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcK aHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK