From mboxrd@z Thu Jan 1 00:00:00 1970 From: Manasi Navare Subject: Re: [PATCH v8 04/19] drm/dsc: Add helpers for DSC picture parameter set infoframes Date: Tue, 6 Nov 2018 12:17:18 -0800 Message-ID: <20181106201718.GE26420@intel.com> References: <20181102213138.301-1-manasi.d.navare@intel.com> <20181102213138.301-5-manasi.d.navare@intel.com> <83F5C7385F545743AD4FB2A62F75B07347F8F809@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: <83F5C7385F545743AD4FB2A62F75B07347F8F809@ORSMSX108.amr.corp.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: "Srivatsa, Anusha" Cc: "intel-gfx@lists.freedesktop.org" , "dri-devel@lists.freedesktop.org" List-Id: dri-devel@lists.freedesktop.org T24gTW9uLCBOb3YgMDUsIDIwMTggYXQgMDU6Mzg6MTlQTSAtMDgwMCwgU3JpdmF0c2EsIEFudXNo YSB3cm90ZToKPiAKPiAKPiA+LS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0KPiA+RnJvbTogTmF2 YXJlLCBNYW5hc2kgRAo+ID5TZW50OiBGcmlkYXksIE5vdmVtYmVyIDIsIDIwMTggMjozMSBQTQo+ ID5UbzogaW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZzsgZHJpLWRldmVsQGxpc3RzLmZy ZWVkZXNrdG9wLm9yZwo+ID5DYzogTmF2YXJlLCBNYW5hc2kgRCA8bWFuYXNpLmQubmF2YXJlQGlu dGVsLmNvbT47IEphbmkgTmlrdWxhCj4gPjxqYW5pLm5pa3VsYUBsaW51eC5pbnRlbC5jb20+OyBW aWxsZSBTeXJqYWxhIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT47Cj4gPlNyaXZhdHNh LCBBbnVzaGEgPGFudXNoYS5zcml2YXRzYUBpbnRlbC5jb20+OyBIYXJyeSBXZW50bGFuZAo+ID48 aGFycnkud2VudGxhbmRAYW1kLmNvbT4KPiA+U3ViamVjdDogW1BBVENIIHY4IDA0LzE5XSBkcm0v ZHNjOiBBZGQgaGVscGVycyBmb3IgRFNDIHBpY3R1cmUgcGFyYW1ldGVyIHNldAo+ID5pbmZvZnJh bWVzCj4gPgo+ID5BY2NvcmRpbmcgdG8gRGlzcGxheSBTdHJlYW0gY29tcHJlc3Npb24gc3BlYyAx LjIsIHRoZSBwaWN0dXJlIHBhcmFtZXRlciBzZXQKPiA+bWV0YWRhdGEgaXMgc2VudCBmcm9tIHNv dXJjZSB0byBzaW5rIGRldmljZSB1c2luZyB0aGUgRFAgU2Vjb25kYXJ5IGRhdGEgcGFja2V0Lgo+ ID5BbiBpbmZvZnJhbWUgaXMgZm9ybWVkIGZvciB0aGUgUFBTIFNEUCBoZWFkZXIgYW5kIFBQUyBT RFAgcGF5bG9hZCBieXRlcy4KPiA+VGhpcyBwYXRjaCBhZGRzIGhlbHBlcnMgdG8gZmlsbCB0aGUg UFBTIFNEUCBoZWFkZXIgYW5kIFBQUyBTRFAgcGF5bG9hZCBhY2NvcmRpbmcKPiA+dG8gdGhlIERT QyAxLjIgc3BlY2lmaWNhdGlvbi4KPiA+Cj4gPnY3Ogo+ID4qIFVzZSBCVUlMRF9CVUdfT04oKSB0 byBwcm90ZWN0IGNoYW5naW5nIHN0cnVjdCBzaXplIChWaWxsZSkKPiA+KiBSZW1vdmUgdHlwZWNh c2V0aW5nIChWaWxsZSkKPiA+KiBJbmNsdWRlIGJ5dGVvcmRlci5oIGluIGRybV9kc2MuYyAoVmls bGUpCj4gPnY2Ogo+ID4qIFVzZSBwcm9wZXIgc2VxdWVuY2UgcG9pbnRzIGZvciBicmVha2luZyBk b3duIHRoZSBhc3NpZ25tZW50cyAoQ2hyaXMgV2lsc29uKQo+ID4qIFVzZSBTUERYIGlkZW50aWZp ZXIKPiA+djU6Cj4gPkRvIG5vdCB1c2UgYml0ZmllbGRzIGZvciBEUk0gc3RydWN0cyAoSmFuaSBO KQo+ID52NDoKPiA+KiBVc2UgRFNDIGNvbnN0YW50cyBmb3IgcGFyYW1zIHRoYXQgZG9udCBjaGFu Z2UgYWNyb3NzIGNvbmZpZ3VyYXRpb25zCj4gPnYzOgo+ID4qIEFkZCByZWZlcmVuY2UgdG8gYWRk ZWQga2VybmVsLWRvY3MgaW4KPiA+RG9jdW1lbnRhdGlvbi9ncHUvZHJtLWttcy1oZWxwZXJzLnJz dCAoRGFuaWVsIFZldHRlcikKPiA+Cj4gPnYyOgo+ID4qIEFkZCBFWFBPUlRfU1lNQk9MIGZvciB0 aGUgZHJtIGZ1bmN0aW9ucyAoTWFuYXNpKQo+ID4KPiA+Q2M6IGRyaS1kZXZlbEBsaXN0cy5mcmVl ZGVza3RvcC5vcmcKPiA+Q2M6IEphbmkgTmlrdWxhIDxqYW5pLm5pa3VsYUBsaW51eC5pbnRlbC5j b20+Cj4gPkNjOiBWaWxsZSBTeXJqYWxhIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4K PiA+Q2M6IEFudXNoYSBTcml2YXRzYSA8YW51c2hhLnNyaXZhdHNhQGludGVsLmNvbT4KPiA+Q2M6 IEhhcnJ5IFdlbnRsYW5kIDxoYXJyeS53ZW50bGFuZEBhbWQuY29tPgo+ID5TaWduZWQtb2ZmLWJ5 OiBNYW5hc2kgTmF2YXJlIDxtYW5hc2kuZC5uYXZhcmVAaW50ZWwuY29tPgo+ID5BY2tlZC1ieTog SGFycnkgV2VudGxhbmQgPGhhcnJ5LndlbnRsYW5kQGFtZC5jb20+Cj4gPi0tLQo+ID4gRG9jdW1l bnRhdGlvbi9ncHUvZHJtLWttcy1oZWxwZXJzLnJzdCB8ICAxMiArKwo+ID4gZHJpdmVycy9ncHUv ZHJtL01ha2VmaWxlICAgICAgICAgICAgICB8ICAgMiArLQo+ID4gZHJpdmVycy9ncHUvZHJtL2Ry bV9kc2MuYyAgICAgICAgICAgICB8IDIyOCArKysrKysrKysrKysrKysrKysrKysrKysrKwo+ID4g aW5jbHVkZS9kcm0vZHJtX2RzYy5oICAgICAgICAgICAgICAgICB8ICAyMSArKysKPiA+IDQgZmls ZXMgY2hhbmdlZCwgMjYyIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkgIGNyZWF0ZSBtb2Rl IDEwMDY0NAo+ID5kcml2ZXJzL2dwdS9kcm0vZHJtX2RzYy5jCj4gPgo+ID5kaWZmIC0tZ2l0IGEv RG9jdW1lbnRhdGlvbi9ncHUvZHJtLWttcy1oZWxwZXJzLnJzdCBiL0RvY3VtZW50YXRpb24vZ3B1 L2RybS0KPiA+a21zLWhlbHBlcnMucnN0Cj4gPmluZGV4IDRiNGRjMjM2ZWY2Zi4uYjQyMmViOGVk ZjE2IDEwMDY0NAo+ID4tLS0gYS9Eb2N1bWVudGF0aW9uL2dwdS9kcm0ta21zLWhlbHBlcnMucnN0 Cj4gPisrKyBiL0RvY3VtZW50YXRpb24vZ3B1L2RybS1rbXMtaGVscGVycy5yc3QKPiA+QEAgLTIz Miw2ICsyMzIsMTggQEAgTUlQSSBEU0kgSGVscGVyIEZ1bmN0aW9ucyBSZWZlcmVuY2UgIC4uIGtl cm5lbC1kb2M6Ogo+ID5kcml2ZXJzL2dwdS9kcm0vZHJtX21pcGlfZHNpLmMKPiA+ICAgIDpleHBv cnQ6Cj4gPgo+ID4rRGlzcGxheSBTdHJlYW0gQ29tcHJlc3Npb24gSGVscGVyIEZ1bmN0aW9ucyBS ZWZlcmVuY2UKPiA+Kz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09Cj4gPisKPiA+Ky4uIGtlcm5lbC1kb2M6OiBkcml2ZXJzL2dwdS9kcm0vZHJtX2Rz Yy5jCj4gPisgICA6ZG9jOiBkc2MgaGVscGVycwo+ID4rCj4gPisuLiBrZXJuZWwtZG9jOjogaW5j bHVkZS9kcm0vZHJtX2RzYy5oCj4gPisgICA6aW50ZXJuYWw6Cj4gPisKPiA+Ky4uIGtlcm5lbC1k b2M6OiBkcml2ZXJzL2dwdS9kcm0vZHJtX2RzYy5jCj4gPisgICA6ZXhwb3J0Ogo+ID4rCj4gPiBP dXRwdXQgUHJvYmluZyBIZWxwZXIgRnVuY3Rpb25zIFJlZmVyZW5jZQo+ID49PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQo+ID4KPiA+ZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9NYWtlZmlsZSBiL2RyaXZlcnMvZ3B1L2RybS9NYWtlZmlsZSBpbmRleAo+ID41NzZi YTk4NWUxMzguLjNhM2U2ZmI2ZDQ3NiAxMDA2NDQKPiA+LS0tIGEvZHJpdmVycy9ncHUvZHJtL01h a2VmaWxlCj4gPisrKyBiL2RyaXZlcnMvZ3B1L2RybS9NYWtlZmlsZQo+ID5AQCAtMzIsNyArMzIs NyBAQCBkcm0tJChDT05GSUdfQUdQKSArPSBkcm1fYWdwc3VwcG9ydC5vCj4gPiBkcm0tJChDT05G SUdfREVCVUdfRlMpICs9IGRybV9kZWJ1Z2ZzLm8gZHJtX2RlYnVnZnNfY3JjLm8KPiA+IGRybS0k KENPTkZJR19EUk1fTE9BRF9FRElEX0ZJUk1XQVJFKSArPSBkcm1fZWRpZF9sb2FkLm8KPiA+Cj4g Pi1kcm1fa21zX2hlbHBlci15IDo9IGRybV9jcnRjX2hlbHBlci5vIGRybV9kcF9oZWxwZXIubyBk cm1fcHJvYmVfaGVscGVyLm8gXAo+ID4rZHJtX2ttc19oZWxwZXIteSA6PSBkcm1fY3J0Y19oZWxw ZXIubyBkcm1fZHBfaGVscGVyLm8gZHJtX2RzYy5vCj4gPitkcm1fcHJvYmVfaGVscGVyLm8gXAo+ ID4gCQlkcm1fcGxhbmVfaGVscGVyLm8gZHJtX2RwX21zdF90b3BvbG9neS5vCj4gPmRybV9hdG9t aWNfaGVscGVyLm8gXAo+ID4gCQlkcm1fa21zX2hlbHBlcl9jb21tb24ubyBkcm1fZHBfZHVhbF9t b2RlX2hlbHBlci5vIFwKPiA+IAkJZHJtX3NpbXBsZV9rbXNfaGVscGVyLm8gZHJtX21vZGVzZXRf aGVscGVyLm8gXCBkaWZmIC0tZ2l0Cj4gPmEvZHJpdmVycy9ncHUvZHJtL2RybV9kc2MuYyBiL2Ry aXZlcnMvZ3B1L2RybS9kcm1fZHNjLmMgbmV3IGZpbGUgbW9kZQo+ID4xMDA2NDQgaW5kZXggMDAw MDAwMDAwMDAwLi4zYTQ5NDJjMWFlM2IKPiA+LS0tIC9kZXYvbnVsbAo+ID4rKysgYi9kcml2ZXJz L2dwdS9kcm0vZHJtX2RzYy5jCj4gPkBAIC0wLDAgKzEsMjI4IEBACj4gPisvLyBTUERYLUxpY2Vu c2UtSWRlbnRpZmllcjogTUlUCj4gCj4gTml0LQo+IEluIHNvbWUgcGxhY2VzIHRoZSBMaWNlbnNl IGlzIHdpdGhpbiAvKiAqLyBsaWtlIGNvbW1lbnQuLi4uCj4gSXMgdGhlIHJpZ2h0IHdheSB0byBB ZGQgTGljZW5zZSBJZGVudGlmaWVyPwoKWWVzIC8qICAqLyB3YXMgZ2l2aW5nIG1lIGNoZWNrcGF0 Y2ggd2FybmluZy4KCj4gCj4gPisvKgo+ID4rICogQ29weXJpZ2h0IMKpIDIwMTggSW50ZWwgQ29y cAo+ID4rICoKPiA+KyAqIEF1dGhvcjoKPiA+KyAqIE1hbmFzaSBOYXZhcmUgPG1hbmFzaS5kLm5h dmFyZUBpbnRlbC5jb20+ICAqLwo+ID4rCj4gPisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+Cj4g PisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+Cj4gPisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgo+ ID4rI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+Cj4gPisjaW5jbHVkZSA8bGludXgvYnl0ZW9yZGVy L2dlbmVyaWMuaD4KPiA+KyNpbmNsdWRlIDxkcm0vZHJtX2RwX2hlbHBlci5oPgo+ID4rI2luY2x1 ZGUgPGRybS9kcm1fZHNjLmg+Cj4gPisKPiA+Ky8qKgo+ID4rICogRE9DOiBkc2MgaGVscGVycwo+ ID4rICoKPiA+KyAqIFRoZXNlIGZ1bmN0aW9ucyBjb250YWluIHNvbWUgY29tbW9uIGxvZ2ljIGFu ZCBoZWxwZXJzIHRvIGRlYWwgd2l0aAo+ID4rVkVTQQo+ID4rICogRGlzcGxheSBTdHJlYW0gQ29t cHJlc3Npb24gc3RhbmRhcmQgcmVxdWlyZWQgZm9yIERTQyBvbiBEaXNwbGF5Cj4gPitQb3J0L2VE UCBvcgo+ID4rICogTUlQSSBkaXNwbGF5IGludGVyZmFjZXMuCj4gPisgKi8KPiA+Kwo+ID4rLyoq Cj4gPisgKiBkcm1fZHNjX2RwX3Bwc19oZWFkZXJfaW5pdCgpIC0gSW5pdGlhbGl6ZXMgdGhlIFBQ UyBIZWFkZXIKPiA+KyAqIGZvciBEaXNwbGF5UG9ydCBhcyBwZXIgdGhlIERQIDEuNCBzcGVjLgo+ ID4rICogQHBwc19zZHA6IFNlY29uZGFyeSBkYXRhIHBhY2tldCBmb3IgRFNDIFBpY3R1cmUgUGFy YW1ldGVyIFNldCAgKi8KPiA+K3ZvaWQgZHJtX2RzY19kcF9wcHNfaGVhZGVyX2luaXQoc3RydWN0 IGRybV9kc2NfcHBzX2luZm9mcmFtZSAqcHBzX3NkcCkKPiA+K3sKPiA+KwltZW1zZXQoJnBwc19z ZHAtPnBwc19oZWFkZXIsIDAsIHNpemVvZihwcHNfc2RwLT5wcHNfaGVhZGVyKSk7Cj4gPisKPiA+ KwlwcHNfc2RwLT5wcHNfaGVhZGVyLkhCMSA9IERQX1NEUF9QUFM7Cj4gPisJcHBzX3NkcC0+cHBz X2hlYWRlci5IQjIgPQo+ID5EUF9TRFBfUFBTX0hFQURFUl9QQVlMT0FEX0JZVEVTX01JTlVTXzE7 Cj4gPit9Cj4gPitFWFBPUlRfU1lNQk9MKGRybV9kc2NfZHBfcHBzX2hlYWRlcl9pbml0KTsKPiA+ Kwo+ID4rLyoqCj4gPisgKiBkcm1fZHNjX3Bwc19pbmZvZnJhbWVfcGFjaygpIC0gUG9wdWxhdGVz IHRoZSBEU0MgUFBTIGluZm9mcmFtZQo+ID4rICogdXNpbmcgdGhlIERTQyBjb25maWd1cmF0aW9u IHBhcmFtZXRlcnMgaW4gdGhlIG9yZGVyIGV4cGVjdGVkCj4gPisgKiBieSB0aGUgRFNDIERpc3Bs YXkgU2luayBkZXZpY2UuIEZvciB0aGUgRFNDLCB0aGUgc2luayBkZXZpY2UKPiA+KyAqIGV4cGVj dHMgdGhlIFBQUyBwYXlsb2FkIGluIHRoZSBiaWcgZW5kaWFuIGZvcm1hdCBmb3IgdGhlIGZpZWxk cwo+ID4rICogdGhhdCBzcGFuIG1vcmUgdGhhbiAxIGJ5dGUuCj4gPisgKgo+ID4rICogQHBwc19z ZHA6Cj4gPisgKiBTZWNvbmRhcnkgZGF0YSBwYWNrZXQgZm9yIERTQyBQaWN0dXJlIFBhcmFtZXRl ciBTZXQKPiA+KyAqIEBkc2NfY2ZnOgo+ID4rICogRFNDIENvbmZpZ3VyYXRpb24gZGF0YSBmaWxs ZWQgYnkgZHJpdmVyICAqLyB2b2lkCj4gPitkcm1fZHNjX3Bwc19pbmZvZnJhbWVfcGFjayhzdHJ1 Y3QgZHJtX2RzY19wcHNfaW5mb2ZyYW1lICpwcHNfc2RwLAo+ID4rCQkJCWNvbnN0IHN0cnVjdCBk cm1fZHNjX2NvbmZpZyAqZHNjX2NmZykgewo+ID4rCWludCBpOwo+ID4rCj4gPisJLypQcm90ZWN0 IGFnYWluc3Qgc29tZW9uZSBhY2NpZGVudGx5IGNoYW5naW5nIHN0cnVjdCBzaXplICovCj4gICAg ICAgICAgICBOaXQgLSAgIF5eXiBNaXNzaW5nIHNwYWNlIGFmdGVyIC8qCgpDb29sIHdpbGwgZml4 IHRoaXMgbWlzc2luZyBzcGFjZS4gVGhhbmtzIGZvciB0aGUgcmV2aWV3LgoKTWFuYXNpCgo+IAo+ IE90aGVyIHRoYW4gdGhlc2Ugbml0cywgdGhlIHBhdGNoIGxvb2tzIGdvb2QuCj4gCj4gUmV2aWV3 ZWQtYnk6IEFudXNoYSBTcml2YXRzYSA8YW51c2hhLnNyaXZhdHNhQGludGVsLmNvbT8KPiAKPiA+ KwlCVUlMRF9CVUdfT04oc2l6ZW9mKHBwc19zZHAtPnBwc19wYXlsb2FkKSAhPQo+ID4rCQkgICAg IERQX1NEUF9QUFNfSEVBREVSX1BBWUxPQURfQllURVNfTUlOVVNfMSArIDEpOwo+ID4rCj4gPisJ bWVtc2V0KCZwcHNfc2RwLT5wcHNfcGF5bG9hZCwgMCwgc2l6ZW9mKHBwc19zZHAtPnBwc19wYXls b2FkKSk7Cj4gPisKPiA+KwkvKiBQUFMgMCAqLwo+ID4rCXBwc19zZHAtPnBwc19wYXlsb2FkLmRz Y192ZXJzaW9uID0KPiA+KwkJZHNjX2NmZy0+ZHNjX3ZlcnNpb25fbWlub3IgfAo+ID4rCQlkc2Nf Y2ZnLT5kc2NfdmVyc2lvbl9tYWpvciA8PAo+ID5EU0NfUFBTX1ZFUlNJT05fTUFKT1JfU0hJRlQ7 Cj4gPisKPiA+KwkvKiBQUFMgMSwgMiBpcyAwICovCj4gPisKPiA+KwkvKiBQUFMgMyAqLwo+ID4r CXBwc19zZHAtPnBwc19wYXlsb2FkLnBwc18zID0KPiA+KwkJZHNjX2NmZy0+bGluZV9idWZfZGVw dGggfAo+ID4rCQlkc2NfY2ZnLT5iaXRzX3Blcl9jb21wb25lbnQgPDwgRFNDX1BQU19CUENfU0hJ RlQ7Cj4gPisKPiA+KwkvKiBQUFMgNCAqLwo+ID4rCXBwc19zZHAtPnBwc19wYXlsb2FkLnBwc180 ID0KPiA+KwkJKChkc2NfY2ZnLT5iaXRzX3Blcl9waXhlbCAmIERTQ19QUFNfQlBQX0hJR0hfTUFT SykgPj4KPiA+KwkJIERTQ19QUFNfTVNCX1NISUZUKSB8Cj4gPisJCWRzY19jZmctPnZicl9lbmFi bGUgPDwgRFNDX1BQU19WQlJfRU5fU0hJRlQgfAo+ID4rCQlkc2NfY2ZnLT5lbmFibGU0MjIgPDwg RFNDX1BQU19TSU1QTEU0MjJfU0hJRlQgfAo+ID4rCQlkc2NfY2ZnLT5jb252ZXJ0X3JnYiA8PCBE U0NfUFBTX0NPTlZFUlRfUkdCX1NISUZUIHwKPiA+KwkJZHNjX2NmZy0+YmxvY2tfcHJlZF9lbmFi bGUgPDwKPiA+RFNDX1BQU19CTE9DS19QUkVEX0VOX1NISUZUOwo+ID4rCj4gPisJLyogUFBTIDUg Ki8KPiA+KwlwcHNfc2RwLT5wcHNfcGF5bG9hZC5iaXRzX3Blcl9waXhlbF9sb3cgPQo+ID4rCQko ZHNjX2NmZy0+Yml0c19wZXJfcGl4ZWwgJiBEU0NfUFBTX0xTQl9NQVNLKTsKPiA+Kwo+ID4rCS8q Cj4gPisJICogVGhlIERTQyBwYW5lbCBleHBlY3RzIHRoZSBQUFMgcGFja2V0IHRvIGhhdmUgYmln IGVuZGlhbiBmb3JtYXQKPiA+KwkgKiBmb3IgZGF0YSBzcGFubmluZyAyIGJ5dGVzLiBVc2UgYSBt YWNybyBjcHVfdG9fYmUxNigpIHRvIGNvbnZlcnQKPiA+KwkgKiB0byBiaWcgZW5kaWFuIGZvcm1h dC4gSWYgZm9ybWF0IGlzIGxpdHRsZSBlbmRpYW4sIGl0IHdpbGwgc3dhcAo+ID4rCSAqIGJ5dGVz IHRvIGNvbnZlcnQgdG8gQmlnIGVuZGlhbiBlbHNlIGtlZXAgaXQgdW5jaGFuZ2VkLgo+ID4rCSAq Lwo+ID4rCj4gPisJLyogUFBTIDYsIDcgKi8KPiA+KwlwcHNfc2RwLT5wcHNfcGF5bG9hZC5waWNf aGVpZ2h0ID0gY3B1X3RvX2JlMTYoZHNjX2NmZy0+cGljX2hlaWdodCk7Cj4gPisKPiA+KwkvKiBQ UFMgOCwgOSAqLwo+ID4rCXBwc19zZHAtPnBwc19wYXlsb2FkLnBpY193aWR0aCA9IGNwdV90b19i ZTE2KGRzY19jZmctPnBpY193aWR0aCk7Cj4gPisKPiA+KwkvKiBQUFMgMTAsIDExICovCj4gPisJ cHBzX3NkcC0+cHBzX3BheWxvYWQuc2xpY2VfaGVpZ2h0ID0KPiA+K2NwdV90b19iZTE2KGRzY19j ZmctPnNsaWNlX2hlaWdodCk7Cj4gPisKPiA+KwkvKiBQUFMgMTIsIDEzICovCj4gPisJcHBzX3Nk cC0+cHBzX3BheWxvYWQuc2xpY2Vfd2lkdGggPSBjcHVfdG9fYmUxNihkc2NfY2ZnLT5zbGljZV93 aWR0aCk7Cj4gPisKPiA+KwkvKiBQUFMgMTQsIDE1ICovCj4gPisJcHBzX3NkcC0+cHBzX3BheWxv YWQuY2h1bmtfc2l6ZSA9Cj4gPitjcHVfdG9fYmUxNihkc2NfY2ZnLT5zbGljZV9jaHVua19zaXpl KTsKPiA+Kwo+ID4rCS8qIFBQUyAxNiAqLwo+ID4rCXBwc19zZHAtPnBwc19wYXlsb2FkLmluaXRp YWxfeG1pdF9kZWxheV9oaWdoID0KPiA+KwkJKChkc2NfY2ZnLT5pbml0aWFsX3htaXRfZGVsYXkg Jgo+ID4rCQkgIERTQ19QUFNfSU5JVF9YTUlUX0RFTEFZX0hJR0hfTUFTSykgPj4KPiA+KwkJIERT Q19QUFNfTVNCX1NISUZUKTsKPiA+Kwo+ID4rCS8qIFBQUyAxNyAqLwo+ID4rCXBwc19zZHAtPnBw c19wYXlsb2FkLmluaXRpYWxfeG1pdF9kZWxheV9sb3cgPQo+ID4rCQkoZHNjX2NmZy0+aW5pdGlh bF94bWl0X2RlbGF5ICYgRFNDX1BQU19MU0JfTUFTSyk7Cj4gPisKPiA+KwkvKiBQUFMgMTgsIDE5 ICovCj4gPisJcHBzX3NkcC0+cHBzX3BheWxvYWQuaW5pdGlhbF9kZWNfZGVsYXkgPQo+ID4rCQlj cHVfdG9fYmUxNihkc2NfY2ZnLT5pbml0aWFsX2RlY19kZWxheSk7Cj4gPisKPiA+KwkvKiBQUFMg MjAgaXMgMCAqLwo+ID4rCj4gPisJLyogUFBTIDIxICovCj4gPisJcHBzX3NkcC0+cHBzX3BheWxv YWQuaW5pdGlhbF9zY2FsZV92YWx1ZSA9Cj4gPisJCWRzY19jZmctPmluaXRpYWxfc2NhbGVfdmFs dWU7Cj4gPisKPiA+KwkvKiBQUFMgMjIsIDIzICovCj4gPisJcHBzX3NkcC0+cHBzX3BheWxvYWQu c2NhbGVfaW5jcmVtZW50X2ludGVydmFsID0KPiA+KwkJY3B1X3RvX2JlMTYoZHNjX2NmZy0+c2Nh bGVfaW5jcmVtZW50X2ludGVydmFsKTsKPiA+Kwo+ID4rCS8qIFBQUyAyNCAqLwo+ID4rCXBwc19z ZHAtPnBwc19wYXlsb2FkLnNjYWxlX2RlY3JlbWVudF9pbnRlcnZhbF9oaWdoID0KPiA+KwkJKChk c2NfY2ZnLT5zY2FsZV9kZWNyZW1lbnRfaW50ZXJ2YWwgJgo+ID4rCQkgIERTQ19QUFNfU0NBTEVf REVDX0lOVF9ISUdIX01BU0spID4+Cj4gPisJCSBEU0NfUFBTX01TQl9TSElGVCk7Cj4gPisKPiA+ KwkvKiBQUFMgMjUgKi8KPiA+KwlwcHNfc2RwLT5wcHNfcGF5bG9hZC5zY2FsZV9kZWNyZW1lbnRf aW50ZXJ2YWxfbG93ID0KPiA+KwkJKGRzY19jZmctPnNjYWxlX2RlY3JlbWVudF9pbnRlcnZhbCAm IERTQ19QUFNfTFNCX01BU0spOwo+ID4rCj4gPisJLyogUFBTIDI2Wzc6MF0sIFBQUyAyN1s3OjVd IFJFU0VSVkVEICovCj4gPisKPiA+KwkvKiBQUFMgMjcgKi8KPiA+KwlwcHNfc2RwLT5wcHNfcGF5 bG9hZC5maXJzdF9saW5lX2JwZ19vZmZzZXQgPQo+ID4rCQlkc2NfY2ZnLT5maXJzdF9saW5lX2Jw Z19vZmZzZXQ7Cj4gPisKPiA+KwkvKiBQUFMgMjgsIDI5ICovCj4gPisJcHBzX3NkcC0+cHBzX3Bh eWxvYWQubmZsX2JwZ19vZmZzZXQgPQo+ID4rCQljcHVfdG9fYmUxNihkc2NfY2ZnLT5uZmxfYnBn X29mZnNldCk7Cj4gPisKPiA+KwkvKiBQUFMgMzAsIDMxICovCj4gPisJcHBzX3NkcC0+cHBzX3Bh eWxvYWQuc2xpY2VfYnBnX29mZnNldCA9Cj4gPisJCWNwdV90b19iZTE2KGRzY19jZmctPnNsaWNl X2JwZ19vZmZzZXQpOwo+ID4rCj4gPisJLyogUFBTIDMyLCAzMyAqLwo+ID4rCXBwc19zZHAtPnBw c19wYXlsb2FkLmluaXRpYWxfb2Zmc2V0ID0KPiA+KwkJY3B1X3RvX2JlMTYoZHNjX2NmZy0+aW5p dGlhbF9vZmZzZXQpOwo+ID4rCj4gPisJLyogUFBTIDM0LCAzNSAqLwo+ID4rCXBwc19zZHAtPnBw c19wYXlsb2FkLmZpbmFsX29mZnNldCA9Cj4gPitjcHVfdG9fYmUxNihkc2NfY2ZnLT5maW5hbF9v ZmZzZXQpOwo+ID4rCj4gPisJLyogUFBTIDM2ICovCj4gPisJcHBzX3NkcC0+cHBzX3BheWxvYWQu ZmxhdG5lc3NfbWluX3FwID0gZHNjX2NmZy0+ZmxhdG5lc3NfbWluX3FwOwo+ID4rCj4gPisJLyog UFBTIDM3ICovCj4gPisJcHBzX3NkcC0+cHBzX3BheWxvYWQuZmxhdG5lc3NfbWF4X3FwID0gZHNj X2NmZy0+ZmxhdG5lc3NfbWF4X3FwOwo+ID4rCj4gPisJLyogUFBTIDM4LCAzOSAqLwo+ID4rCXBw c19zZHAtPnBwc19wYXlsb2FkLnJjX21vZGVsX3NpemUgPQo+ID4rCQljcHVfdG9fYmUxNihEU0Nf UkNfTU9ERUxfU0laRV9DT05TVCk7Cj4gPisKPiA+KwkvKiBQUFMgNDAgKi8KPiA+KwlwcHNfc2Rw LT5wcHNfcGF5bG9hZC5yY19lZGdlX2ZhY3RvciA9Cj4gPkRTQ19SQ19FREdFX0ZBQ1RPUl9DT05T VDsKPiA+Kwo+ID4rCS8qIFBQUyA0MSAqLwo+ID4rCXBwc19zZHAtPnBwc19wYXlsb2FkLnJjX3F1 YW50X2luY3JfbGltaXQwID0KPiA+KwkJZHNjX2NmZy0+cmNfcXVhbnRfaW5jcl9saW1pdDA7Cj4g PisKPiA+KwkvKiBQUFMgNDIgKi8KPiA+KwlwcHNfc2RwLT5wcHNfcGF5bG9hZC5yY19xdWFudF9p bmNyX2xpbWl0MSA9Cj4gPisJCWRzY19jZmctPnJjX3F1YW50X2luY3JfbGltaXQxOwo+ID4rCj4g PisJLyogUFBTIDQzICovCj4gPisJcHBzX3NkcC0+cHBzX3BheWxvYWQucmNfdGd0X29mZnNldCA9 IERTQ19SQ19UR1RfT0ZGU0VUX0xPX0NPTlNUCj4gPnwKPiA+KwkJRFNDX1JDX1RHVF9PRkZTRVRf SElfQ09OU1QgPDwKPiA+RFNDX1BQU19SQ19UR1RfT0ZGU0VUX0hJX1NISUZUOwo+ID4rCj4gPisJ LyogUFBTIDQ0IC0gNTcgKi8KPiA+Kwlmb3IgKGkgPSAwOyBpIDwgRFNDX05VTV9CVUZfUkFOR0VT IC0gMTsgaSsrKQo+ID4rCQlwcHNfc2RwLT5wcHNfcGF5bG9hZC5yY19idWZfdGhyZXNoW2ldID0K PiA+KwkJCWRzY19jZmctPnJjX2J1Zl90aHJlc2hbaV07Cj4gPisKPiA+KwkvKiBQUFMgNTggLSA4 NyAqLwo+ID4rCS8qCj4gPisJICogRm9yIERTQyBzaW5rIHByb2dyYW1taW5nIHRoZSBSQyBSYW5n ZSBwYXJhbWV0ZXIgZmllbGRzCj4gPisJICogYXJlIGFzIGZvbGxvd3M6IE1pbl9xcFsxNToxMV0s IG1heF9xcFsxMDo2XSwgb2Zmc2V0WzU6MF0KPiA+KwkgKi8KPiA+Kwlmb3IgKGkgPSAwOyBpIDwg RFNDX05VTV9CVUZfUkFOR0VTOyBpKyspIHsKPiA+KwkJcHBzX3NkcC0+cHBzX3BheWxvYWQucmNf cmFuZ2VfcGFyYW1ldGVyc1tpXSA9Cj4gPisJCQkoKGRzY19jZmctPnJjX3JhbmdlX3BhcmFtc1tp XS5yYW5nZV9taW5fcXAgPDwKPiA+KwkJCSAgRFNDX1BQU19SQ19SQU5HRV9NSU5RUF9TSElGVCkg fAo+ID4rCQkJIChkc2NfY2ZnLT5yY19yYW5nZV9wYXJhbXNbaV0ucmFuZ2VfbWF4X3FwIDw8Cj4g PisJCQkgIERTQ19QUFNfUkNfUkFOR0VfTUFYUVBfU0hJRlQpIHwKPiA+KwkJCSAoZHNjX2NmZy0+ cmNfcmFuZ2VfcGFyYW1zW2ldLnJhbmdlX2JwZ19vZmZzZXQpKTsKPiA+KwkJcHBzX3NkcC0+cHBz X3BheWxvYWQucmNfcmFuZ2VfcGFyYW1ldGVyc1tpXSA9Cj4gPisJCQljcHVfdG9fYmUxNihwcHNf c2RwLQo+ID4+cHBzX3BheWxvYWQucmNfcmFuZ2VfcGFyYW1ldGVyc1tpXSk7Cj4gPisJfQo+ID4r Cj4gPisJLyogUFBTIDg4ICovCj4gPisJcHBzX3NkcC0+cHBzX3BheWxvYWQubmF0aXZlXzQyMl80 MjAgPSBkc2NfY2ZnLT5uYXRpdmVfNDIyIHwKPiA+KwkJZHNjX2NmZy0+bmF0aXZlXzQyMCA8PCBE U0NfUFBTX05BVElWRV80MjBfU0hJRlQ7Cj4gPisKPiA+KwkvKiBQUFMgODkgKi8KPiA+KwlwcHNf c2RwLT5wcHNfcGF5bG9hZC5zZWNvbmRfbGluZV9icGdfb2Zmc2V0ID0KPiA+KwkJZHNjX2NmZy0+ c2Vjb25kX2xpbmVfYnBnX29mZnNldDsKPiA+Kwo+ID4rCS8qIFBQUyA5MCwgOTEgKi8KPiA+Kwlw cHNfc2RwLT5wcHNfcGF5bG9hZC5uc2xfYnBnX29mZnNldCA9Cj4gPisJCWNwdV90b19iZTE2KGRz Y19jZmctPm5zbF9icGdfb2Zmc2V0KTsKPiA+Kwo+ID4rCS8qIFBQUyA5MiwgOTMgKi8KPiA+Kwlw cHNfc2RwLT5wcHNfcGF5bG9hZC5zZWNvbmRfbGluZV9vZmZzZXRfYWRqID0KPiA+KwkJY3B1X3Rv X2JlMTYoZHNjX2NmZy0+c2Vjb25kX2xpbmVfb2Zmc2V0X2Fkaik7Cj4gPisKPiA+KwkvKiBQUFMg OTQgLSAxMjcgYXJlIE8gKi8KPiA+K30KPiA+K0VYUE9SVF9TWU1CT0woZHJtX2RzY19wcHNfaW5m b2ZyYW1lX3BhY2spOwo+ID5kaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX2RzYy5oIGIvaW5j bHVkZS9kcm0vZHJtX2RzYy5oIGluZGV4Cj4gPmI4OGUzMWJkOWRhNy4uNTJlNTdjZWFmZjgwIDEw MDY0NAo+ID4tLS0gYS9pbmNsdWRlL2RybS9kcm1fZHNjLmgKPiA+KysrIGIvaW5jbHVkZS9kcm0v ZHJtX2RzYy5oCj4gPkBAIC0yNCw2ICsyNCwyMyBAQAo+ID4gI2RlZmluZSBEU0NfUkNfVEdUX09G RlNFVF9ISV9DT05TVAkgICAgMwo+ID4gI2RlZmluZSBEU0NfUkNfVEdUX09GRlNFVF9MT19DT05T VAkgICAgMwo+ID4KPiA+Ky8qIERTQyBQUFMgY29uc3RhbnRzIGFuZCBtYWNyb3MgKi8KPiA+KyNk ZWZpbmUgRFNDX1BQU19WRVJTSU9OX01BSk9SX1NISUZUCQk0Cj4gPisjZGVmaW5lIERTQ19QUFNf QlBDX1NISUZUCQkJNAo+ID4rI2RlZmluZSBEU0NfUFBTX01TQl9TSElGVAkJCTgKPiA+KyNkZWZp bmUgRFNDX1BQU19MU0JfTUFTSwkJCSgweEZGIDw8IDApCj4gPisjZGVmaW5lIERTQ19QUFNfQlBQ X0hJR0hfTUFTSwkJCSgweDMgPDwgOCkKPiA+KyNkZWZpbmUgRFNDX1BQU19WQlJfRU5fU0hJRlQJ CQkyCj4gPisjZGVmaW5lIERTQ19QUFNfU0lNUExFNDIyX1NISUZUCQkJMwo+ID4rI2RlZmluZSBE U0NfUFBTX0NPTlZFUlRfUkdCX1NISUZUCQk0Cj4gPisjZGVmaW5lIERTQ19QUFNfQkxPQ0tfUFJF RF9FTl9TSElGVAkJNQo+ID4rI2RlZmluZSBEU0NfUFBTX0lOSVRfWE1JVF9ERUxBWV9ISUdIX01B U0sJKDB4MyA8PCA4KQo+ID4rI2RlZmluZSBEU0NfUFBTX1NDQUxFX0RFQ19JTlRfSElHSF9NQVNL CQkoMHhGIDw8IDgpCj4gPisjZGVmaW5lIERTQ19QUFNfUkNfVEdUX09GRlNFVF9ISV9TSElGVAkJ NAo+ID4rI2RlZmluZSBEU0NfUFBTX1JDX1JBTkdFX01JTlFQX1NISUZUCQkxMQo+ID4rI2RlZmlu ZSBEU0NfUFBTX1JDX1JBTkdFX01BWFFQX1NISUZUCQk2Cj4gPisjZGVmaW5lIERTQ19QUFNfTkFU SVZFXzQyMF9TSElGVAkJMQo+ID4rCj4gPiAvKiBDb25maWd1cmF0aW9uIGZvciBhIHNpbmdsZSBS YXRlIENvbnRyb2wgbW9kZWwgcmFuZ2UgKi8gIHN0cnVjdAo+ID5kcm1fZHNjX3JjX3JhbmdlX3Bh cmFtZXRlcnMgewo+ID4gCS8qIE1pbiBRdWFudGl6YXRpb24gUGFyYW1ldGVycyBhbGxvd2VkIGZv ciB0aGlzIHJhbmdlICovIEBAIC00NTgsNAo+ID4rNDc1LDggQEAgc3RydWN0IGRybV9kc2NfcHBz X2luZm9mcmFtZSB7Cj4gPiAJc3RydWN0IGRybV9kc2NfcGljdHVyZV9wYXJhbWV0ZXJfc2V0IHBw c19wYXlsb2FkOyAgfSBfX3BhY2tlZDsKPiA+Cj4gPit2b2lkIGRybV9kc2NfZHBfcHBzX2hlYWRl cl9pbml0KHN0cnVjdCBkcm1fZHNjX3Bwc19pbmZvZnJhbWUgKnBwc19zZHApOwo+ID4rdm9pZCBk cm1fZHNjX3Bwc19pbmZvZnJhbWVfcGFjayhzdHJ1Y3QgZHJtX2RzY19wcHNfaW5mb2ZyYW1lICpw cHNfc2RwLAo+ID4rCQkJCWNvbnN0IHN0cnVjdCBkcm1fZHNjX2NvbmZpZyAqZHNjX2NmZyk7Cj4g PisKPiA+ICNlbmRpZiAvKiBfRFJNX0RTQ19IXyAqLwo+ID4tLQo+ID4yLjE4LjAKPiAKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxp bmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJl ZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==