From mboxrd@z Thu Jan 1 00:00:00 1970 From: Manasi Navare Subject: [PATCH] drm/dsc: Add kernel documentation for DRM DP DSC helpers Date: Mon, 4 Feb 2019 15:40:22 -0800 Message-ID: <20190204234022.4170-1-manasi.d.navare@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: 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 , Daniel Vetter , Sean Paul List-Id: intel-gfx@lists.freedesktop.org VGhpcyBwYXRjaCBhZGRzIGFwcHJvcGlhdGUga2VybmVsIGRvY3VtZW50YXRpb24gZm9yIERSTSBE UCBoZWxwZXJzCnVzZWQgZm9yIGVuYWJsaW5nIERpc3BsYXkgU3RyZWFtIGNvbXByZXNzaW9uIGZ1 bmN0aW9uYWxpdHkgaW4KZHJtX2RwX2hlbHBlci5oIGFuZCBkcm1fZHBfaGVscGVyLmMgYXMgd2Vs bCBhcyBmb3IgdGhlIERTQyBzcGVjCnJlbGF0ZWQgc3RydWN0dXJlIGRlZmluaXRpb25zIGFuZCBo ZWxwZXJzIGluIGRybV9kc2MuYyBhbmQgZHJtX2RzYy5oCkFsc28gYWRkIGxpbmtzIGJldHdlZW4g dGhlIGZ1bmN0aW9ucyBhbmQgc3RydWN0dXJlcyBpbiB0aGUgZG9jdW1lbnRhdGlvbi4KClN1Z2dl c3RlZC1ieTogRGFuaWVsIFZldHRlciA8ZGFuaWVsLnZldHRlckBpbnRlbC5jb20+ClN1Z2dlc3Rl ZC1ieTogU2VhbiBQYXVsIDxzZWFuQHBvb3JseS5ydW4+CkNjOiBEYW5pZWwgVmV0dGVyIDxkYW5p ZWwudmV0dGVyQGludGVsLmNvbT4KQ2M6IFNlYW4gUGF1bCA8c2VhbkBwb29ybHkucnVuPgpTaWdu ZWQtb2ZmLWJ5OiBNYW5hc2kgTmF2YXJlIDxtYW5hc2kuZC5uYXZhcmVAaW50ZWwuY29tPgotLS0K IGRyaXZlcnMvZ3B1L2RybS9kcm1fZHBfaGVscGVyLmMgfCAgNDIgKysrKysrKysrLQogZHJpdmVy cy9ncHUvZHJtL2RybV9kc2MuYyAgICAgICB8ICAxMyArKy0KIGluY2x1ZGUvZHJtL2RybV9kcF9o ZWxwZXIuaCAgICAgfCAgMTUgKysrLQogaW5jbHVkZS9kcm0vZHJtX2RzYy5oICAgICAgICAgICB8 IDEzOCArKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLQogNCBmaWxlcyBjaGFuZ2VkLCAx NDIgaW5zZXJ0aW9ucygrKSwgNjYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2RybV9kcF9oZWxwZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZHBfaGVscGVyLmMK aW5kZXggNTQxMjBiNjMxOWU3Li5lOWUwMjMzZjViMmYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9kcm1fZHBfaGVscGVyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9kcF9oZWxwZXIu YwpAQCAtMTM2MCw3ICsxMzYwLDIwIEBAIGludCBkcm1fZHBfcmVhZF9kZXNjKHN0cnVjdCBkcm1f ZHBfYXV4ICphdXgsIHN0cnVjdCBkcm1fZHBfZGVzYyAqZGVzYywKIEVYUE9SVF9TWU1CT0woZHJt X2RwX3JlYWRfZGVzYyk7CiAKIC8qKgotICogRFJNIERQIEhlbHBlcnMgZm9yIERTQworICogZHJt X2RwX2RzY19zaW5rX21heF9zbGljZV9jb3VudCgpIC0gR2V0IHRoZSBtYXggc2xpY2UgY291bnQK KyAqIHN1cHBvcnRlZCBieSB0aGUgRFNDIHNpbmsuCisgKiBAZHNjX2RwY2Q6IERTQyBjYXBhYmls aXRpZXMgZnJvbSBEUENECisgKiBAaXNfZWRwOiB0cnVlIGlmIGl0cyBlRFAsIGZhbHNlIGZvciBE UAorICoKKyAqIFJlYWQgdGhlIHNsaWNlIGNhcGFiaWxpdGllcyBEUENEIHJlZ2lzdGVyIGZyb20g RFNDIHNpbmsgdG8gZ2V0CisgKiB0aGUgbWF4aW11bSBzbGljZSBjb3VudCBzdXBwb3J0ZWQuIFRo aXMgaXMgdXNlZCB0byBwb3B1bGF0ZQorICogdGhlIERTQyBwYXJhbWV0ZXJzIGluIHRoZSAmc3Ry dWN0IGRybV9kc2NfY29uZmlnIGJ5IHRoZSBkcml2ZXIuCisgKiBEcml2ZXIgY3JlYXRlcyBhbiBp bmZvZnJhbWUgdXNpbmcgdGhlc2UgcGFyYW1ldGVycyB0byBwb3B1bGF0ZQorICogJnN0cnVjdCBk cm1fZHNjX3Bwc19pbmZvZnJhbWUuIFRoZXNlIGFyZSBzZW50IHRvIHRoZSBzaW5rIHVzaW5nIERT QworICogaW5mb2ZyYW1lIHVzaW5nIHRoZSBoZWxwZXIgZnVuY3Rpb24gZHJtX2RzY19wcHNfaW5m b2ZyYW1lX3BhY2soKQorICoKKyAqIFJldHVybnM6CisgKiBNYXhpbXVtIHNsaWNlIGNvdW50IHN1 cHBvcnRlZCBieSBEU0Mgc2luayBvciAwIGl0cyBpbnZhbGlkCiAgKi8KIHU4IGRybV9kcF9kc2Nf c2lua19tYXhfc2xpY2VfY291bnQoY29uc3QgdTggZHNjX2RwY2RbRFBfRFNDX1JFQ0VJVkVSX0NB UF9TSVpFXSwKIAkJCQkgICBib29sIGlzX2VkcCkKQEAgLTE0MDUsNiArMTQxOCwxOSBAQCB1OCBk cm1fZHBfZHNjX3NpbmtfbWF4X3NsaWNlX2NvdW50KGNvbnN0IHU4IGRzY19kcGNkW0RQX0RTQ19S RUNFSVZFUl9DQVBfU0laRV0sCiB9CiBFWFBPUlRfU1lNQk9MKGRybV9kcF9kc2Nfc2lua19tYXhf c2xpY2VfY291bnQpOwogCisvKioKKyAqIGRybV9kcF9kc2Nfc2lua19saW5lX2J1Zl9kZXB0aCgp IC0gR2V0IHRoZSBsaW5lIGJ1ZmZlciBkZXB0aCBpbiBiaXRzIHdoaWNoIGlzCisgKiBudW1iZXIg b2YgYml0cyBvZiBwcmVjaXNpb24gd2l0aGluIHRoZSBkZWNvZGVyIGxpbmUgYnVmZmVyIHN1cHBv cnRlZCBieQorICogdGhlIERTQyBzaW5rLiBUaGlzIGlzIHVzZWQgdG8gcG9wdWxhdGUgdGhlIERT QyBwYXJhbWV0ZXJzIGluIHRoZQorICogJnN0cnVjdCBkcm1fZHNjX2NvbmZpZyBieSB0aGUgZHJp dmVyLgorICogRHJpdmVyIGNyZWF0ZXMgYW4gaW5mb2ZyYW1lIHVzaW5nIHRoZXNlIHBhcmFtZXRl cnMgdG8gcG9wdWxhdGUKKyAqICZzdHJ1Y3QgZHJtX2RzY19wcHNfaW5mb2ZyYW1lLiBUaGVzZSBh cmUgc2VudCB0byB0aGUgc2luayB1c2luZyBEU0MKKyAqIGluZm9mcmFtZSB1c2luZyB0aGUgaGVs cGVyIGZ1bmN0aW9uIGRybV9kc2NfcHBzX2luZm9mcmFtZV9wYWNrKCkKKyAqIEBkc2NfZHBjZDog RFNDIGNhcGFiaWxpdGllcyBmcm9tIERQQ0QKKyAqCisgKiBSZXR1cm5zOgorICogTGluZSBidWZm ZXIgZGVwdGggc3VwcG9ydGVkIGJ5IERTQyBwYW5lbCBvciAwIGl0cyBpbnZhbGlkCisgKi8KIHU4 IGRybV9kcF9kc2Nfc2lua19saW5lX2J1Zl9kZXB0aChjb25zdCB1OCBkc2NfZHBjZFtEUF9EU0Nf UkVDRUlWRVJfQ0FQX1NJWkVdKQogewogCXU4IGxpbmVfYnVmX2RlcHRoID0gZHNjX2RwY2RbRFBf RFNDX0xJTkVfQlVGX0JJVF9ERVBUSCAtIERQX0RTQ19TVVBQT1JUXTsKQEAgLTE0MzQsNiArMTQ2 MCwyMCBAQCB1OCBkcm1fZHBfZHNjX3NpbmtfbGluZV9idWZfZGVwdGgoY29uc3QgdTggZHNjX2Rw Y2RbRFBfRFNDX1JFQ0VJVkVSX0NBUF9TSVpFXSkKIH0KIEVYUE9SVF9TWU1CT0woZHJtX2RwX2Rz Y19zaW5rX2xpbmVfYnVmX2RlcHRoKTsKIAorLyoqCisgKiBkcm1fZHBfZHNjX3Npbmtfc3VwcG9y dGVkX2lucHV0X2JwY3MoKSAtIEdldCBhbGwgdGhlIGlucHV0IGJpdHMgcGVyIGNvbXBvbmVudAor ICogdmFsdWVzIHN1cHBvcnRlZCBieSB0aGUgRFNDIHNpbmsuIFRoaXMgaXMgdXNlZCB0byBwb3B1 bGF0ZSB0aGUgRFNDIHBhcmFtZXRlcnMKKyAqIGluIHRoZSAmc3RydWN0IGRybV9kc2NfY29uZmln IGJ5IHRoZSBkcml2ZXIuCisgKiBEcml2ZXIgY3JlYXRlcyBhbiBpbmZvZnJhbWUgdXNpbmcgdGhl c2UgcGFyYW1ldGVycyB0byBwb3B1bGF0ZQorICogJnN0cnVjdCBkcm1fZHNjX3Bwc19pbmZvZnJh bWUuIFRoZXNlIGFyZSBzZW50IHRvIHRoZSBzaW5rIHVzaW5nIERTQworICogaW5mb2ZyYW1lIHVz aW5nIHRoZSBoZWxwZXIgZnVuY3Rpb24gZHJtX2RzY19wcHNfaW5mb2ZyYW1lX3BhY2soKQorICog QGRzY19kcGNkOiBEU0MgY2FwYWJpbGl0aWVzIGZyb20gRFBDRAorICogQGRzY19icGM6IEFuIGFy cmF5IHRvIGJlIGZpbGxlZCBieSB0aGlzIGhlbHBlciB3aXRoIHN1cHBvcnRlZAorICogICAgICAg ICAgIGlucHV0IGJwY3MuCisgKgorICogUmV0dXJuczoKKyAqIE51bWJlciBvZiBpbnB1dCBCUEMg dmFsdWVzIHBhcnNlZCBmcm9tIHRoZSBEUENECisgKi8KIGludCBkcm1fZHBfZHNjX3Npbmtfc3Vw cG9ydGVkX2lucHV0X2JwY3MoY29uc3QgdTggZHNjX2RwY2RbRFBfRFNDX1JFQ0VJVkVSX0NBUF9T SVpFXSwKIAkJCQkJIHU4IGRzY19icGNbM10pCiB7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vZHJtX2RzYy5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9kc2MuYwppbmRleCBiYzJiMjNhZGIw NzIuLjBmZDU2ZmJkZjliNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9kc2MuYwor KysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2RzYy5jCkBAIC0xNyw2ICsxNywxMiBAQAogLyoqCiAg KiBET0M6IGRzYyBoZWxwZXJzCiAgKgorICogVkVTQSBzcGVjaWZpY2F0aW9uIGZvciBEUCAxLjQg YWRkcyBhIG5ldyBmZWF0dXJlIGNhbGxlZCBEaXNwbGF5IFN0cmVhbQorICogQ29tcHJlc3Npb24g KERTQykgdXNlZCB0byBjb21wcmVzcyB0aGUgcGl4ZWwgYml0cyBiZWZvcmUgc2VuZGluZyBpdCBv bgorICogRFAvZURQL01JUEkgRFNJIGludGVyZmFjZS4gRFNDIGlzIHJlcXVpcmVkIHRvIGJlIGVu YWJsZWQgc28gdGhhdCB0aGUgZXhpc3RpbmcKKyAqIGRpc3BsYXkgaW50ZXJmYWNlcyBjYW4gc3Vw cG9ydCBoaWdoIHJlc29sdXRpb25zIGF0IGhpZ2hlciBmcmFtZXMgcmF0ZXMgdWlzbmcKKyAqIHRo ZSBtYXhpbXVtIGF2YWlsYWJsZSBsaW5rIGNhcGFjaXR5IG9mIHRoZXNlIGludGVyZmFjZXMuCisg KgogICogVGhlc2UgZnVuY3Rpb25zIGNvbnRhaW4gc29tZSBjb21tb24gbG9naWMgYW5kIGhlbHBl cnMgdG8gZGVhbCB3aXRoIFZFU0EKICAqIERpc3BsYXkgU3RyZWFtIENvbXByZXNzaW9uIHN0YW5k YXJkIHJlcXVpcmVkIGZvciBEU0Mgb24gRGlzcGxheSBQb3J0L2VEUCBvcgogICogTUlQSSBkaXNw bGF5IGludGVyZmFjZXMuCkBAIC0yNiw2ICszMiw3IEBACiAgKiBkcm1fZHNjX2RwX3Bwc19oZWFk ZXJfaW5pdCgpIC0gSW5pdGlhbGl6ZXMgdGhlIFBQUyBIZWFkZXIKICAqIGZvciBEaXNwbGF5UG9y dCBhcyBwZXIgdGhlIERQIDEuNCBzcGVjLgogICogQHBwc19zZHA6IFNlY29uZGFyeSBkYXRhIHBh Y2tldCBmb3IgRFNDIFBpY3R1cmUgUGFyYW1ldGVyIFNldAorICogICAgICAgICAgIGFzIGRlZmlu ZWQgaW4gJnN0cnVjdCBkcm1fZHNjX3Bwc19pbmZvZnJhbWUKICAqLwogdm9pZCBkcm1fZHNjX2Rw X3Bwc19oZWFkZXJfaW5pdChzdHJ1Y3QgZHJtX2RzY19wcHNfaW5mb2ZyYW1lICpwcHNfc2RwKQog ewpAQCAtNDQsOSArNTEsMTEgQEAgRVhQT1JUX1NZTUJPTChkcm1fZHNjX2RwX3Bwc19oZWFkZXJf aW5pdCk7CiAgKiB0aGF0IHNwYW4gbW9yZSB0aGFuIDEgYnl0ZS4KICAqCiAgKiBAcHBzX3NkcDoK LSAqIFNlY29uZGFyeSBkYXRhIHBhY2tldCBmb3IgRFNDIFBpY3R1cmUgUGFyYW1ldGVyIFNldAor ICogU2Vjb25kYXJ5IGRhdGEgcGFja2V0IGZvciBEU0MgUGljdHVyZSBQYXJhbWV0ZXIgU2V0LiBU aGlzIGlzIGRlZmluZWQKKyAqIGJ5ICZzdHJ1Y3QgZHJtX2RzY19wcHNfaW5mb2ZyYW1lCiAgKiBA ZHNjX2NmZzoKLSAqIERTQyBDb25maWd1cmF0aW9uIGRhdGEgZmlsbGVkIGJ5IGRyaXZlcgorICog RFNDIENvbmZpZ3VyYXRpb24gZGF0YSBmaWxsZWQgYnkgZHJpdmVyIGFzIGRlZmluZWQgYnkKKyAq ICZzdHJ1Y3QgZHJtX2RzY19jb25maWcKICAqLwogdm9pZCBkcm1fZHNjX3Bwc19pbmZvZnJhbWVf cGFjayhzdHJ1Y3QgZHJtX2RzY19wcHNfaW5mb2ZyYW1lICpwcHNfc2RwLAogCQkJCWNvbnN0IHN0 cnVjdCBkcm1fZHNjX2NvbmZpZyAqZHNjX2NmZykKZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2Ry bV9kcF9oZWxwZXIuaCBiL2luY2x1ZGUvZHJtL2RybV9kcF9oZWxwZXIuaAppbmRleCA1ZGI3ZmI4 YzhiNTAuLjI3MTFjZGZhMGMxMyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9kcm0vZHJtX2RwX2hlbHBl ci5oCisrKyBiL2luY2x1ZGUvZHJtL2RybV9kcF9oZWxwZXIuaApAQCAtMTA1MiwxMSArMTA1Miwx OCBAQCBpbnQgZHJtX2RwX2J3X2NvZGVfdG9fbGlua19yYXRlKHU4IGxpbmtfYncpOwogI2RlZmlu ZSBEUF9TRFBfVlNDX0VYVF9DRUEJCTB4MjEgLyogRFAgMS40ICovCiAvKiAweDgwKyBDRUEtODYx IGluZm9mcmFtZSB0eXBlcyAqLwogCisvKioKKyAqIHN0cnVjdCBkcF9zZHBfaGVhZGVyIC0gRFAg c2Vjb25kYXJ5IGRhdGEgcGFja2V0IGhlYWRlcgorICogQEhCMDogU2Vjb25kYXJ5IERhdGEgUGFj a2V0IElECisgKiBASEIxOiBTZWNvbmRhcnkgRGF0YSBQYWNrZXQgVHlwZQorICogQEhCMjogU2Vj b25kYXJ5IERhdGEgUGFja2V0IFNwZWNpZmljIGhlYWRlciwgQnl0ZSAwCisgKiBASEIzOiBTZWNv bmRhcnkgRGF0YSBwYWNrZXQgU3BlY2lmaWMgaGVhZGVyLCBCeXRlIDEKKyAqLwogc3RydWN0IGRw X3NkcF9oZWFkZXIgewotCXU4IEhCMDsgLyogU2Vjb25kYXJ5IERhdGEgUGFja2V0IElEICovCi0J dTggSEIxOyAvKiBTZWNvbmRhcnkgRGF0YSBQYWNrZXQgVHlwZSAqLwotCXU4IEhCMjsgLyogU2Vj b25kYXJ5IERhdGEgUGFja2V0IFNwZWNpZmljIGhlYWRlciwgQnl0ZSAwICovCi0JdTggSEIzOyAv KiBTZWNvbmRhcnkgRGF0YSBwYWNrZXQgU3BlY2lmaWMgaGVhZGVyLCBCeXRlIDEgKi8KKwl1OCBI QjA7CisJdTggSEIxOworCXU4IEhCMjsKKwl1OCBIQjM7CiB9IF9fcGFja2VkOwogCiAjZGVmaW5l IEVEUF9TRFBfSEVBREVSX1JFVklTSU9OX01BU0sJCTB4MUYKZGlmZiAtLWdpdCBhL2luY2x1ZGUv ZHJtL2RybV9kc2MuaCBiL2luY2x1ZGUvZHJtL2RybV9kc2MuaAppbmRleCBkMDNmMWI4MzQyMWEu LmY1MGQyNjVhOTdlMiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9kcm0vZHJtX2RzYy5oCisrKyBiL2lu Y2x1ZGUvZHJtL2RybV9kc2MuaApAQCAtNDQsMTExICs0NCwxMjggQEAKICNkZWZpbmUgRFNDXzFf Ml9NQVhfTElORUJVRl9ERVBUSF9WQUwJCTAKICNkZWZpbmUgRFNDXzFfMV9NQVhfTElORUJVRl9E RVBUSF9CSVRTCQkxMwogCi0vKiBDb25maWd1cmF0aW9uIGZvciBhIHNpbmdsZSBSYXRlIENvbnRy b2wgbW9kZWwgcmFuZ2UgKi8KKy8qKgorICogc3RydWN0IGRybV9kc2NfcmNfcmFuZ2VfcGFyYW1l dGVycyAtIERTQyBSYXRlIENvbnRyb2wgcmFuZ2UgcGFyYW1ldGVycworICoKKyAqIEByYW5nZV9t aW5fcXA6IE1pbiBRdWFudGl6YXRpb24gUGFyYW1ldGVycyBhbGxvd2VkIGZvciB0aGlzIHJhbmdl CisgKiBAcmFuZ2VfbWF4X3FwOiBNYXggUXVhbnRpemF0aW9uIFBhcmFtZXRlcnMgYWxsb3dlZCBm b3IgdGhpcyByYW5nZQorICogQHJhbmdlX2JwZ19vZmZzZXQ6IEJpdHMvZ3JvdXAgb2Zmc2V0IHRv IGFwcGx5IHRvIHRhcmdldCBmb3IgdGhpcyBncm91cAorICovCiBzdHJ1Y3QgZHJtX2RzY19yY19y YW5nZV9wYXJhbWV0ZXJzIHsKLQkvKiBNaW4gUXVhbnRpemF0aW9uIFBhcmFtZXRlcnMgYWxsb3dl ZCBmb3IgdGhpcyByYW5nZSAqLwogCXU4IHJhbmdlX21pbl9xcDsKLQkvKiBNYXggUXVhbnRpemF0 aW9uIFBhcmFtZXRlcnMgYWxsb3dlZCBmb3IgdGhpcyByYW5nZSAqLwogCXU4IHJhbmdlX21heF9x cDsKLQkvKiBCaXRzL2dyb3VwIG9mZnNldCB0byBhcHBseSB0byB0YXJnZXQgZm9yIHRoaXMgZ3Jv dXAgKi8KIAl1OCByYW5nZV9icGdfb2Zmc2V0OwogfTsKIAorLyoqCisgKiBzdHJ1Y3QgZHJtX2Rz Y19jb25maWcgLSBQYXJhbWV0ZXJzIHJlcXVpcmVkIHRvIGNvbmZpZ3VyZSBEU0MKKyAqCisgKiBA bGluZV9idWZfZGVwdGg6IEJpdHMgLyBjb21wb25lbnQgZm9yIHByZXZpb3VzIHJlY29uc3RydWN0 ZWQgbGluZSBidWZmZXIKKyAqIEBiaXRzX3Blcl9jb21wb25lbnQ6IEJpdHMgcGVyIGNvbXBvbmVu dCB0byBjb2RlICg4LzEwLzEyKQorICogQGNvbnZlcnRfcmdiOiBGbGFnIHRvIGluZGljYXRlIGlm IFJHQiAtIFlDb0NnIGNvbnZlcnNpb24gaXMgbmVlZGVkCisgKiAgICAgICAgICAgICAgIFRydWUg aWYgUkdCIGlucHV0LCBGYWxzZSBpZiBZQ29DZyBpbnB1dAorICogQHNsaWNlX2NvdW50OiBOdW1i ZXIgZm8gc2xpY2VzIHBlciBsaW5lIHVzZWQgYnkgdGhlIERTQyBlbmNvZGVyCisgKiBAc2xpY2Vf d2lkdGg6IFdpZHRoIG9mIGVhY2ggc2xpY2UgaW4gcGl4ZWxzCisgKiBAc2xpY2VfaGVpZ2h0OiBT bGljZSBoZWlnaHQgaW4gcGl4ZWxzCisgKiBAZW5hYmxlNDIyOiBUcnVlIGZvciA0XzJfMiBzYW1w bGluZywgZmFsc2UgZm9yIDRfNF80IHNhbXBsaW5nCisgKiBAcGljX3dpZHRoOiBXaWR0aCBvZiB0 aGUgaW5wdXQgZGlzcGxheSBmcmFtZSBpbiBwaXhlbHMKKyAqIEBwaWNfaGVpZ2h0OiBWZXJ0aWNh bCBoZWlnaHQgb2YgdGhlIGlucHV0IGRpc3BsYXkgZnJhbWUKKyAqIEByY190Z3Rfb2Zmc2V0X2hp Z2g6IE9mZnNldCB0byBiaXRzL2dyb3VwIHVzZWQgYnkgUkMgdG8gZGV0ZXJtaW5lIFFQCisgKiAg ICAgICAgICAgICAgICAgICAgICBhZGp1c3RtZW50CisgKiBAcmNfdGd0X29mZnNldF9sb3c6IE9m ZnNldCB0byBiaXRzL2dyb3VwIHVzZWQgYnkgUkMgdG8gZGV0ZXJtaW5lIFFQCisgKiAgICAgICAg ICAgICAgICAgICAgIGFkanVzdG1lbnQKKyAqIEBiaXRzX3Blcl9waXhlbDogVGFyZ2V0IGJpdHMg cGVyIHBpeGVsIHdpdGggNCBmcmFjdGlvbmFsIGJpdHMuCisgKiAgICAgICAgICAgICAgICAgIGJp dHNfcGVyX3BpeGVsIDw8IDQKKyAqIEByY19lZGdlX2ZhY3RvcjogRmFjdG9yIHRvIGRldGVybWlu ZSBpZiBhbiBlZGdlIGlzIHByZXNlbnQgYmFzZWQgb24gdGhlCisgKiAgICAgICAgICAgICAgICAg IGJpdHMgcHJvZHVjZWQKKyAqIEByY19xdWFudF9pbmNyX2xpbWl0MTogU2xvdyBkb3duIGluY3Jl bWVudGluZyBvbmNlIHRoZSByYW5nZSByZWFjaGVzIHRoaXMKKyAqICAgICAgICAgICAgICAgICAg ICAgICAgdmFsdWUKKyAqIEByY19xdWFudF9pbmNyX2xpbWl0MDogU2xvdyBkb3duIGluY3JlbWVu dGluZyBvbmNlIHRoZSByYW5nZSByZWFjaGVzIHRoaXMKKyAqICAgICAgICAgICAgICAgICAgICAg ICAgdmFsdWUKKyAqIEBpbml0aWFsX3htaXRfZGVsYXk6IE51bWJlciBvZiBwaXhlbHMgdG8gZGVs YXkgdGhlIGluaXRpYWwgdHJhbnNtaXNzaW9uCisgKiBAaW5pdGlhbF9kZWNfZGVsYXk6IEluaXRp YWwgZGVjb2RlciBkZWxheSwgbnVtYmVyIG9mIHBpeGVsIHRpbWVzIHRoYXQgdGhlCisgKiAgICAg ICAgICAgICAgICAgICAgIGRlY29lciBhY2N1bXVsYXRlcyBkYXRhIGluIGl0cyByYXRlIGJ1ZmZl ciBiZWZvcmUKKyAqICAgICAgICAgICAgICAgICAgICAgc3RhcnRpbmcgdG8gZGVjb2RlIGFuZCBv dXRwdXQgcGl4ZWxzLgorICogQGJsb2NrX3ByZWRfZW5hYmxlOiBUcnVlIGlmIGJsb2NrIHByZWRp Y3Rpb24gaXMgdXNlZCB0byBjb2RlIGFueSBncm91cHMKKyAqICAgICAgICAgICAgICAgICAgICAg d2l0aGluIHRoZSBwaWN0dXJlLgorICogICAgICAgICAgICAgICAgICAgICBGYWxzZSBpZiBCUCBu b3QgdXNlZAorICogQGZpcnN0X2xpbmVfYnBnX29mZnNldDogTnVtYmVyIG9mIGFkZGl0aW9uYWwg Yml0cyBhbGxvY2F0ZWQgZm9yIGVhY2ggZ3JvdXAgb24KKyAqICAgICAgICAgICAgICAgICAgICAg ICAgIHRoZSBmaXJzdCBsaW5lIG9mIHNsaWNlLgorICogQGluaXRpYWxfb2Zmc2V0OiBWYWx1ZSB0 byB1c2UgZm9yIFJDIG1vZGVsIG9mZnNldCBhdCBzbGljZSBzdGFydAorICogQHJjX2J1Zl90aHJl c2g6IFRocmVzaG9sZHMgZGVmaW5pbmcgZWFjaCBvZiB0aGUgYnVmZmVyIHJhbmdlcworICogQHJj X3JhbmdlX3BhcmFtczogUGFyYW1ldGVycyBmb3IgZWFjaCBvZiB0aGUgUkMgcmFuZ2VzIGRlZmlu ZWQgaW4KKyAqICAgICAgICAgICAgICAgICAgICZzdHJ1Y3QgZHJtX2RzY19yY19yYW5nZV9wYXJh bWV0ZXJzCisgKiBAcmNfbW9kZWxfc2l6ZTogVG90YWwgc2l6ZSBvZiBSQyBtb2RlbAorICogQGZs YXRuZXNzX21pbl9xcDogTWluaW11bSBRUCB3aGVyZSBmbGF0bmVzcyBpbmZvcm1hdGlvbiBpcyBz ZW50CisgKiBAZmxhdG5lc3NfbWF4X3FwOiBNYXhpbXVtIFFQIHdoZXJlIGZsYXRuZXNzIGluZm9y bWF0aW9uIGlzIHNlbnQKKyAqIEBpbml0aWFsX3NjYWxlX3ZhbHVlOiBJbml0aWFsIHZhbHVlIGZv ciB0aGUgc2NhbGUgZmFjdG9yCisgKiBAc2NhbGVfZGVjcmVtZW50X2ludGVydmFsOiBTcGVjaWZp ZXMgbnVtYmVyIG9mIGdyb3VwIHRpbWVzIGJldHdlZW4KKyAqICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGRlY3JlbWVudGluZyB0aGUgc2NhbGUgZmFjdG9yIGF0IGJlZ2lubmluZworICogICAg ICAgICAgICAgICAgICAgICAgICAgICAgb2YgYSBzbGljZS4KKyAqIEBzY2FsZV9pbmNyZW1lbnRf aW50ZXJ2YWw6IE51bWJlciBvZiBncm91cCB0aW1lcyBiZXR3ZWVuIGluY3JlbWVudGluZworICog ICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIHNjYWxlIGZhY3RvciB2YWx1ZSB1c2VkIGF0 IHRoZSBiZWdpbm5pbmcKKyAqICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9mIGEgc2xpY2Uu CisgKiBAbmZsX2JwZ19vZmZzZXQ6IE5vbiBmaXJzdCBsaW5lIEJQRyBvZmZzZXQgdG8gYmUgdXNl ZAorICogQHNsaWNlX2JwZ19vZmZzZXQ6IEJQRyBvZmZzZXQgdXNlZCB0byBlbmZvcmNlIHNsaWNl IGJpdAorICogQGZpbmFsX29mZnNldDogRmluYWwgUkMgbGluZWFyIHRyYW5zZm9ybWF0aW9uIG9m ZnNldCB2YWx1ZQorICogQHZicl9lbmFibGU6IFRydWUgaWYgVkJSIG1vZGUgaXMgZW5hYmxlZCwg ZmFsc2UgaWYgZGlzYWJsZWQKKyAqIEBtdXhfd29yZF9zaXplOiBNdXggd29yZCBzaXplIChpbiBi aXRzKSBmb3IgU1NNIG1vZGUKKyAqIEBzbGljZV9jaHVua19zaXplOiBUaGUgKG1heCkgc2l6ZSBp biBieXRlcyBvZiB0aGUgImNodW5rcyIgdGhhdCBhcmUKKyAqICAgICAgICAgICAgICAgICAgICB1 c2VkIGluIHNsaWNlIG11bHRpcGxleGluZy4KKyAqIEByY19iaXRzOiBSYXRlIGNvbnRyb2wgYnVm ZmVyIHNpemUgaW4gYml0cworICogQGRzY192ZXJzaW9uX21pbm9yOiBEU0MgbWlub3IgdmVyc2lv bgorICogQGRzY192ZXJzaW9uX21ham9yOiBEU0MgbWFqb3IgdmVyc2lvbgorICogQG5hdGl2ZV80 MjI6IFRydWUgaWYgTmF0aXZlIDQ6MjoyIHN1cHBvcnRlZCwgZWxzZSBmYWxzZQorICogQG5hdGl2 ZV80MjA6IFRydWUgaWYgTmF0aXZlIDQ6MjowIHN1cHBvcnRlZCBlbHNlIGZhbHNlLgorICogQHNl Y29uZF9saW5lX2JwZ19vZmZzZXQ6IEFkZGl0aW9uYWwgYml0cy9ncnAgZm9yIHNlY29ubmQgbGlu ZSBvZiBzbGljZSBmb3IKKyAqICAgICAgICAgICAgICAgICAgICAgICAgICBuYXRpdmUgNDoyOjAK KyAqIEBuc2xfYnBnX29mZnNldDogTnVtIG9mIGJpdHMgZGVhbGxvY2F0ZWQgZm9yIGVhY2ggZ3Jw IHRoYXQgaXMgbm90IGluIHNlY29uZAorICogICAgICAgICAgICAgICAgICBsaW5lIG9mIHNsaWNl CisgKiBAc2Vjb25kX2xpbmVfb2Zmc2V0X2FkajogT2Zmc2V0IGFkanVzdG1lbnQgZm9yIHNlY29u ZCBsaW5lIGluIE5hdGl2ZSA0OjI6MAorICogICAgICAgICAgICAgICAgICAgICAgICAgIG1vZGUK KyAqLwogc3RydWN0IGRybV9kc2NfY29uZmlnIHsKLQkvKiBCaXRzIC8gY29tcG9uZW50IGZvciBw cmV2aW91cyByZWNvbnN0cnVjdGVkIGxpbmUgYnVmZmVyICovCiAJdTggbGluZV9idWZfZGVwdGg7 Ci0JLyogQml0cyBwZXIgY29tcG9uZW50IHRvIGNvZGUgKG11c3QgYmUgOCwgMTAsIG9yIDEyKSAq LwogCXU4IGJpdHNfcGVyX2NvbXBvbmVudDsKLQkvKgotCSAqIEZsYWcgaW5kaWNhdGluZyB0byBk byBSR0IgLSBZQ29DZyBjb252ZXJzaW9uCi0JICogYW5kIGJhY2sgKHNob3VsZCBiZSAxIGZvciBS R0IgaW5wdXQpCi0JICovCiAJYm9vbCBjb252ZXJ0X3JnYjsKIAl1OCBzbGljZV9jb3VudDsKLQkv KiBTbGljZSBXaWR0aCAqLwogCXUxNiBzbGljZV93aWR0aDsKLQkvKiBTbGljZSBIZWlnaHQgKi8K IAl1MTYgc2xpY2VfaGVpZ2h0OwotCS8qCi0JICogNDoyOjIgZW5hYmxlIG1vZGUgKGZyb20gUFBT LCA0OjI6MiBjb252ZXJzaW9uIGhhcHBlbnMKLQkgKiBvdXRzaWRlIG9mIERTQyBlbmNvZGUvZGVj b2RlIGFsZ29yaXRobSkKLQkgKi8KIAlib29sIGVuYWJsZTQyMjsKLQkvKiBQaWN0dXJlIFdpZHRo ICovCiAJdTE2IHBpY193aWR0aDsKLQkvKiBQaWN0dXJlIEhlaWdodCAqLwogCXUxNiBwaWNfaGVp Z2h0OwotCS8qIE9mZnNldCB0byBiaXRzL2dyb3VwIHVzZWQgYnkgUkMgdG8gZGV0ZXJtaW5lIFFQ IGFkanVzdG1lbnQgKi8KIAl1OCByY190Z3Rfb2Zmc2V0X2hpZ2g7Ci0JLyogT2Zmc2V0IHRvIGJp dHMvZ3JvdXAgdXNlZCBieSBSQyB0byBkZXRlcm1pbmUgUVAgYWRqdXN0bWVudCAqLwogCXU4IHJj X3RndF9vZmZzZXRfbG93OwotCS8qIEJpdHMvcGl4ZWwgdGFyZ2V0IDw8IDQgKGllLiwgNCBmcmFj dGlvbmFsIGJpdHMpICovCiAJdTE2IGJpdHNfcGVyX3BpeGVsOwotCS8qCi0JICogRmFjdG9yIHRv IGRldGVybWluZSBpZiBhbiBlZGdlIGlzIHByZXNlbnQgYmFzZWQKLQkgKiBvbiB0aGUgYml0cyBw cm9kdWNlZAotCSAqLwogCXU4IHJjX2VkZ2VfZmFjdG9yOwotCS8qIFNsb3cgZG93biBpbmNyZW1l bnRpbmcgb25jZSB0aGUgcmFuZ2UgcmVhY2hlcyB0aGlzIHZhbHVlICovCiAJdTggcmNfcXVhbnRf aW5jcl9saW1pdDE7Ci0JLyogU2xvdyBkb3duIGluY3JlbWVudGluZyBvbmNlIHRoZSByYW5nZSBy ZWFjaGVzIHRoaXMgdmFsdWUgKi8KIAl1OCByY19xdWFudF9pbmNyX2xpbWl0MDsKLQkvKiBOdW1i ZXIgb2YgcGl4ZWxzIHRvIGRlbGF5IHRoZSBpbml0aWFsIHRyYW5zbWlzc2lvbiAqLwogCXUxNiBp bml0aWFsX3htaXRfZGVsYXk7Ci0JLyogTnVtYmVyIG9mIHBpeGVscyB0byBkZWxheSB0aGUgVkxE IG9uIHRoZSBkZWNvZGVyLG5vdCBpbmNsdWRpbmcgU1NNICovCiAJdTE2ICBpbml0aWFsX2RlY19k ZWxheTsKLQkvKiBCbG9jayBwcmVkaWN0aW9uIGVuYWJsZSAqLwogCWJvb2wgYmxvY2tfcHJlZF9l bmFibGU7Ci0JLyogQml0cy9ncm91cCBvZmZzZXQgdG8gdXNlIGZvciBmaXJzdCBsaW5lIG9mIHRo ZSBzbGljZSAqLwogCXU4IGZpcnN0X2xpbmVfYnBnX29mZnNldDsKLQkvKiBWYWx1ZSB0byB1c2Ug Zm9yIFJDIG1vZGVsIG9mZnNldCBhdCBzbGljZSBzdGFydCAqLwogCXUxNiBpbml0aWFsX29mZnNl dDsKLQkvKiBUaHJlc2hvbGRzIGRlZmluaW5nIGVhY2ggb2YgdGhlIGJ1ZmZlciByYW5nZXMgKi8K IAl1MTYgcmNfYnVmX3RocmVzaFtEU0NfTlVNX0JVRl9SQU5HRVMgLSAxXTsKLQkvKiBQYXJhbWV0 ZXJzIGZvciBlYWNoIG9mIHRoZSBSQyByYW5nZXMgKi8KIAlzdHJ1Y3QgZHJtX2RzY19yY19yYW5n ZV9wYXJhbWV0ZXJzIHJjX3JhbmdlX3BhcmFtc1tEU0NfTlVNX0JVRl9SQU5HRVNdOwotCS8qIFRv dGFsIHNpemUgb2YgUkMgbW9kZWwgKi8KIAl1MTYgcmNfbW9kZWxfc2l6ZTsKLQkvKiBNaW5pbXVt IFFQIHdoZXJlIGZsYXRuZXNzIGluZm9ybWF0aW9uIGlzIHNlbnQgKi8KIAl1OCBmbGF0bmVzc19t aW5fcXA7Ci0JLyogTWF4aW11bSBRUCB3aGVyZSBmbGF0bmVzcyBpbmZvcm1hdGlvbiBpcyBzZW50 ICovCiAJdTggZmxhdG5lc3NfbWF4X3FwOwotCS8qIEluaXRpYWwgdmFsdWUgZm9yIHNjYWxlIGZh Y3RvciAqLwogCXU4IGluaXRpYWxfc2NhbGVfdmFsdWU7Ci0JLyogRGVjcmVtZW50IHNjYWxlIGZh Y3RvciBldmVyeSBzY2FsZV9kZWNyZW1lbnRfaW50ZXJ2YWwgZ3JvdXBzICovCiAJdTE2IHNjYWxl X2RlY3JlbWVudF9pbnRlcnZhbDsKLQkvKiBJbmNyZW1lbnQgc2NhbGUgZmFjdG9yIGV2ZXJ5IHNj YWxlX2luY3JlbWVudF9pbnRlcnZhbCBncm91cHMgKi8KIAl1MTYgc2NhbGVfaW5jcmVtZW50X2lu dGVydmFsOwotCS8qIE5vbi1maXJzdCBsaW5lIEJQRyBvZmZzZXQgdG8gdXNlICovCiAJdTE2IG5m bF9icGdfb2Zmc2V0OwotCS8qIEJQRyBvZmZzZXQgdXNlZCB0byBlbmZvcmNlIHNsaWNlIGJpdCAq LwogCXUxNiBzbGljZV9icGdfb2Zmc2V0OwotCS8qIEZpbmFsIFJDIGxpbmVhciB0cmFuc2Zvcm1h dGlvbiBvZmZzZXQgdmFsdWUgKi8KIAl1MTYgZmluYWxfb2Zmc2V0OwotCS8qIEVuYWJsZSBvbi1v ZmYgVkJSIChpZS4sIGRpc2FibGUgc3R1ZmZpbmcgYml0cykgKi8KIAlib29sIHZicl9lbmFibGU7 Ci0JLyogTXV4IHdvcmQgc2l6ZSAoaW4gYml0cykgZm9yIFNTTSBtb2RlICovCiAJdTggbXV4X3dv cmRfc2l6ZTsKLQkvKgotCSAqIFRoZSAobWF4KSBzaXplIGluIGJ5dGVzIG9mIHRoZSAiY2h1bmtz IiB0aGF0IGFyZQotCSAqIHVzZWQgaW4gc2xpY2UgbXVsdGlwbGV4aW5nCi0JICovCiAJdTE2IHNs aWNlX2NodW5rX3NpemU7Ci0JLyogUmF0ZSBDb250cm9sIGJ1ZmZlciBzaXogaW4gYml0cyAqLwog CXUxNiByY19iaXRzOwotCS8qIERTQyBNaW5vciBWZXJzaW9uICovCiAJdTggZHNjX3ZlcnNpb25f bWlub3I7Ci0JLyogRFNDIE1ham9yIHZlcnNpb24gKi8KIAl1OCBkc2NfdmVyc2lvbl9tYWpvcjsK LQkvKiBOYXRpdmUgNDoyOjIgc3VwcG9ydCAqLwogCWJvb2wgbmF0aXZlXzQyMjsKLQkvKiBOYXRp dmUgNDoyOjAgc3VwcG9ydCAqLwogCWJvb2wgbmF0aXZlXzQyMDsKLQkvKiBBZGRpdGlvbmFsIGJp dHMvZ3JwIGZvciBzZWNvbm5kIGxpbmUgb2Ygc2xpY2UgZm9yIG5hdGl2ZSA0OjI6MCAqLwogCXU4 IHNlY29uZF9saW5lX2JwZ19vZmZzZXQ7Ci0JLyogTnVtIG9mIGJpdHMgZGVhbGxvY2F0ZWQgZm9y IGVhY2ggZ3JwIHRoYXQgaXMgbm90IGluIHNlY29uZCBsaW5lIG9mIHNsaWNlICovCiAJdTE2IG5z bF9icGdfb2Zmc2V0OwotCS8qIE9mZnNldCBhZGogZnIgc2Vjb25kIGxpbmUgaW4gTmF0aXZlIDQ6 MjowIG1vZGUgKi8KIAl1MTYgc2Vjb25kX2xpbmVfb2Zmc2V0X2FkajsKIH07CiAKQEAgLTQ2OCwx MCArNDg1LDEzIEBAIHN0cnVjdCBkcm1fZHNjX3BpY3R1cmVfcGFyYW1ldGVyX3NldCB7CiAgKiBU aGlzIHN0cnVjdHVyZSByZXByZXNlbnRzIHRoZSBEU0MgUFBTIGluZm9mcmFtZSByZXF1aXJlZCB0 byBzZW5kIHRoZSBQaWN0dXJlCiAgKiBQYXJhbWV0ZXIgU2V0IG1ldGFkYXRhIHJlcXVpcmVkIGJl Zm9yZSBlbmFibGluZyBWRVNBIERpc3BsYXkgU3RyZWFtCiAgKiBDb21wcmVzc2lvbi4gVGhpcyBp cyBiYXNlZCBvbiB0aGUgRFAgU2Vjb25kYXJ5IERhdGEgUGFja2V0IHN0cnVjdHVyZSBhbmQKLSAq IGNvbXByaXNlcyBvZiBTRFAgSGVhZGVyIGFzIGRlZmluZWQgaW4gZHJtX2RwX2hlbHBlci5oIGFu ZCBQUFMgcGF5bG9hZC4KKyAqIGNvbXByaXNlcyBvZiBTRFAgSGVhZGVyIGFzIGRlZmluZWQgJnN0 cnVjdCBzdHJ1Y3QgZHBfc2RwX2hlYWRlciBpbiBkcm1fZHBfaGVscGVyLmgKKyAqIGFuZCBQUFMg cGF5bG9hZCBkZWZpbmVkIGluICZzdHJ1Y3QgZHJtX2RzY19waWN0dXJlX3BhcmFtZXRlcl9zZXQu CiAgKgotICogQHBwc19oZWFkZXI6IEhlYWRlciBmb3IgUFBTIGFzIHBlciBEUCBTRFAgaGVhZGVy IGZvcm1hdAorICogQHBwc19oZWFkZXI6IEhlYWRlciBmb3IgUFBTIGFzIHBlciBEUCBTRFAgaGVh ZGVyIGZvcm1hdCBvZiB0eXBlCisgKiAgICAgICAgICAgICAgJnN0cnVjdCBkcF9zZHBfaGVhZGVy CiAgKiBAcHBzX3BheWxvYWQ6IFBQUyBwYXlsb2FkIGZpZWxkcyBhcyBwZXIgRFNDIHNwZWNpZmlj YXRpb24gVGFibGUgNC0xCisgKiAgICAgICAgICAgICAgIGFzIHJlcHJlc2VudGVkIGluICZzdHJ1 Y3QgZHJtX2RzY19waWN0dXJlX3BhcmFtZXRlcl9zZXQKICAqLwogc3RydWN0IGRybV9kc2NfcHBz X2luZm9mcmFtZSB7CiAJc3RydWN0IGRwX3NkcF9oZWFkZXIgcHBzX2hlYWRlcjsKLS0gCjIuMTku MQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRl dmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8v bGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==