From mboxrd@z Thu Jan 1 00:00:00 1970 From: Manasi Navare Subject: [PATCH v10 05/23] drm/dsc: Add helpers for DSC picture parameter set infoframes Date: Tue, 20 Nov 2018 10:37:18 -0800 Message-ID: <20181120183736.28054-6-manasi.d.navare@intel.com> References: <20181120183736.28054-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: <20181120183736.28054-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: dri-devel@lists.freedesktop.org QWNjb3JkaW5nIHRvIERpc3BsYXkgU3RyZWFtIGNvbXByZXNzaW9uIHNwZWMgMS4yLCB0aGUgcGlj dHVyZQpwYXJhbWV0ZXIgc2V0IG1ldGFkYXRhIGlzIHNlbnQgZnJvbSBzb3VyY2UgdG8gc2luayBk ZXZpY2UKdXNpbmcgdGhlIERQIFNlY29uZGFyeSBkYXRhIHBhY2tldC4gQW4gaW5mb2ZyYW1lIGlz IGZvcm1lZApmb3IgdGhlIFBQUyBTRFAgaGVhZGVyIGFuZCBQUFMgU0RQIHBheWxvYWQgYnl0ZXMu ClRoaXMgcGF0Y2ggYWRkcyBoZWxwZXJzIHRvIGZpbGwgdGhlIFBQUyBTRFAgaGVhZGVyCmFuZCBQ UFMgU0RQIHBheWxvYWQgYWNjb3JkaW5nIHRvIHRoZSBEU0MgMS4yIHNwZWNpZmljYXRpb24uCgp2 NzoKKiBVc2UgQlVJTERfQlVHX09OKCkgdG8gcHJvdGVjdCBjaGFuZ2luZyBzdHJ1Y3Qgc2l6ZSAo VmlsbGUpCiogUmVtb3ZlIHR5cGVjYXNldGluZyAoVmlsbGUpCiogSW5jbHVkZSBieXRlb3JkZXIu aCBpbiBkcm1fZHNjLmMgKFZpbGxlKQoqIENvcnJlY3Qga2VybmVsIGRvYyBzcGFjaW5nIChBbnVz aGEpCnY2OgoqIFVzZSBwcm9wZXIgc2VxdWVuY2UgcG9pbnRzIGZvciBicmVha2luZyBkb3duIHRo ZQphc3NpZ25tZW50cyAoQ2hyaXMgV2lsc29uKQoqIFVzZSBTUERYIGlkZW50aWZpZXIKdjU6CkRv IG5vdCB1c2UgYml0ZmllbGRzIGZvciBEUk0gc3RydWN0cyAoSmFuaSBOKQp2NDoKKiBVc2UgRFND IGNvbnN0YW50cyBmb3IgcGFyYW1zIHRoYXQgZG9udCBjaGFuZ2UgYWNyb3NzCmNvbmZpZ3VyYXRp b25zCnYzOgoqIEFkZCByZWZlcmVuY2UgdG8gYWRkZWQga2VybmVsLWRvY3MgaW4KRG9jdW1lbnRh dGlvbi9ncHUvZHJtLWttcy1oZWxwZXJzLnJzdCAoRGFuaWVsIFZldHRlcikKCnYyOgoqIEFkZCBF WFBPUlRfU1lNQk9MIGZvciB0aGUgZHJtIGZ1bmN0aW9ucyAoTWFuYXNpKQoKQ2M6IGRyaS1kZXZl bEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKQ2M6IEphbmkgTmlrdWxhIDxqYW5pLm5pa3VsYUBsaW51 eC5pbnRlbC5jb20+CkNjOiBWaWxsZSBTeXJqYWxhIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVs LmNvbT4KQ2M6IEFudXNoYSBTcml2YXRzYSA8YW51c2hhLnNyaXZhdHNhQGludGVsLmNvbT4KQ2M6 IEhhcnJ5IFdlbnRsYW5kIDxoYXJyeS53ZW50bGFuZEBhbWQuY29tPgpTaWduZWQtb2ZmLWJ5OiBN YW5hc2kgTmF2YXJlIDxtYW5hc2kuZC5uYXZhcmVAaW50ZWwuY29tPgpBY2tlZC1ieTogSGFycnkg V2VudGxhbmQgPGhhcnJ5LndlbnRsYW5kQGFtZC5jb20+Ci0tLQogRG9jdW1lbnRhdGlvbi9ncHUv ZHJtLWttcy1oZWxwZXJzLnJzdCB8ICAxMiArKwogZHJpdmVycy9ncHUvZHJtL01ha2VmaWxlICAg ICAgICAgICAgICB8ICAgMiArLQogZHJpdmVycy9ncHUvZHJtL2RybV9kc2MuYyAgICAgICAgICAg ICB8IDIyOCArKysrKysrKysrKysrKysrKysrKysrKysrKwogaW5jbHVkZS9kcm0vZHJtX2RzYy5o ICAgICAgICAgICAgICAgICB8ICAyMSArKysKIDQgZmlsZXMgY2hhbmdlZCwgMjYyIGluc2VydGlv bnMoKyksIDEgZGVsZXRpb24oLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2dwdS9kcm0v ZHJtX2RzYy5jCgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9ncHUvZHJtLWttcy1oZWxwZXJz LnJzdCBiL0RvY3VtZW50YXRpb24vZ3B1L2RybS1rbXMtaGVscGVycy5yc3QKaW5kZXggNGI0ZGMy MzZlZjZmLi5iNDIyZWI4ZWRmMTYgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ3B1L2RybS1r bXMtaGVscGVycy5yc3QKKysrIGIvRG9jdW1lbnRhdGlvbi9ncHUvZHJtLWttcy1oZWxwZXJzLnJz dApAQCAtMjMyLDYgKzIzMiwxOCBAQCBNSVBJIERTSSBIZWxwZXIgRnVuY3Rpb25zIFJlZmVyZW5j ZQogLi4ga2VybmVsLWRvYzo6IGRyaXZlcnMvZ3B1L2RybS9kcm1fbWlwaV9kc2kuYwogICAgOmV4 cG9ydDoKIAorRGlzcGxheSBTdHJlYW0gQ29tcHJlc3Npb24gSGVscGVyIEZ1bmN0aW9ucyBSZWZl cmVuY2UKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09CisKKy4uIGtlcm5lbC1kb2M6OiBkcml2ZXJzL2dwdS9kcm0vZHJtX2RzYy5jCisgICA6ZG9j OiBkc2MgaGVscGVycworCisuLiBrZXJuZWwtZG9jOjogaW5jbHVkZS9kcm0vZHJtX2RzYy5oCisg ICA6aW50ZXJuYWw6CisKKy4uIGtlcm5lbC1kb2M6OiBkcml2ZXJzL2dwdS9kcm0vZHJtX2RzYy5j CisgICA6ZXhwb3J0OgorCiBPdXRwdXQgUHJvYmluZyBIZWxwZXIgRnVuY3Rpb25zIFJlZmVyZW5j ZQogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIApkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL01ha2VmaWxlIGIvZHJpdmVycy9ncHUvZHJtL01ha2VmaWxlCmlu ZGV4IDU3NmJhOTg1ZTEzOC4uM2EzZTZmYjZkNDc2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vTWFrZWZpbGUKKysrIGIvZHJpdmVycy9ncHUvZHJtL01ha2VmaWxlCkBAIC0zMiw3ICszMiw3 IEBAIGRybS0kKENPTkZJR19BR1ApICs9IGRybV9hZ3BzdXBwb3J0Lm8KIGRybS0kKENPTkZJR19E RUJVR19GUykgKz0gZHJtX2RlYnVnZnMubyBkcm1fZGVidWdmc19jcmMubwogZHJtLSQoQ09ORklH X0RSTV9MT0FEX0VESURfRklSTVdBUkUpICs9IGRybV9lZGlkX2xvYWQubwogCi1kcm1fa21zX2hl bHBlci15IDo9IGRybV9jcnRjX2hlbHBlci5vIGRybV9kcF9oZWxwZXIubyBkcm1fcHJvYmVfaGVs cGVyLm8gXAorZHJtX2ttc19oZWxwZXIteSA6PSBkcm1fY3J0Y19oZWxwZXIubyBkcm1fZHBfaGVs cGVyLm8gZHJtX2RzYy5vIGRybV9wcm9iZV9oZWxwZXIubyBcCiAJCWRybV9wbGFuZV9oZWxwZXIu byBkcm1fZHBfbXN0X3RvcG9sb2d5Lm8gZHJtX2F0b21pY19oZWxwZXIubyBcCiAJCWRybV9rbXNf aGVscGVyX2NvbW1vbi5vIGRybV9kcF9kdWFsX21vZGVfaGVscGVyLm8gXAogCQlkcm1fc2ltcGxl X2ttc19oZWxwZXIubyBkcm1fbW9kZXNldF9oZWxwZXIubyBcCmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vZHJtX2RzYy5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9kc2MuYwpuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmJjMmIyM2FkYjA3MgotLS0gL2Rldi9udWxs CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZHNjLmMKQEAgLTAsMCArMSwyMjggQEAKKy8vIFNQ RFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVQKKy8qCisgKiBDb3B5cmlnaHQgwqkgMjAxOCBJbnRl bCBDb3JwCisgKgorICogQXV0aG9yOgorICogTWFuYXNpIE5hdmFyZSA8bWFuYXNpLmQubmF2YXJl QGludGVsLmNvbT4KKyAqLworCisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8 bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4 L2Vycm5vLmg+CisjaW5jbHVkZSA8bGludXgvYnl0ZW9yZGVyL2dlbmVyaWMuaD4KKyNpbmNsdWRl IDxkcm0vZHJtX2RwX2hlbHBlci5oPgorI2luY2x1ZGUgPGRybS9kcm1fZHNjLmg+CisKKy8qKgor ICogRE9DOiBkc2MgaGVscGVycworICoKKyAqIFRoZXNlIGZ1bmN0aW9ucyBjb250YWluIHNvbWUg Y29tbW9uIGxvZ2ljIGFuZCBoZWxwZXJzIHRvIGRlYWwgd2l0aCBWRVNBCisgKiBEaXNwbGF5IFN0 cmVhbSBDb21wcmVzc2lvbiBzdGFuZGFyZCByZXF1aXJlZCBmb3IgRFNDIG9uIERpc3BsYXkgUG9y dC9lRFAgb3IKKyAqIE1JUEkgZGlzcGxheSBpbnRlcmZhY2VzLgorICovCisKKy8qKgorICogZHJt X2RzY19kcF9wcHNfaGVhZGVyX2luaXQoKSAtIEluaXRpYWxpemVzIHRoZSBQUFMgSGVhZGVyCisg KiBmb3IgRGlzcGxheVBvcnQgYXMgcGVyIHRoZSBEUCAxLjQgc3BlYy4KKyAqIEBwcHNfc2RwOiBT ZWNvbmRhcnkgZGF0YSBwYWNrZXQgZm9yIERTQyBQaWN0dXJlIFBhcmFtZXRlciBTZXQKKyAqLwor dm9pZCBkcm1fZHNjX2RwX3Bwc19oZWFkZXJfaW5pdChzdHJ1Y3QgZHJtX2RzY19wcHNfaW5mb2Zy YW1lICpwcHNfc2RwKQoreworCW1lbXNldCgmcHBzX3NkcC0+cHBzX2hlYWRlciwgMCwgc2l6ZW9m KHBwc19zZHAtPnBwc19oZWFkZXIpKTsKKworCXBwc19zZHAtPnBwc19oZWFkZXIuSEIxID0gRFBf U0RQX1BQUzsKKwlwcHNfc2RwLT5wcHNfaGVhZGVyLkhCMiA9IERQX1NEUF9QUFNfSEVBREVSX1BB WUxPQURfQllURVNfTUlOVVNfMTsKK30KK0VYUE9SVF9TWU1CT0woZHJtX2RzY19kcF9wcHNfaGVh ZGVyX2luaXQpOworCisvKioKKyAqIGRybV9kc2NfcHBzX2luZm9mcmFtZV9wYWNrKCkgLSBQb3B1 bGF0ZXMgdGhlIERTQyBQUFMgaW5mb2ZyYW1lCisgKiB1c2luZyB0aGUgRFNDIGNvbmZpZ3VyYXRp b24gcGFyYW1ldGVycyBpbiB0aGUgb3JkZXIgZXhwZWN0ZWQKKyAqIGJ5IHRoZSBEU0MgRGlzcGxh eSBTaW5rIGRldmljZS4gRm9yIHRoZSBEU0MsIHRoZSBzaW5rIGRldmljZQorICogZXhwZWN0cyB0 aGUgUFBTIHBheWxvYWQgaW4gdGhlIGJpZyBlbmRpYW4gZm9ybWF0IGZvciB0aGUgZmllbGRzCisg KiB0aGF0IHNwYW4gbW9yZSB0aGFuIDEgYnl0ZS4KKyAqCisgKiBAcHBzX3NkcDoKKyAqIFNlY29u ZGFyeSBkYXRhIHBhY2tldCBmb3IgRFNDIFBpY3R1cmUgUGFyYW1ldGVyIFNldAorICogQGRzY19j Zmc6CisgKiBEU0MgQ29uZmlndXJhdGlvbiBkYXRhIGZpbGxlZCBieSBkcml2ZXIKKyAqLwordm9p ZCBkcm1fZHNjX3Bwc19pbmZvZnJhbWVfcGFjayhzdHJ1Y3QgZHJtX2RzY19wcHNfaW5mb2ZyYW1l ICpwcHNfc2RwLAorCQkJCWNvbnN0IHN0cnVjdCBkcm1fZHNjX2NvbmZpZyAqZHNjX2NmZykKK3sK KwlpbnQgaTsKKworCS8qIFByb3RlY3QgYWdhaW5zdCBzb21lb25lIGFjY2lkZW50bHkgY2hhbmdp bmcgc3RydWN0IHNpemUgKi8KKwlCVUlMRF9CVUdfT04oc2l6ZW9mKHBwc19zZHAtPnBwc19wYXls b2FkKSAhPQorCQkgICAgIERQX1NEUF9QUFNfSEVBREVSX1BBWUxPQURfQllURVNfTUlOVVNfMSAr IDEpOworCisJbWVtc2V0KCZwcHNfc2RwLT5wcHNfcGF5bG9hZCwgMCwgc2l6ZW9mKHBwc19zZHAt PnBwc19wYXlsb2FkKSk7CisKKwkvKiBQUFMgMCAqLworCXBwc19zZHAtPnBwc19wYXlsb2FkLmRz Y192ZXJzaW9uID0KKwkJZHNjX2NmZy0+ZHNjX3ZlcnNpb25fbWlub3IgfAorCQlkc2NfY2ZnLT5k c2NfdmVyc2lvbl9tYWpvciA8PCBEU0NfUFBTX1ZFUlNJT05fTUFKT1JfU0hJRlQ7CisKKwkvKiBQ UFMgMSwgMiBpcyAwICovCisKKwkvKiBQUFMgMyAqLworCXBwc19zZHAtPnBwc19wYXlsb2FkLnBw c18zID0KKwkJZHNjX2NmZy0+bGluZV9idWZfZGVwdGggfAorCQlkc2NfY2ZnLT5iaXRzX3Blcl9j b21wb25lbnQgPDwgRFNDX1BQU19CUENfU0hJRlQ7CisKKwkvKiBQUFMgNCAqLworCXBwc19zZHAt PnBwc19wYXlsb2FkLnBwc180ID0KKwkJKChkc2NfY2ZnLT5iaXRzX3Blcl9waXhlbCAmIERTQ19Q UFNfQlBQX0hJR0hfTUFTSykgPj4KKwkJIERTQ19QUFNfTVNCX1NISUZUKSB8CisJCWRzY19jZmct PnZicl9lbmFibGUgPDwgRFNDX1BQU19WQlJfRU5fU0hJRlQgfAorCQlkc2NfY2ZnLT5lbmFibGU0 MjIgPDwgRFNDX1BQU19TSU1QTEU0MjJfU0hJRlQgfAorCQlkc2NfY2ZnLT5jb252ZXJ0X3JnYiA8 PCBEU0NfUFBTX0NPTlZFUlRfUkdCX1NISUZUIHwKKwkJZHNjX2NmZy0+YmxvY2tfcHJlZF9lbmFi bGUgPDwgRFNDX1BQU19CTE9DS19QUkVEX0VOX1NISUZUOworCisJLyogUFBTIDUgKi8KKwlwcHNf c2RwLT5wcHNfcGF5bG9hZC5iaXRzX3Blcl9waXhlbF9sb3cgPQorCQkoZHNjX2NmZy0+Yml0c19w ZXJfcGl4ZWwgJiBEU0NfUFBTX0xTQl9NQVNLKTsKKworCS8qCisJICogVGhlIERTQyBwYW5lbCBl eHBlY3RzIHRoZSBQUFMgcGFja2V0IHRvIGhhdmUgYmlnIGVuZGlhbiBmb3JtYXQKKwkgKiBmb3Ig ZGF0YSBzcGFubmluZyAyIGJ5dGVzLiBVc2UgYSBtYWNybyBjcHVfdG9fYmUxNigpIHRvIGNvbnZl cnQKKwkgKiB0byBiaWcgZW5kaWFuIGZvcm1hdC4gSWYgZm9ybWF0IGlzIGxpdHRsZSBlbmRpYW4s IGl0IHdpbGwgc3dhcAorCSAqIGJ5dGVzIHRvIGNvbnZlcnQgdG8gQmlnIGVuZGlhbiBlbHNlIGtl ZXAgaXQgdW5jaGFuZ2VkLgorCSAqLworCisJLyogUFBTIDYsIDcgKi8KKwlwcHNfc2RwLT5wcHNf cGF5bG9hZC5waWNfaGVpZ2h0ID0gY3B1X3RvX2JlMTYoZHNjX2NmZy0+cGljX2hlaWdodCk7CisK KwkvKiBQUFMgOCwgOSAqLworCXBwc19zZHAtPnBwc19wYXlsb2FkLnBpY193aWR0aCA9IGNwdV90 b19iZTE2KGRzY19jZmctPnBpY193aWR0aCk7CisKKwkvKiBQUFMgMTAsIDExICovCisJcHBzX3Nk cC0+cHBzX3BheWxvYWQuc2xpY2VfaGVpZ2h0ID0gY3B1X3RvX2JlMTYoZHNjX2NmZy0+c2xpY2Vf aGVpZ2h0KTsKKworCS8qIFBQUyAxMiwgMTMgKi8KKwlwcHNfc2RwLT5wcHNfcGF5bG9hZC5zbGlj ZV93aWR0aCA9IGNwdV90b19iZTE2KGRzY19jZmctPnNsaWNlX3dpZHRoKTsKKworCS8qIFBQUyAx NCwgMTUgKi8KKwlwcHNfc2RwLT5wcHNfcGF5bG9hZC5jaHVua19zaXplID0gY3B1X3RvX2JlMTYo ZHNjX2NmZy0+c2xpY2VfY2h1bmtfc2l6ZSk7CisKKwkvKiBQUFMgMTYgKi8KKwlwcHNfc2RwLT5w cHNfcGF5bG9hZC5pbml0aWFsX3htaXRfZGVsYXlfaGlnaCA9CisJCSgoZHNjX2NmZy0+aW5pdGlh bF94bWl0X2RlbGF5ICYKKwkJICBEU0NfUFBTX0lOSVRfWE1JVF9ERUxBWV9ISUdIX01BU0spID4+ CisJCSBEU0NfUFBTX01TQl9TSElGVCk7CisKKwkvKiBQUFMgMTcgKi8KKwlwcHNfc2RwLT5wcHNf cGF5bG9hZC5pbml0aWFsX3htaXRfZGVsYXlfbG93ID0KKwkJKGRzY19jZmctPmluaXRpYWxfeG1p dF9kZWxheSAmIERTQ19QUFNfTFNCX01BU0spOworCisJLyogUFBTIDE4LCAxOSAqLworCXBwc19z ZHAtPnBwc19wYXlsb2FkLmluaXRpYWxfZGVjX2RlbGF5ID0KKwkJY3B1X3RvX2JlMTYoZHNjX2Nm Zy0+aW5pdGlhbF9kZWNfZGVsYXkpOworCisJLyogUFBTIDIwIGlzIDAgKi8KKworCS8qIFBQUyAy MSAqLworCXBwc19zZHAtPnBwc19wYXlsb2FkLmluaXRpYWxfc2NhbGVfdmFsdWUgPQorCQlkc2Nf Y2ZnLT5pbml0aWFsX3NjYWxlX3ZhbHVlOworCisJLyogUFBTIDIyLCAyMyAqLworCXBwc19zZHAt PnBwc19wYXlsb2FkLnNjYWxlX2luY3JlbWVudF9pbnRlcnZhbCA9CisJCWNwdV90b19iZTE2KGRz Y19jZmctPnNjYWxlX2luY3JlbWVudF9pbnRlcnZhbCk7CisKKwkvKiBQUFMgMjQgKi8KKwlwcHNf c2RwLT5wcHNfcGF5bG9hZC5zY2FsZV9kZWNyZW1lbnRfaW50ZXJ2YWxfaGlnaCA9CisJCSgoZHNj X2NmZy0+c2NhbGVfZGVjcmVtZW50X2ludGVydmFsICYKKwkJICBEU0NfUFBTX1NDQUxFX0RFQ19J TlRfSElHSF9NQVNLKSA+PgorCQkgRFNDX1BQU19NU0JfU0hJRlQpOworCisJLyogUFBTIDI1ICov CisJcHBzX3NkcC0+cHBzX3BheWxvYWQuc2NhbGVfZGVjcmVtZW50X2ludGVydmFsX2xvdyA9CisJ CShkc2NfY2ZnLT5zY2FsZV9kZWNyZW1lbnRfaW50ZXJ2YWwgJiBEU0NfUFBTX0xTQl9NQVNLKTsK KworCS8qIFBQUyAyNls3OjBdLCBQUFMgMjdbNzo1XSBSRVNFUlZFRCAqLworCisJLyogUFBTIDI3 ICovCisJcHBzX3NkcC0+cHBzX3BheWxvYWQuZmlyc3RfbGluZV9icGdfb2Zmc2V0ID0KKwkJZHNj X2NmZy0+Zmlyc3RfbGluZV9icGdfb2Zmc2V0OworCisJLyogUFBTIDI4LCAyOSAqLworCXBwc19z ZHAtPnBwc19wYXlsb2FkLm5mbF9icGdfb2Zmc2V0ID0KKwkJY3B1X3RvX2JlMTYoZHNjX2NmZy0+ bmZsX2JwZ19vZmZzZXQpOworCisJLyogUFBTIDMwLCAzMSAqLworCXBwc19zZHAtPnBwc19wYXls b2FkLnNsaWNlX2JwZ19vZmZzZXQgPQorCQljcHVfdG9fYmUxNihkc2NfY2ZnLT5zbGljZV9icGdf b2Zmc2V0KTsKKworCS8qIFBQUyAzMiwgMzMgKi8KKwlwcHNfc2RwLT5wcHNfcGF5bG9hZC5pbml0 aWFsX29mZnNldCA9CisJCWNwdV90b19iZTE2KGRzY19jZmctPmluaXRpYWxfb2Zmc2V0KTsKKwor CS8qIFBQUyAzNCwgMzUgKi8KKwlwcHNfc2RwLT5wcHNfcGF5bG9hZC5maW5hbF9vZmZzZXQgPSBj cHVfdG9fYmUxNihkc2NfY2ZnLT5maW5hbF9vZmZzZXQpOworCisJLyogUFBTIDM2ICovCisJcHBz X3NkcC0+cHBzX3BheWxvYWQuZmxhdG5lc3NfbWluX3FwID0gZHNjX2NmZy0+ZmxhdG5lc3NfbWlu X3FwOworCisJLyogUFBTIDM3ICovCisJcHBzX3NkcC0+cHBzX3BheWxvYWQuZmxhdG5lc3NfbWF4 X3FwID0gZHNjX2NmZy0+ZmxhdG5lc3NfbWF4X3FwOworCisJLyogUFBTIDM4LCAzOSAqLworCXBw c19zZHAtPnBwc19wYXlsb2FkLnJjX21vZGVsX3NpemUgPQorCQljcHVfdG9fYmUxNihEU0NfUkNf TU9ERUxfU0laRV9DT05TVCk7CisKKwkvKiBQUFMgNDAgKi8KKwlwcHNfc2RwLT5wcHNfcGF5bG9h ZC5yY19lZGdlX2ZhY3RvciA9IERTQ19SQ19FREdFX0ZBQ1RPUl9DT05TVDsKKworCS8qIFBQUyA0 MSAqLworCXBwc19zZHAtPnBwc19wYXlsb2FkLnJjX3F1YW50X2luY3JfbGltaXQwID0KKwkJZHNj X2NmZy0+cmNfcXVhbnRfaW5jcl9saW1pdDA7CisKKwkvKiBQUFMgNDIgKi8KKwlwcHNfc2RwLT5w cHNfcGF5bG9hZC5yY19xdWFudF9pbmNyX2xpbWl0MSA9CisJCWRzY19jZmctPnJjX3F1YW50X2lu Y3JfbGltaXQxOworCisJLyogUFBTIDQzICovCisJcHBzX3NkcC0+cHBzX3BheWxvYWQucmNfdGd0 X29mZnNldCA9IERTQ19SQ19UR1RfT0ZGU0VUX0xPX0NPTlNUIHwKKwkJRFNDX1JDX1RHVF9PRkZT RVRfSElfQ09OU1QgPDwgRFNDX1BQU19SQ19UR1RfT0ZGU0VUX0hJX1NISUZUOworCisJLyogUFBT IDQ0IC0gNTcgKi8KKwlmb3IgKGkgPSAwOyBpIDwgRFNDX05VTV9CVUZfUkFOR0VTIC0gMTsgaSsr KQorCQlwcHNfc2RwLT5wcHNfcGF5bG9hZC5yY19idWZfdGhyZXNoW2ldID0KKwkJCWRzY19jZmct PnJjX2J1Zl90aHJlc2hbaV07CisKKwkvKiBQUFMgNTggLSA4NyAqLworCS8qCisJICogRm9yIERT QyBzaW5rIHByb2dyYW1taW5nIHRoZSBSQyBSYW5nZSBwYXJhbWV0ZXIgZmllbGRzCisJICogYXJl IGFzIGZvbGxvd3M6IE1pbl9xcFsxNToxMV0sIG1heF9xcFsxMDo2XSwgb2Zmc2V0WzU6MF0KKwkg Ki8KKwlmb3IgKGkgPSAwOyBpIDwgRFNDX05VTV9CVUZfUkFOR0VTOyBpKyspIHsKKwkJcHBzX3Nk cC0+cHBzX3BheWxvYWQucmNfcmFuZ2VfcGFyYW1ldGVyc1tpXSA9CisJCQkoKGRzY19jZmctPnJj X3JhbmdlX3BhcmFtc1tpXS5yYW5nZV9taW5fcXAgPDwKKwkJCSAgRFNDX1BQU19SQ19SQU5HRV9N SU5RUF9TSElGVCkgfAorCQkJIChkc2NfY2ZnLT5yY19yYW5nZV9wYXJhbXNbaV0ucmFuZ2VfbWF4 X3FwIDw8CisJCQkgIERTQ19QUFNfUkNfUkFOR0VfTUFYUVBfU0hJRlQpIHwKKwkJCSAoZHNjX2Nm Zy0+cmNfcmFuZ2VfcGFyYW1zW2ldLnJhbmdlX2JwZ19vZmZzZXQpKTsKKwkJcHBzX3NkcC0+cHBz X3BheWxvYWQucmNfcmFuZ2VfcGFyYW1ldGVyc1tpXSA9CisJCQljcHVfdG9fYmUxNihwcHNfc2Rw LT5wcHNfcGF5bG9hZC5yY19yYW5nZV9wYXJhbWV0ZXJzW2ldKTsKKwl9CisKKwkvKiBQUFMgODgg Ki8KKwlwcHNfc2RwLT5wcHNfcGF5bG9hZC5uYXRpdmVfNDIyXzQyMCA9IGRzY19jZmctPm5hdGl2 ZV80MjIgfAorCQlkc2NfY2ZnLT5uYXRpdmVfNDIwIDw8IERTQ19QUFNfTkFUSVZFXzQyMF9TSElG VDsKKworCS8qIFBQUyA4OSAqLworCXBwc19zZHAtPnBwc19wYXlsb2FkLnNlY29uZF9saW5lX2Jw Z19vZmZzZXQgPQorCQlkc2NfY2ZnLT5zZWNvbmRfbGluZV9icGdfb2Zmc2V0OworCisJLyogUFBT IDkwLCA5MSAqLworCXBwc19zZHAtPnBwc19wYXlsb2FkLm5zbF9icGdfb2Zmc2V0ID0KKwkJY3B1 X3RvX2JlMTYoZHNjX2NmZy0+bnNsX2JwZ19vZmZzZXQpOworCisJLyogUFBTIDkyLCA5MyAqLwor CXBwc19zZHAtPnBwc19wYXlsb2FkLnNlY29uZF9saW5lX29mZnNldF9hZGogPQorCQljcHVfdG9f YmUxNihkc2NfY2ZnLT5zZWNvbmRfbGluZV9vZmZzZXRfYWRqKTsKKworCS8qIFBQUyA5NCAtIDEy NyBhcmUgTyAqLworfQorRVhQT1JUX1NZTUJPTChkcm1fZHNjX3Bwc19pbmZvZnJhbWVfcGFjayk7 CmRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1fZHNjLmggYi9pbmNsdWRlL2RybS9kcm1fZHNj LmgKaW5kZXggYjg4ZTMxYmQ5ZGE3Li41MmU1N2NlYWZmODAgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUv ZHJtL2RybV9kc2MuaAorKysgYi9pbmNsdWRlL2RybS9kcm1fZHNjLmgKQEAgLTI0LDYgKzI0LDIz IEBACiAjZGVmaW5lIERTQ19SQ19UR1RfT0ZGU0VUX0hJX0NPTlNUCSAgICAzCiAjZGVmaW5lIERT Q19SQ19UR1RfT0ZGU0VUX0xPX0NPTlNUCSAgICAzCiAKKy8qIERTQyBQUFMgY29uc3RhbnRzIGFu ZCBtYWNyb3MgKi8KKyNkZWZpbmUgRFNDX1BQU19WRVJTSU9OX01BSk9SX1NISUZUCQk0CisjZGVm aW5lIERTQ19QUFNfQlBDX1NISUZUCQkJNAorI2RlZmluZSBEU0NfUFBTX01TQl9TSElGVAkJCTgK KyNkZWZpbmUgRFNDX1BQU19MU0JfTUFTSwkJCSgweEZGIDw8IDApCisjZGVmaW5lIERTQ19QUFNf QlBQX0hJR0hfTUFTSwkJCSgweDMgPDwgOCkKKyNkZWZpbmUgRFNDX1BQU19WQlJfRU5fU0hJRlQJ CQkyCisjZGVmaW5lIERTQ19QUFNfU0lNUExFNDIyX1NISUZUCQkJMworI2RlZmluZSBEU0NfUFBT X0NPTlZFUlRfUkdCX1NISUZUCQk0CisjZGVmaW5lIERTQ19QUFNfQkxPQ0tfUFJFRF9FTl9TSElG VAkJNQorI2RlZmluZSBEU0NfUFBTX0lOSVRfWE1JVF9ERUxBWV9ISUdIX01BU0sJKDB4MyA8PCA4 KQorI2RlZmluZSBEU0NfUFBTX1NDQUxFX0RFQ19JTlRfSElHSF9NQVNLCQkoMHhGIDw8IDgpCisj ZGVmaW5lIERTQ19QUFNfUkNfVEdUX09GRlNFVF9ISV9TSElGVAkJNAorI2RlZmluZSBEU0NfUFBT X1JDX1JBTkdFX01JTlFQX1NISUZUCQkxMQorI2RlZmluZSBEU0NfUFBTX1JDX1JBTkdFX01BWFFQ X1NISUZUCQk2CisjZGVmaW5lIERTQ19QUFNfTkFUSVZFXzQyMF9TSElGVAkJMQorCiAvKiBDb25m aWd1cmF0aW9uIGZvciBhIHNpbmdsZSBSYXRlIENvbnRyb2wgbW9kZWwgcmFuZ2UgKi8KIHN0cnVj dCBkcm1fZHNjX3JjX3JhbmdlX3BhcmFtZXRlcnMgewogCS8qIE1pbiBRdWFudGl6YXRpb24gUGFy YW1ldGVycyBhbGxvd2VkIGZvciB0aGlzIHJhbmdlICovCkBAIC00NTgsNCArNDc1LDggQEAgc3Ry dWN0IGRybV9kc2NfcHBzX2luZm9mcmFtZSB7CiAJc3RydWN0IGRybV9kc2NfcGljdHVyZV9wYXJh bWV0ZXJfc2V0IHBwc19wYXlsb2FkOwogfSBfX3BhY2tlZDsKIAordm9pZCBkcm1fZHNjX2RwX3Bw c19oZWFkZXJfaW5pdChzdHJ1Y3QgZHJtX2RzY19wcHNfaW5mb2ZyYW1lICpwcHNfc2RwKTsKK3Zv aWQgZHJtX2RzY19wcHNfaW5mb2ZyYW1lX3BhY2soc3RydWN0IGRybV9kc2NfcHBzX2luZm9mcmFt ZSAqcHBzX3NkcCwKKwkJCQljb25zdCBzdHJ1Y3QgZHJtX2RzY19jb25maWcgKmRzY19jZmcpOwor CiAjZW5kaWYgLyogX0RSTV9EU0NfSF8gKi8KLS0gCjIuMTkuMQoKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRl bC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3Jn L21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==