From mboxrd@z Thu Jan 1 00:00:00 1970 From: Manasi Navare Subject: Re: [PATCH v5 11/28] drm/dsc: Add helpers for DSC picture parameter set infoframes Date: Mon, 15 Oct 2018 18:27:16 -0700 Message-ID: <20181016012716.GG2371@intel.com> References: <20181005232306.31133-1-manasi.d.navare@intel.com> <20181005232306.31133-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: <20181005232306.31133-12-manasi.d.navare@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org Cc: Harry Wentland List-Id: dri-devel@lists.freedesktop.org SGkgSmFuaSwKClRoaXMgcGF0Y2ggYWRkcyB0aGUgY3B1X3RvX2JlMTYgbWFjcm8gYW5kIHJlbW92 ZXMgdGhlIGJpdGZpZWxkcyBhbmQKdXNlcyBtYWNyb3MgaW5zdGVhZCBmb3IgcGFja2luZyB0aGUg aW5mb2ZyYW1lIGFzIHBlciB5b3VyIGZlZWRiYWNrCm9uIHRoZSBwcmV2aW91cyB2ZXJzaW9uIG9m IHRoZSBwYXRjaC4KCkNvdWxkIHlvdSBwbGVhc2UgcmV2aWV3IHRoaXMgcGF0Y2g/CgpSZWdhcmRz Ck1hbmFzaQoKT24gRnJpLCBPY3QgMDUsIDIwMTggYXQgMDQ6MjI6NDlQTSAtMDcwMCwgTWFuYXNp IE5hdmFyZSB3cm90ZToKPiBBY2NvcmRpbmcgdG8gRGlzcGxheSBTdHJlYW0gY29tcHJlc3Npb24g c3BlYyAxLjIsIHRoZSBwaWN0dXJlCj4gcGFyYW1ldGVyIHNldCBtZXRhZGF0YSBpcyBzZW50IGZy b20gc291cmNlIHRvIHNpbmsgZGV2aWNlCj4gdXNpbmcgdGhlIERQIFNlY29uZGFyeSBkYXRhIHBh Y2tldC4gQW4gaW5mb2ZyYW1lIGlzIGZvcm1lZAo+IGZvciB0aGUgUFBTIFNEUCBoZWFkZXIgYW5k IFBQUyBTRFAgcGF5bG9hZCBieXRlcy4KPiBUaGlzIHBhdGNoIGFkZHMgaGVscGVycyB0byBmaWxs IHRoZSBQUFMgU0RQIGhlYWRlcgo+IGFuZCBQUFMgU0RQIHBheWxvYWQgYWNjb3JkaW5nIHRvIHRo ZSBEU0MgMS4yIHNwZWNpZmljYXRpb24uCj4gCj4gdjY6Cj4gKiBVc2UgcHJvcGVyIHNlcXVlbmNl IHBvaW50cyBmb3IgYnJlYWtpbmcgZG93biB0aGUKPiBhc3NpZ25tZW50cyAoQ2hyaXMgV2lsc29u KQo+ICogVXNlIFNQRFggaWRlbnRpZmllcgo+IHY1Ogo+IERvIG5vdCB1c2UgYml0ZmllbGRzIGZv ciBEUk0gc3RydWN0cyAoSmFuaSBOKQo+IHY0Ogo+ICogVXNlIERTQyBjb25zdGFudHMgZm9yIHBh cmFtcyB0aGF0IGRvbnQgY2hhbmdlIGFjcm9zcwo+IGNvbmZpZ3VyYXRpb25zCj4gdjM6Cj4gKiBB ZGQgcmVmZXJlbmNlIHRvIGFkZGVkIGtlcm5lbC1kb2NzIGluIERvY3VtZW50YXRpb24vZ3B1L2Ry bS1rbXMtaGVscGVycy5yc3QKPiAoRGFuaWVsIFZldHRlcikKPiAKPiB2MjoKPiAqIEFkZCBFWFBP UlRfU1lNQk9MIGZvciB0aGUgZHJtIGZ1bmN0aW9ucyAoTWFuYXNpKQo+IAo+IENjOiBkcmktZGV2 ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gQ2M6IEphbmkgTmlrdWxhIDxqYW5pLm5pa3VsYUBs aW51eC5pbnRlbC5jb20+Cj4gQ2M6IFZpbGxlIFN5cmphbGEgPHZpbGxlLnN5cmphbGFAbGludXgu aW50ZWwuY29tPgo+IENjOiBBbnVzaGEgU3JpdmF0c2EgPGFudXNoYS5zcml2YXRzYUBpbnRlbC5j b20+Cj4gQ2M6IEhhcnJ5IFdlbnRsYW5kIDxoYXJyeS53ZW50bGFuZEBhbWQuY29tPgo+IFNpZ25l ZC1vZmYtYnk6IE1hbmFzaSBOYXZhcmUgPG1hbmFzaS5kLm5hdmFyZUBpbnRlbC5jb20+Cj4gQWNr ZWQtYnk6IEhhcnJ5IFdlbnRsYW5kIDxoYXJyeS53ZW50bGFuZEBhbWQuY29tPgo+IC0tLQo+ICBE b2N1bWVudGF0aW9uL2dwdS9kcm0ta21zLWhlbHBlcnMucnN0IHwgIDEyICsrCj4gIGRyaXZlcnMv Z3B1L2RybS9NYWtlZmlsZSAgICAgICAgICAgICAgfCAgIDIgKy0KPiAgZHJpdmVycy9ncHUvZHJt L2RybV9kc2MuYyAgICAgICAgICAgICB8IDIyMyArKysrKysrKysrKysrKysrKysrKysrKysrKwo+ ICBpbmNsdWRlL2RybS9kcm1fZHNjLmggICAgICAgICAgICAgICAgIHwgIDIyICsrKwo+ICA0IGZp bGVzIGNoYW5nZWQsIDI1OCBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCj4gIGNyZWF0ZSBt b2RlIDEwMDY0NCBkcml2ZXJzL2dwdS9kcm0vZHJtX2RzYy5jCj4gCj4gZGlmZiAtLWdpdCBhL0Rv Y3VtZW50YXRpb24vZ3B1L2RybS1rbXMtaGVscGVycy5yc3QgYi9Eb2N1bWVudGF0aW9uL2dwdS9k cm0ta21zLWhlbHBlcnMucnN0Cj4gaW5kZXggZjljZmNkY2RmMDI0Li41MGJiNzE3MTJmODIgMTAw NjQ0Cj4gLS0tIGEvRG9jdW1lbnRhdGlvbi9ncHUvZHJtLWttcy1oZWxwZXJzLnJzdAo+ICsrKyBi L0RvY3VtZW50YXRpb24vZ3B1L2RybS1rbXMtaGVscGVycy5yc3QKPiBAQCAtMjIzLDYgKzIyMywx OCBAQCBNSVBJIERTSSBIZWxwZXIgRnVuY3Rpb25zIFJlZmVyZW5jZQo+ICAuLiBrZXJuZWwtZG9j OjogZHJpdmVycy9ncHUvZHJtL2RybV9taXBpX2RzaS5jCj4gICAgIDpleHBvcnQ6Cj4gIAo+ICtE aXNwbGF5IFN0cmVhbSBDb21wcmVzc2lvbiBIZWxwZXIgRnVuY3Rpb25zIFJlZmVyZW5jZQo+ICs9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQo+ICsK PiArLi4ga2VybmVsLWRvYzo6IGRyaXZlcnMvZ3B1L2RybS9kcm1fZHNjLmMKPiArICAgOmRvYzog ZHNjIGhlbHBlcnMKPiArCj4gKy4uIGtlcm5lbC1kb2M6OiBpbmNsdWRlL2RybS9kcm1fZHNjLmgK PiArICAgOmludGVybmFsOgo+ICsKPiArLi4ga2VybmVsLWRvYzo6IGRyaXZlcnMvZ3B1L2RybS9k cm1fZHNjLmMKPiArICAgOmV4cG9ydDoKPiArCj4gIE91dHB1dCBQcm9iaW5nIEhlbHBlciBGdW5j dGlvbnMgUmVmZXJlbmNlCj4gID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09Cj4gIAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vTWFrZWZpbGUgYi9kcml2ZXJz L2dwdS9kcm0vTWFrZWZpbGUKPiBpbmRleCBiYzZhMTZhM2MzNmUuLjhlMzEwZmFkYjk1ZCAxMDA2 NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vTWFrZWZpbGUKPiArKysgYi9kcml2ZXJzL2dwdS9k cm0vTWFrZWZpbGUKPiBAQCAtMzIsNyArMzIsNyBAQCBkcm0tJChDT05GSUdfQUdQKSArPSBkcm1f YWdwc3VwcG9ydC5vCj4gIGRybS0kKENPTkZJR19ERUJVR19GUykgKz0gZHJtX2RlYnVnZnMubyBk cm1fZGVidWdmc19jcmMubwo+ICBkcm0tJChDT05GSUdfRFJNX0xPQURfRURJRF9GSVJNV0FSRSkg Kz0gZHJtX2VkaWRfbG9hZC5vCj4gIAo+IC1kcm1fa21zX2hlbHBlci15IDo9IGRybV9jcnRjX2hl bHBlci5vIGRybV9kcF9oZWxwZXIubyBkcm1fcHJvYmVfaGVscGVyLm8gXAo+ICtkcm1fa21zX2hl bHBlci15IDo9IGRybV9jcnRjX2hlbHBlci5vIGRybV9kcF9oZWxwZXIubyBkcm1fZHNjLm8gZHJt X3Byb2JlX2hlbHBlci5vIFwKPiAgCQlkcm1fcGxhbmVfaGVscGVyLm8gZHJtX2RwX21zdF90b3Bv bG9neS5vIGRybV9hdG9taWNfaGVscGVyLm8gXAo+ICAJCWRybV9rbXNfaGVscGVyX2NvbW1vbi5v IGRybV9kcF9kdWFsX21vZGVfaGVscGVyLm8gXAo+ICAJCWRybV9zaW1wbGVfa21zX2hlbHBlci5v IGRybV9tb2Rlc2V0X2hlbHBlci5vIFwKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2Ry bV9kc2MuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZHNjLmMKPiBuZXcgZmlsZSBtb2RlIDEwMDY0 NAo+IGluZGV4IDAwMDAwMDAwMDAwMC4uMjFhZThkMDE1YWZkCj4gLS0tIC9kZXYvbnVsbAo+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZHNjLmMKPiBAQCAtMCwwICsxLDIyMyBAQAo+ICsvLyBT UERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUCj4gKy8qCj4gKyAqIENvcHlyaWdodCDCqSAyMDE4 IEludGVsIENvcnAKPiArICoKPiArICogQXV0aG9yOgo+ICsgKiBNYW5hc2kgTmF2YXJlIDxtYW5h c2kuZC5uYXZhcmVAaW50ZWwuY29tPgo+ICsgKi8KPiArCj4gKyNpbmNsdWRlIDxsaW51eC9rZXJu ZWwuaD4KPiArI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgo+ICsjaW5jbHVkZSA8bGludXgvaW5p dC5oPgo+ICsjaW5jbHVkZSA8bGludXgvZXJybm8uaD4KPiArI2luY2x1ZGUgPGRybS9kcm1fZHBf aGVscGVyLmg+Cj4gKyNpbmNsdWRlIDxkcm0vZHJtX2RzYy5oPgo+ICsKPiArLyoqCj4gKyAqIERP QzogZHNjIGhlbHBlcnMKPiArICoKPiArICogVGhlc2UgZnVuY3Rpb25zIGNvbnRhaW4gc29tZSBj b21tb24gbG9naWMgYW5kIGhlbHBlcnMgdG8gZGVhbCB3aXRoIFZFU0EKPiArICogRGlzcGxheSBT dHJlYW0gQ29tcHJlc3Npb24gc3RhbmRhcmQgcmVxdWlyZWQgZm9yIERTQyBvbiBEaXNwbGF5IFBv cnQvZURQIG9yCj4gKyAqIE1JUEkgZGlzcGxheSBpbnRlcmZhY2VzLgo+ICsgKi8KPiArCj4gKy8q Kgo+ICsgKiBkcm1fZHNjX2RwX3Bwc19oZWFkZXJfaW5pdCgpIC0gSW5pdGlhbGl6ZXMgdGhlIFBQ UyBIZWFkZXIKPiArICogZm9yIERpc3BsYXlQb3J0IGFzIHBlciB0aGUgRFAgMS40IHNwZWMuCj4g KyAqIEBwcHNfc2RwOiBTZWNvbmRhcnkgZGF0YSBwYWNrZXQgZm9yIERTQyBQaWN0dXJlIFBhcmFt ZXRlciBTZXQKPiArICovCj4gK3ZvaWQgZHJtX2RzY19kcF9wcHNfaGVhZGVyX2luaXQoc3RydWN0 IGRybV9kc2NfcHBzX2luZm9mcmFtZSAqcHBzX3NkcCkKPiArewo+ICsJbWVtc2V0KCZwcHNfc2Rw LT5wcHNfaGVhZGVyLCAwLCBzaXplb2YocHBzX3NkcC0+cHBzX2hlYWRlcikpOwo+ICsKPiArCXBw c19zZHAtPnBwc19oZWFkZXIuSEIxID0gRFBfU0RQX1BQUzsKPiArCXBwc19zZHAtPnBwc19oZWFk ZXIuSEIyID0gRFBfU0RQX1BQU19IRUFERVJfUEFZTE9BRF9CWVRFU19NSU5VU18xOwo+ICt9Cj4g K0VYUE9SVF9TWU1CT0woZHJtX2RzY19kcF9wcHNfaGVhZGVyX2luaXQpOwo+ICsKPiArLyoqCj4g KyAqIGRybV9kc2NfcHBzX2luZm9mcmFtZV9wYWNrKCkgLSBQb3B1bGF0ZXMgdGhlIERTQyBQUFMg aW5mb2ZyYW1lCj4gKyAqIHVzaW5nIHRoZSBEU0MgY29uZmlndXJhdGlvbiBwYXJhbWV0ZXJzIGlu IHRoZSBvcmRlciBleHBlY3RlZAo+ICsgKiBieSB0aGUgRFNDIERpc3BsYXkgU2luayBkZXZpY2Uu IEZvciB0aGUgRFNDLCB0aGUgc2luayBkZXZpY2UKPiArICogZXhwZWN0cyB0aGUgUFBTIHBheWxv YWQgaW4gdGhlIGJpZyBlbmRpYW4gZm9ybWF0IGZvciB0aGUgZmllbGRzCj4gKyAqIHRoYXQgc3Bh biBtb3JlIHRoYW4gMSBieXRlLgo+ICsgKgo+ICsgKiBAcHBzX3NkcDoKPiArICogU2Vjb25kYXJ5 IGRhdGEgcGFja2V0IGZvciBEU0MgUGljdHVyZSBQYXJhbWV0ZXIgU2V0Cj4gKyAqIEBkc2NfY2Zn Ogo+ICsgKiBEU0MgQ29uZmlndXJhdGlvbiBkYXRhIGZpbGxlZCBieSBkcml2ZXIKPiArICovCj4g K3ZvaWQgZHJtX2RzY19wcHNfaW5mb2ZyYW1lX3BhY2soc3RydWN0IGRybV9kc2NfcHBzX2luZm9m cmFtZSAqcHBzX3NkcCwKPiArCQkJCXN0cnVjdCBkcm1fZHNjX2NvbmZpZyAqZHNjX2NmZykKPiAr ewo+ICsJdTggaSA9IDA7Cj4gKwo+ICsJbWVtc2V0KCZwcHNfc2RwLT5wcHNfcGF5bG9hZCwgMCwg c2l6ZW9mKHBwc19zZHAtPnBwc19wYXlsb2FkKSk7Cj4gKwo+ICsJLyogUFBTIDAgKi8KPiArCXBw c19zZHAtPnBwc19wYXlsb2FkLmRzY192ZXJzaW9uID0KPiArCQlkc2NfY2ZnLT5kc2NfdmVyc2lv bl9taW5vciB8Cj4gKwkJZHNjX2NmZy0+ZHNjX3ZlcnNpb25fbWFqb3IgPDwgRFNDX1BQU19WRVJT SU9OX01BSk9SX1NISUZUOwo+ICsKPiArCS8qIFBQUyAxLCAyIGlzIDAgKi8KPiArCj4gKwkvKiBQ UFMgMyAqLwo+ICsJcHBzX3NkcC0+cHBzX3BheWxvYWQucHBzXzMgPQo+ICsJCWRzY19jZmctPmxp bmVfYnVmX2RlcHRoIHwKPiArCQlkc2NfY2ZnLT5iaXRzX3Blcl9jb21wb25lbnQgPDwgRFNDX1BQ U19CUENfU0hJRlQ7Cj4gKwo+ICsJLyogUFBTIDQgKi8KPiArCXBwc19zZHAtPnBwc19wYXlsb2Fk LnBwc180ID0KPiArCQkodTgpKChkc2NfY2ZnLT5iaXRzX3Blcl9waXhlbCAmIERTQ19QUFNfQlBQ X0hJR0hfTUFTSykgPj4KPiArCQkgICAgIERTQ19QUFNfTVNCX1NISUZUKSB8Cj4gKwkJKHU4KWRz Y19jZmctPnZicl9lbmFibGUgPDwgRFNDX1BQU19WQlJfRU5fU0hJRlQgfAo+ICsJCSh1OClkc2Nf Y2ZnLT5lbmFibGU0MjIgPDwgRFNDX1BQU19TSU1QTEU0MjJfU0hJRlQgfAo+ICsJCSh1OClkc2Nf Y2ZnLT5jb252ZXJ0X3JnYiA8PCBEU0NfUFBTX0NPTlZFUlRfUkdCX1NISUZUIHwKPiArCQkodTgp ZHNjX2NmZy0+YmxvY2tfcHJlZF9lbmFibGUgPDwgRFNDX1BQU19CTE9DS19QUkVEX0VOX1NISUZU Owo+ICsKPiArCS8qIFBQUyA1ICovCj4gKwlwcHNfc2RwLT5wcHNfcGF5bG9hZC5iaXRzX3Blcl9w aXhlbF9sb3cgPQo+ICsJCSh1OCkoZHNjX2NmZy0+Yml0c19wZXJfcGl4ZWwgJiBEU0NfUFBTX0xT Ql9NQVNLKTsKPiArCj4gKwkvKgo+ICsJICogVGhlIERTQyBwYW5lbCBleHBlY3RzIHRoZSBQUFMg cGFja2V0IHRvIGhhdmUgYmlnIGVuZGlhbiBmb3JtYXQKPiArCSAqIGZvciBkYXRhIHNwYW5uaW5n IDIgYnl0ZXMuIFVzZSBhIG1hY3JvIGNwdV90b19iZTE2KCkgdG8gY29udmVydAo+ICsJICogdG8g YmlnIGVuZGlhbiBmb3JtYXQuIElmIGZvcm1hdCBpcyBsaXR0bGUgZW5kaWFuLCBpdCB3aWxsIHN3 YXAKPiArCSAqIGJ5dGVzIHRvIGNvbnZlcnQgdG8gQmlnIGVuZGlhbiBlbHNlIGtlZXAgaXQgdW5j aGFuZ2VkLgo+ICsJICovCj4gKwo+ICsJLyogUFBTIDYsIDcgKi8KPiArCXBwc19zZHAtPnBwc19w YXlsb2FkLnBpY19oZWlnaHQgPSBjcHVfdG9fYmUxNihkc2NfY2ZnLT5waWNfaGVpZ2h0KTsKPiAr Cj4gKwkvKiBQUFMgOCwgOSAqLwo+ICsJcHBzX3NkcC0+cHBzX3BheWxvYWQucGljX3dpZHRoID0g Y3B1X3RvX2JlMTYoZHNjX2NmZy0+cGljX3dpZHRoKTsKPiArCj4gKwkvKiBQUFMgMTAsIDExICov Cj4gKwlwcHNfc2RwLT5wcHNfcGF5bG9hZC5zbGljZV9oZWlnaHQgPSBjcHVfdG9fYmUxNihkc2Nf Y2ZnLT5zbGljZV9oZWlnaHQpOwo+ICsKPiArCS8qIFBQUyAxMiwgMTMgKi8KPiArCXBwc19zZHAt PnBwc19wYXlsb2FkLnNsaWNlX3dpZHRoID0gY3B1X3RvX2JlMTYoZHNjX2NmZy0+c2xpY2Vfd2lk dGgpOwo+ICsKPiArCS8qIFBQUyAxNCwgMTUgKi8KPiArCXBwc19zZHAtPnBwc19wYXlsb2FkLmNo dW5rX3NpemUgPSBjcHVfdG9fYmUxNihkc2NfY2ZnLT5zbGljZV9jaHVua19zaXplKTsKPiArCj4g KwkvKiBQUFMgMTYgKi8KPiArCXBwc19zZHAtPnBwc19wYXlsb2FkLmluaXRpYWxfeG1pdF9kZWxh eV9oaWdoID0KPiArCQkodTgpKChkc2NfY2ZnLT5pbml0aWFsX3htaXRfZGVsYXkgJgo+ICsJCSAg ICAgIERTQ19QUFNfSU5JVF9YTUlUX0RFTEFZX0hJR0hfTUFTSykgPj4KPiArCQkgICAgIERTQ19Q UFNfTVNCX1NISUZUKTsKPiArCj4gKwkvKiBQUFMgMTcgKi8KPiArCXBwc19zZHAtPnBwc19wYXls b2FkLmluaXRpYWxfeG1pdF9kZWxheV9sb3cgPQo+ICsJCSh1OCkoZHNjX2NmZy0+aW5pdGlhbF94 bWl0X2RlbGF5ICYgRFNDX1BQU19MU0JfTUFTSyk7Cj4gKwo+ICsJLyogUFBTIDE4LCAxOSAqLwo+ ICsJcHBzX3NkcC0+cHBzX3BheWxvYWQuaW5pdGlhbF9kZWNfZGVsYXkgPQo+ICsJCWNwdV90b19i ZTE2KGRzY19jZmctPmluaXRpYWxfZGVjX2RlbGF5KTsKPiArCj4gKwkvKiBQUFMgMjAgaXMgMCAq Lwo+ICsKPiArCS8qIFBQUyAyMSAqLwo+ICsJcHBzX3NkcC0+cHBzX3BheWxvYWQuaW5pdGlhbF9z Y2FsZV92YWx1ZSA9Cj4gKwkJKHU4KWRzY19jZmctPmluaXRpYWxfc2NhbGVfdmFsdWU7Cj4gKwo+ ICsJLyogUFBTIDIyLCAyMyAqLwo+ICsJcHBzX3NkcC0+cHBzX3BheWxvYWQuc2NhbGVfaW5jcmVt ZW50X2ludGVydmFsID0KPiArCQljcHVfdG9fYmUxNihkc2NfY2ZnLT5zY2FsZV9pbmNyZW1lbnRf aW50ZXJ2YWwpOwo+ICsKPiArCS8qIFBQUyAyNCAqLwo+ICsJcHBzX3NkcC0+cHBzX3BheWxvYWQu c2NhbGVfZGVjcmVtZW50X2ludGVydmFsX2hpZ2ggPQo+ICsJCSh1OCkoKGRzY19jZmctPnNjYWxl X2RlY3JlbWVudF9pbnRlcnZhbCAmCj4gKwkJICAgICAgRFNDX1BQU19TQ0FMRV9ERUNfSU5UX0hJ R0hfTUFTSykgPj4KPiArCQkgICAgIERTQ19QUFNfTVNCX1NISUZUKTsKPiArCj4gKwkvKiBQUFMg MjUgKi8KPiArCXBwc19zZHAtPnBwc19wYXlsb2FkLnNjYWxlX2RlY3JlbWVudF9pbnRlcnZhbF9s b3cgPQo+ICsJCSh1OCkoZHNjX2NmZy0+c2NhbGVfZGVjcmVtZW50X2ludGVydmFsICYgRFNDX1BQ U19MU0JfTUFTSyk7Cj4gKwo+ICsJLyogUFBTIDI2Wzc6MF0sIFBQUyAyN1s3OjVdIFJFU0VSVkVE ICovCj4gKwo+ICsJLyogUFBTIDI3ICovCj4gKwlwcHNfc2RwLT5wcHNfcGF5bG9hZC5maXJzdF9s aW5lX2JwZ19vZmZzZXQgPQo+ICsJCSh1OClkc2NfY2ZnLT5maXJzdF9saW5lX2JwZ19vZmZzZXQ7 Cj4gKwo+ICsJLyogUFBTIDI4LCAyOSAqLwo+ICsJcHBzX3NkcC0+cHBzX3BheWxvYWQubmZsX2Jw Z19vZmZzZXQgPQo+ICsJCWNwdV90b19iZTE2KGRzY19jZmctPm5mbF9icGdfb2Zmc2V0KTsKPiAr Cj4gKwkvKiBQUFMgMzAsIDMxICovCj4gKwlwcHNfc2RwLT5wcHNfcGF5bG9hZC5zbGljZV9icGdf b2Zmc2V0ID0KPiArCQljcHVfdG9fYmUxNihkc2NfY2ZnLT5zbGljZV9icGdfb2Zmc2V0KTsKPiAr Cj4gKwkvKiBQUFMgMzIsIDMzICovCj4gKwlwcHNfc2RwLT5wcHNfcGF5bG9hZC5pbml0aWFsX29m ZnNldCA9Cj4gKwkJY3B1X3RvX2JlMTYoZHNjX2NmZy0+aW5pdGlhbF9vZmZzZXQpOwo+ICsKPiAr CS8qIFBQUyAzNCwgMzUgKi8KPiArCXBwc19zZHAtPnBwc19wYXlsb2FkLmZpbmFsX29mZnNldCA9 IGNwdV90b19iZTE2KGRzY19jZmctPmZpbmFsX29mZnNldCk7Cj4gKwo+ICsJLyogUFBTIDM2ICov Cj4gKwlwcHNfc2RwLT5wcHNfcGF5bG9hZC5mbGF0bmVzc19taW5fcXAgPSAodTgpZHNjX2NmZy0+ ZmxhdG5lc3NfbWluX3FwOwo+ICsKPiArCS8qIFBQUyAzNyAqLwo+ICsJcHBzX3NkcC0+cHBzX3Bh eWxvYWQuZmxhdG5lc3NfbWF4X3FwID0gKHU4KWRzY19jZmctPmZsYXRuZXNzX21heF9xcDsKPiAr Cj4gKwkvKiBQUFMgMzgsIDM5ICovCj4gKwlwcHNfc2RwLT5wcHNfcGF5bG9hZC5yY19tb2RlbF9z aXplID0KPiArCQljcHVfdG9fYmUxNigodTE2KURTQ19SQ19NT0RFTF9TSVpFX0NPTlNUKTsKPiAr Cj4gKwkvKiBQUFMgNDAgKi8KPiArCXBwc19zZHAtPnBwc19wYXlsb2FkLnJjX2VkZ2VfZmFjdG9y ID0gKHU4KURTQ19SQ19FREdFX0ZBQ1RPUl9DT05TVDsKPiArCj4gKwkvKiBQUFMgNDEgKi8KPiAr CXBwc19zZHAtPnBwc19wYXlsb2FkLnJjX3F1YW50X2luY3JfbGltaXQwID0KPiArCQkodTgpZHNj X2NmZy0+cmNfcXVhbnRfaW5jcl9saW1pdDA7Cj4gKwo+ICsJLyogUFBTIDQyICovCj4gKwlwcHNf c2RwLT5wcHNfcGF5bG9hZC5yY19xdWFudF9pbmNyX2xpbWl0MSA9Cj4gKwkJKHU4KWRzY19jZmct PnJjX3F1YW50X2luY3JfbGltaXQxOwo+ICsKPiArCS8qIFBQUyA0MyAqLwo+ICsJcHBzX3NkcC0+ cHBzX3BheWxvYWQucmNfdGd0X29mZnNldCA9ICh1OClEU0NfUkNfVEdUX09GRlNFVF9MT19DT05T VCB8Cj4gKwkJKHU4KURTQ19SQ19UR1RfT0ZGU0VUX0hJX0NPTlNUIDw8IERTQ19QUFNfUkNfVEdU X09GRlNFVF9ISV9TSElGVDsKPiArCj4gKwkvKiBQUFMgNDQgLSA1NyAqLwo+ICsJZm9yIChpID0g MDsgaSA8IERTQ19OVU1fQlVGX1JBTkdFUyAtIDE7IGkrKykKPiArCQlwcHNfc2RwLT5wcHNfcGF5 bG9hZC5yY19idWZfdGhyZXNoW2ldID0KPiArCQkJZHNjX2NmZy0+cmNfYnVmX3RocmVzaFtpXTsK PiArCj4gKwkvKiBQUFMgNTggLSA4NyAqLwo+ICsJLyoKPiArCSAqIEZvciBEU0Mgc2luayBwcm9n cmFtbWluZyB0aGUgUkMgUmFuZ2UgcGFyYW1ldGVyIGZpZWxkcwo+ICsJICogYXJlIGFzIGZvbGxv d3M6IE1pbl9xcFsxNToxMV0sIG1heF9xcFsxMDo2XSwgb2Zmc2V0WzU6MF0KPiArCSAqLwo+ICsJ Zm9yIChpID0gMDsgaSA8IERTQ19OVU1fQlVGX1JBTkdFUzsgaSsrKSB7Cj4gKwkJcHBzX3NkcC0+ cHBzX3BheWxvYWQucmNfcmFuZ2VfcGFyYW1ldGVyc1tpXSA9Cj4gKwkJCSh1MTYpKChkc2NfY2Zn LT5yY19yYW5nZV9wYXJhbXNbaV0ucmFuZ2VfbWluX3FwIDw8Cj4gKwkJCSAgICAgICBEU0NfUFBT X1JDX1JBTkdFX01JTlFQX1NISUZUKSB8Cj4gKwkJCSAgICAgIChkc2NfY2ZnLT5yY19yYW5nZV9w YXJhbXNbaV0ucmFuZ2VfbWF4X3FwIDw8Cj4gKwkJCSAgICAgICBEU0NfUFBTX1JDX1JBTkdFX01B WFFQX1NISUZUKSB8Cj4gKwkJCSAgICAgIChkc2NfY2ZnLT5yY19yYW5nZV9wYXJhbXNbaV0ucmFu Z2VfYnBnX29mZnNldCkpOwo+ICsJCXBwc19zZHAtPnBwc19wYXlsb2FkLnJjX3JhbmdlX3BhcmFt ZXRlcnNbaV0gPQo+ICsJCQljcHVfdG9fYmUxNihwcHNfc2RwLT5wcHNfcGF5bG9hZC5yY19yYW5n ZV9wYXJhbWV0ZXJzW2ldKTsKPiArCX0KPiArCj4gKwkvKiBQUFMgODggKi8KPiArCXBwc19zZHAt PnBwc19wYXlsb2FkLm5hdGl2ZV80MjJfNDIwID0gKHU4KWRzY19jZmctPm5hdGl2ZV80MjIgfAo+ ICsJCSh1OClkc2NfY2ZnLT5uYXRpdmVfNDIwIDw8IERTQ19QUFNfTkFUSVZFXzQyMF9TSElGVDsK PiArCj4gKwkvKiBQUFMgODkgKi8KPiArCXBwc19zZHAtPnBwc19wYXlsb2FkLnNlY29uZF9saW5l X2JwZ19vZmZzZXQgPQo+ICsJCSh1OClkc2NfY2ZnLT5zZWNvbmRfbGluZV9icGdfb2Zmc2V0Owo+ ICsKPiArCS8qIFBQUyA5MCwgOTEgKi8KPiArCXBwc19zZHAtPnBwc19wYXlsb2FkLm5zbF9icGdf b2Zmc2V0ID0KPiArCQljcHVfdG9fYmUxNihkc2NfY2ZnLT5uc2xfYnBnX29mZnNldCk7Cj4gKwo+ ICsJLyogUFBTIDkyLCA5MyAqLwo+ICsJcHBzX3NkcC0+cHBzX3BheWxvYWQuc2Vjb25kX2xpbmVf b2Zmc2V0X2FkaiA9Cj4gKwkJY3B1X3RvX2JlMTYoZHNjX2NmZy0+c2Vjb25kX2xpbmVfb2Zmc2V0 X2Fkaik7Cj4gKwo+ICsJLyogUFBTIDk0IC0gMTI3IGFyZSBPICovCj4gK30KPiArRVhQT1JUX1NZ TUJPTChkcm1fZHNjX3Bwc19pbmZvZnJhbWVfcGFjayk7Cj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUv ZHJtL2RybV9kc2MuaCBiL2luY2x1ZGUvZHJtL2RybV9kc2MuaAo+IGluZGV4IDk4NmY5NjJmMzhk NC4uMGU1ZTMzNjhkNjQ1IDEwMDY0NAo+IC0tLSBhL2luY2x1ZGUvZHJtL2RybV9kc2MuaAo+ICsr KyBiL2luY2x1ZGUvZHJtL2RybV9kc2MuaAo+IEBAIC04LDYgKzgsNyBAQAo+ICAjaWZuZGVmIERS TV9EU0NfSF8KPiAgI2RlZmluZSBEUk1fRFNDX0hfCj4gIAo+ICsjaW5jbHVkZSA8bGludXgvYnl0 ZW9yZGVyL2dlbmVyaWMuaD4KPiAgI2luY2x1ZGUgPGRybS9kcm1fZHBfaGVscGVyLmg+Cj4gIAo+ ICAvKiBWRVNBIERpc3BsYXkgU3RyZWFtIENvbXByZXNzaW9uIERTQyAxLjIgY29uc3RhbnRzICov Cj4gQEAgLTI0LDYgKzI1LDIzIEBACj4gICNkZWZpbmUgRFNDX1JDX1RHVF9PRkZTRVRfSElfQ09O U1QJICAgIDMKPiAgI2RlZmluZSBEU0NfUkNfVEdUX09GRlNFVF9MT19DT05TVAkgICAgMwo+ICAK PiArLyogRFNDIFBQUyBjb25zdGFudHMgYW5kIG1hY3JvcyAqLwo+ICsjZGVmaW5lIERTQ19QUFNf VkVSU0lPTl9NQUpPUl9TSElGVAkJNAo+ICsjZGVmaW5lIERTQ19QUFNfQlBDX1NISUZUCQkJNAo+ ICsjZGVmaW5lIERTQ19QUFNfTVNCX1NISUZUCQkJOAo+ICsjZGVmaW5lIERTQ19QUFNfTFNCX01B U0sJCQkoMHhGRiA8PCAwKQo+ICsjZGVmaW5lIERTQ19QUFNfQlBQX0hJR0hfTUFTSwkJCSgweDMg PDwgOCkKPiArI2RlZmluZSBEU0NfUFBTX1ZCUl9FTl9TSElGVAkJCTIKPiArI2RlZmluZSBEU0Nf UFBTX1NJTVBMRTQyMl9TSElGVAkJCTMKPiArI2RlZmluZSBEU0NfUFBTX0NPTlZFUlRfUkdCX1NI SUZUCQk0Cj4gKyNkZWZpbmUgRFNDX1BQU19CTE9DS19QUkVEX0VOX1NISUZUCQk1Cj4gKyNkZWZp bmUgRFNDX1BQU19JTklUX1hNSVRfREVMQVlfSElHSF9NQVNLCSgweDMgPDwgOCkKPiArI2RlZmlu ZSBEU0NfUFBTX1NDQUxFX0RFQ19JTlRfSElHSF9NQVNLCQkoMHhGIDw8IDgpCj4gKyNkZWZpbmUg RFNDX1BQU19SQ19UR1RfT0ZGU0VUX0hJX1NISUZUCQk0Cj4gKyNkZWZpbmUgRFNDX1BQU19SQ19S QU5HRV9NSU5RUF9TSElGVAkJMTEKPiArI2RlZmluZSBEU0NfUFBTX1JDX1JBTkdFX01BWFFQX1NI SUZUCQk2Cj4gKyNkZWZpbmUgRFNDX1BQU19OQVRJVkVfNDIwX1NISUZUCQkxCj4gKwo+ICAvKiBD b25maWd1cmF0aW9uIGZvciBhIHNpbmdsZSBSYXRlIENvbnRyb2wgbW9kZWwgcmFuZ2UgKi8KPiAg c3RydWN0IGRzY19yY19yYW5nZV9wYXJhbWV0ZXJzIHsKPiAgCS8qIE1pbiBRdWFudGl6YXRpb24g UGFyYW1ldGVycyBhbGxvd2VkIGZvciB0aGlzIHJhbmdlICovCj4gQEAgLTQ2Myw0ICs0ODEsOCBA QCBzdHJ1Y3QgZHJtX2RzY19wcHNfaW5mb2ZyYW1lIHsKPiAgCXN0cnVjdCBwaWN0dXJlX3BhcmFt ZXRlcl9zZXQgcHBzX3BheWxvYWQ7Cj4gIH0gX19wYWNrZWQ7Cj4gIAo+ICt2b2lkIGRybV9kc2Nf ZHBfcHBzX2hlYWRlcl9pbml0KHN0cnVjdCBkcm1fZHNjX3Bwc19pbmZvZnJhbWUgKnBwc19zZHAp Owo+ICt2b2lkIGRybV9kc2NfcHBzX2luZm9mcmFtZV9wYWNrKHN0cnVjdCBkcm1fZHNjX3Bwc19p bmZvZnJhbWUgKnBwc19zZHAsCj4gKwkJCQlzdHJ1Y3QgZHJtX2RzY19jb25maWcgKmRzY19jZmcp Owo+ICsKPiAgI2VuZGlmIC8qIF9EUk1fRFNDX0hfICovCj4gLS0gCj4gMi4xOC4wCj4gCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWls aW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZy ZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=