From mboxrd@z Thu Jan 1 00:00:00 1970 From: Manasi Navare Subject: [PATCH v8 04/19] drm/dsc: Add helpers for DSC picture parameter set infoframes Date: Fri, 2 Nov 2018 14:31:23 -0700 Message-ID: <20181102213138.301-5-manasi.d.navare@intel.com> References: <20181102213138.301-1-manasi.d.navare@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20181102213138.301-1-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: intel-gfx@lists.freedesktop.org QWNjb3JkaW5nIHRvIERpc3BsYXkgU3RyZWFtIGNvbXByZXNzaW9uIHNwZWMgMS4yLCB0aGUgcGlj dHVyZQpwYXJhbWV0ZXIgc2V0IG1ldGFkYXRhIGlzIHNlbnQgZnJvbSBzb3VyY2UgdG8gc2luayBk ZXZpY2UKdXNpbmcgdGhlIERQIFNlY29uZGFyeSBkYXRhIHBhY2tldC4gQW4gaW5mb2ZyYW1lIGlz IGZvcm1lZApmb3IgdGhlIFBQUyBTRFAgaGVhZGVyIGFuZCBQUFMgU0RQIHBheWxvYWQgYnl0ZXMu ClRoaXMgcGF0Y2ggYWRkcyBoZWxwZXJzIHRvIGZpbGwgdGhlIFBQUyBTRFAgaGVhZGVyCmFuZCBQ UFMgU0RQIHBheWxvYWQgYWNjb3JkaW5nIHRvIHRoZSBEU0MgMS4yIHNwZWNpZmljYXRpb24uCgp2 NzoKKiBVc2UgQlVJTERfQlVHX09OKCkgdG8gcHJvdGVjdCBjaGFuZ2luZyBzdHJ1Y3Qgc2l6ZSAo VmlsbGUpCiogUmVtb3ZlIHR5cGVjYXNldGluZyAoVmlsbGUpCiogSW5jbHVkZSBieXRlb3JkZXIu aCBpbiBkcm1fZHNjLmMgKFZpbGxlKQp2NjoKKiBVc2UgcHJvcGVyIHNlcXVlbmNlIHBvaW50cyBm b3IgYnJlYWtpbmcgZG93biB0aGUKYXNzaWdubWVudHMgKENocmlzIFdpbHNvbikKKiBVc2UgU1BE WCBpZGVudGlmaWVyCnY1OgpEbyBub3QgdXNlIGJpdGZpZWxkcyBmb3IgRFJNIHN0cnVjdHMgKEph bmkgTikKdjQ6CiogVXNlIERTQyBjb25zdGFudHMgZm9yIHBhcmFtcyB0aGF0IGRvbnQgY2hhbmdl IGFjcm9zcwpjb25maWd1cmF0aW9ucwp2MzoKKiBBZGQgcmVmZXJlbmNlIHRvIGFkZGVkIGtlcm5l bC1kb2NzIGluCkRvY3VtZW50YXRpb24vZ3B1L2RybS1rbXMtaGVscGVycy5yc3QgKERhbmllbCBW ZXR0ZXIpCgp2MjoKKiBBZGQgRVhQT1JUX1NZTUJPTCBmb3IgdGhlIGRybSBmdW5jdGlvbnMgKE1h bmFzaSkKCkNjOiBkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCkNjOiBKYW5pIE5pa3Vs YSA8amFuaS5uaWt1bGFAbGludXguaW50ZWwuY29tPgpDYzogVmlsbGUgU3lyamFsYSA8dmlsbGUu c3lyamFsYUBsaW51eC5pbnRlbC5jb20+CkNjOiBBbnVzaGEgU3JpdmF0c2EgPGFudXNoYS5zcml2 YXRzYUBpbnRlbC5jb20+CkNjOiBIYXJyeSBXZW50bGFuZCA8aGFycnkud2VudGxhbmRAYW1kLmNv bT4KU2lnbmVkLW9mZi1ieTogTWFuYXNpIE5hdmFyZSA8bWFuYXNpLmQubmF2YXJlQGludGVsLmNv bT4KQWNrZWQtYnk6IEhhcnJ5IFdlbnRsYW5kIDxoYXJyeS53ZW50bGFuZEBhbWQuY29tPgotLS0K IERvY3VtZW50YXRpb24vZ3B1L2RybS1rbXMtaGVscGVycy5yc3QgfCAgMTIgKysKIGRyaXZlcnMv Z3B1L2RybS9NYWtlZmlsZSAgICAgICAgICAgICAgfCAgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9k cm1fZHNjLmMgICAgICAgICAgICAgfCAyMjggKysrKysrKysrKysrKysrKysrKysrKysrKysKIGlu Y2x1ZGUvZHJtL2RybV9kc2MuaCAgICAgICAgICAgICAgICAgfCAgMjEgKysrCiA0IGZpbGVzIGNo YW5nZWQsIDI2MiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCiBjcmVhdGUgbW9kZSAxMDA2 NDQgZHJpdmVycy9ncHUvZHJtL2RybV9kc2MuYwoKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24v Z3B1L2RybS1rbXMtaGVscGVycy5yc3QgYi9Eb2N1bWVudGF0aW9uL2dwdS9kcm0ta21zLWhlbHBl cnMucnN0CmluZGV4IDRiNGRjMjM2ZWY2Zi4uYjQyMmViOGVkZjE2IDEwMDY0NAotLS0gYS9Eb2N1 bWVudGF0aW9uL2dwdS9kcm0ta21zLWhlbHBlcnMucnN0CisrKyBiL0RvY3VtZW50YXRpb24vZ3B1 L2RybS1rbXMtaGVscGVycy5yc3QKQEAgLTIzMiw2ICsyMzIsMTggQEAgTUlQSSBEU0kgSGVscGVy IEZ1bmN0aW9ucyBSZWZlcmVuY2UKIC4uIGtlcm5lbC1kb2M6OiBkcml2ZXJzL2dwdS9kcm0vZHJt X21pcGlfZHNpLmMKICAgIDpleHBvcnQ6CiAKK0Rpc3BsYXkgU3RyZWFtIENvbXByZXNzaW9uIEhl bHBlciBGdW5jdGlvbnMgUmVmZXJlbmNlCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQorCisuLiBrZXJuZWwtZG9jOjogZHJpdmVycy9ncHUvZHJt L2RybV9kc2MuYworICAgOmRvYzogZHNjIGhlbHBlcnMKKworLi4ga2VybmVsLWRvYzo6IGluY2x1 ZGUvZHJtL2RybV9kc2MuaAorICAgOmludGVybmFsOgorCisuLiBrZXJuZWwtZG9jOjogZHJpdmVy cy9ncHUvZHJtL2RybV9kc2MuYworICAgOmV4cG9ydDoKKwogT3V0cHV0IFByb2JpbmcgSGVscGVy IEZ1bmN0aW9ucyBSZWZlcmVuY2UKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9NYWtlZmlsZSBiL2RyaXZlcnMv Z3B1L2RybS9NYWtlZmlsZQppbmRleCA1NzZiYTk4NWUxMzguLjNhM2U2ZmI2ZDQ3NiAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL01ha2VmaWxlCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9NYWtl ZmlsZQpAQCAtMzIsNyArMzIsNyBAQCBkcm0tJChDT05GSUdfQUdQKSArPSBkcm1fYWdwc3VwcG9y dC5vCiBkcm0tJChDT05GSUdfREVCVUdfRlMpICs9IGRybV9kZWJ1Z2ZzLm8gZHJtX2RlYnVnZnNf Y3JjLm8KIGRybS0kKENPTkZJR19EUk1fTE9BRF9FRElEX0ZJUk1XQVJFKSArPSBkcm1fZWRpZF9s b2FkLm8KIAotZHJtX2ttc19oZWxwZXIteSA6PSBkcm1fY3J0Y19oZWxwZXIubyBkcm1fZHBfaGVs cGVyLm8gZHJtX3Byb2JlX2hlbHBlci5vIFwKK2RybV9rbXNfaGVscGVyLXkgOj0gZHJtX2NydGNf aGVscGVyLm8gZHJtX2RwX2hlbHBlci5vIGRybV9kc2MubyBkcm1fcHJvYmVfaGVscGVyLm8gXAog CQlkcm1fcGxhbmVfaGVscGVyLm8gZHJtX2RwX21zdF90b3BvbG9neS5vIGRybV9hdG9taWNfaGVs cGVyLm8gXAogCQlkcm1fa21zX2hlbHBlcl9jb21tb24ubyBkcm1fZHBfZHVhbF9tb2RlX2hlbHBl ci5vIFwKIAkJZHJtX3NpbXBsZV9rbXNfaGVscGVyLm8gZHJtX21vZGVzZXRfaGVscGVyLm8gXApk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9kc2MuYyBiL2RyaXZlcnMvZ3B1L2RybS9k cm1fZHNjLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi4zYTQ5NDJj MWFlM2IKLS0tIC9kZXYvbnVsbAorKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2RzYy5jCkBAIC0w LDAgKzEsMjI4IEBACisvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUCisvKgorICogQ29w eXJpZ2h0IMKpIDIwMTggSW50ZWwgQ29ycAorICoKKyAqIEF1dGhvcjoKKyAqIE1hbmFzaSBOYXZh cmUgPG1hbmFzaS5kLm5hdmFyZUBpbnRlbC5jb20+CisgKi8KKworI2luY2x1ZGUgPGxpbnV4L2tl cm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQu aD4KKyNpbmNsdWRlIDxsaW51eC9lcnJuby5oPgorI2luY2x1ZGUgPGxpbnV4L2J5dGVvcmRlci9n ZW5lcmljLmg+CisjaW5jbHVkZSA8ZHJtL2RybV9kcF9oZWxwZXIuaD4KKyNpbmNsdWRlIDxkcm0v ZHJtX2RzYy5oPgorCisvKioKKyAqIERPQzogZHNjIGhlbHBlcnMKKyAqCisgKiBUaGVzZSBmdW5j dGlvbnMgY29udGFpbiBzb21lIGNvbW1vbiBsb2dpYyBhbmQgaGVscGVycyB0byBkZWFsIHdpdGgg VkVTQQorICogRGlzcGxheSBTdHJlYW0gQ29tcHJlc3Npb24gc3RhbmRhcmQgcmVxdWlyZWQgZm9y IERTQyBvbiBEaXNwbGF5IFBvcnQvZURQIG9yCisgKiBNSVBJIGRpc3BsYXkgaW50ZXJmYWNlcy4K KyAqLworCisvKioKKyAqIGRybV9kc2NfZHBfcHBzX2hlYWRlcl9pbml0KCkgLSBJbml0aWFsaXpl cyB0aGUgUFBTIEhlYWRlcgorICogZm9yIERpc3BsYXlQb3J0IGFzIHBlciB0aGUgRFAgMS40IHNw ZWMuCisgKiBAcHBzX3NkcDogU2Vjb25kYXJ5IGRhdGEgcGFja2V0IGZvciBEU0MgUGljdHVyZSBQ YXJhbWV0ZXIgU2V0CisgKi8KK3ZvaWQgZHJtX2RzY19kcF9wcHNfaGVhZGVyX2luaXQoc3RydWN0 IGRybV9kc2NfcHBzX2luZm9mcmFtZSAqcHBzX3NkcCkKK3sKKwltZW1zZXQoJnBwc19zZHAtPnBw c19oZWFkZXIsIDAsIHNpemVvZihwcHNfc2RwLT5wcHNfaGVhZGVyKSk7CisKKwlwcHNfc2RwLT5w cHNfaGVhZGVyLkhCMSA9IERQX1NEUF9QUFM7CisJcHBzX3NkcC0+cHBzX2hlYWRlci5IQjIgPSBE UF9TRFBfUFBTX0hFQURFUl9QQVlMT0FEX0JZVEVTX01JTlVTXzE7Cit9CitFWFBPUlRfU1lNQk9M KGRybV9kc2NfZHBfcHBzX2hlYWRlcl9pbml0KTsKKworLyoqCisgKiBkcm1fZHNjX3Bwc19pbmZv ZnJhbWVfcGFjaygpIC0gUG9wdWxhdGVzIHRoZSBEU0MgUFBTIGluZm9mcmFtZQorICogdXNpbmcg dGhlIERTQyBjb25maWd1cmF0aW9uIHBhcmFtZXRlcnMgaW4gdGhlIG9yZGVyIGV4cGVjdGVkCisg KiBieSB0aGUgRFNDIERpc3BsYXkgU2luayBkZXZpY2UuIEZvciB0aGUgRFNDLCB0aGUgc2luayBk ZXZpY2UKKyAqIGV4cGVjdHMgdGhlIFBQUyBwYXlsb2FkIGluIHRoZSBiaWcgZW5kaWFuIGZvcm1h dCBmb3IgdGhlIGZpZWxkcworICogdGhhdCBzcGFuIG1vcmUgdGhhbiAxIGJ5dGUuCisgKgorICog QHBwc19zZHA6CisgKiBTZWNvbmRhcnkgZGF0YSBwYWNrZXQgZm9yIERTQyBQaWN0dXJlIFBhcmFt ZXRlciBTZXQKKyAqIEBkc2NfY2ZnOgorICogRFNDIENvbmZpZ3VyYXRpb24gZGF0YSBmaWxsZWQg YnkgZHJpdmVyCisgKi8KK3ZvaWQgZHJtX2RzY19wcHNfaW5mb2ZyYW1lX3BhY2soc3RydWN0IGRy bV9kc2NfcHBzX2luZm9mcmFtZSAqcHBzX3NkcCwKKwkJCQljb25zdCBzdHJ1Y3QgZHJtX2RzY19j b25maWcgKmRzY19jZmcpCit7CisJaW50IGk7CisKKwkvKlByb3RlY3QgYWdhaW5zdCBzb21lb25l IGFjY2lkZW50bHkgY2hhbmdpbmcgc3RydWN0IHNpemUgKi8KKwlCVUlMRF9CVUdfT04oc2l6ZW9m KHBwc19zZHAtPnBwc19wYXlsb2FkKSAhPQorCQkgICAgIERQX1NEUF9QUFNfSEVBREVSX1BBWUxP QURfQllURVNfTUlOVVNfMSArIDEpOworCisJbWVtc2V0KCZwcHNfc2RwLT5wcHNfcGF5bG9hZCwg MCwgc2l6ZW9mKHBwc19zZHAtPnBwc19wYXlsb2FkKSk7CisKKwkvKiBQUFMgMCAqLworCXBwc19z ZHAtPnBwc19wYXlsb2FkLmRzY192ZXJzaW9uID0KKwkJZHNjX2NmZy0+ZHNjX3ZlcnNpb25fbWlu b3IgfAorCQlkc2NfY2ZnLT5kc2NfdmVyc2lvbl9tYWpvciA8PCBEU0NfUFBTX1ZFUlNJT05fTUFK T1JfU0hJRlQ7CisKKwkvKiBQUFMgMSwgMiBpcyAwICovCisKKwkvKiBQUFMgMyAqLworCXBwc19z ZHAtPnBwc19wYXlsb2FkLnBwc18zID0KKwkJZHNjX2NmZy0+bGluZV9idWZfZGVwdGggfAorCQlk c2NfY2ZnLT5iaXRzX3Blcl9jb21wb25lbnQgPDwgRFNDX1BQU19CUENfU0hJRlQ7CisKKwkvKiBQ UFMgNCAqLworCXBwc19zZHAtPnBwc19wYXlsb2FkLnBwc180ID0KKwkJKChkc2NfY2ZnLT5iaXRz X3Blcl9waXhlbCAmIERTQ19QUFNfQlBQX0hJR0hfTUFTSykgPj4KKwkJIERTQ19QUFNfTVNCX1NI SUZUKSB8CisJCWRzY19jZmctPnZicl9lbmFibGUgPDwgRFNDX1BQU19WQlJfRU5fU0hJRlQgfAor CQlkc2NfY2ZnLT5lbmFibGU0MjIgPDwgRFNDX1BQU19TSU1QTEU0MjJfU0hJRlQgfAorCQlkc2Nf Y2ZnLT5jb252ZXJ0X3JnYiA8PCBEU0NfUFBTX0NPTlZFUlRfUkdCX1NISUZUIHwKKwkJZHNjX2Nm Zy0+YmxvY2tfcHJlZF9lbmFibGUgPDwgRFNDX1BQU19CTE9DS19QUkVEX0VOX1NISUZUOworCisJ LyogUFBTIDUgKi8KKwlwcHNfc2RwLT5wcHNfcGF5bG9hZC5iaXRzX3Blcl9waXhlbF9sb3cgPQor CQkoZHNjX2NmZy0+Yml0c19wZXJfcGl4ZWwgJiBEU0NfUFBTX0xTQl9NQVNLKTsKKworCS8qCisJ ICogVGhlIERTQyBwYW5lbCBleHBlY3RzIHRoZSBQUFMgcGFja2V0IHRvIGhhdmUgYmlnIGVuZGlh biBmb3JtYXQKKwkgKiBmb3IgZGF0YSBzcGFubmluZyAyIGJ5dGVzLiBVc2UgYSBtYWNybyBjcHVf dG9fYmUxNigpIHRvIGNvbnZlcnQKKwkgKiB0byBiaWcgZW5kaWFuIGZvcm1hdC4gSWYgZm9ybWF0 IGlzIGxpdHRsZSBlbmRpYW4sIGl0IHdpbGwgc3dhcAorCSAqIGJ5dGVzIHRvIGNvbnZlcnQgdG8g QmlnIGVuZGlhbiBlbHNlIGtlZXAgaXQgdW5jaGFuZ2VkLgorCSAqLworCisJLyogUFBTIDYsIDcg Ki8KKwlwcHNfc2RwLT5wcHNfcGF5bG9hZC5waWNfaGVpZ2h0ID0gY3B1X3RvX2JlMTYoZHNjX2Nm Zy0+cGljX2hlaWdodCk7CisKKwkvKiBQUFMgOCwgOSAqLworCXBwc19zZHAtPnBwc19wYXlsb2Fk LnBpY193aWR0aCA9IGNwdV90b19iZTE2KGRzY19jZmctPnBpY193aWR0aCk7CisKKwkvKiBQUFMg MTAsIDExICovCisJcHBzX3NkcC0+cHBzX3BheWxvYWQuc2xpY2VfaGVpZ2h0ID0gY3B1X3RvX2Jl MTYoZHNjX2NmZy0+c2xpY2VfaGVpZ2h0KTsKKworCS8qIFBQUyAxMiwgMTMgKi8KKwlwcHNfc2Rw LT5wcHNfcGF5bG9hZC5zbGljZV93aWR0aCA9IGNwdV90b19iZTE2KGRzY19jZmctPnNsaWNlX3dp ZHRoKTsKKworCS8qIFBQUyAxNCwgMTUgKi8KKwlwcHNfc2RwLT5wcHNfcGF5bG9hZC5jaHVua19z aXplID0gY3B1X3RvX2JlMTYoZHNjX2NmZy0+c2xpY2VfY2h1bmtfc2l6ZSk7CisKKwkvKiBQUFMg MTYgKi8KKwlwcHNfc2RwLT5wcHNfcGF5bG9hZC5pbml0aWFsX3htaXRfZGVsYXlfaGlnaCA9CisJ CSgoZHNjX2NmZy0+aW5pdGlhbF94bWl0X2RlbGF5ICYKKwkJICBEU0NfUFBTX0lOSVRfWE1JVF9E RUxBWV9ISUdIX01BU0spID4+CisJCSBEU0NfUFBTX01TQl9TSElGVCk7CisKKwkvKiBQUFMgMTcg Ki8KKwlwcHNfc2RwLT5wcHNfcGF5bG9hZC5pbml0aWFsX3htaXRfZGVsYXlfbG93ID0KKwkJKGRz Y19jZmctPmluaXRpYWxfeG1pdF9kZWxheSAmIERTQ19QUFNfTFNCX01BU0spOworCisJLyogUFBT IDE4LCAxOSAqLworCXBwc19zZHAtPnBwc19wYXlsb2FkLmluaXRpYWxfZGVjX2RlbGF5ID0KKwkJ Y3B1X3RvX2JlMTYoZHNjX2NmZy0+aW5pdGlhbF9kZWNfZGVsYXkpOworCisJLyogUFBTIDIwIGlz IDAgKi8KKworCS8qIFBQUyAyMSAqLworCXBwc19zZHAtPnBwc19wYXlsb2FkLmluaXRpYWxfc2Nh bGVfdmFsdWUgPQorCQlkc2NfY2ZnLT5pbml0aWFsX3NjYWxlX3ZhbHVlOworCisJLyogUFBTIDIy LCAyMyAqLworCXBwc19zZHAtPnBwc19wYXlsb2FkLnNjYWxlX2luY3JlbWVudF9pbnRlcnZhbCA9 CisJCWNwdV90b19iZTE2KGRzY19jZmctPnNjYWxlX2luY3JlbWVudF9pbnRlcnZhbCk7CisKKwkv KiBQUFMgMjQgKi8KKwlwcHNfc2RwLT5wcHNfcGF5bG9hZC5zY2FsZV9kZWNyZW1lbnRfaW50ZXJ2 YWxfaGlnaCA9CisJCSgoZHNjX2NmZy0+c2NhbGVfZGVjcmVtZW50X2ludGVydmFsICYKKwkJICBE U0NfUFBTX1NDQUxFX0RFQ19JTlRfSElHSF9NQVNLKSA+PgorCQkgRFNDX1BQU19NU0JfU0hJRlQp OworCisJLyogUFBTIDI1ICovCisJcHBzX3NkcC0+cHBzX3BheWxvYWQuc2NhbGVfZGVjcmVtZW50 X2ludGVydmFsX2xvdyA9CisJCShkc2NfY2ZnLT5zY2FsZV9kZWNyZW1lbnRfaW50ZXJ2YWwgJiBE U0NfUFBTX0xTQl9NQVNLKTsKKworCS8qIFBQUyAyNls3OjBdLCBQUFMgMjdbNzo1XSBSRVNFUlZF RCAqLworCisJLyogUFBTIDI3ICovCisJcHBzX3NkcC0+cHBzX3BheWxvYWQuZmlyc3RfbGluZV9i cGdfb2Zmc2V0ID0KKwkJZHNjX2NmZy0+Zmlyc3RfbGluZV9icGdfb2Zmc2V0OworCisJLyogUFBT IDI4LCAyOSAqLworCXBwc19zZHAtPnBwc19wYXlsb2FkLm5mbF9icGdfb2Zmc2V0ID0KKwkJY3B1 X3RvX2JlMTYoZHNjX2NmZy0+bmZsX2JwZ19vZmZzZXQpOworCisJLyogUFBTIDMwLCAzMSAqLwor CXBwc19zZHAtPnBwc19wYXlsb2FkLnNsaWNlX2JwZ19vZmZzZXQgPQorCQljcHVfdG9fYmUxNihk c2NfY2ZnLT5zbGljZV9icGdfb2Zmc2V0KTsKKworCS8qIFBQUyAzMiwgMzMgKi8KKwlwcHNfc2Rw LT5wcHNfcGF5bG9hZC5pbml0aWFsX29mZnNldCA9CisJCWNwdV90b19iZTE2KGRzY19jZmctPmlu aXRpYWxfb2Zmc2V0KTsKKworCS8qIFBQUyAzNCwgMzUgKi8KKwlwcHNfc2RwLT5wcHNfcGF5bG9h ZC5maW5hbF9vZmZzZXQgPSBjcHVfdG9fYmUxNihkc2NfY2ZnLT5maW5hbF9vZmZzZXQpOworCisJ LyogUFBTIDM2ICovCisJcHBzX3NkcC0+cHBzX3BheWxvYWQuZmxhdG5lc3NfbWluX3FwID0gZHNj X2NmZy0+ZmxhdG5lc3NfbWluX3FwOworCisJLyogUFBTIDM3ICovCisJcHBzX3NkcC0+cHBzX3Bh eWxvYWQuZmxhdG5lc3NfbWF4X3FwID0gZHNjX2NmZy0+ZmxhdG5lc3NfbWF4X3FwOworCisJLyog UFBTIDM4LCAzOSAqLworCXBwc19zZHAtPnBwc19wYXlsb2FkLnJjX21vZGVsX3NpemUgPQorCQlj cHVfdG9fYmUxNihEU0NfUkNfTU9ERUxfU0laRV9DT05TVCk7CisKKwkvKiBQUFMgNDAgKi8KKwlw cHNfc2RwLT5wcHNfcGF5bG9hZC5yY19lZGdlX2ZhY3RvciA9IERTQ19SQ19FREdFX0ZBQ1RPUl9D T05TVDsKKworCS8qIFBQUyA0MSAqLworCXBwc19zZHAtPnBwc19wYXlsb2FkLnJjX3F1YW50X2lu Y3JfbGltaXQwID0KKwkJZHNjX2NmZy0+cmNfcXVhbnRfaW5jcl9saW1pdDA7CisKKwkvKiBQUFMg NDIgKi8KKwlwcHNfc2RwLT5wcHNfcGF5bG9hZC5yY19xdWFudF9pbmNyX2xpbWl0MSA9CisJCWRz Y19jZmctPnJjX3F1YW50X2luY3JfbGltaXQxOworCisJLyogUFBTIDQzICovCisJcHBzX3NkcC0+ cHBzX3BheWxvYWQucmNfdGd0X29mZnNldCA9IERTQ19SQ19UR1RfT0ZGU0VUX0xPX0NPTlNUIHwK KwkJRFNDX1JDX1RHVF9PRkZTRVRfSElfQ09OU1QgPDwgRFNDX1BQU19SQ19UR1RfT0ZGU0VUX0hJ X1NISUZUOworCisJLyogUFBTIDQ0IC0gNTcgKi8KKwlmb3IgKGkgPSAwOyBpIDwgRFNDX05VTV9C VUZfUkFOR0VTIC0gMTsgaSsrKQorCQlwcHNfc2RwLT5wcHNfcGF5bG9hZC5yY19idWZfdGhyZXNo W2ldID0KKwkJCWRzY19jZmctPnJjX2J1Zl90aHJlc2hbaV07CisKKwkvKiBQUFMgNTggLSA4NyAq LworCS8qCisJICogRm9yIERTQyBzaW5rIHByb2dyYW1taW5nIHRoZSBSQyBSYW5nZSBwYXJhbWV0 ZXIgZmllbGRzCisJICogYXJlIGFzIGZvbGxvd3M6IE1pbl9xcFsxNToxMV0sIG1heF9xcFsxMDo2 XSwgb2Zmc2V0WzU6MF0KKwkgKi8KKwlmb3IgKGkgPSAwOyBpIDwgRFNDX05VTV9CVUZfUkFOR0VT OyBpKyspIHsKKwkJcHBzX3NkcC0+cHBzX3BheWxvYWQucmNfcmFuZ2VfcGFyYW1ldGVyc1tpXSA9 CisJCQkoKGRzY19jZmctPnJjX3JhbmdlX3BhcmFtc1tpXS5yYW5nZV9taW5fcXAgPDwKKwkJCSAg RFNDX1BQU19SQ19SQU5HRV9NSU5RUF9TSElGVCkgfAorCQkJIChkc2NfY2ZnLT5yY19yYW5nZV9w YXJhbXNbaV0ucmFuZ2VfbWF4X3FwIDw8CisJCQkgIERTQ19QUFNfUkNfUkFOR0VfTUFYUVBfU0hJ RlQpIHwKKwkJCSAoZHNjX2NmZy0+cmNfcmFuZ2VfcGFyYW1zW2ldLnJhbmdlX2JwZ19vZmZzZXQp KTsKKwkJcHBzX3NkcC0+cHBzX3BheWxvYWQucmNfcmFuZ2VfcGFyYW1ldGVyc1tpXSA9CisJCQlj cHVfdG9fYmUxNihwcHNfc2RwLT5wcHNfcGF5bG9hZC5yY19yYW5nZV9wYXJhbWV0ZXJzW2ldKTsK Kwl9CisKKwkvKiBQUFMgODggKi8KKwlwcHNfc2RwLT5wcHNfcGF5bG9hZC5uYXRpdmVfNDIyXzQy MCA9IGRzY19jZmctPm5hdGl2ZV80MjIgfAorCQlkc2NfY2ZnLT5uYXRpdmVfNDIwIDw8IERTQ19Q UFNfTkFUSVZFXzQyMF9TSElGVDsKKworCS8qIFBQUyA4OSAqLworCXBwc19zZHAtPnBwc19wYXls b2FkLnNlY29uZF9saW5lX2JwZ19vZmZzZXQgPQorCQlkc2NfY2ZnLT5zZWNvbmRfbGluZV9icGdf b2Zmc2V0OworCisJLyogUFBTIDkwLCA5MSAqLworCXBwc19zZHAtPnBwc19wYXlsb2FkLm5zbF9i cGdfb2Zmc2V0ID0KKwkJY3B1X3RvX2JlMTYoZHNjX2NmZy0+bnNsX2JwZ19vZmZzZXQpOworCisJ LyogUFBTIDkyLCA5MyAqLworCXBwc19zZHAtPnBwc19wYXlsb2FkLnNlY29uZF9saW5lX29mZnNl dF9hZGogPQorCQljcHVfdG9fYmUxNihkc2NfY2ZnLT5zZWNvbmRfbGluZV9vZmZzZXRfYWRqKTsK KworCS8qIFBQUyA5NCAtIDEyNyBhcmUgTyAqLworfQorRVhQT1JUX1NZTUJPTChkcm1fZHNjX3Bw c19pbmZvZnJhbWVfcGFjayk7CmRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1fZHNjLmggYi9p bmNsdWRlL2RybS9kcm1fZHNjLmgKaW5kZXggYjg4ZTMxYmQ5ZGE3Li41MmU1N2NlYWZmODAgMTAw NjQ0Ci0tLSBhL2luY2x1ZGUvZHJtL2RybV9kc2MuaAorKysgYi9pbmNsdWRlL2RybS9kcm1fZHNj LmgKQEAgLTI0LDYgKzI0LDIzIEBACiAjZGVmaW5lIERTQ19SQ19UR1RfT0ZGU0VUX0hJX0NPTlNU CSAgICAzCiAjZGVmaW5lIERTQ19SQ19UR1RfT0ZGU0VUX0xPX0NPTlNUCSAgICAzCiAKKy8qIERT QyBQUFMgY29uc3RhbnRzIGFuZCBtYWNyb3MgKi8KKyNkZWZpbmUgRFNDX1BQU19WRVJTSU9OX01B Sk9SX1NISUZUCQk0CisjZGVmaW5lIERTQ19QUFNfQlBDX1NISUZUCQkJNAorI2RlZmluZSBEU0Nf UFBTX01TQl9TSElGVAkJCTgKKyNkZWZpbmUgRFNDX1BQU19MU0JfTUFTSwkJCSgweEZGIDw8IDAp CisjZGVmaW5lIERTQ19QUFNfQlBQX0hJR0hfTUFTSwkJCSgweDMgPDwgOCkKKyNkZWZpbmUgRFND X1BQU19WQlJfRU5fU0hJRlQJCQkyCisjZGVmaW5lIERTQ19QUFNfU0lNUExFNDIyX1NISUZUCQkJ MworI2RlZmluZSBEU0NfUFBTX0NPTlZFUlRfUkdCX1NISUZUCQk0CisjZGVmaW5lIERTQ19QUFNf QkxPQ0tfUFJFRF9FTl9TSElGVAkJNQorI2RlZmluZSBEU0NfUFBTX0lOSVRfWE1JVF9ERUxBWV9I SUdIX01BU0sJKDB4MyA8PCA4KQorI2RlZmluZSBEU0NfUFBTX1NDQUxFX0RFQ19JTlRfSElHSF9N QVNLCQkoMHhGIDw8IDgpCisjZGVmaW5lIERTQ19QUFNfUkNfVEdUX09GRlNFVF9ISV9TSElGVAkJ NAorI2RlZmluZSBEU0NfUFBTX1JDX1JBTkdFX01JTlFQX1NISUZUCQkxMQorI2RlZmluZSBEU0Nf UFBTX1JDX1JBTkdFX01BWFFQX1NISUZUCQk2CisjZGVmaW5lIERTQ19QUFNfTkFUSVZFXzQyMF9T SElGVAkJMQorCiAvKiBDb25maWd1cmF0aW9uIGZvciBhIHNpbmdsZSBSYXRlIENvbnRyb2wgbW9k ZWwgcmFuZ2UgKi8KIHN0cnVjdCBkcm1fZHNjX3JjX3JhbmdlX3BhcmFtZXRlcnMgewogCS8qIE1p biBRdWFudGl6YXRpb24gUGFyYW1ldGVycyBhbGxvd2VkIGZvciB0aGlzIHJhbmdlICovCkBAIC00 NTgsNCArNDc1LDggQEAgc3RydWN0IGRybV9kc2NfcHBzX2luZm9mcmFtZSB7CiAJc3RydWN0IGRy bV9kc2NfcGljdHVyZV9wYXJhbWV0ZXJfc2V0IHBwc19wYXlsb2FkOwogfSBfX3BhY2tlZDsKIAor dm9pZCBkcm1fZHNjX2RwX3Bwc19oZWFkZXJfaW5pdChzdHJ1Y3QgZHJtX2RzY19wcHNfaW5mb2Zy YW1lICpwcHNfc2RwKTsKK3ZvaWQgZHJtX2RzY19wcHNfaW5mb2ZyYW1lX3BhY2soc3RydWN0IGRy bV9kc2NfcHBzX2luZm9mcmFtZSAqcHBzX3NkcCwKKwkJCQljb25zdCBzdHJ1Y3QgZHJtX2RzY19j b25maWcgKmRzY19jZmcpOworCiAjZW5kaWYgLyogX0RSTV9EU0NfSF8gKi8KLS0gCjIuMTguMAoK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4 IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==