From mboxrd@z Thu Jan 1 00:00:00 1970 From: Manasi Navare Subject: [PATCH v5 11/28] drm/dsc: Add helpers for DSC picture parameter set infoframes Date: Fri, 5 Oct 2018 16:22:49 -0700 Message-ID: <20181005232306.31133-12-manasi.d.navare@intel.com> References: <20181005232306.31133-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: <20181005232306.31133-1-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, dri-devel@lists.freedesktop.org Cc: Manasi Navare , Anusha Srivatsa List-Id: dri-devel@lists.freedesktop.org QWNjb3JkaW5nIHRvIERpc3BsYXkgU3RyZWFtIGNvbXByZXNzaW9uIHNwZWMgMS4yLCB0aGUgcGlj dHVyZQpwYXJhbWV0ZXIgc2V0IG1ldGFkYXRhIGlzIHNlbnQgZnJvbSBzb3VyY2UgdG8gc2luayBk ZXZpY2UKdXNpbmcgdGhlIERQIFNlY29uZGFyeSBkYXRhIHBhY2tldC4gQW4gaW5mb2ZyYW1lIGlz IGZvcm1lZApmb3IgdGhlIFBQUyBTRFAgaGVhZGVyIGFuZCBQUFMgU0RQIHBheWxvYWQgYnl0ZXMu ClRoaXMgcGF0Y2ggYWRkcyBoZWxwZXJzIHRvIGZpbGwgdGhlIFBQUyBTRFAgaGVhZGVyCmFuZCBQ UFMgU0RQIHBheWxvYWQgYWNjb3JkaW5nIHRvIHRoZSBEU0MgMS4yIHNwZWNpZmljYXRpb24uCgp2 NjoKKiBVc2UgcHJvcGVyIHNlcXVlbmNlIHBvaW50cyBmb3IgYnJlYWtpbmcgZG93biB0aGUKYXNz aWdubWVudHMgKENocmlzIFdpbHNvbikKKiBVc2UgU1BEWCBpZGVudGlmaWVyCnY1OgpEbyBub3Qg dXNlIGJpdGZpZWxkcyBmb3IgRFJNIHN0cnVjdHMgKEphbmkgTikKdjQ6CiogVXNlIERTQyBjb25z dGFudHMgZm9yIHBhcmFtcyB0aGF0IGRvbnQgY2hhbmdlIGFjcm9zcwpjb25maWd1cmF0aW9ucwp2 MzoKKiBBZGQgcmVmZXJlbmNlIHRvIGFkZGVkIGtlcm5lbC1kb2NzIGluIERvY3VtZW50YXRpb24v Z3B1L2RybS1rbXMtaGVscGVycy5yc3QKKERhbmllbCBWZXR0ZXIpCgp2MjoKKiBBZGQgRVhQT1JU X1NZTUJPTCBmb3IgdGhlIGRybSBmdW5jdGlvbnMgKE1hbmFzaSkKCkNjOiBkcmktZGV2ZWxAbGlz dHMuZnJlZWRlc2t0b3Aub3JnCkNjOiBKYW5pIE5pa3VsYSA8amFuaS5uaWt1bGFAbGludXguaW50 ZWwuY29tPgpDYzogVmlsbGUgU3lyamFsYSA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+ CkNjOiBBbnVzaGEgU3JpdmF0c2EgPGFudXNoYS5zcml2YXRzYUBpbnRlbC5jb20+CkNjOiBIYXJy eSBXZW50bGFuZCA8aGFycnkud2VudGxhbmRAYW1kLmNvbT4KU2lnbmVkLW9mZi1ieTogTWFuYXNp IE5hdmFyZSA8bWFuYXNpLmQubmF2YXJlQGludGVsLmNvbT4KQWNrZWQtYnk6IEhhcnJ5IFdlbnRs YW5kIDxoYXJyeS53ZW50bGFuZEBhbWQuY29tPgotLS0KIERvY3VtZW50YXRpb24vZ3B1L2RybS1r bXMtaGVscGVycy5yc3QgfCAgMTIgKysKIGRyaXZlcnMvZ3B1L2RybS9NYWtlZmlsZSAgICAgICAg ICAgICAgfCAgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9kcm1fZHNjLmMgICAgICAgICAgICAgfCAy MjMgKysrKysrKysrKysrKysrKysrKysrKysrKysKIGluY2x1ZGUvZHJtL2RybV9kc2MuaCAgICAg ICAgICAgICAgICAgfCAgMjIgKysrCiA0IGZpbGVzIGNoYW5nZWQsIDI1OCBpbnNlcnRpb25zKCsp LCAxIGRlbGV0aW9uKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9ncHUvZHJtL2RybV9k c2MuYwoKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ3B1L2RybS1rbXMtaGVscGVycy5yc3Qg Yi9Eb2N1bWVudGF0aW9uL2dwdS9kcm0ta21zLWhlbHBlcnMucnN0CmluZGV4IGY5Y2ZjZGNkZjAy NC4uNTBiYjcxNzEyZjgyIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dwdS9kcm0ta21zLWhl bHBlcnMucnN0CisrKyBiL0RvY3VtZW50YXRpb24vZ3B1L2RybS1rbXMtaGVscGVycy5yc3QKQEAg LTIyMyw2ICsyMjMsMTggQEAgTUlQSSBEU0kgSGVscGVyIEZ1bmN0aW9ucyBSZWZlcmVuY2UKIC4u IGtlcm5lbC1kb2M6OiBkcml2ZXJzL2dwdS9kcm0vZHJtX21pcGlfZHNpLmMKICAgIDpleHBvcnQ6 CiAKK0Rpc3BsYXkgU3RyZWFtIENvbXByZXNzaW9uIEhlbHBlciBGdW5jdGlvbnMgUmVmZXJlbmNl Cis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQor CisuLiBrZXJuZWwtZG9jOjogZHJpdmVycy9ncHUvZHJtL2RybV9kc2MuYworICAgOmRvYzogZHNj IGhlbHBlcnMKKworLi4ga2VybmVsLWRvYzo6IGluY2x1ZGUvZHJtL2RybV9kc2MuaAorICAgOmlu dGVybmFsOgorCisuLiBrZXJuZWwtZG9jOjogZHJpdmVycy9ncHUvZHJtL2RybV9kc2MuYworICAg OmV4cG9ydDoKKwogT3V0cHV0IFByb2JpbmcgSGVscGVyIEZ1bmN0aW9ucyBSZWZlcmVuY2UKID09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9NYWtlZmlsZSBiL2RyaXZlcnMvZ3B1L2RybS9NYWtlZmlsZQppbmRleCBi YzZhMTZhM2MzNmUuLjhlMzEwZmFkYjk1ZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL01h a2VmaWxlCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9NYWtlZmlsZQpAQCAtMzIsNyArMzIsNyBAQCBk cm0tJChDT05GSUdfQUdQKSArPSBkcm1fYWdwc3VwcG9ydC5vCiBkcm0tJChDT05GSUdfREVCVUdf RlMpICs9IGRybV9kZWJ1Z2ZzLm8gZHJtX2RlYnVnZnNfY3JjLm8KIGRybS0kKENPTkZJR19EUk1f TE9BRF9FRElEX0ZJUk1XQVJFKSArPSBkcm1fZWRpZF9sb2FkLm8KIAotZHJtX2ttc19oZWxwZXIt eSA6PSBkcm1fY3J0Y19oZWxwZXIubyBkcm1fZHBfaGVscGVyLm8gZHJtX3Byb2JlX2hlbHBlci5v IFwKK2RybV9rbXNfaGVscGVyLXkgOj0gZHJtX2NydGNfaGVscGVyLm8gZHJtX2RwX2hlbHBlci5v IGRybV9kc2MubyBkcm1fcHJvYmVfaGVscGVyLm8gXAogCQlkcm1fcGxhbmVfaGVscGVyLm8gZHJt X2RwX21zdF90b3BvbG9neS5vIGRybV9hdG9taWNfaGVscGVyLm8gXAogCQlkcm1fa21zX2hlbHBl cl9jb21tb24ubyBkcm1fZHBfZHVhbF9tb2RlX2hlbHBlci5vIFwKIAkJZHJtX3NpbXBsZV9rbXNf aGVscGVyLm8gZHJtX21vZGVzZXRfaGVscGVyLm8gXApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2RybV9kc2MuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZHNjLmMKbmV3IGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi4yMWFlOGQwMTVhZmQKLS0tIC9kZXYvbnVsbAorKysg Yi9kcml2ZXJzL2dwdS9kcm0vZHJtX2RzYy5jCkBAIC0wLDAgKzEsMjIzIEBACisvLyBTUERYLUxp Y2Vuc2UtSWRlbnRpZmllcjogTUlUCisvKgorICogQ29weXJpZ2h0IMKpIDIwMTggSW50ZWwgQ29y cAorICoKKyAqIEF1dGhvcjoKKyAqIE1hbmFzaSBOYXZhcmUgPG1hbmFzaS5kLm5hdmFyZUBpbnRl bC5jb20+CisgKi8KKworI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4 L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9lcnJu by5oPgorI2luY2x1ZGUgPGRybS9kcm1fZHBfaGVscGVyLmg+CisjaW5jbHVkZSA8ZHJtL2RybV9k c2MuaD4KKworLyoqCisgKiBET0M6IGRzYyBoZWxwZXJzCisgKgorICogVGhlc2UgZnVuY3Rpb25z IGNvbnRhaW4gc29tZSBjb21tb24gbG9naWMgYW5kIGhlbHBlcnMgdG8gZGVhbCB3aXRoIFZFU0EK KyAqIERpc3BsYXkgU3RyZWFtIENvbXByZXNzaW9uIHN0YW5kYXJkIHJlcXVpcmVkIGZvciBEU0Mg b24gRGlzcGxheSBQb3J0L2VEUCBvcgorICogTUlQSSBkaXNwbGF5IGludGVyZmFjZXMuCisgKi8K KworLyoqCisgKiBkcm1fZHNjX2RwX3Bwc19oZWFkZXJfaW5pdCgpIC0gSW5pdGlhbGl6ZXMgdGhl IFBQUyBIZWFkZXIKKyAqIGZvciBEaXNwbGF5UG9ydCBhcyBwZXIgdGhlIERQIDEuNCBzcGVjLgor ICogQHBwc19zZHA6IFNlY29uZGFyeSBkYXRhIHBhY2tldCBmb3IgRFNDIFBpY3R1cmUgUGFyYW1l dGVyIFNldAorICovCit2b2lkIGRybV9kc2NfZHBfcHBzX2hlYWRlcl9pbml0KHN0cnVjdCBkcm1f ZHNjX3Bwc19pbmZvZnJhbWUgKnBwc19zZHApCit7CisJbWVtc2V0KCZwcHNfc2RwLT5wcHNfaGVh ZGVyLCAwLCBzaXplb2YocHBzX3NkcC0+cHBzX2hlYWRlcikpOworCisJcHBzX3NkcC0+cHBzX2hl YWRlci5IQjEgPSBEUF9TRFBfUFBTOworCXBwc19zZHAtPnBwc19oZWFkZXIuSEIyID0gRFBfU0RQ X1BQU19IRUFERVJfUEFZTE9BRF9CWVRFU19NSU5VU18xOworfQorRVhQT1JUX1NZTUJPTChkcm1f ZHNjX2RwX3Bwc19oZWFkZXJfaW5pdCk7CisKKy8qKgorICogZHJtX2RzY19wcHNfaW5mb2ZyYW1l X3BhY2soKSAtIFBvcHVsYXRlcyB0aGUgRFNDIFBQUyBpbmZvZnJhbWUKKyAqIHVzaW5nIHRoZSBE U0MgY29uZmlndXJhdGlvbiBwYXJhbWV0ZXJzIGluIHRoZSBvcmRlciBleHBlY3RlZAorICogYnkg dGhlIERTQyBEaXNwbGF5IFNpbmsgZGV2aWNlLiBGb3IgdGhlIERTQywgdGhlIHNpbmsgZGV2aWNl CisgKiBleHBlY3RzIHRoZSBQUFMgcGF5bG9hZCBpbiB0aGUgYmlnIGVuZGlhbiBmb3JtYXQgZm9y IHRoZSBmaWVsZHMKKyAqIHRoYXQgc3BhbiBtb3JlIHRoYW4gMSBieXRlLgorICoKKyAqIEBwcHNf c2RwOgorICogU2Vjb25kYXJ5IGRhdGEgcGFja2V0IGZvciBEU0MgUGljdHVyZSBQYXJhbWV0ZXIg U2V0CisgKiBAZHNjX2NmZzoKKyAqIERTQyBDb25maWd1cmF0aW9uIGRhdGEgZmlsbGVkIGJ5IGRy aXZlcgorICovCit2b2lkIGRybV9kc2NfcHBzX2luZm9mcmFtZV9wYWNrKHN0cnVjdCBkcm1fZHNj X3Bwc19pbmZvZnJhbWUgKnBwc19zZHAsCisJCQkJc3RydWN0IGRybV9kc2NfY29uZmlnICpkc2Nf Y2ZnKQoreworCXU4IGkgPSAwOworCisJbWVtc2V0KCZwcHNfc2RwLT5wcHNfcGF5bG9hZCwgMCwg c2l6ZW9mKHBwc19zZHAtPnBwc19wYXlsb2FkKSk7CisKKwkvKiBQUFMgMCAqLworCXBwc19zZHAt PnBwc19wYXlsb2FkLmRzY192ZXJzaW9uID0KKwkJZHNjX2NmZy0+ZHNjX3ZlcnNpb25fbWlub3Ig fAorCQlkc2NfY2ZnLT5kc2NfdmVyc2lvbl9tYWpvciA8PCBEU0NfUFBTX1ZFUlNJT05fTUFKT1Jf U0hJRlQ7CisKKwkvKiBQUFMgMSwgMiBpcyAwICovCisKKwkvKiBQUFMgMyAqLworCXBwc19zZHAt PnBwc19wYXlsb2FkLnBwc18zID0KKwkJZHNjX2NmZy0+bGluZV9idWZfZGVwdGggfAorCQlkc2Nf Y2ZnLT5iaXRzX3Blcl9jb21wb25lbnQgPDwgRFNDX1BQU19CUENfU0hJRlQ7CisKKwkvKiBQUFMg NCAqLworCXBwc19zZHAtPnBwc19wYXlsb2FkLnBwc180ID0KKwkJKHU4KSgoZHNjX2NmZy0+Yml0 c19wZXJfcGl4ZWwgJiBEU0NfUFBTX0JQUF9ISUdIX01BU0spID4+CisJCSAgICAgRFNDX1BQU19N U0JfU0hJRlQpIHwKKwkJKHU4KWRzY19jZmctPnZicl9lbmFibGUgPDwgRFNDX1BQU19WQlJfRU5f U0hJRlQgfAorCQkodTgpZHNjX2NmZy0+ZW5hYmxlNDIyIDw8IERTQ19QUFNfU0lNUExFNDIyX1NI SUZUIHwKKwkJKHU4KWRzY19jZmctPmNvbnZlcnRfcmdiIDw8IERTQ19QUFNfQ09OVkVSVF9SR0Jf U0hJRlQgfAorCQkodTgpZHNjX2NmZy0+YmxvY2tfcHJlZF9lbmFibGUgPDwgRFNDX1BQU19CTE9D S19QUkVEX0VOX1NISUZUOworCisJLyogUFBTIDUgKi8KKwlwcHNfc2RwLT5wcHNfcGF5bG9hZC5i aXRzX3Blcl9waXhlbF9sb3cgPQorCQkodTgpKGRzY19jZmctPmJpdHNfcGVyX3BpeGVsICYgRFND X1BQU19MU0JfTUFTSyk7CisKKwkvKgorCSAqIFRoZSBEU0MgcGFuZWwgZXhwZWN0cyB0aGUgUFBT IHBhY2tldCB0byBoYXZlIGJpZyBlbmRpYW4gZm9ybWF0CisJICogZm9yIGRhdGEgc3Bhbm5pbmcg MiBieXRlcy4gVXNlIGEgbWFjcm8gY3B1X3RvX2JlMTYoKSB0byBjb252ZXJ0CisJICogdG8gYmln IGVuZGlhbiBmb3JtYXQuIElmIGZvcm1hdCBpcyBsaXR0bGUgZW5kaWFuLCBpdCB3aWxsIHN3YXAK KwkgKiBieXRlcyB0byBjb252ZXJ0IHRvIEJpZyBlbmRpYW4gZWxzZSBrZWVwIGl0IHVuY2hhbmdl ZC4KKwkgKi8KKworCS8qIFBQUyA2LCA3ICovCisJcHBzX3NkcC0+cHBzX3BheWxvYWQucGljX2hl aWdodCA9IGNwdV90b19iZTE2KGRzY19jZmctPnBpY19oZWlnaHQpOworCisJLyogUFBTIDgsIDkg Ki8KKwlwcHNfc2RwLT5wcHNfcGF5bG9hZC5waWNfd2lkdGggPSBjcHVfdG9fYmUxNihkc2NfY2Zn LT5waWNfd2lkdGgpOworCisJLyogUFBTIDEwLCAxMSAqLworCXBwc19zZHAtPnBwc19wYXlsb2Fk LnNsaWNlX2hlaWdodCA9IGNwdV90b19iZTE2KGRzY19jZmctPnNsaWNlX2hlaWdodCk7CisKKwkv KiBQUFMgMTIsIDEzICovCisJcHBzX3NkcC0+cHBzX3BheWxvYWQuc2xpY2Vfd2lkdGggPSBjcHVf dG9fYmUxNihkc2NfY2ZnLT5zbGljZV93aWR0aCk7CisKKwkvKiBQUFMgMTQsIDE1ICovCisJcHBz X3NkcC0+cHBzX3BheWxvYWQuY2h1bmtfc2l6ZSA9IGNwdV90b19iZTE2KGRzY19jZmctPnNsaWNl X2NodW5rX3NpemUpOworCisJLyogUFBTIDE2ICovCisJcHBzX3NkcC0+cHBzX3BheWxvYWQuaW5p dGlhbF94bWl0X2RlbGF5X2hpZ2ggPQorCQkodTgpKChkc2NfY2ZnLT5pbml0aWFsX3htaXRfZGVs YXkgJgorCQkgICAgICBEU0NfUFBTX0lOSVRfWE1JVF9ERUxBWV9ISUdIX01BU0spID4+CisJCSAg ICAgRFNDX1BQU19NU0JfU0hJRlQpOworCisJLyogUFBTIDE3ICovCisJcHBzX3NkcC0+cHBzX3Bh eWxvYWQuaW5pdGlhbF94bWl0X2RlbGF5X2xvdyA9CisJCSh1OCkoZHNjX2NmZy0+aW5pdGlhbF94 bWl0X2RlbGF5ICYgRFNDX1BQU19MU0JfTUFTSyk7CisKKwkvKiBQUFMgMTgsIDE5ICovCisJcHBz X3NkcC0+cHBzX3BheWxvYWQuaW5pdGlhbF9kZWNfZGVsYXkgPQorCQljcHVfdG9fYmUxNihkc2Nf Y2ZnLT5pbml0aWFsX2RlY19kZWxheSk7CisKKwkvKiBQUFMgMjAgaXMgMCAqLworCisJLyogUFBT IDIxICovCisJcHBzX3NkcC0+cHBzX3BheWxvYWQuaW5pdGlhbF9zY2FsZV92YWx1ZSA9CisJCSh1 OClkc2NfY2ZnLT5pbml0aWFsX3NjYWxlX3ZhbHVlOworCisJLyogUFBTIDIyLCAyMyAqLworCXBw c19zZHAtPnBwc19wYXlsb2FkLnNjYWxlX2luY3JlbWVudF9pbnRlcnZhbCA9CisJCWNwdV90b19i ZTE2KGRzY19jZmctPnNjYWxlX2luY3JlbWVudF9pbnRlcnZhbCk7CisKKwkvKiBQUFMgMjQgKi8K KwlwcHNfc2RwLT5wcHNfcGF5bG9hZC5zY2FsZV9kZWNyZW1lbnRfaW50ZXJ2YWxfaGlnaCA9CisJ CSh1OCkoKGRzY19jZmctPnNjYWxlX2RlY3JlbWVudF9pbnRlcnZhbCAmCisJCSAgICAgIERTQ19Q UFNfU0NBTEVfREVDX0lOVF9ISUdIX01BU0spID4+CisJCSAgICAgRFNDX1BQU19NU0JfU0hJRlQp OworCisJLyogUFBTIDI1ICovCisJcHBzX3NkcC0+cHBzX3BheWxvYWQuc2NhbGVfZGVjcmVtZW50 X2ludGVydmFsX2xvdyA9CisJCSh1OCkoZHNjX2NmZy0+c2NhbGVfZGVjcmVtZW50X2ludGVydmFs ICYgRFNDX1BQU19MU0JfTUFTSyk7CisKKwkvKiBQUFMgMjZbNzowXSwgUFBTIDI3Wzc6NV0gUkVT RVJWRUQgKi8KKworCS8qIFBQUyAyNyAqLworCXBwc19zZHAtPnBwc19wYXlsb2FkLmZpcnN0X2xp bmVfYnBnX29mZnNldCA9CisJCSh1OClkc2NfY2ZnLT5maXJzdF9saW5lX2JwZ19vZmZzZXQ7CisK KwkvKiBQUFMgMjgsIDI5ICovCisJcHBzX3NkcC0+cHBzX3BheWxvYWQubmZsX2JwZ19vZmZzZXQg PQorCQljcHVfdG9fYmUxNihkc2NfY2ZnLT5uZmxfYnBnX29mZnNldCk7CisKKwkvKiBQUFMgMzAs IDMxICovCisJcHBzX3NkcC0+cHBzX3BheWxvYWQuc2xpY2VfYnBnX29mZnNldCA9CisJCWNwdV90 b19iZTE2KGRzY19jZmctPnNsaWNlX2JwZ19vZmZzZXQpOworCisJLyogUFBTIDMyLCAzMyAqLwor CXBwc19zZHAtPnBwc19wYXlsb2FkLmluaXRpYWxfb2Zmc2V0ID0KKwkJY3B1X3RvX2JlMTYoZHNj X2NmZy0+aW5pdGlhbF9vZmZzZXQpOworCisJLyogUFBTIDM0LCAzNSAqLworCXBwc19zZHAtPnBw c19wYXlsb2FkLmZpbmFsX29mZnNldCA9IGNwdV90b19iZTE2KGRzY19jZmctPmZpbmFsX29mZnNl dCk7CisKKwkvKiBQUFMgMzYgKi8KKwlwcHNfc2RwLT5wcHNfcGF5bG9hZC5mbGF0bmVzc19taW5f cXAgPSAodTgpZHNjX2NmZy0+ZmxhdG5lc3NfbWluX3FwOworCisJLyogUFBTIDM3ICovCisJcHBz X3NkcC0+cHBzX3BheWxvYWQuZmxhdG5lc3NfbWF4X3FwID0gKHU4KWRzY19jZmctPmZsYXRuZXNz X21heF9xcDsKKworCS8qIFBQUyAzOCwgMzkgKi8KKwlwcHNfc2RwLT5wcHNfcGF5bG9hZC5yY19t b2RlbF9zaXplID0KKwkJY3B1X3RvX2JlMTYoKHUxNilEU0NfUkNfTU9ERUxfU0laRV9DT05TVCk7 CisKKwkvKiBQUFMgNDAgKi8KKwlwcHNfc2RwLT5wcHNfcGF5bG9hZC5yY19lZGdlX2ZhY3RvciA9 ICh1OClEU0NfUkNfRURHRV9GQUNUT1JfQ09OU1Q7CisKKwkvKiBQUFMgNDEgKi8KKwlwcHNfc2Rw LT5wcHNfcGF5bG9hZC5yY19xdWFudF9pbmNyX2xpbWl0MCA9CisJCSh1OClkc2NfY2ZnLT5yY19x dWFudF9pbmNyX2xpbWl0MDsKKworCS8qIFBQUyA0MiAqLworCXBwc19zZHAtPnBwc19wYXlsb2Fk LnJjX3F1YW50X2luY3JfbGltaXQxID0KKwkJKHU4KWRzY19jZmctPnJjX3F1YW50X2luY3JfbGlt aXQxOworCisJLyogUFBTIDQzICovCisJcHBzX3NkcC0+cHBzX3BheWxvYWQucmNfdGd0X29mZnNl dCA9ICh1OClEU0NfUkNfVEdUX09GRlNFVF9MT19DT05TVCB8CisJCSh1OClEU0NfUkNfVEdUX09G RlNFVF9ISV9DT05TVCA8PCBEU0NfUFBTX1JDX1RHVF9PRkZTRVRfSElfU0hJRlQ7CisKKwkvKiBQ UFMgNDQgLSA1NyAqLworCWZvciAoaSA9IDA7IGkgPCBEU0NfTlVNX0JVRl9SQU5HRVMgLSAxOyBp KyspCisJCXBwc19zZHAtPnBwc19wYXlsb2FkLnJjX2J1Zl90aHJlc2hbaV0gPQorCQkJZHNjX2Nm Zy0+cmNfYnVmX3RocmVzaFtpXTsKKworCS8qIFBQUyA1OCAtIDg3ICovCisJLyoKKwkgKiBGb3Ig RFNDIHNpbmsgcHJvZ3JhbW1pbmcgdGhlIFJDIFJhbmdlIHBhcmFtZXRlciBmaWVsZHMKKwkgKiBh cmUgYXMgZm9sbG93czogTWluX3FwWzE1OjExXSwgbWF4X3FwWzEwOjZdLCBvZmZzZXRbNTowXQor CSAqLworCWZvciAoaSA9IDA7IGkgPCBEU0NfTlVNX0JVRl9SQU5HRVM7IGkrKykgeworCQlwcHNf c2RwLT5wcHNfcGF5bG9hZC5yY19yYW5nZV9wYXJhbWV0ZXJzW2ldID0KKwkJCSh1MTYpKChkc2Nf Y2ZnLT5yY19yYW5nZV9wYXJhbXNbaV0ucmFuZ2VfbWluX3FwIDw8CisJCQkgICAgICAgRFNDX1BQ U19SQ19SQU5HRV9NSU5RUF9TSElGVCkgfAorCQkJICAgICAgKGRzY19jZmctPnJjX3JhbmdlX3Bh cmFtc1tpXS5yYW5nZV9tYXhfcXAgPDwKKwkJCSAgICAgICBEU0NfUFBTX1JDX1JBTkdFX01BWFFQ X1NISUZUKSB8CisJCQkgICAgICAoZHNjX2NmZy0+cmNfcmFuZ2VfcGFyYW1zW2ldLnJhbmdlX2Jw Z19vZmZzZXQpKTsKKwkJcHBzX3NkcC0+cHBzX3BheWxvYWQucmNfcmFuZ2VfcGFyYW1ldGVyc1tp XSA9CisJCQljcHVfdG9fYmUxNihwcHNfc2RwLT5wcHNfcGF5bG9hZC5yY19yYW5nZV9wYXJhbWV0 ZXJzW2ldKTsKKwl9CisKKwkvKiBQUFMgODggKi8KKwlwcHNfc2RwLT5wcHNfcGF5bG9hZC5uYXRp dmVfNDIyXzQyMCA9ICh1OClkc2NfY2ZnLT5uYXRpdmVfNDIyIHwKKwkJKHU4KWRzY19jZmctPm5h dGl2ZV80MjAgPDwgRFNDX1BQU19OQVRJVkVfNDIwX1NISUZUOworCisJLyogUFBTIDg5ICovCisJ cHBzX3NkcC0+cHBzX3BheWxvYWQuc2Vjb25kX2xpbmVfYnBnX29mZnNldCA9CisJCSh1OClkc2Nf Y2ZnLT5zZWNvbmRfbGluZV9icGdfb2Zmc2V0OworCisJLyogUFBTIDkwLCA5MSAqLworCXBwc19z ZHAtPnBwc19wYXlsb2FkLm5zbF9icGdfb2Zmc2V0ID0KKwkJY3B1X3RvX2JlMTYoZHNjX2NmZy0+ bnNsX2JwZ19vZmZzZXQpOworCisJLyogUFBTIDkyLCA5MyAqLworCXBwc19zZHAtPnBwc19wYXls b2FkLnNlY29uZF9saW5lX29mZnNldF9hZGogPQorCQljcHVfdG9fYmUxNihkc2NfY2ZnLT5zZWNv bmRfbGluZV9vZmZzZXRfYWRqKTsKKworCS8qIFBQUyA5NCAtIDEyNyBhcmUgTyAqLworfQorRVhQ T1JUX1NZTUJPTChkcm1fZHNjX3Bwc19pbmZvZnJhbWVfcGFjayk7CmRpZmYgLS1naXQgYS9pbmNs dWRlL2RybS9kcm1fZHNjLmggYi9pbmNsdWRlL2RybS9kcm1fZHNjLmgKaW5kZXggOTg2Zjk2MmYz OGQ0Li4wZTVlMzM2OGQ2NDUgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvZHJtL2RybV9kc2MuaAorKysg Yi9pbmNsdWRlL2RybS9kcm1fZHNjLmgKQEAgLTgsNiArOCw3IEBACiAjaWZuZGVmIERSTV9EU0Nf SF8KICNkZWZpbmUgRFJNX0RTQ19IXwogCisjaW5jbHVkZSA8bGludXgvYnl0ZW9yZGVyL2dlbmVy aWMuaD4KICNpbmNsdWRlIDxkcm0vZHJtX2RwX2hlbHBlci5oPgogCiAvKiBWRVNBIERpc3BsYXkg U3RyZWFtIENvbXByZXNzaW9uIERTQyAxLjIgY29uc3RhbnRzICovCkBAIC0yNCw2ICsyNSwyMyBA QAogI2RlZmluZSBEU0NfUkNfVEdUX09GRlNFVF9ISV9DT05TVAkgICAgMwogI2RlZmluZSBEU0Nf UkNfVEdUX09GRlNFVF9MT19DT05TVAkgICAgMwogCisvKiBEU0MgUFBTIGNvbnN0YW50cyBhbmQg bWFjcm9zICovCisjZGVmaW5lIERTQ19QUFNfVkVSU0lPTl9NQUpPUl9TSElGVAkJNAorI2RlZmlu ZSBEU0NfUFBTX0JQQ19TSElGVAkJCTQKKyNkZWZpbmUgRFNDX1BQU19NU0JfU0hJRlQJCQk4Cisj ZGVmaW5lIERTQ19QUFNfTFNCX01BU0sJCQkoMHhGRiA8PCAwKQorI2RlZmluZSBEU0NfUFBTX0JQ UF9ISUdIX01BU0sJCQkoMHgzIDw8IDgpCisjZGVmaW5lIERTQ19QUFNfVkJSX0VOX1NISUZUCQkJ MgorI2RlZmluZSBEU0NfUFBTX1NJTVBMRTQyMl9TSElGVAkJCTMKKyNkZWZpbmUgRFNDX1BQU19D T05WRVJUX1JHQl9TSElGVAkJNAorI2RlZmluZSBEU0NfUFBTX0JMT0NLX1BSRURfRU5fU0hJRlQJ CTUKKyNkZWZpbmUgRFNDX1BQU19JTklUX1hNSVRfREVMQVlfSElHSF9NQVNLCSgweDMgPDwgOCkK KyNkZWZpbmUgRFNDX1BQU19TQ0FMRV9ERUNfSU5UX0hJR0hfTUFTSwkJKDB4RiA8PCA4KQorI2Rl ZmluZSBEU0NfUFBTX1JDX1RHVF9PRkZTRVRfSElfU0hJRlQJCTQKKyNkZWZpbmUgRFNDX1BQU19S Q19SQU5HRV9NSU5RUF9TSElGVAkJMTEKKyNkZWZpbmUgRFNDX1BQU19SQ19SQU5HRV9NQVhRUF9T SElGVAkJNgorI2RlZmluZSBEU0NfUFBTX05BVElWRV80MjBfU0hJRlQJCTEKKwogLyogQ29uZmln dXJhdGlvbiBmb3IgYSBzaW5nbGUgUmF0ZSBDb250cm9sIG1vZGVsIHJhbmdlICovCiBzdHJ1Y3Qg ZHNjX3JjX3JhbmdlX3BhcmFtZXRlcnMgewogCS8qIE1pbiBRdWFudGl6YXRpb24gUGFyYW1ldGVy cyBhbGxvd2VkIGZvciB0aGlzIHJhbmdlICovCkBAIC00NjMsNCArNDgxLDggQEAgc3RydWN0IGRy bV9kc2NfcHBzX2luZm9mcmFtZSB7CiAJc3RydWN0IHBpY3R1cmVfcGFyYW1ldGVyX3NldCBwcHNf cGF5bG9hZDsKIH0gX19wYWNrZWQ7CiAKK3ZvaWQgZHJtX2RzY19kcF9wcHNfaGVhZGVyX2luaXQo c3RydWN0IGRybV9kc2NfcHBzX2luZm9mcmFtZSAqcHBzX3NkcCk7Cit2b2lkIGRybV9kc2NfcHBz X2luZm9mcmFtZV9wYWNrKHN0cnVjdCBkcm1fZHNjX3Bwc19pbmZvZnJhbWUgKnBwc19zZHAsCisJ CQkJc3RydWN0IGRybV9kc2NfY29uZmlnICpkc2NfY2ZnKTsKKwogI2VuZGlmIC8qIF9EUk1fRFND X0hfICovCi0tIAoyLjE4LjAKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNr dG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2Ry aS1kZXZlbAo=