From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH v6 08/28] drm/dsc: Define Display Stream Compression PPS infoframe Date: Thu, 1 Nov 2018 18:53:45 +0200 Message-ID: <20181101165345.GH9144@intel.com> References: <20181024222840.25683-1-manasi.d.navare@intel.com> <20181024222840.25683-9-manasi.d.navare@intel.com> <20181101164217.GF9144@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <20181101164217.GF9144@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Manasi Navare Cc: intel-gfx@lists.freedesktop.org, Harry Wentland , dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org T24gVGh1LCBOb3YgMDEsIDIwMTggYXQgMDY6NDI6MTdQTSArMDIwMCwgVmlsbGUgU3lyasOkbMOk IHdyb3RlOgo+IE9uIFdlZCwgT2N0IDI0LCAyMDE4IGF0IDAzOjI4OjIwUE0gLTA3MDAsIE1hbmFz aSBOYXZhcmUgd3JvdGU6Cj4gPiBUaGlzIHBhdGNoIGRlZmluZXMgYSBuZXcgaGVhZGVyIGZpbGUg Zm9yIGFsbCB0aGUgRFNDIDEuMiBzdHJ1Y3R1cmVzCj4gPiBhbmQgY3JlYXRlcyBhIHN0cnVjdHVy ZSBmb3IgUFBTIGluZm9mcmFtZSB3aGljaCB3aWxsIGJlIHVzZWQgdG8gc2VuZAo+ID4gcGljdHVy ZSBwYXJhbWV0ZXIgc2V0IHNlY29uZGFyeSBkYXRhIHBhY2tldCBmb3IgZGlzcGxheSBzdHJlYW0g Y29tcHJlc3Npb24uCj4gPiBBbGwgdGhlIFBQUyBpbmZvZnJhbWUgc3ludGF4IGVsZW1lbnRzIGFy ZSB0YWtlbiBmcm9tIERTQyAxLjIgc3BlY2lmaWNhdGlvbgo+ID4gZnJvbSBWRVNBLgo+ID4gCj4g PiB2MzoKPiA+ICogQWRkIHRoZSBTUERYIHNob3J0aGFuZCAoQ2hyaXMgV2lsc29uKQo+ID4gdjI6 Cj4gPiAqIERvIG5vdCB1c2UgYml0ZmllbGRzIGluIHRoZSBzdHJ1Y3QgKEphbmkgTmlrdWxhKQo+ ID4gCj4gPiBDYzogR2F1cmF2IEsgU2luZ2ggPGdhdXJhdi5rLnNpbmdoQGludGVsLmNvbT4KPiA+ IENjOiBkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gPiBDYzogSmFuaSBOaWt1bGEg PGphbmkubmlrdWxhQGxpbnV4LmludGVsLmNvbT4KPiA+IENjOiBWaWxsZSBTeXJqYWxhIDx2aWxs ZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KPiA+IENjOiBBbnVzaGEgU3JpdmF0c2EgPGFudXNo YS5zcml2YXRzYUBpbnRlbC5jb20+Cj4gPiBDYzogSGFycnkgV2VudGxhbmQgPGhhcnJ5LndlbnRs YW5kQGFtZC5jb20+Cj4gPiBTaWduZWQtb2ZmLWJ5OiBNYW5hc2kgTmF2YXJlIDxtYW5hc2kuZC5u YXZhcmVAaW50ZWwuY29tPgo+ID4gUmV2aWV3ZWQtYnk6IEhhcnJ5IFdlbnRsYW5kIDxoYXJyeS53 ZW50bGFuZEBhbWQuY29tPgo+ID4gLS0tCj4gPiAgaW5jbHVkZS9kcm0vZHJtX2RzYy5oIHwgMzQ3 ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwo+ID4gIDEgZmlsZSBj aGFuZ2VkLCAzNDcgaW5zZXJ0aW9ucygrKQo+ID4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBpbmNsdWRl L2RybS9kcm1fZHNjLmgKPiA+IAo+ID4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9kc2Mu aCBiL2luY2x1ZGUvZHJtL2RybV9kc2MuaAo+ID4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiA+IGlu ZGV4IDAwMDAwMDAwMDAwMC4uMWQ4YTAzOTgzYjkwCj4gPiAtLS0gL2Rldi9udWxsCj4gPiArKysg Yi9pbmNsdWRlL2RybS9kcm1fZHNjLmgKPiA+IEBAIC0wLDAgKzEsMzQ3IEBACj4gPiArLyogU1BE WC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVAo+ID4gKyAqIENvcHlyaWdodCAoQykgMjAxOCBJbnRl bCBDb3JwLgo+ID4gKyAqCj4gPiArICogQXV0aG9yczoKPiA+ICsgKiBNYW5hc2kgTmF2YXJlIDxt YW5hc2kuZC5uYXZhcmVAaW50ZWwuY29tPgo+ID4gKyAqLwo+ID4gKwo+ID4gKyNpZm5kZWYgRFJN X0RTQ19IXwo+ID4gKyNkZWZpbmUgRFJNX0RTQ19IXwo+ID4gKwo+ID4gKyNpbmNsdWRlIDxkcm0v ZHJtX2RwX2hlbHBlci5oPgo+ID4gKwo+ID4gKy8qIFZFU0EgRGlzcGxheSBTdHJlYW0gQ29tcHJl c3Npb24gRFNDIDEuMiBjb25zdGFudHMgKi8KPiA+ICsjZGVmaW5lIERTQ19OVU1fQlVGX1JBTkdF UwkxNQo+IAo+IERSTV9EU0NfLi4uICBwZXJoYXNwPwoKSSBndWVzcyBEU0NfIGlzIGEgZ29vZCBl bm91Z2ggbmFtZXNwYWNlIGZvciB0aGlzIHN0dWZmLgpkcm1fZHBfaGVscGVyLmggdXNlcyBvbmx5 IERQXyBhcyB0aGUgbmFtZXNwYWNlIGZvciB0aGUgc3BlYyBzdHVmZgphcyB3ZWxsLgoKPiAKPiA+ ICsKPiA+ICsvKioKPiA+ICsgKiBzdHJ1Y3QgcGljdHVyZV9wYXJhbWV0ZXJfc2V0IC0gUmVwcmVz ZW50cyAxMjggYnl0ZXMgb2YgUGljdHVyZSBQYXJhbWV0ZXIgU2V0Cj4gPiArICoKPiA+ICsgKiBU aGUgVkVTQSBEU0Mgc3RhbmRhcmQgZGVmaW5lcyBwaWN0dXJlIHBhcmFtZXRlciBzZXQgKFBQUykg d2hpY2ggZGlzcGxheQo+ID4gKyAqIHN0cmVhbSBjb21wcmVzc2lvbiBlbmNvZGVycyBtdXN0IGNv bW11bmljYXRlIHRvIGRlY29kZXJzLgo+ID4gKyAqIFRoZSBQUFMgaXMgZW5jYXBzdWxhdGVkIGlu IDEyOCBieXRlcyAoUFBTIDAgdGhyb3VnaCBQUFMgMTI3KS4gVGhlIGZpZWxkcyBpbgo+ID4gKyAq IHRoaXMgc3RydWN0dXJlIGFyZSBhcyBwZXIgVGFibGUgNC4xIGluIFZlc2EgRFNDIHNwZWNpZmlj YXRpb24gdjEuMS92MS4yLgo+ID4gKyAqIFRoZSBQUFMgZmllbGRzIHRoYXQgc3BhbiBvdmVyIG1v cmUgdGhhbiBhIGJ5dGUgc2hvdWxkIGJlIHN0b3JlZCBpbiBCaWcgRW5kaWFuCj4gPiArICogZm9y bWF0Lgo+ID4gKyAqLwo+ID4gK3N0cnVjdCBwaWN0dXJlX3BhcmFtZXRlcl9zZXQgewo+IAo+IE5l ZWRzIGEgbmFtZXNwYWNlIHRvby4gUHJvYmFibHkgYmVzdCBtYWtlIHRoaXMgc3RydWN0IHBhY2tl ZC4gQQo+IEJVSUxEX0JVR19PTigpIHNvbWV3aGVyZSB0byB2ZXJpZnkgdGhlIHNpemUgbWlnaHQg YWxzbyBiZSBuaWNlLgo+IAo+ID4gKwkvKioKPiA+ICsJICogQGRzY192ZXJzaW9uOgo+ID4gKwkg KiBQUFMwWzM6MF0gLSBkc2NfdmVyc2lvbl9taW5vcjogQ29udGFpbnMgTWlub3IgdmVyc2lvbiBv ZiBEU0MKPiA+ICsJICogUFBTMFs3OjRdIC0gZHNjX3ZlcnNpb25fbWFqb3I6IENvbnRhaW5zIG1h am9yIHZlcnNpb24gb2YgRFNDCj4gPiArCSAqLwo+ID4gKwl1OCBkc2NfdmVyc2lvbjsKPiA+ICsJ LyoqCj4gPiArCSAqIEBwcHNfaWRlbnRpZmllcjoKPiA+ICsJICogUFBTMVs3OjBdIC0gQXBwbGlj YXRpb24gc3BlY2lmaWMgaWRlbnRpZmllciB0aGF0IGNhbiBiZQo+ID4gKwkgKiB1c2VkIHRvIGRp ZmZlcmVudGlhdGUgYmV0d2VlbiBkaWZmZXJlbnQgUFBTIHRhYmxlcy4KPiA+ICsJICovCj4gPiAr CXU4IHBwc19pZGVudGlmaWVyOwo+ID4gKwkvKioKPiA+ICsJICogQHBwc19yZXNlcnZlZDoKPiA+ ICsJICogUFBTMls3OjBdLSBSRVNFUlZFRCBCeXRlCj4gPiArCSAqLwo+ID4gKwl1OCBwcHNfcmVz ZXJ2ZWQ7Cj4gPiArCS8qKgo+ID4gKwkgKiBAcHBzXzM6Cj4gPiArCSAqIFBQUzNbMzowXSAtIGxp bmVidWZfZGVwdGg6IENvbnRhaW5zIGxpbmVidWZmZXIgYml0IGRlcHRoIHVzZWQgdG8KPiA+ICsJ ICogZ2VuZXJhdGUgdGhlIGJpdHN0cmVhbS4gKDB4MCAtIDE2IGJpdHMgZm9yIERTQyAxLjIsIDB4 OCAtIDggYml0cywKPiA+ICsJICogMHhBIC0gMTAgYml0cywgMHhCIC0gMTEgYml0cywgMHhDIC0g MTIgYml0cywgMHhEIC0gMTMgYml0cywKPiA+ICsJICogMHhFIC0gMTQgYml0cyBmb3IgRFNDMS4y LCAweEYgLSAxNCBiaXRzIGZvciBEU0MgMS4yLgo+ID4gKwkgKiBQUFMzWzc6NF0gLSBiaXRzX3Bl cl9jb21wb25lbnQ6IEJpdHMgcGVyIGNvbXBvbmVudCBmb3IgdGhlIG9yaWdpbmFsCj4gPiArCSAq IHBpeGVscyBvZiB0aGUgZW5jb2RlZCBwaWN0dXJlLgo+ID4gKwkgKiAweDAgPSAxNmJwYyAoYWxs b3dlZCBvbmx5IHdoZW4gZHNjX3ZlcnNpb25fbWlub3IgPSAweDIpCj4gPiArCSAqIDB4OCA9IDhi cGMsIDB4QSA9IDEwYnBjLCAweEMgPSAxMmJwYywgMHhFID0gMTRicGMgKGFsc28KPiA+ICsJICog YWxsb3dlZCBvbmx5IHdoZW4gZHNjX21pbm9yX3ZlcnNpb24gPSAweDIpCj4gPiArCSAqLwo+ID4g Kwl1OCBwcHNfMzsKPiA+ICsJLyoqCj4gPiArCSAqIEBwcHNfNDoKPiA+ICsJICogUFBTNFsxOjBd IC1UaGVzZSBhcmUgdGhlIG1vc3Qgc2lnbmlmaWNhbnQgMiBiaXRzIG9mCj4gPiArCSAqIGNvbXBy ZXNzZWQgQlBQIGJpdHNfcGVyX3BpeGVsWzk6MF0gc3ludGF4IGVsZW1lbnQuCj4gPiArCSAqIFBQ UzRbMl0gLSB2YnJfZW5hYmxlOiAwID0gVkJSIGRpc2FibGVkLCAxID0gVkJSIGVuYWJsZWQKPiA+ ICsJICogUFBTNFszXSAtIHNpbXBsZV80MjI6IEluZGljYXRlcyBpZiBkZWNvZGVyIGRyb3BzIHNh bXBsZXMgdG8KPiA+ICsJICogcmVjb25zdHJ1Y3QgdGhlIDQ6MjoyIHBpY3R1cmUuCj4gPiArCSAq IFBQUzRbNF0gLSBDb252ZXJ0X3JnYjogSW5kaWNhdGVzIGlmIERTQyBjb2xvciBzcGFjZSBjb252 ZXJzaW9uIGlzCj4gPiArCSAqIGFjdGl2ZS4KPiA+ICsJICogUFBTNFs1XSAtIGJsb2JrX3ByZWRf ZW5hYmxlOiBJbmRpY2F0ZXMgaWYgQlAgaXMgdXNlZCB0byBjb2RlIGFueQo+ID4gKwkgKiBncm91 cHMgaW4gcGljdHVyZQo+ID4gKwkgKiBQUFM0Wzc6Nl0gLSBSZXNldmVkIGJpdHMKPiA+ICsJICov Cj4gPiArCXU4IHBwc180Owo+ID4gKwkvKioKPiA+ICsJICogQGJpdHNfcGVyX3BpeGVsX2xvdzoK PiA+ICsJICogUFBTNVs3OjBdIC0gVGhpcyBpbmRpY2F0ZXMgdGhlIGxvd2VyIHNpZ25pZmljYW50 IDggYml0cyBvZgo+ID4gKwkgKiB0aGUgY29tcHJlc3NlZCBCUFAgYml0c19wZXJfcGl4ZWxbOTow XSBlbGVtZW50Lgo+ID4gKwkgKi8KPiA+ICsJdTggYml0c19wZXJfcGl4ZWxfbG93Owo+ID4gKwkv KioKPiA+ICsJICogQHBpY19oZWlnaHQ6Cj4gPiArCSAqIFBQUzZbNzowXSwgUFBTN1s3OjBdIC1w aWNfaGVpZ2h0OiBTcGVjaWZpZXMgdGhlIG51bWJlciBvZiBwaXhlbCByb3dzCj4gPiArCSAqIHdp dGhpbiB0aGUgcmFzdGVyLgo+ID4gKwkgKi8KPiA+ICsJX19iZTE2IHBpY19oZWlnaHQ7Cj4gPiAr CS8qKgo+ID4gKwkgKiBAcGljX3dpZHRoOgo+ID4gKwkgKiBQUFM4Wzc6MF0sIFBQUzlbNzowXSAt IHBpY193aWR0aDogTnVtYmVyIG9mIHBpeGVsIGNvbHVtbnMgd2l0aGluCj4gPiArCSAqIHRoZSBy YXN0ZXIuCj4gPiArCSAqLwo+ID4gKwlfX2JlMTYgcGljX3dpZHRoOwo+ID4gKwkvKioKPiA+ICsJ ICogQHNsaWNlX2hlaWdodDoKPiA+ICsJICogUFBTMTBbNzowXSwgUFBTMTFbNzowXSAtIFNsaWNl IGhlaWdodCBpbiB1bml0cyBvZiBwaXhlbHMuCj4gPiArCSAqLwo+ID4gKwlfX2JlMTYgc2xpY2Vf aGVpZ2h0Owo+ID4gKwkvKioKPiA+ICsJICogQHNsaWNlX3dpZHRoOgo+ID4gKwkgKiBQUFMxMls3 OjBdLCBQUFMxM1s3OjBdIC0gU2xpY2Ugd2lkdGggaW4gdGVybXMgb2YgcGl4ZWxzLgo+ID4gKwkg Ki8KPiA+ICsJX19iZTE2IHNsaWNlX3dpZHRoOwo+ID4gKwkvKioKPiA+ICsJICogQGNodW5rX3Np emU6Cj4gPiArCSAqIFBQUzE0Wzc6MF0sIFBQUzE1Wzc6MF0gLSBTaXplIGluIHVuaXRzIG9mIGJ5 dGVzIG9mIHRoZSBjaHVua3MKPiA+ICsJICogdGhhdCBhcmUgdXNlZCBmb3Igc2xpY2UgbXVsdGlw bGV4aW5nLgo+ID4gKwkgKi8KPiA+ICsJX19iZTE2IGNodW5rX3NpemU7Cj4gPiArCS8qKgo+ID4g KwkgKiBAaW5pdGlhbF94bWl0X2RlbGF5X2hpZ2g6Cj4gPiArCSAqIFBQUzE2WzE6MF0gLSBNb3N0 IFNpZ25pZmljYW50IHR3byBiaXRzIG9mIGluaXRpYWwgdHJhbnNtaXNzaW9uIGRlbGF5Lgo+ID4g KwkgKiBJdCBzcGVjaWZpZXMgdGhlIG51bWJlciBvZiBwaXhlbCB0aW1lcyB0aGF0IHRoZSBlbmNv ZGVyIHdhaXRzIGJlZm9yZQo+ID4gKwkgKiB0cmFuc21pdHRpbmcgZGF0YSBmcm9tIGl0cyByYXRl IGJ1ZmZlci4KPiA+ICsJICogUFBTMTZbNzoyXSAtIFJlc2VydmVkCj4gPiArCSAqLwo+ID4gKwl1 OCBpbml0aWFsX3htaXRfZGVsYXlfaGlnaDsKPiA+ICsJLyoqCj4gPiArCSAqIEBpbml0aWFsX3ht aXRfZGVsYXlfbG93Ogo+ID4gKwkgKiBQUFMxN1s3OjBdIC0gTGVhc3Qgc2lnbmlmaWNhbnQgOCBi aXRzIG9mIGluaXRpYWwgdHJhbnNtaXNzaW9uIGRlbGF5Lgo+ID4gKwkgKi8KPiA+ICsJdTggaW5p dGlhbF94bWl0X2RlbGF5X2xvdzsKPiA+ICsJLyoqCj4gPiArCSAqIEBpbml0aWFsX2RlY19kZWxh eToKPiA+ICsJICoKPiA+ICsJICogUFBTMThbNzowXSwgUFBTMTlbNzowXSAtIEluaXRpYWwgZGVj b2RpbmcgZGVsYXkgd2hpY2ggaXMgdGhlIG51bWJlcgo+ID4gKwkgKiBvZiBwaXhlbCB0aW1lcyB0 aGF0IHRoZSBkZWNvZGVyIGFjY3VtdWxhdGVzIGRhdGEgaW4gaXRzIHJhdGUgYnVmZmVyCj4gPiAr CSAqIGJlZm9yZSBzdGFydGluZyB0byBkZWNvZGUgYW5kIG91dHB1dCBwaXhlbHMuCj4gPiArCSAq Lwo+ID4gKwlfX2JlMTYgaW5pdGlhbF9kZWNfZGVsYXk7Cj4gPiArCS8qKgo+ID4gKwkgKiBAcHBz MjBfcmVzZXJ2ZWQ6Cj4gPiArCSAqCj4gPiArCSAqIFBQUzIwWzc6MF0gLSBSZXNlcnZlZAo+ID4g KwkgKi8KPiA+ICsJdTggcHBzMjBfcmVzZXJ2ZWQ7Cj4gPiArCS8qKgo+ID4gKwkgKiBAaW5pdGlh bF9zY2FsZV92YWx1ZToKPiA+ICsJICogUFBTMjFbNTowXSAtIEluaXRpYWwgcmNYZm9ybVNjYWxl IGZhY3RvciB1c2VkIGF0IGJlZ2lubmluZwo+ID4gKwkgKiBvZiBhIHNsaWNlLgo+ID4gKwkgKiBQ UFMyMVs3OjZdIC0gUmVzZXJ2ZWQKPiA+ICsJICovCj4gPiArCXU4IGluaXRpYWxfc2NhbGVfdmFs dWU7Cj4gPiArCS8qKgo+ID4gKwkgKiBAc2NhbGVfaW5jcmVtZW50X2ludGVydmFsOgo+ID4gKwkg KiBQUFMyMls3OjBdLCBQUFMyM1s3OjBdIC0gTnVtYmVyIG9mIGdyb3VwIHRpbWVzIGJldHdlZW4g aW5jcmVtZW50aW5nCj4gPiArCSAqIHRoZSByY1hmb3JtU2NhbGUgZmFjdG9yIGF0IGVuZCBvZiBh IHNsaWNlLgo+ID4gKwkgKi8KPiA+ICsJX19iZTE2IHNjYWxlX2luY3JlbWVudF9pbnRlcnZhbDsK PiA+ICsJLyoqCj4gPiArCSAqIEBzY2FsZV9kZWNyZW1lbnRfaW50ZXJ2YWxfaGlnaDoKPiA+ICsJ ICogUFBTMjRbMzowXSAtIEhpZ2hlciA0IGJpdHMgaW5kaWNhdGluZyBudW1iZXIgb2YgZ3JvdXAg dGltZXMgYmV0d2Vlbgo+ID4gKwkgKiBkZWNyZW1lbnRpbmcgdGhlIHJjWGZvcm1TY2FsZSBmYWN0 b3IgYXQgYmVnaW5uaW5nIG9mIGEgc2xpY2UuCj4gPiArCSAqIFBQUzI0Wzc6NF0gLSBSZXNlcnZl ZAo+ID4gKwkgKi8KPiA+ICsJdTggc2NhbGVfZGVjcmVtZW50X2ludGVydmFsX2hpZ2g7Cj4gPiAr CS8qKgo+ID4gKwkgKiBAc2NhbGVfZGVjcmVtZW50X2ludGVydmFsX2xvdzoKPiA+ICsJICogUFBT MjVbNzowXSAtIExvd2VyIDggYml0cyBvZiBzY2FsZSBkZWNyZW1lbnQgaW50ZXJ2YWwKPiA+ICsJ ICovCj4gPiArCXU4IHNjYWxlX2RlY3JlbWVudF9pbnRlcnZhbF9sb3c7Cj4gPiArCS8qKgo+ID4g KwkgKiBAcHBzMjZfcmVzZXJ2ZWQ6Cj4gPiArCSAqIFBQUzI2Wzc6MF0KPiA+ICsJICovCj4gPiAr CXU4IHBwczI2X3Jlc2VydmVkOwo+ID4gKwkvKioKPiA+ICsJICogQGZpcnN0X2xpbmVfYnBnX29m ZnNldDoKPiA+ICsJICogUFBTMjdbNDowXSAtIE51bWJlciBvZiBhZGRpdGlvbmFsIGJpdHMgdGhh dCBhcmUgYWxsb2NhdGVkCj4gPiArCSAqIGZvciBlYWNoIGdyb3VwIG9uIGZpcnN0IGxpbmUgb2Yg YSBzbGljZS4KPiA+ICsJICogUFBTMjdbNzo1XSAtIFJlc2VydmVkCj4gPiArCSAqLwo+ID4gKwl1 OCBmaXJzdF9saW5lX2JwZ19vZmZzZXQ7Cj4gPiArCS8qKgo+ID4gKwkgKiBAbmZsX2JwZ19vZmZz ZXQ6Cj4gPiArCSAqIFBQUzI4Wzc6MF0sIFBQUzI5Wzc6MF0gLSBOdW1iZXIgb2YgYml0cyBpbmNs dWRpbmcgZnJhYyBiaXRzCj4gPiArCSAqIGRlYWxsb2NhdGVkIGZvciBlYWNoIGdyb3VwIGZvciBn cm91cHMgYWZ0ZXIgdGhlIGZpcnN0IGxpbmUgb2Ygc2xpY2UuCj4gPiArCSAqLwo+ID4gKwlfX2Jl MTYgbmZsX2JwZ19vZmZzZXQ7Cj4gPiArCS8qKgo+ID4gKwkgKiBAc2xpY2VfYnBnX29mZnNldDoK PiA+ICsJICogUFBTMzAsIFBQUzMxWzc6MF0gLSBOdW1iZXIgb2YgYml0cyB0aGF0IGFyZSBkZWFs bG9jYXRlZCBmb3IgZWFjaAo+ID4gKwkgKiBncm91cCB0byBlbmZvcmNlIHRoZSBzbGljZSBjb25z dHJhaW50Lgo+ID4gKwkgKi8KPiA+ICsJX19iZTE2IHNsaWNlX2JwZ19vZmZzZXQ7Cj4gPiArCS8q Kgo+ID4gKwkgKiBAaW5pdGlhbF9vZmZzZXQ6Cj4gPiArCSAqIFBQUzMyLDMzWzc6MF0gLSBJbml0 aWFsIHZhbHVlIGZvciByY1hmb3JtT2Zmc2V0Cj4gPiArCSAqLwo+ID4gKwlfX2JlMTYgaW5pdGlh bF9vZmZzZXQ7Cj4gPiArCS8qKgo+ID4gKwkgKiBAZmluYWxfb2Zmc2V0Ogo+ID4gKwkgKiBQUFMz NCwzNVs3OjBdIC0gTWF4aW11bSBlbmQtb2Ytc2xpY2UgdmFsdWUgZm9yIHJjWGZvcm1PZmZzZXQK PiA+ICsJICovCj4gPiArCV9fYmUxNiBmaW5hbF9vZmZzZXQ7Cj4gPiArCS8qKgo+ID4gKwkgKiBA ZmxhdG5lc3NfbWluX3FwOgo+ID4gKwkgKiBQUFMzNls0OjBdIC0gTWluaW11bSBRUCBhdCB3aGlj aCBmbGF0bmVzcyBpcyBzaWduYWxlZCBhbmQKPiA+ICsJICogZmxhdG5lc3MgUVAgYWRqdXN0bWVu dCBpcyBtYWRlLgo+ID4gKwkgKiBQUFMzNls3OjVdIC0gUmVzZXJ2ZWQKPiA+ICsJICovCj4gPiAr CXU4IGZsYXRuZXNzX21pbl9xcDsKPiA+ICsJLyoqCj4gPiArCSAqIEBmbGF0bmVzc19tYXhfcXA6 Cj4gPiArCSAqIFBQUzM3WzQ6MF0gLSBNYXggUVAgYXQgd2hpY2ggZmxhdG5lc3MgaXMgc2lnbmFs bGVkIGFuZAo+ID4gKwkgKiB0aGUgZmxhdG5lc3MgYWRqdXN0bWVudCBpcyBtYWRlLgo+ID4gKwkg KiBQUFMzN1s3OjVdIC0gUmVzZXJ2ZWQKPiA+ICsJICovCj4gPiArCXU4IGZsYXRuZXNzX21heF9x cDsKPiA+ICsJLyoqCj4gPiArCSAqIEByY19tb2RlbF9zaXplOgo+ID4gKwkgKiBQUFMzOCwzOVs3 OjBdIC0gTnVtYmVyIG9mIGJpdHMgd2l0aGluIFJDIE1vZGVsLgo+ID4gKwkgKi8KPiA+ICsJX19i ZTE2IHJjX21vZGVsX3NpemU7Cj4gPiArCS8qKgo+ID4gKwkgKiBAcmNfZWRnZV9mYWN0b3I6Cj4g PiArCSAqIFBQUzQwWzM6MF0gLSBSYXRpbyBvZiBjdXJyZW50IGFjdGl2aXR5IHZzLCBwcmV2aW91 cwo+ID4gKwkgKiBhY3Rpdml0eSB0byBkZXRlcm1pbmUgcHJlc2VuY2Ugb2YgZWRnZS4KPiA+ICsJ ICogUFBTNDBbNzo0XSAtIFJlc2VydmVkCj4gPiArCSAqLwo+ID4gKwl1OCByY19lZGdlX2ZhY3Rv cjsKPiA+ICsJLyoqCj4gPiArCSAqIEByY19xdWFudF9pbmNyX2xpbWl0MDoKPiA+ICsJICogUFBT NDFbNDowXSAtIFFQIHRocmVzaG9sZCB1c2VkIGluIHNob3J0IHRlcm0gUkMKPiA+ICsJICogUFBT NDFbNzo1XSAtIFJlc2VydmVkCj4gPiArCSAqLwo+ID4gKwl1OCByY19xdWFudF9pbmNyX2xpbWl0 MDsKPiA+ICsJLyoqCj4gPiArCSAqIEByY19xdWFudF9pbmNyX2xpbWl0MToKPiA+ICsJICogUFBT NDJbNDowXSAtIFFQIHRocmVzaG9sZCB1c2VkIGluIHNob3J0IHRlcm0gUkMKPiA+ICsJICogUFBT NDJbNzo1XSAtIFJlc2VydmVkCj4gPiArCSAqLwo+ID4gKwl1OCByY19xdWFudF9pbmNyX2xpbWl0 MTsKPiA+ICsJLyoqCj4gPiArCSAqIEByY190Z3Rfb2Zmc2V0Ogo+ID4gKwkgKiBQUFM0M1szOjBd IC0gTG93ZXIgZW5kIG9mIHRoZSB2YXJpYWJpbGl0eSByYW5nZSBhcm91bmQgdGhlIHRhcmdldAo+ ID4gKwkgKiBiaXRzIHBlciBncm91cCB0aGF0IGlzIGFsbG93ZWQgYnkgc2hvcnQgdGVybSBSQy4K PiA+ICsJICogUFBTNDNbNzo0XS0gVXBwZXIgZW5kIG9mIHRoZSB2YXJpYWJpbGl0eSByYW5nZSBh cm91bmQgdGhlIHRhcmdldAo+ID4gKwkgKiBiaXRzIHBlciBncm91cCB0aGF0IGkgYWxsb3dlZCBi eSBzaG9ydCB0ZXJtIHJjLgo+ID4gKwkgKi8KPiA+ICsJdTggcmNfdGd0X29mZnNldDsKPiA+ICsJ LyoqCj4gPiArCSAqIEByY19idWZfdGhyZXNoOgo+ID4gKwkgKiBQUFM0NFs3OjBdIC0gUFBTNTdb NzowXSAtIFNwZWNpZmllcyB0aGUgdGhyZXNob2xkcyBpbiBSQyBtb2RlbCBmb3IKPiA+ICsJICog dGhlIDE1IHJhbmdlcyBkZWZpbmVkIGJ5IDE0IHRocmVzaG9sZHMuCj4gPiArCSAqLwo+ID4gKwl1 OCByY19idWZfdGhyZXNoW0RTQ19OVU1fQlVGX1JBTkdFUyAtIDFdOwo+ID4gKwkvKioKPiA+ICsJ ICogQHJjX3JhbmdlX3BhcmFtZXRlcnM6Cj4gPiArCSAqIFBQUzU4Wzc6MF0gLSBQUFM4N1s3OjBd Cj4gPiArCSAqIFBhcmFtZXRlcnMgdGhhdCBjb3JyZXNwb25kIHRvIGVhY2ggb2YgdGhlIDE1IHJh bmdlcy4KPiA+ICsJICovCj4gPiArCV9fYmUxNiByY19yYW5nZV9wYXJhbWV0ZXJzW0RTQ19OVU1f QlVGX1JBTkdFU107Cj4gPiArCS8qKgo+ID4gKwkgKiBAbmF0aXZlXzQyMl80MjA6Cj4gPiArCSAq IFBQUzg4WzBdIC0gMCA9IE5hdGl2ZSA0OjI6MiBub3QgdXNlZAo+ID4gKwkgKiAxID0gTmF0aXZl IDQ6MjoyIHVzZWQKPiA+ICsJICogUFBTODhbMV0gLSAwID0gTmF0aXZlIDQ6MjowIG5vdCB1c2UK PiA+ICsJICogMSA9IE5hdGl2ZSA0OjI6MCB1c2VkCj4gPiArCSAqIFBQUzg4Wzc6Ml0gLSBSZXNl cnZlZCA2IGJpdHMKPiA+ICsJICovCj4gPiArCXU4IG5hdGl2ZV80MjJfNDIwOwo+ID4gKwkvKioK PiA+ICsJICogQHNlY29uZF9saW5lX2JwZ19vZmZzZXQ6Cj4gPiArCSAqIFBQUzg5WzQ6MF0gLSBB ZGRpdGlvbmFsIGJpdHMvZ3JvdXAgYnVkZ2V0IGZvciB0aGUKPiA+ICsJICogc2Vjb25kIGxpbmUg b2YgYSBzbGljZSBpbiBOYXRpdmUgNDoyOjAgbW9kZS4KPiA+ICsJICogU2V0IHRvIDAgaWYgRFND IG1pbm9yIHZlcnNpb24gaXMgMSBvciBuYXRpdmU0MjAgaXMgMC4KPiA+ICsJICogUFBTODlbNzo1 XSAtIFJlc2VydmVkCj4gPiArCSAqLwo+ID4gKwl1OCBzZWNvbmRfbGluZV9icGdfb2Zmc2V0Owo+ ID4gKwkvKioKPiA+ICsJICogQG5zbF9icGdfb2Zmc2V0Ogo+ID4gKwkgKiBQUFM5MFs3OjBdLCBQ UFM5MVs3OjBdIC0gTnVtYmVyIG9mIGJpdHMgdGhhdCBhcmUgZGVhbGxvY2F0ZWQKPiA+ICsJICog Zm9yIGVhY2ggZ3JvdXAgdGhhdCBpcyBub3QgaW4gdGhlIHNlY29uZCBsaW5lIG9mIGEgc2xpY2Uu Cj4gPiArCSAqLwo+ID4gKwlfX2JlMTYgbnNsX2JwZ19vZmZzZXQ7Cj4gPiArCS8qKgo+ID4gKwkg KiBAc2Vjb25kX2xpbmVfb2Zmc2V0X2FkajoKPiA+ICsJICogUFBTOTJbNzowXSwgUFBTOTNbNzow XSAtIFVzZWQgYXMgb2Zmc2V0IGFkanVzdG1lbnQgZm9yIHRoZSBzZWNvbmQKPiA+ICsJICogbGlu ZSBpbiBOYXRpdmUgNDoyOjAgbW9kZS4KPiA+ICsJICovCj4gPiArCV9fYmUxNiBzZWNvbmRfbGlu ZV9vZmZzZXRfYWRqOwo+ID4gKwkvKioKPiA+ICsJICogQHBwc19sb25nXzk0X3Jlc2VydmVkOgo+ ID4gKwkgKiBQUFMgOTQsIDk1LCA5NiwgOTcgLSBSZXNlcnZlZAo+ID4gKwkgKi8KPiA+ICsJdTMy IHBwc19sb25nXzk0X3Jlc2VydmVkOwo+ID4gKwkvKioKPiA+ICsJICogQHBwc19sb25nXzk4X3Jl c2VydmVkOgo+ID4gKwkgKiBQUFMgOTgsIDk5LCAxMDAsIDEwMSAtIFJlc2VydmVkCj4gPiArCSAq Lwo+ID4gKwl1MzIgcHBzX2xvbmdfOThfcmVzZXJ2ZWQ7Cj4gPiArCS8qKgo+ID4gKwkgKiBAcHBz X2xvbmdfMTAyX3Jlc2VydmVkOgo+ID4gKwkgKiBQUFMgMTAyLCAxMDMsIDEwNCwgMTA1IC0gUmVz ZXJ2ZWQKPiA+ICsJICovCj4gPiArCXUzMiBwcHNfbG9uZ18xMDJfcmVzZXJ2ZWQ7Cj4gPiArCS8q Kgo+ID4gKwkgKiBAcHBzX2xvbmdfMTA2X3Jlc2VydmVkOgo+ID4gKwkgKiBQUFMgMTA2LCAxMDcs IDEwOCwgMTA5IC0gcmVzZXJ2ZWQKPiA+ICsJICovCj4gPiArCXUzMiBwcHNfbG9uZ18xMDZfcmVz ZXJ2ZWQ7Cj4gPiArCS8qKgo+ID4gKwkgKiBAcHBzX2xvbmdfMTEwX3Jlc2VydmVkOgo+ID4gKwkg KiBQUFMgMTEwLCAxMTEsIDExMiwgMTEzIC0gcmVzZXJ2ZWQKPiA+ICsJICovCj4gPiArCXUzMiBw cHNfbG9uZ18xMTBfcmVzZXJ2ZWQ7Cj4gPiArCS8qKgo+ID4gKwkgKiBAcHBzX2xvbmdfMTE0X3Jl c2VydmVkOgo+ID4gKwkgKiBQUFMgMTE0IC0gMTE3IC0gcmVzZXJ2ZWQKPiA+ICsJICovCj4gPiAr CXUzMiBwcHNfbG9uZ18xMTRfcmVzZXJ2ZWQ7Cj4gPiArCS8qKgo+ID4gKwkgKiBAcHBzX2xvbmdf MTE4X3Jlc2VydmVkOgo+ID4gKwkgKiBQUFMgMTE4IC0gMTIxIC0gcmVzZXJ2ZWQKPiA+ICsJICov Cj4gPiArCXUzMiBwcHNfbG9uZ18xMThfcmVzZXJ2ZWQ7Cj4gPiArCS8qKgo+ID4gKwkgKiBAcHBz X2xvbmdfMTIyX3Jlc2VydmVkOgo+ID4gKwkgKiBQUFMgMTIyLSAxMjUgLSByZXNlcnZlZAo+ID4g KwkgKi8KPiA+ICsJdTMyIHBwc19sb25nXzEyMl9yZXNlcnZlZDsKPiA+ICsJLyoqCj4gPiArCSAq IEBwcHNfc2hvcnRfMTI2X3Jlc2VydmVkOgo+ID4gKwkgKiBQUFMgMTI2LCAxMjcgLSByZXNlcnZl ZAo+ID4gKwkgKi8KPiA+ICsJX19iZTE2IHBwc19zaG9ydF8xMjZfcmVzZXJ2ZWQ7Cj4gPiArfTsK PiA+ICsKPiA+ICsvKioKPiA+ICsgKiBzdHJ1Y3QgZHJtX2RzY19wcHNfaW5mb2ZyYW1lIC0gRFND IGluZm9mcmFtZSBjYXJyeWluZyB0aGUgUGljdHVyZSBQYXJhbWV0ZXIKPiA+ICsgKiBTZXQgTWV0 YWRhdGEKPiA+ICsgKgo+ID4gKyAqIFRoaXMgc3RydWN0dXJlIHJlcHJlc2VudHMgdGhlIERTQyBQ UFMgaW5mb2ZyYW1lIHJlcXVpcmVkIHRvIHNlbmQgdGhlIFBpY3R1cmUKPiA+ICsgKiBQYXJhbWV0 ZXIgU2V0IG1ldGFkYXRhIHJlcXVpcmVkIGJlZm9yZSBlbmFibGluZyBWRVNBIERpc3BsYXkgU3Ry ZWFtCj4gPiArICogQ29tcHJlc3Npb24uIFRoaXMgaXMgYmFzZWQgb24gdGhlIERQIFNlY29uZGFy eSBEYXRhIFBhY2tldCBzdHJ1Y3R1cmUgYW5kCj4gPiArICogY29tcHJpc2VzIG9mIFNEUCBIZWFk ZXIgYXMgZGVmaW5lZCBpbiBkcm1fZHBfaGVscGVyLmggYW5kIFBQUyBwYXlsb2FkLgo+ID4gKyAq Cj4gPiArICogQHBwc19oZWFkZXI6Cj4gPiArICoKPiAKPiBXaGF0J3Mgd2l0aCB0aGUgbmV3bGlu ZSBhbmQgYmxhbmsgbGluZSBoZXJlPyBNYXliZSBwdXQgdGhlIG1lbWJlciBkb2NzCj4gbmV4dCB0 byB0aGUgbWVtYmVyIGl0c2VsZj8KPiAKPiA+ICsgKiBIZWFkZXIgZm9yIFBQUyBhcyBwZXIgRFAg U0RQIGhlYWRlciBmb3JtYXQKPiA+ICsgKgo+ID4gKyAqIEBwcHNfcGF5bG9hZDoKPiA+ICsgKgo+ ID4gKyAqIFBQUyBwYXlsb2FkIGZpZWxkcyBhcyBwZXIgRFNDIHNwZWNpZmljYXRpb24gVGFibGUg NC0xCj4gPiArICovCj4gPiArc3RydWN0IGRybV9kc2NfcHBzX2luZm9mcmFtZSB7Cj4gPiArCXN0 cnVjdCBkcF9zZHBfaGVhZGVyIHBwc19oZWFkZXI7Cj4gPiArCXN0cnVjdCBwaWN0dXJlX3BhcmFt ZXRlcl9zZXQgcHBzX3BheWxvYWQ7Cj4gPiArfSBfX3BhY2tlZDsKPiA+ICsKPiA+ICsjZW5kaWYg LyogX0RSTV9EU0NfSF8gKi8KPiA+IC0tIAo+ID4gMi4xOC4wCj4gCj4gLS0gCj4gVmlsbGUgU3ly asOkbMOkCj4gSW50ZWwKPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwo+IEludGVsLWdmeCBtYWlsaW5nIGxpc3QKPiBJbnRlbC1nZnhAbGlzdHMuZnJlZWRl c2t0b3Aub3JnCj4gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5m by9pbnRlbC1nZngKCi0tIApWaWxsZSBTeXJqw6Rsw6QKSW50ZWwKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRl bC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3Jn L21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==