From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH v6 11/28] drm/dsc: Add helpers for DSC picture parameter set infoframes Date: Thu, 1 Nov 2018 18:46:28 +0200 Message-ID: <20181101164628.GG9144@intel.com> References: <20181024222840.25683-1-manasi.d.navare@intel.com> <20181024222840.25683-12-manasi.d.navare@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: <20181024222840.25683-12-manasi.d.navare@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Manasi Navare Cc: intel-gfx@lists.freedesktop.org, Anusha Srivatsa , dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org T24gV2VkLCBPY3QgMjQsIDIwMTggYXQgMDM6Mjg6MjNQTSAtMDcwMCwgTWFuYXNpIE5hdmFyZSB3 cm90ZToKPiBBY2NvcmRpbmcgdG8gRGlzcGxheSBTdHJlYW0gY29tcHJlc3Npb24gc3BlYyAxLjIs IHRoZSBwaWN0dXJlCj4gcGFyYW1ldGVyIHNldCBtZXRhZGF0YSBpcyBzZW50IGZyb20gc291cmNl IHRvIHNpbmsgZGV2aWNlCj4gdXNpbmcgdGhlIERQIFNlY29uZGFyeSBkYXRhIHBhY2tldC4gQW4g aW5mb2ZyYW1lIGlzIGZvcm1lZAo+IGZvciB0aGUgUFBTIFNEUCBoZWFkZXIgYW5kIFBQUyBTRFAg cGF5bG9hZCBieXRlcy4KPiBUaGlzIHBhdGNoIGFkZHMgaGVscGVycyB0byBmaWxsIHRoZSBQUFMg U0RQIGhlYWRlcgo+IGFuZCBQUFMgU0RQIHBheWxvYWQgYWNjb3JkaW5nIHRvIHRoZSBEU0MgMS4y IHNwZWNpZmljYXRpb24uCj4gCj4gdjY6Cj4gKiBVc2UgcHJvcGVyIHNlcXVlbmNlIHBvaW50cyBm b3IgYnJlYWtpbmcgZG93biB0aGUKPiBhc3NpZ25tZW50cyAoQ2hyaXMgV2lsc29uKQo+ICogVXNl IFNQRFggaWRlbnRpZmllcgo+IHY1Ogo+IERvIG5vdCB1c2UgYml0ZmllbGRzIGZvciBEUk0gc3Ry dWN0cyAoSmFuaSBOKQo+IHY0Ogo+ICogVXNlIERTQyBjb25zdGFudHMgZm9yIHBhcmFtcyB0aGF0 IGRvbnQgY2hhbmdlIGFjcm9zcwo+IGNvbmZpZ3VyYXRpb25zCj4gdjM6Cj4gKiBBZGQgcmVmZXJl bmNlIHRvIGFkZGVkIGtlcm5lbC1kb2NzIGluIERvY3VtZW50YXRpb24vZ3B1L2RybS1rbXMtaGVs cGVycy5yc3QKPiAoRGFuaWVsIFZldHRlcikKPiAKPiB2MjoKPiAqIEFkZCBFWFBPUlRfU1lNQk9M IGZvciB0aGUgZHJtIGZ1bmN0aW9ucyAoTWFuYXNpKQo+IAo+IENjOiBkcmktZGV2ZWxAbGlzdHMu ZnJlZWRlc2t0b3Aub3JnCj4gQ2M6IEphbmkgTmlrdWxhIDxqYW5pLm5pa3VsYUBsaW51eC5pbnRl bC5jb20+Cj4gQ2M6IFZpbGxlIFN5cmphbGEgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29t Pgo+IENjOiBBbnVzaGEgU3JpdmF0c2EgPGFudXNoYS5zcml2YXRzYUBpbnRlbC5jb20+Cj4gQ2M6 IEhhcnJ5IFdlbnRsYW5kIDxoYXJyeS53ZW50bGFuZEBhbWQuY29tPgo+IFNpZ25lZC1vZmYtYnk6 IE1hbmFzaSBOYXZhcmUgPG1hbmFzaS5kLm5hdmFyZUBpbnRlbC5jb20+Cj4gQWNrZWQtYnk6IEhh cnJ5IFdlbnRsYW5kIDxoYXJyeS53ZW50bGFuZEBhbWQuY29tPgo+IC0tLQo+ICBEb2N1bWVudGF0 aW9uL2dwdS9kcm0ta21zLWhlbHBlcnMucnN0IHwgIDEyICsrCj4gIGRyaXZlcnMvZ3B1L2RybS9N YWtlZmlsZSAgICAgICAgICAgICAgfCAgIDIgKy0KPiAgZHJpdmVycy9ncHUvZHJtL2RybV9kc2Mu YyAgICAgICAgICAgICB8IDIyMyArKysrKysrKysrKysrKysrKysrKysrKysrKwo+ICBpbmNsdWRl L2RybS9kcm1fZHNjLmggICAgICAgICAgICAgICAgIHwgIDIyICsrKwo+ICA0IGZpbGVzIGNoYW5n ZWQsIDI1OCBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCj4gIGNyZWF0ZSBtb2RlIDEwMDY0 NCBkcml2ZXJzL2dwdS9kcm0vZHJtX2RzYy5jCj4gCj4gZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRp b24vZ3B1L2RybS1rbXMtaGVscGVycy5yc3QgYi9Eb2N1bWVudGF0aW9uL2dwdS9kcm0ta21zLWhl bHBlcnMucnN0Cj4gaW5kZXggNGI0ZGMyMzZlZjZmLi5iNDIyZWI4ZWRmMTYgMTAwNjQ0Cj4gLS0t IGEvRG9jdW1lbnRhdGlvbi9ncHUvZHJtLWttcy1oZWxwZXJzLnJzdAo+ICsrKyBiL0RvY3VtZW50 YXRpb24vZ3B1L2RybS1rbXMtaGVscGVycy5yc3QKPiBAQCAtMjMyLDYgKzIzMiwxOCBAQCBNSVBJ IERTSSBIZWxwZXIgRnVuY3Rpb25zIFJlZmVyZW5jZQo+ICAuLiBrZXJuZWwtZG9jOjogZHJpdmVy cy9ncHUvZHJtL2RybV9taXBpX2RzaS5jCj4gICAgIDpleHBvcnQ6Cj4gIAo+ICtEaXNwbGF5IFN0 cmVhbSBDb21wcmVzc2lvbiBIZWxwZXIgRnVuY3Rpb25zIFJlZmVyZW5jZQo+ICs9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQo+ICsKPiArLi4ga2Vy bmVsLWRvYzo6IGRyaXZlcnMvZ3B1L2RybS9kcm1fZHNjLmMKPiArICAgOmRvYzogZHNjIGhlbHBl cnMKPiArCj4gKy4uIGtlcm5lbC1kb2M6OiBpbmNsdWRlL2RybS9kcm1fZHNjLmgKPiArICAgOmlu dGVybmFsOgo+ICsKPiArLi4ga2VybmVsLWRvYzo6IGRyaXZlcnMvZ3B1L2RybS9kcm1fZHNjLmMK PiArICAgOmV4cG9ydDoKPiArCj4gIE91dHB1dCBQcm9iaW5nIEhlbHBlciBGdW5jdGlvbnMgUmVm ZXJlbmNlCj4gID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Cj4gIAo+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vTWFrZWZpbGUgYi9kcml2ZXJzL2dwdS9kcm0v TWFrZWZpbGUKPiBpbmRleCA1NzZiYTk4NWUxMzguLjNhM2U2ZmI2ZDQ3NiAxMDA2NDQKPiAtLS0g YS9kcml2ZXJzL2dwdS9kcm0vTWFrZWZpbGUKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vTWFrZWZp bGUKPiBAQCAtMzIsNyArMzIsNyBAQCBkcm0tJChDT05GSUdfQUdQKSArPSBkcm1fYWdwc3VwcG9y dC5vCj4gIGRybS0kKENPTkZJR19ERUJVR19GUykgKz0gZHJtX2RlYnVnZnMubyBkcm1fZGVidWdm c19jcmMubwo+ICBkcm0tJChDT05GSUdfRFJNX0xPQURfRURJRF9GSVJNV0FSRSkgKz0gZHJtX2Vk aWRfbG9hZC5vCj4gIAo+IC1kcm1fa21zX2hlbHBlci15IDo9IGRybV9jcnRjX2hlbHBlci5vIGRy bV9kcF9oZWxwZXIubyBkcm1fcHJvYmVfaGVscGVyLm8gXAo+ICtkcm1fa21zX2hlbHBlci15IDo9 IGRybV9jcnRjX2hlbHBlci5vIGRybV9kcF9oZWxwZXIubyBkcm1fZHNjLm8gZHJtX3Byb2JlX2hl bHBlci5vIFwKPiAgCQlkcm1fcGxhbmVfaGVscGVyLm8gZHJtX2RwX21zdF90b3BvbG9neS5vIGRy bV9hdG9taWNfaGVscGVyLm8gXAo+ICAJCWRybV9rbXNfaGVscGVyX2NvbW1vbi5vIGRybV9kcF9k dWFsX21vZGVfaGVscGVyLm8gXAo+ICAJCWRybV9zaW1wbGVfa21zX2hlbHBlci5vIGRybV9tb2Rl c2V0X2hlbHBlci5vIFwKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9kc2MuYyBi L2RyaXZlcnMvZ3B1L2RybS9kcm1fZHNjLmMKPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4 IDAwMDAwMDAwMDAwMC4uMjFhZThkMDE1YWZkCj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBiL2RyaXZl cnMvZ3B1L2RybS9kcm1fZHNjLmMKPiBAQCAtMCwwICsxLDIyMyBAQAo+ICsvLyBTUERYLUxpY2Vu c2UtSWRlbnRpZmllcjogTUlUCj4gKy8qCj4gKyAqIENvcHlyaWdodCDCqSAyMDE4IEludGVsIENv cnAKPiArICoKPiArICogQXV0aG9yOgo+ICsgKiBNYW5hc2kgTmF2YXJlIDxtYW5hc2kuZC5uYXZh cmVAaW50ZWwuY29tPgo+ICsgKi8KPiArCj4gKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KPiAr I2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgo+ICsjaW5jbHVkZSA8bGludXgvaW5pdC5oPgo+ICsj aW5jbHVkZSA8bGludXgvZXJybm8uaD4KPiArI2luY2x1ZGUgPGRybS9kcm1fZHBfaGVscGVyLmg+ Cj4gKyNpbmNsdWRlIDxkcm0vZHJtX2RzYy5oPgo+ICsKPiArLyoqCj4gKyAqIERPQzogZHNjIGhl bHBlcnMKPiArICoKPiArICogVGhlc2UgZnVuY3Rpb25zIGNvbnRhaW4gc29tZSBjb21tb24gbG9n aWMgYW5kIGhlbHBlcnMgdG8gZGVhbCB3aXRoIFZFU0EKPiArICogRGlzcGxheSBTdHJlYW0gQ29t cHJlc3Npb24gc3RhbmRhcmQgcmVxdWlyZWQgZm9yIERTQyBvbiBEaXNwbGF5IFBvcnQvZURQIG9y Cj4gKyAqIE1JUEkgZGlzcGxheSBpbnRlcmZhY2VzLgo+ICsgKi8KPiArCj4gKy8qKgo+ICsgKiBk cm1fZHNjX2RwX3Bwc19oZWFkZXJfaW5pdCgpIC0gSW5pdGlhbGl6ZXMgdGhlIFBQUyBIZWFkZXIK PiArICogZm9yIERpc3BsYXlQb3J0IGFzIHBlciB0aGUgRFAgMS40IHNwZWMuCj4gKyAqIEBwcHNf c2RwOiBTZWNvbmRhcnkgZGF0YSBwYWNrZXQgZm9yIERTQyBQaWN0dXJlIFBhcmFtZXRlciBTZXQK PiArICovCj4gK3ZvaWQgZHJtX2RzY19kcF9wcHNfaGVhZGVyX2luaXQoc3RydWN0IGRybV9kc2Nf cHBzX2luZm9mcmFtZSAqcHBzX3NkcCkKPiArewo+ICsJbWVtc2V0KCZwcHNfc2RwLT5wcHNfaGVh ZGVyLCAwLCBzaXplb2YocHBzX3NkcC0+cHBzX2hlYWRlcikpOwo+ICsKPiArCXBwc19zZHAtPnBw c19oZWFkZXIuSEIxID0gRFBfU0RQX1BQUzsKPiArCXBwc19zZHAtPnBwc19oZWFkZXIuSEIyID0g RFBfU0RQX1BQU19IRUFERVJfUEFZTE9BRF9CWVRFU19NSU5VU18xOwo+ICt9Cj4gK0VYUE9SVF9T WU1CT0woZHJtX2RzY19kcF9wcHNfaGVhZGVyX2luaXQpOwo+ICsKPiArLyoqCj4gKyAqIGRybV9k c2NfcHBzX2luZm9mcmFtZV9wYWNrKCkgLSBQb3B1bGF0ZXMgdGhlIERTQyBQUFMgaW5mb2ZyYW1l Cj4gKyAqIHVzaW5nIHRoZSBEU0MgY29uZmlndXJhdGlvbiBwYXJhbWV0ZXJzIGluIHRoZSBvcmRl ciBleHBlY3RlZAo+ICsgKiBieSB0aGUgRFNDIERpc3BsYXkgU2luayBkZXZpY2UuIEZvciB0aGUg RFNDLCB0aGUgc2luayBkZXZpY2UKPiArICogZXhwZWN0cyB0aGUgUFBTIHBheWxvYWQgaW4gdGhl IGJpZyBlbmRpYW4gZm9ybWF0IGZvciB0aGUgZmllbGRzCj4gKyAqIHRoYXQgc3BhbiBtb3JlIHRo YW4gMSBieXRlLgo+ICsgKgo+ICsgKiBAcHBzX3NkcDoKPiArICogU2Vjb25kYXJ5IGRhdGEgcGFj a2V0IGZvciBEU0MgUGljdHVyZSBQYXJhbWV0ZXIgU2V0Cj4gKyAqIEBkc2NfY2ZnOgo+ICsgKiBE U0MgQ29uZmlndXJhdGlvbiBkYXRhIGZpbGxlZCBieSBkcml2ZXIKPiArICovCj4gK3ZvaWQgZHJt X2RzY19wcHNfaW5mb2ZyYW1lX3BhY2soc3RydWN0IGRybV9kc2NfcHBzX2luZm9mcmFtZSAqcHBz X3NkcCwKPiArCQkJCXN0cnVjdCBkcm1fZHNjX2NvbmZpZyAqZHNjX2NmZykKPiArewo+ICsJdTgg aSA9IDA7CgppbnQgaTsKCj4gKwo+ICsJbWVtc2V0KCZwcHNfc2RwLT5wcHNfcGF5bG9hZCwgMCwg c2l6ZW9mKHBwc19zZHAtPnBwc19wYXlsb2FkKSk7Cj4gKwo+ICsJLyogUFBTIDAgKi8KPiArCXBw c19zZHAtPnBwc19wYXlsb2FkLmRzY192ZXJzaW9uID0KPiArCQlkc2NfY2ZnLT5kc2NfdmVyc2lv bl9taW5vciB8Cj4gKwkJZHNjX2NmZy0+ZHNjX3ZlcnNpb25fbWFqb3IgPDwgRFNDX1BQU19WRVJT SU9OX01BSk9SX1NISUZUOwo+ICsKPiArCS8qIFBQUyAxLCAyIGlzIDAgKi8KPiArCj4gKwkvKiBQ UFMgMyAqLwo+ICsJcHBzX3NkcC0+cHBzX3BheWxvYWQucHBzXzMgPQo+ICsJCWRzY19jZmctPmxp bmVfYnVmX2RlcHRoIHwKPiArCQlkc2NfY2ZnLT5iaXRzX3Blcl9jb21wb25lbnQgPDwgRFNDX1BQ U19CUENfU0hJRlQ7Cj4gKwo+ICsJLyogUFBTIDQgKi8KPiArCXBwc19zZHAtPnBwc19wYXlsb2Fk LnBwc180ID0KPiArCQkodTgpKChkc2NfY2ZnLT5iaXRzX3Blcl9waXhlbCAmIERTQ19QUFNfQlBQ X0hJR0hfTUFTSykgPj4KPiArCQkgICAgIERTQ19QUFNfTVNCX1NISUZUKSB8Cj4gKwkJKHU4KWRz Y19jZmctPnZicl9lbmFibGUgPDwgRFNDX1BQU19WQlJfRU5fU0hJRlQgfAo+ICsJCSh1OClkc2Nf Y2ZnLT5lbmFibGU0MjIgPDwgRFNDX1BQU19TSU1QTEU0MjJfU0hJRlQgfAo+ICsJCSh1OClkc2Nf Y2ZnLT5jb252ZXJ0X3JnYiA8PCBEU0NfUFBTX0NPTlZFUlRfUkdCX1NISUZUIHwKPiArCQkodTgp ZHNjX2NmZy0+YmxvY2tfcHJlZF9lbmFibGUgPDwgRFNDX1BQU19CTE9DS19QUkVEX0VOX1NISUZU OwoKV2hhdCdzIHdpdGggYWxsIHRoZSAodTgpIGNhc3RzPwoKPiArCj4gKwkvKiBQUFMgNSAqLwo+ ICsJcHBzX3NkcC0+cHBzX3BheWxvYWQuYml0c19wZXJfcGl4ZWxfbG93ID0KPiArCQkodTgpKGRz Y19jZmctPmJpdHNfcGVyX3BpeGVsICYgRFNDX1BQU19MU0JfTUFTSyk7Cj4gKwo+ICsJLyoKPiAr CSAqIFRoZSBEU0MgcGFuZWwgZXhwZWN0cyB0aGUgUFBTIHBhY2tldCB0byBoYXZlIGJpZyBlbmRp YW4gZm9ybWF0Cj4gKwkgKiBmb3IgZGF0YSBzcGFubmluZyAyIGJ5dGVzLiBVc2UgYSBtYWNybyBj cHVfdG9fYmUxNigpIHRvIGNvbnZlcnQKPiArCSAqIHRvIGJpZyBlbmRpYW4gZm9ybWF0LiBJZiBm b3JtYXQgaXMgbGl0dGxlIGVuZGlhbiwgaXQgd2lsbCBzd2FwCj4gKwkgKiBieXRlcyB0byBjb252 ZXJ0IHRvIEJpZyBlbmRpYW4gZWxzZSBrZWVwIGl0IHVuY2hhbmdlZC4KPiArCSAqLwo+ICsKPiAr CS8qIFBQUyA2LCA3ICovCj4gKwlwcHNfc2RwLT5wcHNfcGF5bG9hZC5waWNfaGVpZ2h0ID0gY3B1 X3RvX2JlMTYoZHNjX2NmZy0+cGljX2hlaWdodCk7Cj4gKwo+ICsJLyogUFBTIDgsIDkgKi8KPiAr CXBwc19zZHAtPnBwc19wYXlsb2FkLnBpY193aWR0aCA9IGNwdV90b19iZTE2KGRzY19jZmctPnBp Y193aWR0aCk7Cj4gKwo+ICsJLyogUFBTIDEwLCAxMSAqLwo+ICsJcHBzX3NkcC0+cHBzX3BheWxv YWQuc2xpY2VfaGVpZ2h0ID0gY3B1X3RvX2JlMTYoZHNjX2NmZy0+c2xpY2VfaGVpZ2h0KTsKPiAr Cj4gKwkvKiBQUFMgMTIsIDEzICovCj4gKwlwcHNfc2RwLT5wcHNfcGF5bG9hZC5zbGljZV93aWR0 aCA9IGNwdV90b19iZTE2KGRzY19jZmctPnNsaWNlX3dpZHRoKTsKPiArCj4gKwkvKiBQUFMgMTQs IDE1ICovCj4gKwlwcHNfc2RwLT5wcHNfcGF5bG9hZC5jaHVua19zaXplID0gY3B1X3RvX2JlMTYo ZHNjX2NmZy0+c2xpY2VfY2h1bmtfc2l6ZSk7Cj4gKwo+ICsJLyogUFBTIDE2ICovCj4gKwlwcHNf c2RwLT5wcHNfcGF5bG9hZC5pbml0aWFsX3htaXRfZGVsYXlfaGlnaCA9Cj4gKwkJKHU4KSgoZHNj X2NmZy0+aW5pdGlhbF94bWl0X2RlbGF5ICYKPiArCQkgICAgICBEU0NfUFBTX0lOSVRfWE1JVF9E RUxBWV9ISUdIX01BU0spID4+Cj4gKwkJICAgICBEU0NfUFBTX01TQl9TSElGVCk7Cj4gKwo+ICsJ LyogUFBTIDE3ICovCj4gKwlwcHNfc2RwLT5wcHNfcGF5bG9hZC5pbml0aWFsX3htaXRfZGVsYXlf bG93ID0KPiArCQkodTgpKGRzY19jZmctPmluaXRpYWxfeG1pdF9kZWxheSAmIERTQ19QUFNfTFNC X01BU0spOwo+ICsKPiArCS8qIFBQUyAxOCwgMTkgKi8KPiArCXBwc19zZHAtPnBwc19wYXlsb2Fk LmluaXRpYWxfZGVjX2RlbGF5ID0KPiArCQljcHVfdG9fYmUxNihkc2NfY2ZnLT5pbml0aWFsX2Rl Y19kZWxheSk7Cj4gKwo+ICsJLyogUFBTIDIwIGlzIDAgKi8KPiArCj4gKwkvKiBQUFMgMjEgKi8K PiArCXBwc19zZHAtPnBwc19wYXlsb2FkLmluaXRpYWxfc2NhbGVfdmFsdWUgPQo+ICsJCSh1OClk c2NfY2ZnLT5pbml0aWFsX3NjYWxlX3ZhbHVlOwo+ICsKPiArCS8qIFBQUyAyMiwgMjMgKi8KPiAr CXBwc19zZHAtPnBwc19wYXlsb2FkLnNjYWxlX2luY3JlbWVudF9pbnRlcnZhbCA9Cj4gKwkJY3B1 X3RvX2JlMTYoZHNjX2NmZy0+c2NhbGVfaW5jcmVtZW50X2ludGVydmFsKTsKPiArCj4gKwkvKiBQ UFMgMjQgKi8KPiArCXBwc19zZHAtPnBwc19wYXlsb2FkLnNjYWxlX2RlY3JlbWVudF9pbnRlcnZh bF9oaWdoID0KPiArCQkodTgpKChkc2NfY2ZnLT5zY2FsZV9kZWNyZW1lbnRfaW50ZXJ2YWwgJgo+ ICsJCSAgICAgIERTQ19QUFNfU0NBTEVfREVDX0lOVF9ISUdIX01BU0spID4+Cj4gKwkJICAgICBE U0NfUFBTX01TQl9TSElGVCk7Cj4gKwo+ICsJLyogUFBTIDI1ICovCj4gKwlwcHNfc2RwLT5wcHNf cGF5bG9hZC5zY2FsZV9kZWNyZW1lbnRfaW50ZXJ2YWxfbG93ID0KPiArCQkodTgpKGRzY19jZmct PnNjYWxlX2RlY3JlbWVudF9pbnRlcnZhbCAmIERTQ19QUFNfTFNCX01BU0spOwo+ICsKPiArCS8q IFBQUyAyNls3OjBdLCBQUFMgMjdbNzo1XSBSRVNFUlZFRCAqLwo+ICsKPiArCS8qIFBQUyAyNyAq Lwo+ICsJcHBzX3NkcC0+cHBzX3BheWxvYWQuZmlyc3RfbGluZV9icGdfb2Zmc2V0ID0KPiArCQko dTgpZHNjX2NmZy0+Zmlyc3RfbGluZV9icGdfb2Zmc2V0Owo+ICsKPiArCS8qIFBQUyAyOCwgMjkg Ki8KPiArCXBwc19zZHAtPnBwc19wYXlsb2FkLm5mbF9icGdfb2Zmc2V0ID0KPiArCQljcHVfdG9f YmUxNihkc2NfY2ZnLT5uZmxfYnBnX29mZnNldCk7Cj4gKwo+ICsJLyogUFBTIDMwLCAzMSAqLwo+ ICsJcHBzX3NkcC0+cHBzX3BheWxvYWQuc2xpY2VfYnBnX29mZnNldCA9Cj4gKwkJY3B1X3RvX2Jl MTYoZHNjX2NmZy0+c2xpY2VfYnBnX29mZnNldCk7Cj4gKwo+ICsJLyogUFBTIDMyLCAzMyAqLwo+ ICsJcHBzX3NkcC0+cHBzX3BheWxvYWQuaW5pdGlhbF9vZmZzZXQgPQo+ICsJCWNwdV90b19iZTE2 KGRzY19jZmctPmluaXRpYWxfb2Zmc2V0KTsKPiArCj4gKwkvKiBQUFMgMzQsIDM1ICovCj4gKwlw cHNfc2RwLT5wcHNfcGF5bG9hZC5maW5hbF9vZmZzZXQgPSBjcHVfdG9fYmUxNihkc2NfY2ZnLT5m aW5hbF9vZmZzZXQpOwo+ICsKPiArCS8qIFBQUyAzNiAqLwo+ICsJcHBzX3NkcC0+cHBzX3BheWxv YWQuZmxhdG5lc3NfbWluX3FwID0gKHU4KWRzY19jZmctPmZsYXRuZXNzX21pbl9xcDsKPiArCj4g KwkvKiBQUFMgMzcgKi8KPiArCXBwc19zZHAtPnBwc19wYXlsb2FkLmZsYXRuZXNzX21heF9xcCA9 ICh1OClkc2NfY2ZnLT5mbGF0bmVzc19tYXhfcXA7Cj4gKwo+ICsJLyogUFBTIDM4LCAzOSAqLwo+ ICsJcHBzX3NkcC0+cHBzX3BheWxvYWQucmNfbW9kZWxfc2l6ZSA9Cj4gKwkJY3B1X3RvX2JlMTYo KHUxNilEU0NfUkNfTU9ERUxfU0laRV9DT05TVCk7Cj4gKwo+ICsJLyogUFBTIDQwICovCj4gKwlw cHNfc2RwLT5wcHNfcGF5bG9hZC5yY19lZGdlX2ZhY3RvciA9ICh1OClEU0NfUkNfRURHRV9GQUNU T1JfQ09OU1Q7Cj4gKwo+ICsJLyogUFBTIDQxICovCj4gKwlwcHNfc2RwLT5wcHNfcGF5bG9hZC5y Y19xdWFudF9pbmNyX2xpbWl0MCA9Cj4gKwkJKHU4KWRzY19jZmctPnJjX3F1YW50X2luY3JfbGlt aXQwOwo+ICsKPiArCS8qIFBQUyA0MiAqLwo+ICsJcHBzX3NkcC0+cHBzX3BheWxvYWQucmNfcXVh bnRfaW5jcl9saW1pdDEgPQo+ICsJCSh1OClkc2NfY2ZnLT5yY19xdWFudF9pbmNyX2xpbWl0MTsK PiArCj4gKwkvKiBQUFMgNDMgKi8KPiArCXBwc19zZHAtPnBwc19wYXlsb2FkLnJjX3RndF9vZmZz ZXQgPSAodTgpRFNDX1JDX1RHVF9PRkZTRVRfTE9fQ09OU1QgfAo+ICsJCSh1OClEU0NfUkNfVEdU X09GRlNFVF9ISV9DT05TVCA8PCBEU0NfUFBTX1JDX1RHVF9PRkZTRVRfSElfU0hJRlQ7Cj4gKwo+ ICsJLyogUFBTIDQ0IC0gNTcgKi8KPiArCWZvciAoaSA9IDA7IGkgPCBEU0NfTlVNX0JVRl9SQU5H RVMgLSAxOyBpKyspCgpJcyB0aGUgLTEgY29ycmVjdD8gVGhlIGxvb3AgYmVsb3cgZG9lc24ndCBo YXZlIGl0LgoKPiArCQlwcHNfc2RwLT5wcHNfcGF5bG9hZC5yY19idWZfdGhyZXNoW2ldID0KPiAr CQkJZHNjX2NmZy0+cmNfYnVmX3RocmVzaFtpXTsKPiArCj4gKwkvKiBQUFMgNTggLSA4NyAqLwo+ ICsJLyoKPiArCSAqIEZvciBEU0Mgc2luayBwcm9ncmFtbWluZyB0aGUgUkMgUmFuZ2UgcGFyYW1l dGVyIGZpZWxkcwo+ICsJICogYXJlIGFzIGZvbGxvd3M6IE1pbl9xcFsxNToxMV0sIG1heF9xcFsx MDo2XSwgb2Zmc2V0WzU6MF0KPiArCSAqLwo+ICsJZm9yIChpID0gMDsgaSA8IERTQ19OVU1fQlVG X1JBTkdFUzsgaSsrKSB7Cj4gKwkJcHBzX3NkcC0+cHBzX3BheWxvYWQucmNfcmFuZ2VfcGFyYW1l dGVyc1tpXSA9Cj4gKwkJCSh1MTYpKChkc2NfY2ZnLT5yY19yYW5nZV9wYXJhbXNbaV0ucmFuZ2Vf bWluX3FwIDw8Cj4gKwkJCSAgICAgICBEU0NfUFBTX1JDX1JBTkdFX01JTlFQX1NISUZUKSB8Cj4g KwkJCSAgICAgIChkc2NfY2ZnLT5yY19yYW5nZV9wYXJhbXNbaV0ucmFuZ2VfbWF4X3FwIDw8Cj4g KwkJCSAgICAgICBEU0NfUFBTX1JDX1JBTkdFX01BWFFQX1NISUZUKSB8Cj4gKwkJCSAgICAgIChk c2NfY2ZnLT5yY19yYW5nZV9wYXJhbXNbaV0ucmFuZ2VfYnBnX29mZnNldCkpOwo+ICsJCXBwc19z ZHAtPnBwc19wYXlsb2FkLnJjX3JhbmdlX3BhcmFtZXRlcnNbaV0gPQo+ICsJCQljcHVfdG9fYmUx NihwcHNfc2RwLT5wcHNfcGF5bG9hZC5yY19yYW5nZV9wYXJhbWV0ZXJzW2ldKTsKPiArCX0KPiAr Cj4gKwkvKiBQUFMgODggKi8KPiArCXBwc19zZHAtPnBwc19wYXlsb2FkLm5hdGl2ZV80MjJfNDIw ID0gKHU4KWRzY19jZmctPm5hdGl2ZV80MjIgfAo+ICsJCSh1OClkc2NfY2ZnLT5uYXRpdmVfNDIw IDw8IERTQ19QUFNfTkFUSVZFXzQyMF9TSElGVDsKPiArCj4gKwkvKiBQUFMgODkgKi8KPiArCXBw c19zZHAtPnBwc19wYXlsb2FkLnNlY29uZF9saW5lX2JwZ19vZmZzZXQgPQo+ICsJCSh1OClkc2Nf Y2ZnLT5zZWNvbmRfbGluZV9icGdfb2Zmc2V0Owo+ICsKPiArCS8qIFBQUyA5MCwgOTEgKi8KPiAr CXBwc19zZHAtPnBwc19wYXlsb2FkLm5zbF9icGdfb2Zmc2V0ID0KPiArCQljcHVfdG9fYmUxNihk c2NfY2ZnLT5uc2xfYnBnX29mZnNldCk7Cj4gKwo+ICsJLyogUFBTIDkyLCA5MyAqLwo+ICsJcHBz X3NkcC0+cHBzX3BheWxvYWQuc2Vjb25kX2xpbmVfb2Zmc2V0X2FkaiA9Cj4gKwkJY3B1X3RvX2Jl MTYoZHNjX2NmZy0+c2Vjb25kX2xpbmVfb2Zmc2V0X2Fkaik7Cj4gKwo+ICsJLyogUFBTIDk0IC0g MTI3IGFyZSBPICovCj4gK30KPiArRVhQT1JUX1NZTUJPTChkcm1fZHNjX3Bwc19pbmZvZnJhbWVf cGFjayk7Cj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9kc2MuaCBiL2luY2x1ZGUvZHJt L2RybV9kc2MuaAo+IGluZGV4IDk4NmY5NjJmMzhkNC4uMGU1ZTMzNjhkNjQ1IDEwMDY0NAo+IC0t LSBhL2luY2x1ZGUvZHJtL2RybV9kc2MuaAo+ICsrKyBiL2luY2x1ZGUvZHJtL2RybV9kc2MuaAo+ IEBAIC04LDYgKzgsNyBAQAo+ICAjaWZuZGVmIERSTV9EU0NfSF8KPiAgI2RlZmluZSBEUk1fRFND X0hfCj4gIAo+ICsjaW5jbHVkZSA8bGludXgvYnl0ZW9yZGVyL2dlbmVyaWMuaD4KClRoaXMgaGVh ZGVyIGRvZXNuJ3QgbmVlZCB0aGF0IEFGQUlDUy4KCj4gICNpbmNsdWRlIDxkcm0vZHJtX2RwX2hl bHBlci5oPgo+ICAKPiAgLyogVkVTQSBEaXNwbGF5IFN0cmVhbSBDb21wcmVzc2lvbiBEU0MgMS4y IGNvbnN0YW50cyAqLwo+IEBAIC0yNCw2ICsyNSwyMyBAQAo+ICAjZGVmaW5lIERTQ19SQ19UR1Rf T0ZGU0VUX0hJX0NPTlNUCSAgICAzCj4gICNkZWZpbmUgRFNDX1JDX1RHVF9PRkZTRVRfTE9fQ09O U1QJICAgIDMKPiAgCj4gKy8qIERTQyBQUFMgY29uc3RhbnRzIGFuZCBtYWNyb3MgKi8KPiArI2Rl ZmluZSBEU0NfUFBTX1ZFUlNJT05fTUFKT1JfU0hJRlQJCTQKPiArI2RlZmluZSBEU0NfUFBTX0JQ Q19TSElGVAkJCTQKPiArI2RlZmluZSBEU0NfUFBTX01TQl9TSElGVAkJCTgKPiArI2RlZmluZSBE U0NfUFBTX0xTQl9NQVNLCQkJKDB4RkYgPDwgMCkKPiArI2RlZmluZSBEU0NfUFBTX0JQUF9ISUdI X01BU0sJCQkoMHgzIDw8IDgpCj4gKyNkZWZpbmUgRFNDX1BQU19WQlJfRU5fU0hJRlQJCQkyCj4g KyNkZWZpbmUgRFNDX1BQU19TSU1QTEU0MjJfU0hJRlQJCQkzCj4gKyNkZWZpbmUgRFNDX1BQU19D T05WRVJUX1JHQl9TSElGVAkJNAo+ICsjZGVmaW5lIERTQ19QUFNfQkxPQ0tfUFJFRF9FTl9TSElG VAkJNQo+ICsjZGVmaW5lIERTQ19QUFNfSU5JVF9YTUlUX0RFTEFZX0hJR0hfTUFTSwkoMHgzIDw8 IDgpCj4gKyNkZWZpbmUgRFNDX1BQU19TQ0FMRV9ERUNfSU5UX0hJR0hfTUFTSwkJKDB4RiA8PCA4 KQo+ICsjZGVmaW5lIERTQ19QUFNfUkNfVEdUX09GRlNFVF9ISV9TSElGVAkJNAo+ICsjZGVmaW5l IERTQ19QUFNfUkNfUkFOR0VfTUlOUVBfU0hJRlQJCTExCj4gKyNkZWZpbmUgRFNDX1BQU19SQ19S QU5HRV9NQVhRUF9TSElGVAkJNgo+ICsjZGVmaW5lIERTQ19QUFNfTkFUSVZFXzQyMF9TSElGVAkJ MQo+ICsKPiAgLyogQ29uZmlndXJhdGlvbiBmb3IgYSBzaW5nbGUgUmF0ZSBDb250cm9sIG1vZGVs IHJhbmdlICovCj4gIHN0cnVjdCBkc2NfcmNfcmFuZ2VfcGFyYW1ldGVycyB7Cj4gIAkvKiBNaW4g UXVhbnRpemF0aW9uIFBhcmFtZXRlcnMgYWxsb3dlZCBmb3IgdGhpcyByYW5nZSAqLwo+IEBAIC00 NjMsNCArNDgxLDggQEAgc3RydWN0IGRybV9kc2NfcHBzX2luZm9mcmFtZSB7Cj4gIAlzdHJ1Y3Qg cGljdHVyZV9wYXJhbWV0ZXJfc2V0IHBwc19wYXlsb2FkOwo+ICB9IF9fcGFja2VkOwo+ICAKPiAr dm9pZCBkcm1fZHNjX2RwX3Bwc19oZWFkZXJfaW5pdChzdHJ1Y3QgZHJtX2RzY19wcHNfaW5mb2Zy YW1lICpwcHNfc2RwKTsKPiArdm9pZCBkcm1fZHNjX3Bwc19pbmZvZnJhbWVfcGFjayhzdHJ1Y3Qg ZHJtX2RzY19wcHNfaW5mb2ZyYW1lICpwcHNfc2RwLAo+ICsJCQkJc3RydWN0IGRybV9kc2NfY29u ZmlnICpkc2NfY2ZnKTsKPiArCj4gICNlbmRpZiAvKiBfRFJNX0RTQ19IXyAqLwo+IC0tIAo+IDIu MTguMAoKLS0gClZpbGxlIFN5cmrDpGzDpApJbnRlbApfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBs aXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1h bi9saXN0aW5mby9kcmktZGV2ZWwK