From mboxrd@z Thu Jan 1 00:00:00 1970 From: Manasi Navare Subject: [PATCH 10/23] drm/dsc: Add helpers for DSC picture parameter set infoframes Date: Mon, 30 Jul 2018 19:12:50 -0700 Message-ID: <1533003183-22793-11-git-send-email-manasi.d.navare@intel.com> References: <1533003183-22793-1-git-send-email-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: <1533003183-22793-1-git-send-email-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: intel-gfx@lists.freedesktop.org Cc: anusha.srivatsa@intel.com, dri-devel@lists.freedesktop.org, Manasi Navare , gaurav.k.singh@intel.com List-Id: dri-devel@lists.freedesktop.org QWNjb3JkaW5nIHRvIERpc3BsYXkgU3RyZWFtIGNvbXByZXNzaW9uIHNwZWMgMS4yLCB0aGUgcGlj dHVyZQpwYXJhbWV0ZXIgc2V0IG1ldGFkYXRhIGlzIHNlbnQgZnJvbSBzb3VyY2UgdG8gc2luayBk ZXZpY2UKdXNpbmcgdGhlIERQIFNlY29uZGFyeSBkYXRhIHBhY2tldC4gQW4gaW5mb2ZyYW1lIGlz IGZvcm1lZApmb3IgdGhlIFBQUyBTRFAgaGVhZGVyIGFuZCBQUFMgU0RQIHBheWxvYWQgYnl0ZXMu ClRoaXMgcGF0Y2ggYWRkcyBoZWxwZXJzIHRvIGZpbGwgdGhlIFBQUyBTRFAgaGVhZGVyCmFuZCBQ UFMgU0RQIHBheWxvYWQgYWNjb3JkaW5nIHRvIHRoZSBEU0MgMS4yIHNwZWNpZmljYXRpb24uCgp2 NToKRG8gbm90IHVzZSBiaXRmaWVsZHMgZm9yIERSTSBzdHJ1Y3RzIChKYW5pIE4pCnY0OgoqIFVz ZSBEU0MgY29uc3RhbnRzIGZvciBwYXJhbXMgdGhhdCBkb250IGNoYW5nZSBhY3Jvc3MKY29uZmln dXJhdGlvbnMKdjM6CiogQWRkIHJlZmVyZW5jZSB0byBhZGRlZCBrZXJuZWwtZG9jcyBpbiBEb2N1 bWVudGF0aW9uL2dwdS9kcm0ta21zLWhlbHBlcnMucnN0CihEYW5pZWwgVmV0dGVyKQoKdjI6Ciog QWRkIEVYUE9SVF9TWU1CT0wgZm9yIHRoZSBkcm0gZnVuY3Rpb25zIChNYW5hc2kpCgpDYzogZHJp LWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpDYzogSmFuaSBOaWt1bGEgPGphbmkubmlrdWxh QGxpbnV4LmludGVsLmNvbT4KQ2M6IFZpbGxlIFN5cmphbGEgPHZpbGxlLnN5cmphbGFAbGludXgu aW50ZWwuY29tPgpDYzogQW51c2hhIFNyaXZhdHNhIDxhbnVzaGEuc3JpdmF0c2FAaW50ZWwuY29t PgpDYzogSGFycnkgV2VudGxhbmQgPGhhcnJ5LndlbnRsYW5kQGFtZC5jb20+ClNpZ25lZC1vZmYt Ynk6IE1hbmFzaSBOYXZhcmUgPG1hbmFzaS5kLm5hdmFyZUBpbnRlbC5jb20+Ci0tLQogRG9jdW1l bnRhdGlvbi9ncHUvZHJtLWttcy1oZWxwZXJzLnJzdCB8ICAxMiArKwogZHJpdmVycy9ncHUvZHJt L01ha2VmaWxlICAgICAgICAgICAgICB8ICAgMiArLQogZHJpdmVycy9ncHUvZHJtL2RybV9kc2Mu YyAgICAgICAgICAgICB8IDIyMSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiBp bmNsdWRlL2RybS9kcm1fZHNjLmggICAgICAgICAgICAgICAgIHwgIDIyICsrKysKIDQgZmlsZXMg Y2hhbmdlZCwgMjU2IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKIGNyZWF0ZSBtb2RlIDEw MDY0NCBkcml2ZXJzL2dwdS9kcm0vZHJtX2RzYy5jCgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlv bi9ncHUvZHJtLWttcy1oZWxwZXJzLnJzdCBiL0RvY3VtZW50YXRpb24vZ3B1L2RybS1rbXMtaGVs cGVycy5yc3QKaW5kZXggZjljZmNkYy4uNTBiYjcxNyAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlv bi9ncHUvZHJtLWttcy1oZWxwZXJzLnJzdAorKysgYi9Eb2N1bWVudGF0aW9uL2dwdS9kcm0ta21z LWhlbHBlcnMucnN0CkBAIC0yMjMsNiArMjIzLDE4IEBAIE1JUEkgRFNJIEhlbHBlciBGdW5jdGlv bnMgUmVmZXJlbmNlCiAuLiBrZXJuZWwtZG9jOjogZHJpdmVycy9ncHUvZHJtL2RybV9taXBpX2Rz aS5jCiAgICA6ZXhwb3J0OgogCitEaXNwbGF5IFN0cmVhbSBDb21wcmVzc2lvbiBIZWxwZXIgRnVu Y3Rpb25zIFJlZmVyZW5jZQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0KKworLi4ga2VybmVsLWRvYzo6IGRyaXZlcnMvZ3B1L2RybS9kcm1fZHNj LmMKKyAgIDpkb2M6IGRzYyBoZWxwZXJzCisKKy4uIGtlcm5lbC1kb2M6OiBpbmNsdWRlL2RybS9k cm1fZHNjLmgKKyAgIDppbnRlcm5hbDoKKworLi4ga2VybmVsLWRvYzo6IGRyaXZlcnMvZ3B1L2Ry bS9kcm1fZHNjLmMKKyAgIDpleHBvcnQ6CisKIE91dHB1dCBQcm9iaW5nIEhlbHBlciBGdW5jdGlv bnMgUmVmZXJlbmNlCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQog CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vTWFrZWZpbGUgYi9kcml2ZXJzL2dwdS9kcm0v TWFrZWZpbGUKaW5kZXggYTY3NzFjZS4uOTYxZTUxMSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL01ha2VmaWxlCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9NYWtlZmlsZQpAQCAtMzEsNyArMzEs NyBAQCBkcm0tJChDT05GSUdfQUdQKSArPSBkcm1fYWdwc3VwcG9ydC5vCiBkcm0tJChDT05GSUdf REVCVUdfRlMpICs9IGRybV9kZWJ1Z2ZzLm8gZHJtX2RlYnVnZnNfY3JjLm8KIGRybS0kKENPTkZJ R19EUk1fTE9BRF9FRElEX0ZJUk1XQVJFKSArPSBkcm1fZWRpZF9sb2FkLm8KIAotZHJtX2ttc19o ZWxwZXIteSA6PSBkcm1fY3J0Y19oZWxwZXIubyBkcm1fZHBfaGVscGVyLm8gZHJtX3Byb2JlX2hl bHBlci5vIFwKK2RybV9rbXNfaGVscGVyLXkgOj0gZHJtX2NydGNfaGVscGVyLm8gZHJtX2RwX2hl bHBlci5vIGRybV9kc2MubyBkcm1fcHJvYmVfaGVscGVyLm8gXAogCQlkcm1fcGxhbmVfaGVscGVy Lm8gZHJtX2RwX21zdF90b3BvbG9neS5vIGRybV9hdG9taWNfaGVscGVyLm8gXAogCQlkcm1fa21z X2hlbHBlcl9jb21tb24ubyBkcm1fZHBfZHVhbF9tb2RlX2hlbHBlci5vIFwKIAkJZHJtX3NpbXBs ZV9rbXNfaGVscGVyLm8gZHJtX21vZGVzZXRfaGVscGVyLm8gXApkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2RybV9kc2MuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZHNjLmMKbmV3IGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTlhODc5NAotLS0gL2Rldi9udWxsCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9kcm1fZHNjLmMKQEAgLTAsMCArMSwyMjEgQEAKKy8qCisgKkNvcHlyaWdo dCDCqSAyMDE4IEludGVsIENvcnAKKyAqCisgKiBQZXJtaXNzaW9uIHRvIHVzZSwgY29weSwgbW9k aWZ5LCBkaXN0cmlidXRlLCBhbmQgc2VsbCB0aGlzIHNvZnR3YXJlIGFuZCBpdHMKKyAqIGRvY3Vt ZW50YXRpb24gZm9yIGFueSBwdXJwb3NlIGlzIGhlcmVieSBncmFudGVkIHdpdGhvdXQgZmVlLCBw cm92aWRlZCB0aGF0CisgKiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhcHBlYXIgaW4gYWxs IGNvcGllcyBhbmQgdGhhdCBib3RoIHRoYXQgY29weXJpZ2h0CisgKiBub3RpY2UgYW5kIHRoaXMg cGVybWlzc2lvbiBub3RpY2UgYXBwZWFyIGluIHN1cHBvcnRpbmcgZG9jdW1lbnRhdGlvbiwgYW5k CisgKiB0aGF0IHRoZSBuYW1lIG9mIHRoZSBjb3B5cmlnaHQgaG9sZGVycyBub3QgYmUgdXNlZCBp biBhZHZlcnRpc2luZyBvcgorICogcHVibGljaXR5IHBlcnRhaW5pbmcgdG8gZGlzdHJpYnV0aW9u IG9mIHRoZSBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljLAorICogd3JpdHRlbiBwcmlvciBwZXJt aXNzaW9uLiAgVGhlIGNvcHlyaWdodCBob2xkZXJzIG1ha2Ugbm8gcmVwcmVzZW50YXRpb25zCisg KiBhYm91dCB0aGUgc3VpdGFiaWxpdHkgb2YgdGhpcyBzb2Z0d2FyZSBmb3IgYW55IHB1cnBvc2Uu ICBJdCBpcyBwcm92aWRlZCAiYXMKKyAqIGlzIiB3aXRob3V0IGV4cHJlc3Mgb3IgaW1wbGllZCB3 YXJyYW50eS4KKyAqCisgKiBUSEUgQ09QWVJJR0hUIEhPTERFUlMgRElTQ0xBSU0gQUxMIFdBUlJB TlRJRVMgV0lUSCBSRUdBUkQgVE8gVEhJUyBTT0ZUV0FSRSwKKyAqIElOQ0xVRElORyBBTEwgSU1Q TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUywgSU4gTk8KKyAq IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBTUEVD SUFMLCBJTkRJUkVDVCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIE9SIEFOWSBEQU1BR0VT IFdIQVRTT0VWRVIgUkVTVUxUSU5HIEZST00gTE9TUyBPRiBVU0UsCisgKiBEQVRBIE9SIFBST0ZJ VFMsIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBORUdMSUdFTkNFIE9SIE9USEVS CisgKiBUT1JUSU9VUyBBQ1RJT04sIEFSSVNJTkcgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lU SCBUSEUgVVNFIE9SIFBFUkZPUk1BTkNFCisgKiBPRiBUSElTIFNPRlRXQVJFLgorICoKKyAqIEF1 dGhvcjoKKyAqIE1hbmFzaSBOYXZhcmUgPG1hbmFzaS5kLm5hdmFyZUBpbnRlbC5jb20+CisgKi8K KworI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgor I2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9lcnJuby5oPgorI2luY2x1 ZGUgPGRybS9kcm1fZHBfaGVscGVyLmg+CisjaW5jbHVkZSA8ZHJtL2RybV9kc2MuaD4KKworLyoq CisgKiBET0M6IGRzYyBoZWxwZXJzCisgKgorICogVGhlc2UgZnVuY3Rpb25zIGNvbnRhaW4gc29t ZSBjb21tb24gbG9naWMgYW5kIGhlbHBlcnMgdG8gZGVhbCB3aXRoIFZFU0EKKyAqIERpc3BsYXkg U3RyZWFtIENvbXByZXNzaW9uIHN0YW5kYXJkIHJlcXVpcmVkIGZvciBEU0Mgb24gRGlzcGxheSBQ b3J0L2VEUCBvcgorICogTUlQSSBkaXNwbGF5IGludGVyZmFjZXMuCisgKi8KKworLyoqCisgKiBk cm1fZHNjX2RwX3Bwc19oZWFkZXJfaW5pdCgpIC0gSW5pdGlhbGl6ZXMgdGhlIFBQUyBIZWFkZXIK KyAqIGZvciBEaXNwbGF5UG9ydCBhcyBwZXIgdGhlIERQIDEuNCBzcGVjLgorICogQHBwc19zZHA6 IFNlY29uZGFyeSBkYXRhIHBhY2tldCBmb3IgRFNDIFBpY3R1cmUgUGFyYW1ldGVyIFNldAorICov Cit2b2lkIGRybV9kc2NfZHBfcHBzX2hlYWRlcl9pbml0KHN0cnVjdCBkcm1fZHNjX3Bwc19pbmZv ZnJhbWUgKnBwc19zZHApCit7CisJbWVtc2V0KCZwcHNfc2RwLT5wcHNfaGVhZGVyLCAwLCBzaXpl b2YocHBzX3NkcC0+cHBzX2hlYWRlcikpOworCisJcHBzX3NkcC0+cHBzX2hlYWRlci5IQjEgPSBE UF9TRFBfUFBTOworCXBwc19zZHAtPnBwc19oZWFkZXIuSEIyID0gRFBfU0RQX1BQU19IRUFERVJf UEFZTE9BRF9CWVRFU19NSU5VU18xOworfQorRVhQT1JUX1NZTUJPTChkcm1fZHNjX2RwX3Bwc19o ZWFkZXJfaW5pdCk7CisKKy8qKgorICogZHJtX2RzY19wcHNfaW5mb2ZyYW1lX3BhY2soKSAtIFBv cHVsYXRlcyB0aGUgRFNDIFBQUyBpbmZvZnJhbWUKKyAqIHVzaW5nIHRoZSBEU0MgY29uZmlndXJh dGlvbiBwYXJhbWV0ZXJzIGluIHRoZSBvcmRlciBleHBlY3RlZAorICogYnkgdGhlIERTQyBEaXNw bGF5IFNpbmsgZGV2aWNlLiBGb3IgdGhlIERTQywgdGhlIHNpbmsgZGV2aWNlCisgKiBleHBlY3Rz IHRoZSBQUFMgcGF5bG9hZCBpbiB0aGUgYmlnIGVuZGlhbiBmb3JtYXQgZm9yIHRoZSBmaWVsZHMK KyAqIHRoYXQgc3BhbiBtb3JlIHRoYW4gMSBieXRlLgorICoKKyAqIEBwcHNfc2RwOgorICogU2Vj b25kYXJ5IGRhdGEgcGFja2V0IGZvciBEU0MgUGljdHVyZSBQYXJhbWV0ZXIgU2V0CisgKiBAZHNj X2NmZzoKKyAqIERTQyBDb25maWd1cmF0aW9uIGRhdGEgZmlsbGVkIGJ5IGRyaXZlcgorICovCit2 b2lkIGRybV9kc2NfcHBzX2luZm9mcmFtZV9wYWNrKHN0cnVjdCBkcm1fZHNjX3Bwc19pbmZvZnJh bWUgKnBwc19zZHAsCisJCQkJc3RydWN0IGRybV9kc2NfY29uZmlnICpkc2NfY2ZnKQoreworCXU4 IGkgPSAwOworCisJbWVtc2V0KCZwcHNfc2RwLT5wcHNfcGF5bG9hZCwgMCwgc2l6ZW9mKHBwc19z ZHAtPnBwc19wYXlsb2FkKSk7CisKKwkvKiBQUFMgMCAqLworCXBwc19zZHAtPnBwc19wYXlsb2Fk LmRzY192ZXJzaW9uID0gZHNjX2NmZy0+ZHNjX3ZlcnNpb25fbWlub3IgfAorCQlkc2NfY2ZnLT5k c2NfdmVyc2lvbl9tYWpvciA8PCBEU0NfUFBTX1ZFUlNJT05fTUFKT1JfU0hJRlQ7CisKKwkvKiBQ UFMgMSwgMiBpcyAwICovCisKKwkvKiBQUFMgMyAqLworCXBwc19zZHAtPnBwc19wYXlsb2FkLnBw c18zID0gZHNjX2NmZy0+bGluZV9idWZfZGVwdGggfAorCQlkc2NfY2ZnLT5iaXRzX3Blcl9jb21w b25lbnQgPDwgRFNDX1BQU19CUENfU0hJRlQ7CisKKwkvKiBQUFMgNCAqLworCXBwc19zZHAtPnBw c19wYXlsb2FkLnBwc180ID0gKHU4KSgoZHNjX2NmZy0+Yml0c19wZXJfcGl4ZWwgJgorCQkJCQkg ICBEU0NfUFBTX0JQUF9ISUdIX01BU0spID4+CisJCQkJCSAgRFNDX1BQU19NU0JfU0hJRlQpIHwK KwkJKHU4KWRzY19jZmctPnZicl9lbmFibGUgPDwgRFNDX1BQU19WQlJfRU5fU0hJRlQgfAorCQko dTgpZHNjX2NmZy0+ZW5hYmxlNDIyIDw8IERTQ19QUFNfU0lNUExFNDIyX1NISUZUIHwKKwkJKHU4 KWRzY19jZmctPmNvbnZlcnRfcmdiIDw8IERTQ19QUFNfQ09OVkVSVF9SR0JfU0hJRlQgfAorCQko dTgpZHNjX2NmZy0+YmxvY2tfcHJlZF9lbmFibGUgPDwgRFNDX1BQU19CTE9DS19QUkVEX0VOX1NI SUZUOworCisJLyogUFBTIDUgKi8KKwlwcHNfc2RwLT5wcHNfcGF5bG9hZC5iaXRzX3Blcl9waXhl bF9sb3cgPSAodTgpKGRzY19jZmctPmJpdHNfcGVyX3BpeGVsICYKKwkJCQkJCSAgICAgICBEU0Nf UFBTX0xTQl9NQVNLKTsKKworCS8qCisJICogVGhlIERTQyBwYW5lbCBleHBlY3RzIHRoZSBQUFMg cGFja2V0IHRvIGhhdmUgYmlnIGVuZGlhbiBmb3JtYXQKKwkgKiBmb3IgZGF0YSBzcGFubmluZyAy IGJ5dGVzLiBVc2UgYSBtYWNybyBjcHVfdG9fYmUxNigpIHRvIGNvbnZlcnQKKwkgKiB0byBiaWcg ZW5kaWFuIGZvcm1hdC4gSWYgZm9ybWF0IGlzIGxpdHRsZSBlbmRpYW4sIGl0IHdpbGwgc3dhcAor CSAqIGJ5dGVzIHRvIGNvbnZlcnQgdG8gQmlnIGVuZGlhbiBlbHNlIGtlZXAgaXQgdW5jaGFuZ2Vk LgorCSAqLworCisJLyogUFBTIDYsIDcgKi8KKwlwcHNfc2RwLT5wcHNfcGF5bG9hZC5waWNfaGVp Z2h0ID0gY3B1X3RvX2JlMTYoZHNjX2NmZy0+cGljX2hlaWdodCk7CisKKwkvKiBQUFMgOCwgOSAq LworCXBwc19zZHAtPnBwc19wYXlsb2FkLnBpY193aWR0aCA9IGNwdV90b19iZTE2KGRzY19jZmct PnBpY193aWR0aCk7CisKKwkvKiBQUFMgMTAsIDExICovCisJcHBzX3NkcC0+cHBzX3BheWxvYWQu c2xpY2VfaGVpZ2h0ID0gY3B1X3RvX2JlMTYoZHNjX2NmZy0+c2xpY2VfaGVpZ2h0KTsKKworCS8q IFBQUyAxMiwgMTMgKi8KKwlwcHNfc2RwLT5wcHNfcGF5bG9hZC5zbGljZV93aWR0aCA9IGNwdV90 b19iZTE2KGRzY19jZmctPnNsaWNlX3dpZHRoKTsKKworCS8qIFBQUyAxNCwgMTUgKi8KKwlwcHNf c2RwLT5wcHNfcGF5bG9hZC5jaHVua19zaXplID0gY3B1X3RvX2JlMTYoZHNjX2NmZy0+c2xpY2Vf Y2h1bmtfc2l6ZSk7CisKKwkvKiBQUFMgMTYgKi8KKwlwcHNfc2RwLT5wcHNfcGF5bG9hZC5pbml0 aWFsX3htaXRfZGVsYXlfaGlnaCA9ICh1OCkoKGRzY19jZmctPmluaXRpYWxfeG1pdF9kZWxheSAm CisJCQkJCQkJICAgICBEU0NfUFBTX0lOSVRfWE1JVF9ERUxBWV9ISUdIX01BU0spID4+CisJCQkJ CQkJICAgIERTQ19QUFNfTVNCX1NISUZUKTsKKworCS8qIFBQUyAxNyAqLworCXBwc19zZHAtPnBw c19wYXlsb2FkLmluaXRpYWxfeG1pdF9kZWxheV9sb3cgPSAodTgpKGRzY19jZmctPmluaXRpYWxf eG1pdF9kZWxheSAmCisJCQkJCQkJICAgRFNDX1BQU19MU0JfTUFTSyk7CisKKwkvKiBQUFMgMTgs IDE5ICovCisJcHBzX3NkcC0+cHBzX3BheWxvYWQuaW5pdGlhbF9kZWNfZGVsYXkgPSBjcHVfdG9f YmUxNihkc2NfY2ZnLT5pbml0aWFsX2RlY19kZWxheSk7CisKKwkvKiBQUFMgMjAgaXMgMCAqLwor CisJLyogUFBTIDIxICovCisJcHBzX3NkcC0+cHBzX3BheWxvYWQuaW5pdGlhbF9zY2FsZV92YWx1 ZSA9ICh1OClkc2NfY2ZnLT5pbml0aWFsX3NjYWxlX3ZhbHVlOworCisJLyogUFBTIDIyLCAyMyAq LworCXBwc19zZHAtPnBwc19wYXlsb2FkLnNjYWxlX2luY3JlbWVudF9pbnRlcnZhbCA9IGNwdV90 b19iZTE2KGRzY19jZmctPnNjYWxlX2luY3JlbWVudF9pbnRlcnZhbCk7CisKKwkvKiBQUFMgMjQg Ki8KKwlwcHNfc2RwLT5wcHNfcGF5bG9hZC5zY2FsZV9kZWNyZW1lbnRfaW50ZXJ2YWxfaGlnaCA9 ICh1OCkoKGRzY19jZmctPnNjYWxlX2RlY3JlbWVudF9pbnRlcnZhbCAmCisJCQkJCQkJCSAgIERT Q19QUFNfU0NBTEVfREVDX0lOVF9ISUdIX01BU0spID4+CisJCQkJCQkJCSAgRFNDX1BQU19NU0Jf U0hJRlQpOworCisJLyogUFBTIDI1ICovCisJcHBzX3NkcC0+cHBzX3BheWxvYWQuc2NhbGVfZGVj cmVtZW50X2ludGVydmFsX2xvdyA9ICh1OCkoZHNjX2NmZy0+c2NhbGVfZGVjcmVtZW50X2ludGVy dmFsICYKKwkJCQkJCQkJIERTQ19QUFNfTFNCX01BU0spOworCisJLyogUFBTIDI2Wzc6MF0sIFBQ UyAyN1s3OjVdIFJFU0VSVkVEICovCisKKwkvKiBQUFMgMjcgKi8KKwlwcHNfc2RwLT5wcHNfcGF5 bG9hZC5maXJzdF9saW5lX2JwZ19vZmZzZXQgPSAodTgpZHNjX2NmZy0+Zmlyc3RfbGluZV9icGdf b2Zmc2V0OworCisJLyogUFBTIDI4LCAyOSAqLworCXBwc19zZHAtPnBwc19wYXlsb2FkLm5mbF9i cGdfb2Zmc2V0ID0gY3B1X3RvX2JlMTYoZHNjX2NmZy0+bmZsX2JwZ19vZmZzZXQpOworCisJLyog UFBTIDMwLCAzMSAqLworCXBwc19zZHAtPnBwc19wYXlsb2FkLnNsaWNlX2JwZ19vZmZzZXQgPSBj cHVfdG9fYmUxNihkc2NfY2ZnLT5zbGljZV9icGdfb2Zmc2V0KTsKKworCS8qIFBQUyAzMiwgMzMg Ki8KKwlwcHNfc2RwLT5wcHNfcGF5bG9hZC5pbml0aWFsX29mZnNldCA9IGNwdV90b19iZTE2KGRz Y19jZmctPmluaXRpYWxfb2Zmc2V0KTsKKworCS8qIFBQUyAzNCwgMzUgKi8KKwlwcHNfc2RwLT5w cHNfcGF5bG9hZC5maW5hbF9vZmZzZXQgPSBjcHVfdG9fYmUxNihkc2NfY2ZnLT5maW5hbF9vZmZz ZXQpOworCisJLyogUFBTIDM2ICovCisJcHBzX3NkcC0+cHBzX3BheWxvYWQuZmxhdG5lc3NfbWlu X3FwID0gKHU4KWRzY19jZmctPmZsYXRuZXNzX21pbl9xcDsKKworCS8qIFBQUyAzNyAqLworCXBw c19zZHAtPnBwc19wYXlsb2FkLmZsYXRuZXNzX21heF9xcCA9ICh1OClkc2NfY2ZnLT5mbGF0bmVz c19tYXhfcXA7CisKKwkvKiBQUFMgMzgsIDM5ICovCisJcHBzX3NkcC0+cHBzX3BheWxvYWQucmNf bW9kZWxfc2l6ZSA9IGNwdV90b19iZTE2KCh1MTYpRFNDX1JDX01PREVMX1NJWkVfQ09OU1QpOwor CisJLyogUFBTIDQwICovCisJcHBzX3NkcC0+cHBzX3BheWxvYWQucmNfZWRnZV9mYWN0b3IgPSAo dTgpRFNDX1JDX0VER0VfRkFDVE9SX0NPTlNUOworCisJLyogUFBTIDQxICovCisJcHBzX3NkcC0+ cHBzX3BheWxvYWQucmNfcXVhbnRfaW5jcl9saW1pdDAgPSAodTgpZHNjX2NmZy0+cmNfcXVhbnRf aW5jcl9saW1pdDA7CisKKwkvKiBQUFMgNDIgKi8KKwlwcHNfc2RwLT5wcHNfcGF5bG9hZC5yY19x dWFudF9pbmNyX2xpbWl0MSA9ICh1OClkc2NfY2ZnLT5yY19xdWFudF9pbmNyX2xpbWl0MTsKKwor CS8qIFBQUyA0MyAqLworCXBwc19zZHAtPnBwc19wYXlsb2FkLnJjX3RndF9vZmZzZXQgPSAodTgp RFNDX1JDX1RHVF9PRkZTRVRfTE9fQ09OU1QgfAorCQkodTgpRFNDX1JDX1RHVF9PRkZTRVRfSElf Q09OU1QgPDwgRFNDX1BQU19SQ19UR1RfT0ZGU0VUX0hJX1NISUZUOworCisJLyogUFBTIDQ0IC0g NTcgKi8KKwlmb3IgKGkgPSAwOyBpIDwgRFNDX05VTV9CVUZfUkFOR0VTIC0gMTsgaSsrKQorCQlw cHNfc2RwLT5wcHNfcGF5bG9hZC5yY19idWZfdGhyZXNoW2ldID0gZHNjX2NmZy0+cmNfYnVmX3Ro cmVzaFtpXTsKKworCS8qIFBQUyA1OCAtIDg3ICovCisJLyoKKwkgKiBGb3IgRFNDIHNpbmsgcHJv Z3JhbW1pbmcgdGhlIFJDIFJhbmdlIHBhcmFtZXRlciBmaWVsZHMKKwkgKiBhcmUgYXMgZm9sbG93 czogTWluX3FwWzE1OjExXSwgbWF4X3FwWzEwOjZdLCBvZmZzZXRbNTowXQorCSAqLworCWZvciAo aSA9IDA7IGkgPCBEU0NfTlVNX0JVRl9SQU5HRVM7IGkrKykgeworCQlwcHNfc2RwLT5wcHNfcGF5 bG9hZC5yY19yYW5nZV9wYXJhbWV0ZXJzW2ldID0KKwkJCSh1MTYpKChkc2NfY2ZnLT5yY19yYW5n ZV9wYXJhbXNbaV0ucmFuZ2VfbWluX3FwIDw8CisJCQkgICAgICAgRFNDX1BQU19SQ19SQU5HRV9N SU5RUF9TSElGVCkgfAorCQkJICAgICAgKGRzY19jZmctPnJjX3JhbmdlX3BhcmFtc1tpXS5yYW5n ZV9tYXhfcXAgPDwKKwkJCSAgICAgICBEU0NfUFBTX1JDX1JBTkdFX01BWFFQX1NISUZUKSB8CisJ CQkgICAgICAoZHNjX2NmZy0+cmNfcmFuZ2VfcGFyYW1zW2ldLnJhbmdlX2JwZ19vZmZzZXQpKTsK KwkJcHBzX3NkcC0+cHBzX3BheWxvYWQucmNfcmFuZ2VfcGFyYW1ldGVyc1tpXSA9IGNwdV90b19i ZTE2KHBwc19zZHAtPnBwc19wYXlsb2FkLnJjX3JhbmdlX3BhcmFtZXRlcnNbaV0pOworCX0KKwor CS8qIFBQUyA4OCAqLworCXBwc19zZHAtPnBwc19wYXlsb2FkLm5hdGl2ZV80MjJfNDIwID0gKHU4 KWRzY19jZmctPm5hdGl2ZV80MjIgfAorCQkodTgpZHNjX2NmZy0+bmF0aXZlXzQyMCA8PCBEU0Nf UFBTX05BVElWRV80MjBfU0hJRlQ7CisKKwkvKiBQUFMgODkgKi8KKwlwcHNfc2RwLT5wcHNfcGF5 bG9hZC5zZWNvbmRfbGluZV9icGdfb2Zmc2V0ID0gKHU4KWRzY19jZmctPnNlY29uZF9saW5lX2Jw Z19vZmZzZXQ7CisKKwkvKiBQUFMgOTAsIDkxICovCisJcHBzX3NkcC0+cHBzX3BheWxvYWQubnNs X2JwZ19vZmZzZXQgPSBjcHVfdG9fYmUxNihkc2NfY2ZnLT5uc2xfYnBnX29mZnNldCk7CisKKwkv KiBQUFMgOTIsIDkzICovCisJcHBzX3NkcC0+cHBzX3BheWxvYWQuc2Vjb25kX2xpbmVfb2Zmc2V0 X2FkaiA9IGNwdV90b19iZTE2KGRzY19jZmctPnNlY29uZF9saW5lX29mZnNldF9hZGopOworCisJ LyogUFBTIDk0IC0gMTI3IGFyZSBPICovCit9CitFWFBPUlRfU1lNQk9MKGRybV9kc2NfcHBzX2lu Zm9mcmFtZV9wYWNrKTsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9kc2MuaCBiL2luY2x1 ZGUvZHJtL2RybV9kc2MuaAppbmRleCBlYmQ5OWQ3Li4zMGFkYzE1IDEwMDY0NAotLS0gYS9pbmNs dWRlL2RybS9kcm1fZHNjLmgKKysrIGIvaW5jbHVkZS9kcm0vZHJtX2RzYy5oCkBAIC0yNiw2ICsy Niw3IEBACiAjaWZuZGVmIERSTV9EU0NfSF8KICNkZWZpbmUgRFJNX0RTQ19IXwogCisjaW5jbHVk ZSA8bGludXgvYnl0ZW9yZGVyL2dlbmVyaWMuaD4KICNpbmNsdWRlIDxkcm0vZHJtX2RwX2hlbHBl ci5oPgogCiAvKiBWRVNBIERpc3BsYXkgU3RyZWFtIENvbXByZXNzaW9uIERTQyAxLjIgY29uc3Rh bnRzICovCkBAIC0zOSw2ICs0MCwyMyBAQAogI2RlZmluZSBEU0NfUkNfVEdUX09GRlNFVF9ISV9D T05TVAkgICAgMwogI2RlZmluZSBEU0NfUkNfVEdUX09GRlNFVF9MT19DT05TVAkgICAgMwogCisv KiBEU0MgUFBTIGNvbnN0YW50cyBhbmQgbWFjcm9zICovCisjZGVmaW5lIERTQ19QUFNfVkVSU0lP Tl9NQUpPUl9TSElGVAkJNAorI2RlZmluZSBEU0NfUFBTX0JQQ19TSElGVAkJCTQKKyNkZWZpbmUg RFNDX1BQU19NU0JfU0hJRlQJCQk4CisjZGVmaW5lIERTQ19QUFNfTFNCX01BU0sJCQkoMHhGRiA8 PCAwKQorI2RlZmluZSBEU0NfUFBTX0JQUF9ISUdIX01BU0sJCQkoMHgzIDw8IDgpCisjZGVmaW5l IERTQ19QUFNfVkJSX0VOX1NISUZUCQkJMgorI2RlZmluZSBEU0NfUFBTX1NJTVBMRTQyMl9TSElG VAkJCTMKKyNkZWZpbmUgRFNDX1BQU19DT05WRVJUX1JHQl9TSElGVAkJNAorI2RlZmluZSBEU0Nf UFBTX0JMT0NLX1BSRURfRU5fU0hJRlQJCTUKKyNkZWZpbmUgRFNDX1BQU19JTklUX1hNSVRfREVM QVlfSElHSF9NQVNLCSgweDMgPDwgOCkKKyNkZWZpbmUgRFNDX1BQU19TQ0FMRV9ERUNfSU5UX0hJ R0hfTUFTSwkJKDB4RiA8PCA4KQorI2RlZmluZSBEU0NfUFBTX1JDX1RHVF9PRkZTRVRfSElfU0hJ RlQJCTQKKyNkZWZpbmUgRFNDX1BQU19SQ19SQU5HRV9NSU5RUF9TSElGVAkJMTEKKyNkZWZpbmUg RFNDX1BQU19SQ19SQU5HRV9NQVhRUF9TSElGVAkJNgorI2RlZmluZSBEU0NfUFBTX05BVElWRV80 MjBfU0hJRlQJCTEKKwogLyogQ29uZmlndXJhdGlvbiBmb3IgYSBzaW5nbGUgUmF0ZSBDb250cm9s IG1vZGVsIHJhbmdlICovCiBzdHJ1Y3QgZHNjX3JjX3JhbmdlX3BhcmFtZXRlcnMgewogCS8qIE1p biBRdWFudGl6YXRpb24gUGFyYW1ldGVycyBhbGxvd2VkIGZvciB0aGlzIHJhbmdlICovCkBAIC00 NzgsNCArNDk2LDggQEAgc3RydWN0IGRybV9kc2NfcHBzX2luZm9mcmFtZSB7CiAJc3RydWN0IHBp Y3R1cmVfcGFyYW1ldGVyX3NldCBwcHNfcGF5bG9hZDsKIH0gX19wYWNrZWQ7CiAKK3ZvaWQgZHJt X2RzY19kcF9wcHNfaGVhZGVyX2luaXQoc3RydWN0IGRybV9kc2NfcHBzX2luZm9mcmFtZSAqcHBz X3NkcCk7Cit2b2lkIGRybV9kc2NfcHBzX2luZm9mcmFtZV9wYWNrKHN0cnVjdCBkcm1fZHNjX3Bw c19pbmZvZnJhbWUgKnBwc19zZHAsCisJCQkJc3RydWN0IGRybV9kc2NfY29uZmlnICpkc2NfY2Zn KTsKKwogI2VuZGlmIC8qIF9EUk1fRFNDX0hfICovCi0tIAoyLjcuNAoKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApk cmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Au b3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==