From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Srivatsa, Anusha" Subject: Re: [PATCH v2 07/23] drm/dsc: Define Display Stream Compression PPS infoframe Date: Fri, 17 Aug 2018 19:31:51 +0000 Message-ID: <83F5C7385F545743AD4FB2A62F75B07347F42421@ORSMSX108.amr.corp.intel.com> References: <1533071239-28815-1-git-send-email-manasi.d.navare@intel.com> <1533071239-28815-8-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: <1533071239-28815-8-git-send-email-manasi.d.navare@intel.com> Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: "Navare, Manasi D" , "intel-gfx@lists.freedesktop.org" Cc: Harry Wentland , "dri-devel@lists.freedesktop.org" List-Id: dri-devel@lists.freedesktop.org VGhpcyBwYXRjaCBuZWVkcyB0byBub3cgaW5jb3Jwb3JhdGUgdGhlIG5ld2x5IGFkZGVkIHNsaWNl X3Jvd19wZXJfZnJhbWUgcGFyYW1ldGVyIGluIFBQU18xNi4KCkFudXNoYSAKCj4tLS0tLU9yaWdp bmFsIE1lc3NhZ2UtLS0tLQo+RnJvbTogTmF2YXJlLCBNYW5hc2kgRAo+U2VudDogVHVlc2RheSwg SnVseSAzMSwgMjAxOCAyOjA3IFBNCj5UbzogaW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9y Zwo+Q2M6IE5hdmFyZSwgTWFuYXNpIEQgPG1hbmFzaS5kLm5hdmFyZUBpbnRlbC5jb20+OyBTaW5n aCwgR2F1cmF2IEsKPjxnYXVyYXYuay5zaW5naEBpbnRlbC5jb20+OyBkcmktZGV2ZWxAbGlzdHMu ZnJlZWRlc2t0b3Aub3JnOyBKYW5pIE5pa3VsYQo+PGphbmkubmlrdWxhQGxpbnV4LmludGVsLmNv bT47IFZpbGxlIFN5cmphbGEgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPjsKPlNyaXZh dHNhLCBBbnVzaGEgPGFudXNoYS5zcml2YXRzYUBpbnRlbC5jb20+OyBIYXJyeSBXZW50bGFuZAo+ PGhhcnJ5LndlbnRsYW5kQGFtZC5jb20+Cj5TdWJqZWN0OiBbUEFUQ0ggdjIgMDcvMjNdIGRybS9k c2M6IERlZmluZSBEaXNwbGF5IFN0cmVhbSBDb21wcmVzc2lvbiBQUFMKPmluZm9mcmFtZQo+Cj5U aGlzIHBhdGNoIGRlZmluZXMgYSBuZXcgaGVhZGVyIGZpbGUgZm9yIGFsbCB0aGUgRFNDIDEuMiBz dHJ1Y3R1cmVzIGFuZCBjcmVhdGVzIGEKPnN0cnVjdHVyZSBmb3IgUFBTIGluZm9mcmFtZSB3aGlj aCB3aWxsIGJlIHVzZWQgdG8gc2VuZCBwaWN0dXJlIHBhcmFtZXRlciBzZXQKPnNlY29uZGFyeSBk YXRhIHBhY2tldCBmb3IgZGlzcGxheSBzdHJlYW0gY29tcHJlc3Npb24uCj5BbGwgdGhlIFBQUyBp bmZvZnJhbWUgc3ludGF4IGVsZW1lbnRzIGFyZSB0YWtlbiBmcm9tIERTQyAxLjIgc3BlY2lmaWNh dGlvbiBmcm9tCj5WRVNBLgo+Cj5DYzogR2F1cmF2IEsgU2luZ2ggPGdhdXJhdi5rLnNpbmdoQGlu dGVsLmNvbT4KPkNjOiBkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj5DYzogSmFuaSBO aWt1bGEgPGphbmkubmlrdWxhQGxpbnV4LmludGVsLmNvbT4KPkNjOiBWaWxsZSBTeXJqYWxhIDx2 aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KPkNjOiBBbnVzaGEgU3JpdmF0c2EgPGFudXNo YS5zcml2YXRzYUBpbnRlbC5jb20+Cj5DYzogSGFycnkgV2VudGxhbmQgPGhhcnJ5LndlbnRsYW5k QGFtZC5jb20+Cj5TaWduZWQtb2ZmLWJ5OiBNYW5hc2kgTmF2YXJlIDxtYW5hc2kuZC5uYXZhcmVA aW50ZWwuY29tPgo+LS0tCj4gaW5jbHVkZS9kcm0vZHJtX2RzYy5oIHwgMzY1Cj4rKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwo+IDEgZmlsZSBjaGFuZ2Vk LCAzNjUgaW5zZXJ0aW9ucygrKQo+IGNyZWF0ZSBtb2RlIDEwMDY0NCBpbmNsdWRlL2RybS9kcm1f ZHNjLmgKPgo+ZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9kc2MuaCBiL2luY2x1ZGUvZHJt L2RybV9kc2MuaCBuZXcgZmlsZSBtb2RlCj4xMDA2NDQgaW5kZXggMDAwMDAwMC4uNjc4ZThlNgo+ LS0tIC9kZXYvbnVsbAo+KysrIGIvaW5jbHVkZS9kcm0vZHJtX2RzYy5oCj5AQCAtMCwwICsxLDM2 NSBAQAo+Ky8qCj4rICogQ29weXJpZ2h0IChDKSAyMDE4IEludGVsIENvcnAuCj4rICoKPisgKiBQ ZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNv bgo+K29idGFpbmluZyBhCj4rICogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVk IGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQo+KyJTb2Z0d2FyZSIpLAo+KyAqIHRvIGRlYWwgaW4g dGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0Cj4rbGlt aXRhdGlvbgo+KyAqIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJs aXNoLCBkaXN0cmlidXRlLAo+K3N1YmxpY2Vuc2UsCj4rICogYW5kL29yIHNlbGwgY29waWVzIG9m IHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20KPit0aGUKPisgKiBT b2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBj b25kaXRpb25zOgo+KyAqCj4rICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMg cGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUKPitpbmNsdWRlZCBpbgo+KyAqIGFsbCBjb3BpZXMg b3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLgo+KyAqCj4rICogVEhFIFNP RlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQs Cj4rRVhQUkVTUyBPUgo+KyAqIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8g VEhFIFdBUlJBTlRJRVMgT0YKPitNRVJDSEFOVEFCSUxJVFksCj4rICogRklUTkVTUyBGT1IgQSBQ QVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gIElOIE5PCj5FVkVOVAo+K1NI QUxMCj4rICogVEhFIENPUFlSSUdIVCBIT0xERVIoUykgT1IgQVVUSE9SKFMpIEJFIExJQUJMRSBG T1IgQU5ZIENMQUlNLAo+K0RBTUFHRVMgT1IKPisgKiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIg SU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SCj4rT1RIRVJXSVNFLAo+KyAqIEFSSVNJ TkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhF Cj5VU0UKPitPUgo+KyAqIE9USEVSIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS4KPisgKgo+KyAq IEF1dGhvcnM6Cj4rICogTWFuYXNpIE5hdmFyZSA8bWFuYXNpLmQubmF2YXJlQGludGVsLmNvbT4g ICovCj4rCj4rI2lmbmRlZiBEUk1fRFNDX0hfCj4rI2RlZmluZSBEUk1fRFNDX0hfCj4rCj4rI2lu Y2x1ZGUgPGRybS9kcm1fZHBfaGVscGVyLmg+Cj4rCj4rLyogVkVTQSBEaXNwbGF5IFN0cmVhbSBD b21wcmVzc2lvbiBEU0MgMS4yIGNvbnN0YW50cyAqLwo+KyNkZWZpbmUgRFNDX05VTV9CVUZfUkFO R0VTCTE1Cj4rCj4rLyoqCj4rICogc3RydWN0IHBpY3R1cmVfcGFyYW1ldGVyX3NldCAtIFJlcHJl c2VudHMgMTI4IGJ5dGVzIG9mIFBpY3R1cmUKPitQYXJhbWV0ZXIgU2V0Cj4rICoKPisgKiBUaGUg VkVTQSBEU0Mgc3RhbmRhcmQgZGVmaW5lcyBwaWN0dXJlIHBhcmFtZXRlciBzZXQgKFBQUykgd2hp Y2gKPitkaXNwbGF5Cj4rICogc3RyZWFtIGNvbXByZXNzaW9uIGVuY29kZXJzIG11c3QgY29tbXVu aWNhdGUgdG8gZGVjb2RlcnMuCj4rICogVGhlIFBQUyBpcyBlbmNhcHN1bGF0ZWQgaW4gMTI4IGJ5 dGVzIChQUFMgMCB0aHJvdWdoIFBQUyAxMjcpLiBUaGUKPitmaWVsZHMgaW4KPisgKiB0aGlzIHN0 cnVjdHVyZSBhcmUgYXMgcGVyIFRhYmxlIDQuMSBpbiBWZXNhIERTQyBzcGVjaWZpY2F0aW9uIHYx LjEvdjEuMi4KPisgKiBUaGUgUFBTIGZpZWxkcyB0aGF0IHNwYW4gb3ZlciBtb3JlIHRoYW4gYSBi eXRlIHNob3VsZCBiZSBzdG9yZWQgaW4KPitCaWcgRW5kaWFuCj4rICogZm9ybWF0Lgo+KyAqLwo+ K3N0cnVjdCBwaWN0dXJlX3BhcmFtZXRlcl9zZXQgewo+KwkvKioKPisJICogQGRzY192ZXJzaW9u Ogo+KwkgKiBQUFMwWzM6MF0gLSBkc2NfdmVyc2lvbl9taW5vcjogQ29udGFpbnMgTWlub3IgdmVy c2lvbiBvZiBEU0MKPisJICogUFBTMFs3OjRdIC0gZHNjX3ZlcnNpb25fbWFqb3I6IENvbnRhaW5z IG1ham9yIHZlcnNpb24gb2YgRFNDCj4rCSAqLwo+Kwl1OCBkc2NfdmVyc2lvbjsKPisJLyoqCj4r CSAqIEBwcHNfaWRlbnRpZmllcjoKPisJICogUFBTMVs3OjBdIC0gQXBwbGljYXRpb24gc3BlY2lm aWMgaWRlbnRpZmllciB0aGF0IGNhbiBiZQo+KwkgKiB1c2VkIHRvIGRpZmZlcmVudGlhdGUgYmV0 d2VlbiBkaWZmZXJlbnQgUFBTIHRhYmxlcy4KPisJICovCj4rCXU4IHBwc19pZGVudGlmaWVyOwo+ KwkvKioKPisJICogQHBwc19yZXNlcnZlZDoKPisJICogUFBTMls3OjBdLSBSRVNFUlZFRCBCeXRl Cj4rCSAqLwo+Kwl1OCBwcHNfcmVzZXJ2ZWQ7Cj4rCS8qKgo+KwkgKiBAcHBzXzM6Cj4rCSAqIFBQ UzNbMzowXSAtIGxpbmVidWZfZGVwdGg6IENvbnRhaW5zIGxpbmVidWZmZXIgYml0IGRlcHRoIHVz ZWQgdG8KPisJICogZ2VuZXJhdGUgdGhlIGJpdHN0cmVhbS4gKDB4MCAtIDE2IGJpdHMgZm9yIERT QyAxLjIsIDB4OCAtIDggYml0cywKPisJICogMHhBIC0gMTAgYml0cywgMHhCIC0gMTEgYml0cywg MHhDIC0gMTIgYml0cywgMHhEIC0gMTMgYml0cywKPisJICogMHhFIC0gMTQgYml0cyBmb3IgRFND MS4yLCAweEYgLSAxNCBiaXRzIGZvciBEU0MgMS4yLgo+KwkgKiBQUFMzWzc6NF0gLSBiaXRzX3Bl cl9jb21wb25lbnQ6IEJpdHMgcGVyIGNvbXBvbmVudCBmb3IgdGhlIG9yaWdpbmFsCj4rCSAqIHBp eGVscyBvZiB0aGUgZW5jb2RlZCBwaWN0dXJlLgo+KwkgKiAweDAgPSAxNmJwYyAoYWxsb3dlZCBv bmx5IHdoZW4gZHNjX3ZlcnNpb25fbWlub3IgPSAweDIpCj4rCSAqIDB4OCA9IDhicGMsIDB4QSA9 IDEwYnBjLCAweEMgPSAxMmJwYywgMHhFID0gMTRicGMgKGFsc28KPisJICogYWxsb3dlZCBvbmx5 IHdoZW4gZHNjX21pbm9yX3ZlcnNpb24gPSAweDIpCj4rCSAqLwo+Kwl1OCBwcHNfMzsKPisJLyoq Cj4rCSAqIEBwcHNfNDoKPisJICogUFBTNFsxOjBdIC1UaGVzZSBhcmUgdGhlIG1vc3Qgc2lnbmlm aWNhbnQgMiBiaXRzIG9mCj4rCSAqIGNvbXByZXNzZWQgQlBQIGJpdHNfcGVyX3BpeGVsWzk6MF0g c3ludGF4IGVsZW1lbnQuCj4rCSAqIFBQUzRbMl0gLSB2YnJfZW5hYmxlOiAwID0gVkJSIGRpc2Fi bGVkLCAxID0gVkJSIGVuYWJsZWQKPisJICogUFBTNFszXSAtIHNpbXBsZV80MjI6IEluZGljYXRl cyBpZiBkZWNvZGVyIGRyb3BzIHNhbXBsZXMgdG8KPisJICogcmVjb25zdHJ1Y3QgdGhlIDQ6Mjoy IHBpY3R1cmUuCj4rCSAqIFBQUzRbNF0gLSBDb252ZXJ0X3JnYjogSW5kaWNhdGVzIGlmIERTQyBj b2xvciBzcGFjZSBjb252ZXJzaW9uIGlzCj4rCSAqIGFjdGl2ZS4KPisJICogUFBTNFs1XSAtIGJs b2JrX3ByZWRfZW5hYmxlOiBJbmRpY2F0ZXMgaWYgQlAgaXMgdXNlZCB0byBjb2RlIGFueQo+Kwkg KiBncm91cHMgaW4gcGljdHVyZQo+KwkgKiBQUFM0Wzc6Nl0gLSBSZXNldmVkIGJpdHMKPisJICov Cj4rCXU4IHBwc180Owo+KwkvKioKPisJICogQGJpdHNfcGVyX3BpeGVsX2xvdzoKPisJICogUFBT NVs3OjBdIC0gVGhpcyBpbmRpY2F0ZXMgdGhlIGxvd2VyIHNpZ25pZmljYW50IDggYml0cyBvZgo+ KwkgKiB0aGUgY29tcHJlc3NlZCBCUFAgYml0c19wZXJfcGl4ZWxbOTowXSBlbGVtZW50Lgo+Kwkg Ki8KPisJdTggYml0c19wZXJfcGl4ZWxfbG93Owo+KwkvKioKPisJICogQHBpY19oZWlnaHQ6Cj4r CSAqIFBQUzZbNzowXSwgUFBTN1s3OjBdIC1waWNfaGVpZ2h0OiBTcGVjaWZpZXMgdGhlIG51bWJl ciBvZiBwaXhlbCByb3dzCj4rCSAqIHdpdGhpbiB0aGUgcmFzdGVyLgo+KwkgKi8KPisJX19iZTE2 IHBpY19oZWlnaHQ7Cj4rCS8qKgo+KwkgKiBAcGljX3dpZHRoOgo+KwkgKiBQUFM4Wzc6MF0sIFBQ UzlbNzowXSAtIHBpY193aWR0aDogTnVtYmVyIG9mIHBpeGVsIGNvbHVtbnMgd2l0aGluCj4rCSAq IHRoZSByYXN0ZXIuCj4rCSAqLwo+KwlfX2JlMTYgcGljX3dpZHRoOwo+KwkvKioKPisJICogQHNs aWNlX2hlaWdodDoKPisJICogUFBTMTBbNzowXSwgUFBTMTFbNzowXSAtIFNsaWNlIGhlaWdodCBp biB1bml0cyBvZiBwaXhlbHMuCj4rCSAqLwo+KwlfX2JlMTYgc2xpY2VfaGVpZ2h0Owo+KwkvKioK PisJICogQHNsaWNlX3dpZHRoOgo+KwkgKiBQUFMxMls3OjBdLCBQUFMxM1s3OjBdIC0gU2xpY2Ug d2lkdGggaW4gdGVybXMgb2YgcGl4ZWxzLgo+KwkgKi8KPisJX19iZTE2IHNsaWNlX3dpZHRoOwo+ KwkvKioKPisJICogQGNodW5rX3NpemU6Cj4rCSAqIFBQUzE0Wzc6MF0sIFBQUzE1Wzc6MF0gLSBT aXplIGluIHVuaXRzIG9mIGJ5dGVzIG9mIHRoZSBjaHVua3MKPisJICogdGhhdCBhcmUgdXNlZCBm b3Igc2xpY2UgbXVsdGlwbGV4aW5nLgo+KwkgKi8KPisJX19iZTE2IGNodW5rX3NpemU7Cj4rCS8q Kgo+KwkgKiBAaW5pdGlhbF94bWl0X2RlbGF5X2hpZ2g6Cj4rCSAqIFBQUzE2WzE6MF0gLSBNb3N0 IFNpZ25pZmljYW50IHR3byBiaXRzIG9mIGluaXRpYWwgdHJhbnNtaXNzaW9uIGRlbGF5Lgo+Kwkg KiBJdCBzcGVjaWZpZXMgdGhlIG51bWJlciBvZiBwaXhlbCB0aW1lcyB0aGF0IHRoZSBlbmNvZGVy IHdhaXRzIGJlZm9yZQo+KwkgKiB0cmFuc21pdHRpbmcgZGF0YSBmcm9tIGl0cyByYXRlIGJ1ZmZl ci4KPisJICogUFBTMTZbNzoyXSAtIFJlc2VydmVkCj4rCSAqLwo+Kwl1OCBpbml0aWFsX3htaXRf ZGVsYXlfaGlnaDsKPisJLyoqCj4rCSAqIEBpbml0aWFsX3htaXRfZGVsYXlfbG93Ogo+KwkgKiBQ UFMxN1s3OjBdIC0gTGVhc3Qgc2lnbmlmaWNhbnQgOCBiaXRzIG9mIGluaXRpYWwgdHJhbnNtaXNz aW9uIGRlbGF5Lgo+KwkgKi8KPisJdTggaW5pdGlhbF94bWl0X2RlbGF5X2xvdzsKPisJLyoqCj4r CSAqIEBpbml0aWFsX2RlY19kZWxheToKPisJICoKPisJICogUFBTMThbNzowXSwgUFBTMTlbNzow XSAtIEluaXRpYWwgZGVjb2RpbmcgZGVsYXkgd2hpY2ggaXMgdGhlIG51bWJlcgo+KwkgKiBvZiBw aXhlbCB0aW1lcyB0aGF0IHRoZSBkZWNvZGVyIGFjY3VtdWxhdGVzIGRhdGEgaW4gaXRzIHJhdGUg YnVmZmVyCj4rCSAqIGJlZm9yZSBzdGFydGluZyB0byBkZWNvZGUgYW5kIG91dHB1dCBwaXhlbHMu Cj4rCSAqLwo+KwlfX2JlMTYgaW5pdGlhbF9kZWNfZGVsYXk7Cj4rCS8qKgo+KwkgKiBAcHBzMjBf cmVzZXJ2ZWQ6Cj4rCSAqCj4rCSAqIFBQUzIwWzc6MF0gLSBSZXNlcnZlZAo+KwkgKi8KPisJdTgg cHBzMjBfcmVzZXJ2ZWQ7Cj4rCS8qKgo+KwkgKiBAaW5pdGlhbF9zY2FsZV92YWx1ZToKPisJICog UFBTMjFbNTowXSAtIEluaXRpYWwgcmNYZm9ybVNjYWxlIGZhY3RvciB1c2VkIGF0IGJlZ2lubmlu Zwo+KwkgKiBvZiBhIHNsaWNlLgo+KwkgKiBQUFMyMVs3OjZdIC0gUmVzZXJ2ZWQKPisJICovCj4r CXU4IGluaXRpYWxfc2NhbGVfdmFsdWU7Cj4rCS8qKgo+KwkgKiBAc2NhbGVfaW5jcmVtZW50X2lu dGVydmFsOgo+KwkgKiBQUFMyMls3OjBdLCBQUFMyM1s3OjBdIC0gTnVtYmVyIG9mIGdyb3VwIHRp bWVzIGJldHdlZW4gaW5jcmVtZW50aW5nCj4rCSAqIHRoZSByY1hmb3JtU2NhbGUgZmFjdG9yIGF0 IGVuZCBvZiBhIHNsaWNlLgo+KwkgKi8KPisJX19iZTE2IHNjYWxlX2luY3JlbWVudF9pbnRlcnZh bDsKPisJLyoqCj4rCSAqIEBzY2FsZV9kZWNyZW1lbnRfaW50ZXJ2YWxfaGlnaDoKPisJICogUFBT MjRbMzowXSAtIEhpZ2hlciA0IGJpdHMgaW5kaWNhdGluZyBudW1iZXIgb2YgZ3JvdXAgdGltZXMg YmV0d2Vlbgo+KwkgKiBkZWNyZW1lbnRpbmcgdGhlIHJjWGZvcm1TY2FsZSBmYWN0b3IgYXQgYmVn aW5uaW5nIG9mIGEgc2xpY2UuCj4rCSAqIFBQUzI0Wzc6NF0gLSBSZXNlcnZlZAo+KwkgKi8KPisJ dTggc2NhbGVfZGVjcmVtZW50X2ludGVydmFsX2hpZ2g7Cj4rCS8qKgo+KwkgKiBAc2NhbGVfZGVj cmVtZW50X2ludGVydmFsX2xvdzoKPisJICogUFBTMjVbNzowXSAtIExvd2VyIDggYml0cyBvZiBz Y2FsZSBkZWNyZW1lbnQgaW50ZXJ2YWwKPisJICovCj4rCXU4IHNjYWxlX2RlY3JlbWVudF9pbnRl cnZhbF9sb3c7Cj4rCS8qKgo+KwkgKiBAcHBzMjZfcmVzZXJ2ZWQ6Cj4rCSAqIFBQUzI2Wzc6MF0K PisJICovCj4rCXU4IHBwczI2X3Jlc2VydmVkOwo+KwkvKioKPisJICogQGZpcnN0X2xpbmVfYnBn X29mZnNldDoKPisJICogUFBTMjdbNDowXSAtIE51bWJlciBvZiBhZGRpdGlvbmFsIGJpdHMgdGhh dCBhcmUgYWxsb2NhdGVkCj4rCSAqIGZvciBlYWNoIGdyb3VwIG9uIGZpcnN0IGxpbmUgb2YgYSBz bGljZS4KPisJICogUFBTMjdbNzo1XSAtIFJlc2VydmVkCj4rCSAqLwo+Kwl1OCBmaXJzdF9saW5l X2JwZ19vZmZzZXQ7Cj4rCS8qKgo+KwkgKiBAbmZsX2JwZ19vZmZzZXQ6Cj4rCSAqIFBQUzI4Wzc6 MF0sIFBQUzI5Wzc6MF0gLSBOdW1iZXIgb2YgYml0cyBpbmNsdWRpbmcgZnJhYyBiaXRzCj4rCSAq IGRlYWxsb2NhdGVkIGZvciBlYWNoIGdyb3VwIGZvciBncm91cHMgYWZ0ZXIgdGhlIGZpcnN0IGxp bmUgb2Ygc2xpY2UuCj4rCSAqLwo+KwlfX2JlMTYgbmZsX2JwZ19vZmZzZXQ7Cj4rCS8qKgo+Kwkg KiBAc2xpY2VfYnBnX29mZnNldDoKPisJICogUFBTMzAsIFBQUzMxWzc6MF0gLSBOdW1iZXIgb2Yg Yml0cyB0aGF0IGFyZSBkZWFsbG9jYXRlZCBmb3IgZWFjaAo+KwkgKiBncm91cCB0byBlbmZvcmNl IHRoZSBzbGljZSBjb25zdHJhaW50Lgo+KwkgKi8KPisJX19iZTE2IHNsaWNlX2JwZ19vZmZzZXQ7 Cj4rCS8qKgo+KwkgKiBAaW5pdGlhbF9vZmZzZXQ6Cj4rCSAqIFBQUzMyLDMzWzc6MF0gLSBJbml0 aWFsIHZhbHVlIGZvciByY1hmb3JtT2Zmc2V0Cj4rCSAqLwo+KwlfX2JlMTYgaW5pdGlhbF9vZmZz ZXQ7Cj4rCS8qKgo+KwkgKiBAZmluYWxfb2Zmc2V0Ogo+KwkgKiBQUFMzNCwzNVs3OjBdIC0gTWF4 aW11bSBlbmQtb2Ytc2xpY2UgdmFsdWUgZm9yIHJjWGZvcm1PZmZzZXQKPisJICovCj4rCV9fYmUx NiBmaW5hbF9vZmZzZXQ7Cj4rCS8qKgo+KwkgKiBAZmxhdG5lc3NfbWluX3FwOgo+KwkgKiBQUFMz Nls0OjBdIC0gTWluaW11bSBRUCBhdCB3aGljaCBmbGF0bmVzcyBpcyBzaWduYWxlZCBhbmQKPisJ ICogZmxhdG5lc3MgUVAgYWRqdXN0bWVudCBpcyBtYWRlLgo+KwkgKiBQUFMzNls3OjVdIC0gUmVz ZXJ2ZWQKPisJICovCj4rCXU4IGZsYXRuZXNzX21pbl9xcDsKPisJLyoqCj4rCSAqIEBmbGF0bmVz c19tYXhfcXA6Cj4rCSAqIFBQUzM3WzQ6MF0gLSBNYXggUVAgYXQgd2hpY2ggZmxhdG5lc3MgaXMg c2lnbmFsbGVkIGFuZAo+KwkgKiB0aGUgZmxhdG5lc3MgYWRqdXN0bWVudCBpcyBtYWRlLgo+Kwkg KiBQUFMzN1s3OjVdIC0gUmVzZXJ2ZWQKPisJICovCj4rCXU4IGZsYXRuZXNzX21heF9xcDsKPisJ LyoqCj4rCSAqIEByY19tb2RlbF9zaXplOgo+KwkgKiBQUFMzOCwzOVs3OjBdIC0gTnVtYmVyIG9m IGJpdHMgd2l0aGluIFJDIE1vZGVsLgo+KwkgKi8KPisJX19iZTE2IHJjX21vZGVsX3NpemU7Cj4r CS8qKgo+KwkgKiBAcmNfZWRnZV9mYWN0b3I6Cj4rCSAqIFBQUzQwWzM6MF0gLSBSYXRpbyBvZiBj dXJyZW50IGFjdGl2aXR5IHZzLCBwcmV2aW91cwo+KwkgKiBhY3Rpdml0eSB0byBkZXRlcm1pbmUg cHJlc2VuY2Ugb2YgZWRnZS4KPisJICogUFBTNDBbNzo0XSAtIFJlc2VydmVkCj4rCSAqLwo+Kwl1 OCByY19lZGdlX2ZhY3RvcjsKPisJLyoqCj4rCSAqIEByY19xdWFudF9pbmNyX2xpbWl0MDoKPisJ ICogUFBTNDFbNDowXSAtIFFQIHRocmVzaG9sZCB1c2VkIGluIHNob3J0IHRlcm0gUkMKPisJICog UFBTNDFbNzo1XSAtIFJlc2VydmVkCj4rCSAqLwo+Kwl1OCByY19xdWFudF9pbmNyX2xpbWl0MDsK PisJLyoqCj4rCSAqIEByY19xdWFudF9pbmNyX2xpbWl0MToKPisJICogUFBTNDJbNDowXSAtIFFQ IHRocmVzaG9sZCB1c2VkIGluIHNob3J0IHRlcm0gUkMKPisJICogUFBTNDJbNzo1XSAtIFJlc2Vy dmVkCj4rCSAqLwo+Kwl1OCByY19xdWFudF9pbmNyX2xpbWl0MTsKPisJLyoqCj4rCSAqIEByY190 Z3Rfb2Zmc2V0Ogo+KwkgKiBQUFM0M1szOjBdIC0gTG93ZXIgZW5kIG9mIHRoZSB2YXJpYWJpbGl0 eSByYW5nZSBhcm91bmQgdGhlIHRhcmdldAo+KwkgKiBiaXRzIHBlciBncm91cCB0aGF0IGlzIGFs bG93ZWQgYnkgc2hvcnQgdGVybSBSQy4KPisJICogUFBTNDNbNzo0XS0gVXBwZXIgZW5kIG9mIHRo ZSB2YXJpYWJpbGl0eSByYW5nZSBhcm91bmQgdGhlIHRhcmdldAo+KwkgKiBiaXRzIHBlciBncm91 cCB0aGF0IGkgYWxsb3dlZCBieSBzaG9ydCB0ZXJtIHJjLgo+KwkgKi8KPisJdTggcmNfdGd0X29m ZnNldDsKPisJLyoqCj4rCSAqIEByY19idWZfdGhyZXNoOgo+KwkgKiBQUFM0NFs3OjBdIC0gUFBT NTdbNzowXSAtIFNwZWNpZmllcyB0aGUgdGhyZXNob2xkcyBpbiBSQyBtb2RlbCBmb3IKPisJICog dGhlIDE1IHJhbmdlcyBkZWZpbmVkIGJ5IDE0IHRocmVzaG9sZHMuCj4rCSAqLwo+Kwl1OCByY19i dWZfdGhyZXNoW0RTQ19OVU1fQlVGX1JBTkdFUyAtIDFdOwo+KwkvKioKPisJICogQHJjX3Jhbmdl X3BhcmFtZXRlcnM6Cj4rCSAqIFBQUzU4Wzc6MF0gLSBQUFM4N1s3OjBdCj4rCSAqIFBhcmFtZXRl cnMgdGhhdCBjb3JyZXNwb25kIHRvIGVhY2ggb2YgdGhlIDE1IHJhbmdlcy4KPisJICovCj4rCV9f YmUxNiByY19yYW5nZV9wYXJhbWV0ZXJzW0RTQ19OVU1fQlVGX1JBTkdFU107Cj4rCS8qKgo+Kwkg KiBAbmF0aXZlXzQyMl80MjA6Cj4rCSAqIFBQUzg4WzBdIC0gMCA9IE5hdGl2ZSA0OjI6MiBub3Qg dXNlZAo+KwkgKiAxID0gTmF0aXZlIDQ6MjoyIHVzZWQKPisJICogUFBTODhbMV0gLSAwID0gTmF0 aXZlIDQ6MjowIG5vdCB1c2UKPisJICogMSA9IE5hdGl2ZSA0OjI6MCB1c2VkCj4rCSAqIFBQUzg4 Wzc6Ml0gLSBSZXNlcnZlZCA2IGJpdHMKPisJICovCj4rCXU4IG5hdGl2ZV80MjJfNDIwOwo+Kwkv KioKPisJICogQHNlY29uZF9saW5lX2JwZ19vZmZzZXQ6Cj4rCSAqIFBQUzg5WzQ6MF0gLSBBZGRp dGlvbmFsIGJpdHMvZ3JvdXAgYnVkZ2V0IGZvciB0aGUKPisJICogc2Vjb25kIGxpbmUgb2YgYSBz bGljZSBpbiBOYXRpdmUgNDoyOjAgbW9kZS4KPisJICogU2V0IHRvIDAgaWYgRFNDIG1pbm9yIHZl cnNpb24gaXMgMSBvciBuYXRpdmU0MjAgaXMgMC4KPisJICogUFBTODlbNzo1XSAtIFJlc2VydmVk Cj4rCSAqLwo+Kwl1OCBzZWNvbmRfbGluZV9icGdfb2Zmc2V0Owo+KwkvKioKPisJICogQG5zbF9i cGdfb2Zmc2V0Ogo+KwkgKiBQUFM5MFs3OjBdLCBQUFM5MVs3OjBdIC0gTnVtYmVyIG9mIGJpdHMg dGhhdCBhcmUgZGVhbGxvY2F0ZWQKPisJICogZm9yIGVhY2ggZ3JvdXAgdGhhdCBpcyBub3QgaW4g dGhlIHNlY29uZCBsaW5lIG9mIGEgc2xpY2UuCj4rCSAqLwo+KwlfX2JlMTYgbnNsX2JwZ19vZmZz ZXQ7Cj4rCS8qKgo+KwkgKiBAc2Vjb25kX2xpbmVfb2Zmc2V0X2FkajoKPisJICogUFBTOTJbNzow XSwgUFBTOTNbNzowXSAtIFVzZWQgYXMgb2Zmc2V0IGFkanVzdG1lbnQgZm9yIHRoZSBzZWNvbmQK PisJICogbGluZSBpbiBOYXRpdmUgNDoyOjAgbW9kZS4KPisJICovCj4rCV9fYmUxNiBzZWNvbmRf bGluZV9vZmZzZXRfYWRqOwo+KwkvKioKPisJICogQHBwc19sb25nXzk0X3Jlc2VydmVkOgo+Kwkg KiBQUFMgOTQsIDk1LCA5NiwgOTcgLSBSZXNlcnZlZAo+KwkgKi8KPisJdTMyIHBwc19sb25nXzk0 X3Jlc2VydmVkOwo+KwkvKioKPisJICogQHBwc19sb25nXzk4X3Jlc2VydmVkOgo+KwkgKiBQUFMg OTgsIDk5LCAxMDAsIDEwMSAtIFJlc2VydmVkCj4rCSAqLwo+Kwl1MzIgcHBzX2xvbmdfOThfcmVz ZXJ2ZWQ7Cj4rCS8qKgo+KwkgKiBAcHBzX2xvbmdfMTAyX3Jlc2VydmVkOgo+KwkgKiBQUFMgMTAy LCAxMDMsIDEwNCwgMTA1IC0gUmVzZXJ2ZWQKPisJICovCj4rCXUzMiBwcHNfbG9uZ18xMDJfcmVz ZXJ2ZWQ7Cj4rCS8qKgo+KwkgKiBAcHBzX2xvbmdfMTA2X3Jlc2VydmVkOgo+KwkgKiBQUFMgMTA2 LCAxMDcsIDEwOCwgMTA5IC0gcmVzZXJ2ZWQKPisJICovCj4rCXUzMiBwcHNfbG9uZ18xMDZfcmVz ZXJ2ZWQ7Cj4rCS8qKgo+KwkgKiBAcHBzX2xvbmdfMTEwX3Jlc2VydmVkOgo+KwkgKiBQUFMgMTEw LCAxMTEsIDExMiwgMTEzIC0gcmVzZXJ2ZWQKPisJICovCj4rCXUzMiBwcHNfbG9uZ18xMTBfcmVz ZXJ2ZWQ7Cj4rCS8qKgo+KwkgKiBAcHBzX2xvbmdfMTE0X3Jlc2VydmVkOgo+KwkgKiBQUFMgMTE0 IC0gMTE3IC0gcmVzZXJ2ZWQKPisJICovCj4rCXUzMiBwcHNfbG9uZ18xMTRfcmVzZXJ2ZWQ7Cj4r CS8qKgo+KwkgKiBAcHBzX2xvbmdfMTE4X3Jlc2VydmVkOgo+KwkgKiBQUFMgMTE4IC0gMTIxIC0g cmVzZXJ2ZWQKPisJICovCj4rCXUzMiBwcHNfbG9uZ18xMThfcmVzZXJ2ZWQ7Cj4rCS8qKgo+Kwkg KiBAcHBzX2xvbmdfMTIyX3Jlc2VydmVkOgo+KwkgKiBQUFMgMTIyLSAxMjUgLSByZXNlcnZlZAo+ KwkgKi8KPisJdTMyIHBwc19sb25nXzEyMl9yZXNlcnZlZDsKPisJLyoqCj4rCSAqIEBwcHNfc2hv cnRfMTI2X3Jlc2VydmVkOgo+KwkgKiBQUFMgMTI2LCAxMjcgLSByZXNlcnZlZAo+KwkgKi8KPisJ X19iZTE2IHBwc19zaG9ydF8xMjZfcmVzZXJ2ZWQ7Cj4rfTsKPisKPisvKioKPisgKiBzdHJ1Y3Qg ZHJtX2RzY19wcHNfaW5mb2ZyYW1lIC0gRFNDIGluZm9mcmFtZSBjYXJyeWluZyB0aGUgUGljdHVy ZQo+K1BhcmFtZXRlcgo+KyAqIFNldCBNZXRhZGF0YQo+KyAqCj4rICogVGhpcyBzdHJ1Y3R1cmUg cmVwcmVzZW50cyB0aGUgRFNDIFBQUyBpbmZvZnJhbWUgcmVxdWlyZWQgdG8gc2VuZCB0aGUKPitQ aWN0dXJlCj4rICogUGFyYW1ldGVyIFNldCBtZXRhZGF0YSByZXF1aXJlZCBiZWZvcmUgZW5hYmxp bmcgVkVTQSBEaXNwbGF5IFN0cmVhbQo+KyAqIENvbXByZXNzaW9uLiBUaGlzIGlzIGJhc2VkIG9u IHRoZSBEUCBTZWNvbmRhcnkgRGF0YSBQYWNrZXQgc3RydWN0dXJlCj4rYW5kCj4rICogY29tcHJp c2VzIG9mIFNEUCBIZWFkZXIgYXMgZGVmaW5lZCBpbiBkcm1fZHBfaGVscGVyLmggYW5kIFBQUyBw YXlsb2FkLgo+KyAqCj4rICogQHBwc19oZWFkZXI6Cj4rICoKPisgKiBIZWFkZXIgZm9yIFBQUyBh cyBwZXIgRFAgU0RQIGhlYWRlciBmb3JtYXQKPisgKgo+KyAqIEBwcHNfcGF5bG9hZDoKPisgKgo+ KyAqIFBQUyBwYXlsb2FkIGZpZWxkcyBhcyBwZXIgRFNDIHNwZWNpZmljYXRpb24gVGFibGUgNC0x ICAqLyBzdHJ1Y3QKPitkcm1fZHNjX3Bwc19pbmZvZnJhbWUgewo+KwlzdHJ1Y3QgZHBfc2RwX2hl YWRlciBwcHNfaGVhZGVyOwo+KwlzdHJ1Y3QgcGljdHVyZV9wYXJhbWV0ZXJfc2V0IHBwc19wYXls b2FkOyB9IF9fcGFja2VkOwo+Kwo+KyNlbmRpZiAvKiBfRFJNX0RTQ19IXyAqLwo+LS0KPjIuNy40 CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1n ZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9s aXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK