From mboxrd@z Thu Jan 1 00:00:00 1970 From: Manasi Navare Subject: [PATCH v3] drm/dsc: Add kernel documentation for DRM DP DSC helpers Date: Wed, 6 Feb 2019 13:31:48 -0800 Message-ID: <20190206213148.21390-1-manasi.d.navare@intel.com> References: <20190206071634.15817-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: <20190206071634.15817-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: Daniel Vetter List-Id: intel-gfx@lists.freedesktop.org VGhpcyBwYXRjaCBhZGRzIGFwcHJvcHJpYXRlIGtlcm5lbCBkb2N1bWVudGF0aW9uIGZvciBEUk0g RFAgaGVscGVycwp1c2VkIGZvciBlbmFibGluZyBEaXNwbGF5IFN0cmVhbSBjb21wcmVzc2lvbiBm dW5jdGlvbmFsaXR5IGluCmRybV9kcF9oZWxwZXIuaCBhbmQgZHJtX2RwX2hlbHBlci5jIGFzIHdl bGwgYXMgZm9yIHRoZSBEU0Mgc3BlYwpyZWxhdGVkIHN0cnVjdHVyZSBkZWZpbml0aW9ucyBhbmQg aGVscGVycyBpbiBkcm1fZHNjLmMgYW5kIGRybV9kc2MuaApBbHNvIGFkZCBsaW5rcyBiZXR3ZWVu IHRoZSBmdW5jdGlvbnMgYW5kIHN0cnVjdHVyZXMgaW4gdGhlIGRvY3VtZW50YXRpb24uCgp2MzoK KiBGaXggdGhlIGNoZWNrcGF0Y2ggd2FybmluZ3MgKFNlYW4gUGF1bCkKdjI6CiogQWRkIGlubGlu ZSBjb21tZW50cyBmb3IgbG9uZ2VyIHN0cnVjdHMgKERhbmllbCBWZXR0ZXIpCiogU3BsaXQgdGhl IHN1bW1hcnkgYW5kIGRlc2NyaXB0aW9uIChEYW5pZWwgVmV0dGVyKQoKU3VnZ2VzdGVkLWJ5OiBE YW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVyQGludGVsLmNvbT4KU3VnZ2VzdGVkLWJ5OiBTZWFu IFBhdWwgPHNlYW5AcG9vcmx5LnJ1bj4KQ2M6IERhbmllbCBWZXR0ZXIgPGRhbmllbC52ZXR0ZXJA aW50ZWwuY29tPgpDYzogU2VhbiBQYXVsIDxzZWFuQHBvb3JseS5ydW4+ClNpZ25lZC1vZmYtYnk6 IE1hbmFzaSBOYXZhcmUgPG1hbmFzaS5kLm5hdmFyZUBpbnRlbC5jb20+CkFja2VkLWJ5OiBTZWFu IFBhdWwgPHNlYW5AcG9vcmx5LnJ1bj4KUmV2aWV3ZWQtYnk6IERhbmllbCBWZXR0ZXIgPGRhbmll bC52ZXR0ZXJAaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9kcm1fZHBfaGVscGVyLmMg fCAgNDcgKysrKysrLQogZHJpdmVycy9ncHUvZHJtL2RybV9kc2MuYyAgICAgICB8ICAzMCArKyst CiBpbmNsdWRlL2RybS9kcm1fZHBfaGVscGVyLmggICAgIHwgIDE1ICstCiBpbmNsdWRlL2RybS9k cm1fZHNjLmggICAgICAgICAgIHwgMjMzICsrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0t CiA0IGZpbGVzIGNoYW5nZWQsIDI1OSBpbnNlcnRpb25zKCspLCA2NiBkZWxldGlvbnMoLSkKCmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2RwX2hlbHBlci5jIGIvZHJpdmVycy9ncHUv ZHJtL2RybV9kcF9oZWxwZXIuYwppbmRleCA1NDEyMGI2MzE5ZTcuLjU0YTY0MTRjNWQ5NiAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9kcF9oZWxwZXIuYworKysgYi9kcml2ZXJzL2dw dS9kcm0vZHJtX2RwX2hlbHBlci5jCkBAIC0xMzYwLDcgKzEzNjAsMjAgQEAgaW50IGRybV9kcF9y ZWFkX2Rlc2Moc3RydWN0IGRybV9kcF9hdXggKmF1eCwgc3RydWN0IGRybV9kcF9kZXNjICpkZXNj LAogRVhQT1JUX1NZTUJPTChkcm1fZHBfcmVhZF9kZXNjKTsKIAogLyoqCi0gKiBEUk0gRFAgSGVs cGVycyBmb3IgRFNDCisgKiBkcm1fZHBfZHNjX3NpbmtfbWF4X3NsaWNlX2NvdW50KCkgLSBHZXQg dGhlIG1heCBzbGljZSBjb3VudAorICogc3VwcG9ydGVkIGJ5IHRoZSBEU0Mgc2luay4KKyAqIEBk c2NfZHBjZDogRFNDIGNhcGFiaWxpdGllcyBmcm9tIERQQ0QKKyAqIEBpc19lZHA6IHRydWUgaWYg aXRzIGVEUCwgZmFsc2UgZm9yIERQCisgKgorICogUmVhZCB0aGUgc2xpY2UgY2FwYWJpbGl0aWVz IERQQ0QgcmVnaXN0ZXIgZnJvbSBEU0Mgc2luayB0byBnZXQKKyAqIHRoZSBtYXhpbXVtIHNsaWNl IGNvdW50IHN1cHBvcnRlZC4gVGhpcyBpcyB1c2VkIHRvIHBvcHVsYXRlCisgKiB0aGUgRFNDIHBh cmFtZXRlcnMgaW4gdGhlICZzdHJ1Y3QgZHJtX2RzY19jb25maWcgYnkgdGhlIGRyaXZlci4KKyAq IERyaXZlciBjcmVhdGVzIGFuIGluZm9mcmFtZSB1c2luZyB0aGVzZSBwYXJhbWV0ZXJzIHRvIHBv cHVsYXRlCisgKiAmc3RydWN0IGRybV9kc2NfcHBzX2luZm9mcmFtZS4gVGhlc2UgYXJlIHNlbnQg dG8gdGhlIHNpbmsgdXNpbmcgRFNDCisgKiBpbmZvZnJhbWUgdXNpbmcgdGhlIGhlbHBlciBmdW5j dGlvbiBkcm1fZHNjX3Bwc19pbmZvZnJhbWVfcGFjaygpCisgKgorICogUmV0dXJuczoKKyAqIE1h eGltdW0gc2xpY2UgY291bnQgc3VwcG9ydGVkIGJ5IERTQyBzaW5rIG9yIDAgaXRzIGludmFsaWQK ICAqLwogdTggZHJtX2RwX2RzY19zaW5rX21heF9zbGljZV9jb3VudChjb25zdCB1OCBkc2NfZHBj ZFtEUF9EU0NfUkVDRUlWRVJfQ0FQX1NJWkVdLAogCQkJCSAgIGJvb2wgaXNfZWRwKQpAQCAtMTQw NSw2ICsxNDE4LDIxIEBAIHU4IGRybV9kcF9kc2Nfc2lua19tYXhfc2xpY2VfY291bnQoY29uc3Qg dTggZHNjX2RwY2RbRFBfRFNDX1JFQ0VJVkVSX0NBUF9TSVpFXSwKIH0KIEVYUE9SVF9TWU1CT0wo ZHJtX2RwX2RzY19zaW5rX21heF9zbGljZV9jb3VudCk7CiAKKy8qKgorICogZHJtX2RwX2RzY19z aW5rX2xpbmVfYnVmX2RlcHRoKCkgLSBHZXQgdGhlIGxpbmUgYnVmZmVyIGRlcHRoIGluIGJpdHMK KyAqIEBkc2NfZHBjZDogRFNDIGNhcGFiaWxpdGllcyBmcm9tIERQQ0QKKyAqCisgKiBSZWFkIHRo ZSBEU0MgRFBDRCByZWdpc3RlciB0byBwYXJzZSB0aGUgbGluZSBidWZmZXIgZGVwdGggaW4gYml0 cyB3aGljaCBpcworICogbnVtYmVyIG9mIGJpdHMgb2YgcHJlY2lzaW9uIHdpdGhpbiB0aGUgZGVj b2RlciBsaW5lIGJ1ZmZlciBzdXBwb3J0ZWQgYnkKKyAqIHRoZSBEU0Mgc2luay4gVGhpcyBpcyB1 c2VkIHRvIHBvcHVsYXRlIHRoZSBEU0MgcGFyYW1ldGVycyBpbiB0aGUKKyAqICZzdHJ1Y3QgZHJt X2RzY19jb25maWcgYnkgdGhlIGRyaXZlci4KKyAqIERyaXZlciBjcmVhdGVzIGFuIGluZm9mcmFt ZSB1c2luZyB0aGVzZSBwYXJhbWV0ZXJzIHRvIHBvcHVsYXRlCisgKiAmc3RydWN0IGRybV9kc2Nf cHBzX2luZm9mcmFtZS4gVGhlc2UgYXJlIHNlbnQgdG8gdGhlIHNpbmsgdXNpbmcgRFNDCisgKiBp bmZvZnJhbWUgdXNpbmcgdGhlIGhlbHBlciBmdW5jdGlvbiBkcm1fZHNjX3Bwc19pbmZvZnJhbWVf cGFjaygpCisgKgorICogUmV0dXJuczoKKyAqIExpbmUgYnVmZmVyIGRlcHRoIHN1cHBvcnRlZCBi eSBEU0MgcGFuZWwgb3IgMCBpdHMgaW52YWxpZAorICovCiB1OCBkcm1fZHBfZHNjX3NpbmtfbGlu ZV9idWZfZGVwdGgoY29uc3QgdTggZHNjX2RwY2RbRFBfRFNDX1JFQ0VJVkVSX0NBUF9TSVpFXSkK IHsKIAl1OCBsaW5lX2J1Zl9kZXB0aCA9IGRzY19kcGNkW0RQX0RTQ19MSU5FX0JVRl9CSVRfREVQ VEggLSBEUF9EU0NfU1VQUE9SVF07CkBAIC0xNDM0LDYgKzE0NjIsMjMgQEAgdTggZHJtX2RwX2Rz Y19zaW5rX2xpbmVfYnVmX2RlcHRoKGNvbnN0IHU4IGRzY19kcGNkW0RQX0RTQ19SRUNFSVZFUl9D QVBfU0laRV0pCiB9CiBFWFBPUlRfU1lNQk9MKGRybV9kcF9kc2Nfc2lua19saW5lX2J1Zl9kZXB0 aCk7CiAKKy8qKgorICogZHJtX2RwX2RzY19zaW5rX3N1cHBvcnRlZF9pbnB1dF9icGNzKCkgLSBH ZXQgYWxsIHRoZSBpbnB1dCBiaXRzIHBlciBjb21wb25lbnQKKyAqIHZhbHVlcyBzdXBwb3J0ZWQg YnkgdGhlIERTQyBzaW5rLgorICogQGRzY19kcGNkOiBEU0MgY2FwYWJpbGl0aWVzIGZyb20gRFBD RAorICogQGRzY19icGM6IEFuIGFycmF5IHRvIGJlIGZpbGxlZCBieSB0aGlzIGhlbHBlciB3aXRo IHN1cHBvcnRlZAorICogICAgICAgICAgIGlucHV0IGJwY3MuCisgKgorICogUmVhZCB0aGUgRFND IERQQ0QgZnJvbSB0aGUgc2luayBkZXZpY2UgdG8gcGFyc2UgdGhlIHN1cHBvcnRlZCBiaXRzIHBl cgorICogY29tcG9uZW50IHZhbHVlcy4gVGhpcyBpcyB1c2VkIHRvIHBvcHVsYXRlIHRoZSBEU0Mg cGFyYW1ldGVycworICogaW4gdGhlICZzdHJ1Y3QgZHJtX2RzY19jb25maWcgYnkgdGhlIGRyaXZl ci4KKyAqIERyaXZlciBjcmVhdGVzIGFuIGluZm9mcmFtZSB1c2luZyB0aGVzZSBwYXJhbWV0ZXJz IHRvIHBvcHVsYXRlCisgKiAmc3RydWN0IGRybV9kc2NfcHBzX2luZm9mcmFtZS4gVGhlc2UgYXJl IHNlbnQgdG8gdGhlIHNpbmsgdXNpbmcgRFNDCisgKiBpbmZvZnJhbWUgdXNpbmcgdGhlIGhlbHBl ciBmdW5jdGlvbiBkcm1fZHNjX3Bwc19pbmZvZnJhbWVfcGFjaygpCisgKgorICogUmV0dXJuczoK KyAqIE51bWJlciBvZiBpbnB1dCBCUEMgdmFsdWVzIHBhcnNlZCBmcm9tIHRoZSBEUENECisgKi8K IGludCBkcm1fZHBfZHNjX3Npbmtfc3VwcG9ydGVkX2lucHV0X2JwY3MoY29uc3QgdTggZHNjX2Rw Y2RbRFBfRFNDX1JFQ0VJVkVSX0NBUF9TSVpFXSwKIAkJCQkJIHU4IGRzY19icGNbM10pCiB7CmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2RzYy5jIGIvZHJpdmVycy9ncHUvZHJtL2Ry bV9kc2MuYwppbmRleCBiYzJiMjNhZGIwNzIuLmJjZTk5Zjk1YzFhMyAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2RybV9kc2MuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2RzYy5jCkBA IC0xNyw2ICsxNywxMiBAQAogLyoqCiAgKiBET0M6IGRzYyBoZWxwZXJzCiAgKgorICogVkVTQSBz cGVjaWZpY2F0aW9uIGZvciBEUCAxLjQgYWRkcyBhIG5ldyBmZWF0dXJlIGNhbGxlZCBEaXNwbGF5 IFN0cmVhbQorICogQ29tcHJlc3Npb24gKERTQykgdXNlZCB0byBjb21wcmVzcyB0aGUgcGl4ZWwg Yml0cyBiZWZvcmUgc2VuZGluZyBpdCBvbgorICogRFAvZURQL01JUEkgRFNJIGludGVyZmFjZS4g RFNDIGlzIHJlcXVpcmVkIHRvIGJlIGVuYWJsZWQgc28gdGhhdCB0aGUgZXhpc3RpbmcKKyAqIGRp c3BsYXkgaW50ZXJmYWNlcyBjYW4gc3VwcG9ydCBoaWdoIHJlc29sdXRpb25zIGF0IGhpZ2hlciBm cmFtZXMgcmF0ZXMgdWlzbmcKKyAqIHRoZSBtYXhpbXVtIGF2YWlsYWJsZSBsaW5rIGNhcGFjaXR5 IG9mIHRoZXNlIGludGVyZmFjZXMuCisgKgogICogVGhlc2UgZnVuY3Rpb25zIGNvbnRhaW4gc29t ZSBjb21tb24gbG9naWMgYW5kIGhlbHBlcnMgdG8gZGVhbCB3aXRoIFZFU0EKICAqIERpc3BsYXkg U3RyZWFtIENvbXByZXNzaW9uIHN0YW5kYXJkIHJlcXVpcmVkIGZvciBEU0Mgb24gRGlzcGxheSBQ b3J0L2VEUCBvcgogICogTUlQSSBkaXNwbGF5IGludGVyZmFjZXMuCkBAIC0yNiw2ICszMiwxMyBA QAogICogZHJtX2RzY19kcF9wcHNfaGVhZGVyX2luaXQoKSAtIEluaXRpYWxpemVzIHRoZSBQUFMg SGVhZGVyCiAgKiBmb3IgRGlzcGxheVBvcnQgYXMgcGVyIHRoZSBEUCAxLjQgc3BlYy4KICAqIEBw cHNfc2RwOiBTZWNvbmRhcnkgZGF0YSBwYWNrZXQgZm9yIERTQyBQaWN0dXJlIFBhcmFtZXRlciBT ZXQKKyAqICAgICAgICAgICBhcyBkZWZpbmVkIGluICZzdHJ1Y3QgZHJtX2RzY19wcHNfaW5mb2Zy YW1lCisgKgorICogRFAgMS40IHNwZWMgZGVmaW5lcyB0aGUgc2Vjb25kYXJ5IGRhdGEgcGFja2V0 IGZvciBzZW5kaW5nIHRoZQorICogcGljdHVyZSBwYXJhbWV0ZXIgaW5mb2ZyYW1lcyBmcm9tIHRo ZSBzb3VyY2UgdG8gdGhlIHNpbmsuCisgKiBUaGlzIGZ1bmN0aW9uIHBvcHVsYXRlcyB0aGUgcHBz IGhlYWRlciBkZWZpbmVkIGluCisgKiAmc3RydWN0IGRybV9kc2NfcHBzX2luZm9mcmFtZSBhcyBw ZXIgdGhlIGhlYWRlciBieXRlcyBkZWZpbmVkCisgKiBpbiAmc3RydWN0IGRwX3NkcF9oZWFkZXIu CiAgKi8KIHZvaWQgZHJtX2RzY19kcF9wcHNfaGVhZGVyX2luaXQoc3RydWN0IGRybV9kc2NfcHBz X2luZm9mcmFtZSAqcHBzX3NkcCkKIHsKQEAgLTM4LDE1ICs1MSwyMCBAQCBFWFBPUlRfU1lNQk9M KGRybV9kc2NfZHBfcHBzX2hlYWRlcl9pbml0KTsKIAogLyoqCiAgKiBkcm1fZHNjX3Bwc19pbmZv ZnJhbWVfcGFjaygpIC0gUG9wdWxhdGVzIHRoZSBEU0MgUFBTIGluZm9mcmFtZQotICogdXNpbmcg dGhlIERTQyBjb25maWd1cmF0aW9uIHBhcmFtZXRlcnMgaW4gdGhlIG9yZGVyIGV4cGVjdGVkCi0g KiBieSB0aGUgRFNDIERpc3BsYXkgU2luayBkZXZpY2UuIEZvciB0aGUgRFNDLCB0aGUgc2luayBk ZXZpY2UKLSAqIGV4cGVjdHMgdGhlIFBQUyBwYXlsb2FkIGluIHRoZSBiaWcgZW5kaWFuIGZvcm1h dCBmb3IgdGhlIGZpZWxkcwotICogdGhhdCBzcGFuIG1vcmUgdGhhbiAxIGJ5dGUuCiAgKgogICog QHBwc19zZHA6Ci0gKiBTZWNvbmRhcnkgZGF0YSBwYWNrZXQgZm9yIERTQyBQaWN0dXJlIFBhcmFt ZXRlciBTZXQKKyAqIFNlY29uZGFyeSBkYXRhIHBhY2tldCBmb3IgRFNDIFBpY3R1cmUgUGFyYW1l dGVyIFNldC4gVGhpcyBpcyBkZWZpbmVkCisgKiBieSAmc3RydWN0IGRybV9kc2NfcHBzX2luZm9m cmFtZQogICogQGRzY19jZmc6Ci0gKiBEU0MgQ29uZmlndXJhdGlvbiBkYXRhIGZpbGxlZCBieSBk cml2ZXIKKyAqIERTQyBDb25maWd1cmF0aW9uIGRhdGEgZmlsbGVkIGJ5IGRyaXZlciBhcyBkZWZp bmVkIGJ5CisgKiAmc3RydWN0IGRybV9kc2NfY29uZmlnCisgKgorICogRFNDIHNvdXJjZSBkZXZp Y2Ugc2VuZHMgYSBzZWNvbmRhcnkgZGF0YSBwYWNrZXQgZmlsbGVkIHdpdGggYWxsIHRoZQorICog cGljdHVyZSBwYXJhbWV0ZXIgc2V0IChQUFMpIGluZm9ybWF0aW9uIHJlcXVpcmVkIGJ5IHRoZSBz aW5rIHRvIGRlY29kZQorICogdGhlIGNvbXByZXNzZWQgZnJhbWUuIERyaXZlciBwb3B1bGF0ZXMg dGhlIGRzQyBQUFMgaW5mb2ZyYW1lIHVzaW5nIHRoZSBEU0MKKyAqIGNvbmZpZ3VyYXRpb24gcGFy YW1ldGVycyBpbiB0aGUgb3JkZXIgZXhwZWN0ZWQgYnkgdGhlIERTQyBEaXNwbGF5IFNpbmsKKyAq IGRldmljZS4gRm9yIHRoZSBEU0MsIHRoZSBzaW5rIGRldmljZSBleHBlY3RzIHRoZSBQUFMgcGF5 bG9hZCBpbiB0aGUgYmlnCisgKiBlbmRpYW4gZm9ybWF0IGZvciB0aGUgZmllbGRzIHRoYXQgc3Bh biBtb3JlIHRoYW4gMSBieXRlLgogICovCiB2b2lkIGRybV9kc2NfcHBzX2luZm9mcmFtZV9wYWNr KHN0cnVjdCBkcm1fZHNjX3Bwc19pbmZvZnJhbWUgKnBwc19zZHAsCiAJCQkJY29uc3Qgc3RydWN0 IGRybV9kc2NfY29uZmlnICpkc2NfY2ZnKQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX2Rw X2hlbHBlci5oIGIvaW5jbHVkZS9kcm0vZHJtX2RwX2hlbHBlci5oCmluZGV4IDVkYjdmYjhjOGI1 MC4uMjcxMWNkZmEwYzEzIDEwMDY0NAotLS0gYS9pbmNsdWRlL2RybS9kcm1fZHBfaGVscGVyLmgK KysrIGIvaW5jbHVkZS9kcm0vZHJtX2RwX2hlbHBlci5oCkBAIC0xMDUyLDExICsxMDUyLDE4IEBA IGludCBkcm1fZHBfYndfY29kZV90b19saW5rX3JhdGUodTggbGlua19idyk7CiAjZGVmaW5lIERQ X1NEUF9WU0NfRVhUX0NFQQkJMHgyMSAvKiBEUCAxLjQgKi8KIC8qIDB4ODArIENFQS04NjEgaW5m b2ZyYW1lIHR5cGVzICovCiAKKy8qKgorICogc3RydWN0IGRwX3NkcF9oZWFkZXIgLSBEUCBzZWNv bmRhcnkgZGF0YSBwYWNrZXQgaGVhZGVyCisgKiBASEIwOiBTZWNvbmRhcnkgRGF0YSBQYWNrZXQg SUQKKyAqIEBIQjE6IFNlY29uZGFyeSBEYXRhIFBhY2tldCBUeXBlCisgKiBASEIyOiBTZWNvbmRh cnkgRGF0YSBQYWNrZXQgU3BlY2lmaWMgaGVhZGVyLCBCeXRlIDAKKyAqIEBIQjM6IFNlY29uZGFy eSBEYXRhIHBhY2tldCBTcGVjaWZpYyBoZWFkZXIsIEJ5dGUgMQorICovCiBzdHJ1Y3QgZHBfc2Rw X2hlYWRlciB7Ci0JdTggSEIwOyAvKiBTZWNvbmRhcnkgRGF0YSBQYWNrZXQgSUQgKi8KLQl1OCBI QjE7IC8qIFNlY29uZGFyeSBEYXRhIFBhY2tldCBUeXBlICovCi0JdTggSEIyOyAvKiBTZWNvbmRh cnkgRGF0YSBQYWNrZXQgU3BlY2lmaWMgaGVhZGVyLCBCeXRlIDAgKi8KLQl1OCBIQjM7IC8qIFNl Y29uZGFyeSBEYXRhIHBhY2tldCBTcGVjaWZpYyBoZWFkZXIsIEJ5dGUgMSAqLworCXU4IEhCMDsK Kwl1OCBIQjE7CisJdTggSEIyOworCXU4IEhCMzsKIH0gX19wYWNrZWQ7CiAKICNkZWZpbmUgRURQ X1NEUF9IRUFERVJfUkVWSVNJT05fTUFTSwkJMHgxRgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0v ZHJtX2RzYy5oIGIvaW5jbHVkZS9kcm0vZHJtX2RzYy5oCmluZGV4IGQwM2YxYjgzNDIxYS4uOWMy NmYwODNjNzBmIDEwMDY0NAotLS0gYS9pbmNsdWRlL2RybS9kcm1fZHNjLmgKKysrIGIvaW5jbHVk ZS9kcm0vZHJtX2RzYy5oCkBAIC00NCwxMTEgKzQ0LDIzMSBAQAogI2RlZmluZSBEU0NfMV8yX01B WF9MSU5FQlVGX0RFUFRIX1ZBTAkJMAogI2RlZmluZSBEU0NfMV8xX01BWF9MSU5FQlVGX0RFUFRI X0JJVFMJCTEzCiAKLS8qIENvbmZpZ3VyYXRpb24gZm9yIGEgc2luZ2xlIFJhdGUgQ29udHJvbCBt b2RlbCByYW5nZSAqLworLyoqCisgKiBzdHJ1Y3QgZHJtX2RzY19yY19yYW5nZV9wYXJhbWV0ZXJz IC0gRFNDIFJhdGUgQ29udHJvbCByYW5nZSBwYXJhbWV0ZXJzCisgKgorICogVGhpcyBkZWZpbmVz IGRpZmZlcmVudCByYXRlIGNvbnRyb2wgcGFyYW1ldGVycyB1c2VkIGJ5IHRoZSBEU0MgZW5naW5l CisgKiB0byBjb21wcmVzcyB0aGUgZnJhbWUuCisgKi8KIHN0cnVjdCBkcm1fZHNjX3JjX3Jhbmdl X3BhcmFtZXRlcnMgewotCS8qIE1pbiBRdWFudGl6YXRpb24gUGFyYW1ldGVycyBhbGxvd2VkIGZv ciB0aGlzIHJhbmdlICovCisJLyoqCisJICogQHJhbmdlX21pbl9xcDogTWluIFF1YW50aXphdGlv biBQYXJhbWV0ZXJzIGFsbG93ZWQgZm9yIHRoaXMgcmFuZ2UKKwkgKi8KIAl1OCByYW5nZV9taW5f cXA7Ci0JLyogTWF4IFF1YW50aXphdGlvbiBQYXJhbWV0ZXJzIGFsbG93ZWQgZm9yIHRoaXMgcmFu Z2UgKi8KKwkvKioKKwkgKiBAcmFuZ2VfbWF4X3FwOiBNYXggUXVhbnRpemF0aW9uIFBhcmFtZXRl cnMgYWxsb3dlZCBmb3IgdGhpcyByYW5nZQorCSAqLwogCXU4IHJhbmdlX21heF9xcDsKLQkvKiBC aXRzL2dyb3VwIG9mZnNldCB0byBhcHBseSB0byB0YXJnZXQgZm9yIHRoaXMgZ3JvdXAgKi8KKwkv KioKKwkgKiBAcmFuZ2VfYnBnX29mZnNldDoKKwkgKiBCaXRzL2dyb3VwIG9mZnNldCB0byBhcHBs eSB0byB0YXJnZXQgZm9yIHRoaXMgZ3JvdXAKKwkgKi8KIAl1OCByYW5nZV9icGdfb2Zmc2V0Owog fTsKIAorLyoqCisgKiBzdHJ1Y3QgZHJtX2RzY19jb25maWcgLSBQYXJhbWV0ZXJzIHJlcXVpcmVk IHRvIGNvbmZpZ3VyZSBEU0MKKyAqCisgKiBEcml2ZXIgcG9wdWxhdGVzIHRoaXMgc3RydWN0dXJl IHdpdGggYWxsIHRoZSBwYXJhbWV0ZXJzIHJlcXVpcmVkCisgKiB0byBjb25maWd1cmUgdGhlIGRp c3BsYXkgc3RyZWFtIGNvbXByZXNzaW9uIG9uIHRoZSBzb3VyY2UuCisgKi8KIHN0cnVjdCBkcm1f ZHNjX2NvbmZpZyB7Ci0JLyogQml0cyAvIGNvbXBvbmVudCBmb3IgcHJldmlvdXMgcmVjb25zdHJ1 Y3RlZCBsaW5lIGJ1ZmZlciAqLworCS8qKgorCSAqIEBsaW5lX2J1Zl9kZXB0aDoKKwkgKiBCaXRz IHBlciBjb21wb25lbnQgZm9yIHByZXZpb3VzIHJlY29uc3RydWN0ZWQgbGluZSBidWZmZXIKKwkg Ki8KIAl1OCBsaW5lX2J1Zl9kZXB0aDsKLQkvKiBCaXRzIHBlciBjb21wb25lbnQgdG8gY29kZSAo bXVzdCBiZSA4LCAxMCwgb3IgMTIpICovCisJLyoqCisJICogQGJpdHNfcGVyX2NvbXBvbmVudDog Qml0cyBwZXIgY29tcG9uZW50IHRvIGNvZGUgKDgvMTAvMTIpCisJICovCiAJdTggYml0c19wZXJf Y29tcG9uZW50OwotCS8qCi0JICogRmxhZyBpbmRpY2F0aW5nIHRvIGRvIFJHQiAtIFlDb0NnIGNv bnZlcnNpb24KLQkgKiBhbmQgYmFjayAoc2hvdWxkIGJlIDEgZm9yIFJHQiBpbnB1dCkKKwkvKioK KwkgKiBAY29udmVydF9yZ2I6CisJICogRmxhZyB0byBpbmRpY2F0ZSBpZiBSR0IgLSBZQ29DZyBj b252ZXJzaW9uIGlzIG5lZWRlZAorCSAqIFRydWUgaWYgUkdCIGlucHV0LCBGYWxzZSBpZiBZQ29D ZyBpbnB1dAogCSAqLwogCWJvb2wgY29udmVydF9yZ2I7CisJLyoqCisJICogQHNsaWNlX2NvdW50 OiBOdW1iZXIgZm8gc2xpY2VzIHBlciBsaW5lIHVzZWQgYnkgdGhlIERTQyBlbmNvZGVyCisJICov CiAJdTggc2xpY2VfY291bnQ7Ci0JLyogU2xpY2UgV2lkdGggKi8KKwkvKioKKwkgKiAgQHNsaWNl X3dpZHRoOiBXaWR0aCBvZiBlYWNoIHNsaWNlIGluIHBpeGVscworCSAqLwogCXUxNiBzbGljZV93 aWR0aDsKLQkvKiBTbGljZSBIZWlnaHQgKi8KKwkvKioKKwkgKiBAc2xpY2VfaGVpZ2h0OiBTbGlj ZSBoZWlnaHQgaW4gcGl4ZWxzCisJICovCiAJdTE2IHNsaWNlX2hlaWdodDsKLQkvKgotCSAqIDQ6 MjoyIGVuYWJsZSBtb2RlIChmcm9tIFBQUywgNDoyOjIgY29udmVyc2lvbiBoYXBwZW5zCi0JICog b3V0c2lkZSBvZiBEU0MgZW5jb2RlL2RlY29kZSBhbGdvcml0aG0pCisJLyoqCisJICogQGVuYWJs ZTQyMjogVHJ1ZSBmb3IgNF8yXzIgc2FtcGxpbmcsIGZhbHNlIGZvciA0XzRfNCBzYW1wbGluZwog CSAqLwogCWJvb2wgZW5hYmxlNDIyOwotCS8qIFBpY3R1cmUgV2lkdGggKi8KKwkvKioKKwkgKiBA cGljX3dpZHRoOiBXaWR0aCBvZiB0aGUgaW5wdXQgZGlzcGxheSBmcmFtZSBpbiBwaXhlbHMKKwkg Ki8KIAl1MTYgcGljX3dpZHRoOwotCS8qIFBpY3R1cmUgSGVpZ2h0ICovCisJLyoqCisJICogQHBp Y19oZWlnaHQ6IFZlcnRpY2FsIGhlaWdodCBvZiB0aGUgaW5wdXQgZGlzcGxheSBmcmFtZQorCSAq LwogCXUxNiBwaWNfaGVpZ2h0OwotCS8qIE9mZnNldCB0byBiaXRzL2dyb3VwIHVzZWQgYnkgUkMg dG8gZGV0ZXJtaW5lIFFQIGFkanVzdG1lbnQgKi8KKwkvKioKKwkgKiBAcmNfdGd0X29mZnNldF9o aWdoOgorCSAqIE9mZnNldCB0byBiaXRzL2dyb3VwIHVzZWQgYnkgUkMgdG8gZGV0ZXJtaW5lIFFQ IGFkanVzdG1lbnQKKwkgKi8KIAl1OCByY190Z3Rfb2Zmc2V0X2hpZ2g7Ci0JLyogT2Zmc2V0IHRv IGJpdHMvZ3JvdXAgdXNlZCBieSBSQyB0byBkZXRlcm1pbmUgUVAgYWRqdXN0bWVudCAqLworCS8q KgorCSAqIEByY190Z3Rfb2Zmc2V0X2xvdzoKKwkgKiBPZmZzZXQgdG8gYml0cy9ncm91cCB1c2Vk IGJ5IFJDIHRvIGRldGVybWluZSBRUCBhZGp1c3RtZW50CisJICovCiAJdTggcmNfdGd0X29mZnNl dF9sb3c7Ci0JLyogQml0cy9waXhlbCB0YXJnZXQgPDwgNCAoaWUuLCA0IGZyYWN0aW9uYWwgYml0 cykgKi8KKwkvKioKKwkgKiBAYml0c19wZXJfcGl4ZWw6CisJICogVGFyZ2V0IGJpdHMgcGVyIHBp eGVsIHdpdGggNCBmcmFjdGlvbmFsIGJpdHMsIGJpdHNfcGVyX3BpeGVsIDw8IDQKKwkgKi8KIAl1 MTYgYml0c19wZXJfcGl4ZWw7Ci0JLyoKLQkgKiBGYWN0b3IgdG8gZGV0ZXJtaW5lIGlmIGFuIGVk Z2UgaXMgcHJlc2VudCBiYXNlZAotCSAqIG9uIHRoZSBiaXRzIHByb2R1Y2VkCisJLyoqCisJICog QHJjX2VkZ2VfZmFjdG9yOgorCSAqIEZhY3RvciB0byBkZXRlcm1pbmUgaWYgYW4gZWRnZSBpcyBw cmVzZW50IGJhc2VkIG9uIHRoZSBiaXRzIHByb2R1Y2VkCiAJICovCiAJdTggcmNfZWRnZV9mYWN0 b3I7Ci0JLyogU2xvdyBkb3duIGluY3JlbWVudGluZyBvbmNlIHRoZSByYW5nZSByZWFjaGVzIHRo aXMgdmFsdWUgKi8KKwkvKioKKwkgKiBAcmNfcXVhbnRfaW5jcl9saW1pdDE6CisJICogU2xvdyBk b3duIGluY3JlbWVudGluZyBvbmNlIHRoZSByYW5nZSByZWFjaGVzIHRoaXMgdmFsdWUKKwkgKi8K IAl1OCByY19xdWFudF9pbmNyX2xpbWl0MTsKLQkvKiBTbG93IGRvd24gaW5jcmVtZW50aW5nIG9u Y2UgdGhlIHJhbmdlIHJlYWNoZXMgdGhpcyB2YWx1ZSAqLworCS8qKgorCSAqIEByY19xdWFudF9p bmNyX2xpbWl0MDoKKwkgKiBTbG93IGRvd24gaW5jcmVtZW50aW5nIG9uY2UgdGhlIHJhbmdlIHJl YWNoZXMgdGhpcyB2YWx1ZQorCSAqLwogCXU4IHJjX3F1YW50X2luY3JfbGltaXQwOwotCS8qIE51 bWJlciBvZiBwaXhlbHMgdG8gZGVsYXkgdGhlIGluaXRpYWwgdHJhbnNtaXNzaW9uICovCisJLyoq CisJICogQGluaXRpYWxfeG1pdF9kZWxheToKKwkgKiBOdW1iZXIgb2YgcGl4ZWxzIHRvIGRlbGF5 IHRoZSBpbml0aWFsIHRyYW5zbWlzc2lvbgorCSAqLwogCXUxNiBpbml0aWFsX3htaXRfZGVsYXk7 Ci0JLyogTnVtYmVyIG9mIHBpeGVscyB0byBkZWxheSB0aGUgVkxEIG9uIHRoZSBkZWNvZGVyLG5v dCBpbmNsdWRpbmcgU1NNICovCisJLyoqCisJICogQGluaXRpYWxfZGVjX2RlbGF5OgorCSAqIElu aXRpYWwgZGVjb2RlciBkZWxheSwgbnVtYmVyIG9mIHBpeGVsIHRpbWVzIHRoYXQgdGhlIGRlY29k ZXIKKwkgKiBhY2N1bXVsYXRlcyBkYXRhIGluIGl0cyByYXRlIGJ1ZmZlciBiZWZvcmUgc3RhcnRp bmcgdG8gZGVjb2RlCisJICogYW5kIG91dHB1dCBwaXhlbHMuCisJICovCiAJdTE2ICBpbml0aWFs X2RlY19kZWxheTsKLQkvKiBCbG9jayBwcmVkaWN0aW9uIGVuYWJsZSAqLworCS8qKgorCSAqIEBi bG9ja19wcmVkX2VuYWJsZToKKwkgKiBUcnVlIGlmIGJsb2NrIHByZWRpY3Rpb24gaXMgdXNlZCB0 byBjb2RlIGFueSBncm91cHMgd2l0aGluIHRoZQorCSAqIHBpY3R1cmUuIEZhbHNlIGlmIEJQIG5v dCB1c2VkCisJICovCiAJYm9vbCBibG9ja19wcmVkX2VuYWJsZTsKLQkvKiBCaXRzL2dyb3VwIG9m ZnNldCB0byB1c2UgZm9yIGZpcnN0IGxpbmUgb2YgdGhlIHNsaWNlICovCisJLyoqCisJICogQGZp cnN0X2xpbmVfYnBnX29mZnNldDoKKwkgKiBOdW1iZXIgb2YgYWRkaXRpb25hbCBiaXRzIGFsbG9j YXRlZCBmb3IgZWFjaCBncm91cCBvbiB0aGUgZmlyc3QKKwkgKiBsaW5lIG9mIHNsaWNlLgorCSAq LwogCXU4IGZpcnN0X2xpbmVfYnBnX29mZnNldDsKLQkvKiBWYWx1ZSB0byB1c2UgZm9yIFJDIG1v ZGVsIG9mZnNldCBhdCBzbGljZSBzdGFydCAqLworCS8qKgorCSAqIEBpbml0aWFsX29mZnNldDog VmFsdWUgdG8gdXNlIGZvciBSQyBtb2RlbCBvZmZzZXQgYXQgc2xpY2Ugc3RhcnQKKwkgKi8KIAl1 MTYgaW5pdGlhbF9vZmZzZXQ7Ci0JLyogVGhyZXNob2xkcyBkZWZpbmluZyBlYWNoIG9mIHRoZSBi dWZmZXIgcmFuZ2VzICovCisJLyoqCisJICogQHJjX2J1Zl90aHJlc2g6IFRocmVzaG9sZHMgZGVm aW5pbmcgZWFjaCBvZiB0aGUgYnVmZmVyIHJhbmdlcworCSAqLwogCXUxNiByY19idWZfdGhyZXNo W0RTQ19OVU1fQlVGX1JBTkdFUyAtIDFdOwotCS8qIFBhcmFtZXRlcnMgZm9yIGVhY2ggb2YgdGhl IFJDIHJhbmdlcyAqLworCS8qKgorCSAqIEByY19yYW5nZV9wYXJhbXM6CisJICogUGFyYW1ldGVy cyBmb3IgZWFjaCBvZiB0aGUgUkMgcmFuZ2VzIGRlZmluZWQgaW4KKwkgKiAmc3RydWN0IGRybV9k c2NfcmNfcmFuZ2VfcGFyYW1ldGVycworCSAqLwogCXN0cnVjdCBkcm1fZHNjX3JjX3JhbmdlX3Bh cmFtZXRlcnMgcmNfcmFuZ2VfcGFyYW1zW0RTQ19OVU1fQlVGX1JBTkdFU107Ci0JLyogVG90YWwg c2l6ZSBvZiBSQyBtb2RlbCAqLworCS8qKgorCSAqIEByY19tb2RlbF9zaXplOiBUb3RhbCBzaXpl IG9mIFJDIG1vZGVsCisJICovCiAJdTE2IHJjX21vZGVsX3NpemU7Ci0JLyogTWluaW11bSBRUCB3 aGVyZSBmbGF0bmVzcyBpbmZvcm1hdGlvbiBpcyBzZW50ICovCisJLyoqCisJICogQGZsYXRuZXNz X21pbl9xcDogTWluaW11bSBRUCB3aGVyZSBmbGF0bmVzcyBpbmZvcm1hdGlvbiBpcyBzZW50CisJ ICovCiAJdTggZmxhdG5lc3NfbWluX3FwOwotCS8qIE1heGltdW0gUVAgd2hlcmUgZmxhdG5lc3Mg aW5mb3JtYXRpb24gaXMgc2VudCAqLworCS8qKgorCSAqIEBmbGF0bmVzc19tYXhfcXA6IE1heGlt dW0gUVAgd2hlcmUgZmxhdG5lc3MgaW5mb3JtYXRpb24gaXMgc2VudAorCSAqLwogCXU4IGZsYXRu ZXNzX21heF9xcDsKLQkvKiBJbml0aWFsIHZhbHVlIGZvciBzY2FsZSBmYWN0b3IgKi8KKwkvKioK KwkgKiBAaW5pdGlhbF9zY2FsZV92YWx1ZTogSW5pdGlhbCB2YWx1ZSBmb3IgdGhlIHNjYWxlIGZh Y3RvcgorCSAqLwogCXU4IGluaXRpYWxfc2NhbGVfdmFsdWU7Ci0JLyogRGVjcmVtZW50IHNjYWxl IGZhY3RvciBldmVyeSBzY2FsZV9kZWNyZW1lbnRfaW50ZXJ2YWwgZ3JvdXBzICovCisJLyoqCisJ ICogQHNjYWxlX2RlY3JlbWVudF9pbnRlcnZhbDoKKwkgKiBTcGVjaWZpZXMgbnVtYmVyIG9mIGdy b3VwIHRpbWVzIGJldHdlZW4gZGVjcmVtZW50aW5nIHRoZSBzY2FsZSBmYWN0b3IKKwkgKiBhdCBi ZWdpbm5pbmcgb2YgYSBzbGljZS4KKwkgKi8KIAl1MTYgc2NhbGVfZGVjcmVtZW50X2ludGVydmFs OwotCS8qIEluY3JlbWVudCBzY2FsZSBmYWN0b3IgZXZlcnkgc2NhbGVfaW5jcmVtZW50X2ludGVy dmFsIGdyb3VwcyAqLworCS8qKgorCSAqIEBzY2FsZV9pbmNyZW1lbnRfaW50ZXJ2YWw6CisJICog TnVtYmVyIG9mIGdyb3VwIHRpbWVzIGJldHdlZW4gaW5jcmVtZW50aW5nIHRoZSBzY2FsZSBmYWN0 b3IgdmFsdWUKKwkgKiB1c2VkIGF0IHRoZSBiZWdpbm5pbmcgb2YgYSBzbGljZS4KKwkgKi8KIAl1 MTYgc2NhbGVfaW5jcmVtZW50X2ludGVydmFsOwotCS8qIE5vbi1maXJzdCBsaW5lIEJQRyBvZmZz ZXQgdG8gdXNlICovCisJLyoqCisJICogQG5mbF9icGdfb2Zmc2V0OiBOb24gZmlyc3QgbGluZSBC UEcgb2Zmc2V0IHRvIGJlIHVzZWQKKwkgKi8KIAl1MTYgbmZsX2JwZ19vZmZzZXQ7Ci0JLyogQlBH IG9mZnNldCB1c2VkIHRvIGVuZm9yY2Ugc2xpY2UgYml0ICovCisJLyoqCisJICogQHNsaWNlX2Jw Z19vZmZzZXQ6IEJQRyBvZmZzZXQgdXNlZCB0byBlbmZvcmNlIHNsaWNlIGJpdAorCSAqLwogCXUx NiBzbGljZV9icGdfb2Zmc2V0OwotCS8qIEZpbmFsIFJDIGxpbmVhciB0cmFuc2Zvcm1hdGlvbiBv ZmZzZXQgdmFsdWUgKi8KKwkvKioKKwkgKiBAZmluYWxfb2Zmc2V0OiBGaW5hbCBSQyBsaW5lYXIg dHJhbnNmb3JtYXRpb24gb2Zmc2V0IHZhbHVlCisJICovCiAJdTE2IGZpbmFsX29mZnNldDsKLQkv KiBFbmFibGUgb24tb2ZmIFZCUiAoaWUuLCBkaXNhYmxlIHN0dWZmaW5nIGJpdHMpICovCisJLyoq CisJICogQHZicl9lbmFibGU6IFRydWUgaWYgVkJSIG1vZGUgaXMgZW5hYmxlZCwgZmFsc2UgaWYg ZGlzYWJsZWQKKwkgKi8KIAlib29sIHZicl9lbmFibGU7Ci0JLyogTXV4IHdvcmQgc2l6ZSAoaW4g Yml0cykgZm9yIFNTTSBtb2RlICovCisJLyoqCisJICogQG11eF93b3JkX3NpemU6IE11eCB3b3Jk IHNpemUgKGluIGJpdHMpIGZvciBTU00gbW9kZQorCSAqLwogCXU4IG11eF93b3JkX3NpemU7Ci0J LyoKLQkgKiBUaGUgKG1heCkgc2l6ZSBpbiBieXRlcyBvZiB0aGUgImNodW5rcyIgdGhhdCBhcmUK LQkgKiB1c2VkIGluIHNsaWNlIG11bHRpcGxleGluZworCS8qKgorCSAqIEBzbGljZV9jaHVua19z aXplOgorCSAqIFRoZSAobWF4KSBzaXplIGluIGJ5dGVzIG9mIHRoZSAiY2h1bmtzIiB0aGF0IGFy ZSB1c2VkIGluIHNsaWNlCisJICogbXVsdGlwbGV4aW5nLgogCSAqLwogCXUxNiBzbGljZV9jaHVu a19zaXplOwotCS8qIFJhdGUgQ29udHJvbCBidWZmZXIgc2l6IGluIGJpdHMgKi8KKwkvKioKKwkg KiBAcmNfYml0czogUmF0ZSBjb250cm9sIGJ1ZmZlciBzaXplIGluIGJpdHMKKwkgKi8KIAl1MTYg cmNfYml0czsKLQkvKiBEU0MgTWlub3IgVmVyc2lvbiAqLworCS8qKgorCSAqIEBkc2NfdmVyc2lv bl9taW5vcjogRFNDIG1pbm9yIHZlcnNpb24KKwkgKi8KIAl1OCBkc2NfdmVyc2lvbl9taW5vcjsK LQkvKiBEU0MgTWFqb3IgdmVyc2lvbiAqLworCS8qKgorCSAqIEBkc2NfdmVyc2lvbl9tYWpvcjog RFNDIG1ham9yIHZlcnNpb24KKwkgKi8KIAl1OCBkc2NfdmVyc2lvbl9tYWpvcjsKLQkvKiBOYXRp dmUgNDoyOjIgc3VwcG9ydCAqLworCS8qKgorCSAqIEBuYXRpdmVfNDIyOiBUcnVlIGlmIE5hdGl2 ZSA0OjI6MiBzdXBwb3J0ZWQsIGVsc2UgZmFsc2UKKwkgKi8KIAlib29sIG5hdGl2ZV80MjI7Ci0J LyogTmF0aXZlIDQ6MjowIHN1cHBvcnQgKi8KKwkvKioKKwkgKiBAbmF0aXZlXzQyMDogVHJ1ZSBp ZiBOYXRpdmUgNDoyOjAgc3VwcG9ydGVkIGVsc2UgZmFsc2UuCisJICovCiAJYm9vbCBuYXRpdmVf NDIwOwotCS8qIEFkZGl0aW9uYWwgYml0cy9ncnAgZm9yIHNlY29ubmQgbGluZSBvZiBzbGljZSBm b3IgbmF0aXZlIDQ6MjowICovCisJLyoqCisJICogQHNlY29uZF9saW5lX2JwZ19vZmZzZXQ6CisJ ICogQWRkaXRpb25hbCBiaXRzL2dycCBmb3Igc2Vjb25uZCBsaW5lIG9mIHNsaWNlIGZvciBuYXRp dmUgNDoyOjAKKwkgKi8KIAl1OCBzZWNvbmRfbGluZV9icGdfb2Zmc2V0OwotCS8qIE51bSBvZiBi aXRzIGRlYWxsb2NhdGVkIGZvciBlYWNoIGdycCB0aGF0IGlzIG5vdCBpbiBzZWNvbmQgbGluZSBv ZiBzbGljZSAqLworCS8qKgorCSAqIEBuc2xfYnBnX29mZnNldDoKKwkgKiBOdW0gb2YgYml0cyBk ZWFsbG9jYXRlZCBmb3IgZWFjaCBncnAgdGhhdCBpcyBub3QgaW4gc2Vjb25kIGxpbmUgb2YKKwkg KiBzbGljZQorCSAqLwogCXUxNiBuc2xfYnBnX29mZnNldDsKLQkvKiBPZmZzZXQgYWRqIGZyIHNl Y29uZCBsaW5lIGluIE5hdGl2ZSA0OjI6MCBtb2RlICovCisJLyoqCisJICogQHNlY29uZF9saW5l X29mZnNldF9hZGo6CisJICogT2Zmc2V0IGFkanVzdG1lbnQgZm9yIHNlY29uZCBsaW5lIGluIE5h dGl2ZSA0OjI6MCBtb2RlCisJICovCiAJdTE2IHNlY29uZF9saW5lX29mZnNldF9hZGo7CiB9Owog CkBAIC00NjgsMTAgKzU4OCwxMyBAQCBzdHJ1Y3QgZHJtX2RzY19waWN0dXJlX3BhcmFtZXRlcl9z ZXQgewogICogVGhpcyBzdHJ1Y3R1cmUgcmVwcmVzZW50cyB0aGUgRFNDIFBQUyBpbmZvZnJhbWUg cmVxdWlyZWQgdG8gc2VuZCB0aGUgUGljdHVyZQogICogUGFyYW1ldGVyIFNldCBtZXRhZGF0YSBy ZXF1aXJlZCBiZWZvcmUgZW5hYmxpbmcgVkVTQSBEaXNwbGF5IFN0cmVhbQogICogQ29tcHJlc3Np b24uIFRoaXMgaXMgYmFzZWQgb24gdGhlIERQIFNlY29uZGFyeSBEYXRhIFBhY2tldCBzdHJ1Y3R1 cmUgYW5kCi0gKiBjb21wcmlzZXMgb2YgU0RQIEhlYWRlciBhcyBkZWZpbmVkIGluIGRybV9kcF9o ZWxwZXIuaCBhbmQgUFBTIHBheWxvYWQuCisgKiBjb21wcmlzZXMgb2YgU0RQIEhlYWRlciBhcyBk ZWZpbmVkICZzdHJ1Y3Qgc3RydWN0IGRwX3NkcF9oZWFkZXIgaW4gZHJtX2RwX2hlbHBlci5oCisg KiBhbmQgUFBTIHBheWxvYWQgZGVmaW5lZCBpbiAmc3RydWN0IGRybV9kc2NfcGljdHVyZV9wYXJh bWV0ZXJfc2V0LgogICoKLSAqIEBwcHNfaGVhZGVyOiBIZWFkZXIgZm9yIFBQUyBhcyBwZXIgRFAg U0RQIGhlYWRlciBmb3JtYXQKKyAqIEBwcHNfaGVhZGVyOiBIZWFkZXIgZm9yIFBQUyBhcyBwZXIg RFAgU0RQIGhlYWRlciBmb3JtYXQgb2YgdHlwZQorICogICAgICAgICAgICAgICZzdHJ1Y3QgZHBf c2RwX2hlYWRlcgogICogQHBwc19wYXlsb2FkOiBQUFMgcGF5bG9hZCBmaWVsZHMgYXMgcGVyIERT QyBzcGVjaWZpY2F0aW9uIFRhYmxlIDQtMQorICogICAgICAgICAgICAgICBhcyByZXByZXNlbnRl ZCBpbiAmc3RydWN0IGRybV9kc2NfcGljdHVyZV9wYXJhbWV0ZXJfc2V0CiAgKi8KIHN0cnVjdCBk cm1fZHNjX3Bwc19pbmZvZnJhbWUgewogCXN0cnVjdCBkcF9zZHBfaGVhZGVyIHBwc19oZWFkZXI7 Ci0tIAoyLjE5LjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9y ZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdm eAo=