From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ramalingam C Subject: Re: [PATCH 2/2] drm/i915/BXT: Tolerance at BXT DSI pipe_config comparison Date: Tue, 05 Apr 2016 15:10:39 +0530 Message-ID: <57038817.4040500@intel.com> References: <1459272891-6830-1-git-send-email-ramalingam.c@intel.com> <1459272891-6830-2-git-send-email-ramalingam.c@intel.com> <20160330113240.GH2510@phenom.ffwll.local> <56FBE07C.7010200@intel.com> <20160330190427.GS2510@phenom.ffwll.local> <57028BAD.6030601@intel.com> <87vb3wxxt0.fsf@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTP id AAC816E722 for ; Tue, 5 Apr 2016 09:49:34 +0000 (UTC) In-Reply-To: <87vb3wxxt0.fsf@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Jani Nikula , Daniel Vetter Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org Ck9uIFR1ZXNkYXkgMDUgQXByaWwgMjAxNiAwMjowMCBQTSwgSmFuaSBOaWt1bGEgd3JvdGU6Cj4g T24gTW9uLCAwNCBBcHIgMjAxNiwgUmFtYWxpbmdhbSBDIDxyYW1hbGluZ2FtLmNAaW50ZWwuY29t PiB3cm90ZToKPj4gT24gVGh1cnNkYXkgMzEgTWFyY2ggMjAxNiAxMjozNCBBTSwgRGFuaWVsIFZl dHRlciB3cm90ZToKPj4+IE9uIFdlZCwgTWFyIDMwLCAyMDE2IGF0IDA3OjQ5OjQwUE0gKzA1MzAs IFJhbWFsaW5nYW0gQyB3cm90ZToKPj4+PiBPbiBXZWRuZXNkYXkgMzAgTWFyY2ggMjAxNiAwNTow MiBQTSwgRGFuaWVsIFZldHRlciB3cm90ZToKPj4+Pj4gT24gVHVlLCBNYXIgMjksIDIwMTYgYXQg MTE6MDQ6NTFQTSArMDUzMCwgUmFtYWxpbmdhbSBDIHdyb3RlOgo+Pj4+Pj4gQXQgQlhUIERTSSwg UElQRSByZWdpc3RlcnMgYXJlIGluYWN0aXZlLiBTbyB3ZSBjYW4ndCBnZXQgdGhlCj4+Pj4+PiBQ SVBFJ3MgbW9kZSBwYXJhbWV0ZXJzIGZyb20gdGhlbS4gVGhlIHBvc3NpYmxlIG9wdGlvbiBpcwo+ Pj4+Pj4gcmV0cml2aW5nIHRoZW0gZnJvbSB0aGUgUE9SVCByZWdpc3RlcnMuIEJ1dCBtb2RlIHRp bWluZwo+Pj4+Pj4gcGFyYW1ldGVycyBhcmUgcHJvZ2FtbWVkIHRvIHBvcnQgcmVnaXN0ZXJzIGlu dGVybXMgb2YgYnl0ZWNsb2Nrcy4KPj4+Pj4+Cj4+Pj4+PiBUaGUgZm9ybXVsYSB1c2VkIHRvIGNv bnZlcnQgdGhlIHBpeGVscyBpbnRlcm1zIG9mIGJ5dGVjbGsgaXMKPj4+Pj4+IAlESVZfUk9VTkRf VVAoRElWX1JPVU5EX1VQKHBpeGVscyAqIGJwcCAqIGJ1cnN0X21vZGVfcmF0aW8sCj4+Pj4+PiAg ICAJCQkJCQk4ICogMTAwKSwgbGFuZV9jb3VudCk7Cj4+Pj4+Pgo+Pj4+Pj4gU28gd2UgcmV0cmll dmUgdGhlbSwgaW50ZXJtcyBvZiBwaXhlbHMgYXMKPj4+Pj4+IAlESVZfUk9VTkRfVVAoKGNsa19o cyAqIGxhbmVfY291bnQgKiA4ICogMTAwKSwKPj4+Pj4+IAkJCQkJKGJwcCAqIGJ1cnN0X21vZGVf cmF0aW8pKTsKPj4+Pj4+Cj4+Pj4+PiBEdWUgdG8gdGhlIG11bHRpcGxlIERJVl9ST1VORF9VUCBp biBib3RoIGZvcm11bGFzIHdlIGdldCB0aGUgd29yc3QKPj4+Pj4+IGNhc2UgZGVsdGEgaW4gdGhl IHJldHJpZXZlZCBQSVBFJ3MgdGltaW5nIHBhcmFtZXRlciBhcyBiZWxvdwo+Pj4+Pj4gCURJVl9S T1VORF9VUCgoOCAqIGludGVsX2RzaS0+bGFuZV9jb3VudCAqIDEwMCksCj4+Pj4+PiAJCShkc2lf cGl4ZWxfZm9ybWF0X2JwcChpbnRlbF9kc2ktPnBpeGVsX2Zvcm1hdCkgKgo+Pj4+Pj4gCQkJaW50 ZWxfZHNpLT5idXJzdF9tb2RlX3JhdGlvKSkpCj4+Pj4+Pgo+Pj4+Pj4gVGhpcyBjb252ZXJzb24g b2YgYnl0ZWNsayB0byBwaXhlbCBpcyByZXF1aXJlZCBmb3IgaHN5bmMsIGhmcCBhbmQgaGJwLgo+ Pj4+Pj4gV2hpY2ggaW50ZXJuIGltcGFjdHMgaG9ycml6b250YWwgdGltaW5nIHBhcmFtZXRlcnMu IEF0IHdvcnN0IGNhc2UgdG8KPj4+Pj4+IGdldCBodG90YWwgYWxsIHRoZXJlIHBhcmFtZXRlcnMg YXJlIGFkZGVkIHdpdGggaGFjdGl2ZS4KPj4+Pj4+IEhlbmNlIGRlbHRhIHdpbGwgYmUgMyB0aW1l cyBvZiBhYm92ZSBmb3JtdWxhLiBIZW5jZSB0aGlzIHZhbHVlIGlzCj4+Pj4+PiBjb25zaWRlcmVk IGFzIHRvbGVyYW5jZSBmb3IgcGlwZV9jb25maWcgY29tcGFyaXNvbiwgaW4gY2FzZSBvZiBCWFQg RFNJLgo+Pj4+Pj4KPj4+Pj4+IFNpZ25lZC1vZmYtYnk6IFJhbWFsaW5nYW0gQyA8cmFtYWxpbmdh bS5jQGludGVsLmNvbT4KPj4+Pj4gVGhpcyBpcyB0aGUgd3Jvbmcgd2F5IHJvdW5kIGltbywgYmV0 dGVyIHdvdWxkIGJlIHRvIGFkanVzdCB0aGUgYWRqdXN0ZWQKPj4+Pj4gbW9kZSBpbiB0aGUgYnh0 IGRzaSBjb21wdXRlX2NvbmZpZyBmdW5jdGlvbiB0byBtYXRjaCB0aGUgaHcgZ3JhbnVsYXJpdHku Cj4+Pj4+IFN0dWZmIF9yZWFsbHlfIHNob3VsZCBtYXRjaCBleGFjdGx5LCB0aGUgZnV6enkgY2xv Y2sgbWF0Y2hpbmcgaXMgbW9zdGx5Cj4+Pj4+IGJlY2F1c2Ugb3VyIGNsb2NrIGNvZCBpcyBhIG1l c3MsIGFuZCB3ZSBjYW4ndC9kb24ndCBwcm9wZXJseQo+Pj4+PiBmb3J3YXJkLWNvbXB1YXRlIHRo ZSBhY3R1YWwgY2xvY2sgdGltaW5ncyB3ZSBwcm9ncmFtIGludG8gdGhlIGhhcmR3YXJlLgo+Pj4+ PiAtRGFuaWVsCj4+Pj4gRGFuaWVsLCBJIGdvdCB5b3VyIHBvaW50LiBCdXQgdGhlIHByb2JsZW0g d2lsbCBiZSB0aGF0IGRpZmZpY3VsdHkoZXZlbiBpZgo+Pj4+IHBvc3NpYmxlKSBpbiBhZGp1c3Rp bmcgdGhlIGFkanVzdGVkIG1vZGUgcGFyYW1ldGVycy4KPj4+PiBSZWFzb24gaXMgd2UgYXJlIG5v dCBwcm9ncmFtaW5nIHRoZSBtb2RlIHBhcmFtZXRlciBhcyBzdWNoLiBXZSB3aWxsIGRlcml2ZQo+ Pj4+IHRoZSBoZnAsIGhzeW5jIGFuZCBoYnAgZnJvbQo+Pj4+IGhzeW5jX3N0YXJ0LCBoc3luY19l bmQsIGhkaXNwbGF5IGFuZCBodG90YWwuIFRoZXNlIHdpbGwgYmUgYWRqdXN0ZWQoZGl2aWRlZAo+ Pj4+IGJ5IDIpIGZvciBkdWFsIGxpbmsgc2NlbmFyaW8uCj4+Pj4gQW5kIHRoZW4gcmVzdWx0YW50 IHdpbGwgZ28gaW50byB0aGUgY29udmVyc2lvbiBhcyBtZW50aW9uZWQgaW4gdGhlIGNvbW1pdAo+ Pj4+IG1lc3NhZ2UgKHR3byBESVZfUk9VTkRfVVAgb253YXJkcwo+Pj4+IGFuZCBvbmUgRElWX1JP VU5EX1VQIGJhY2t3YXJkcykuIEZvciB0aGlzIHdlIGhhdmUgdG8gbWFrZSB0aGUgcGFyYW1ldGVy Cj4+Pj4gZGl2aXNpYmxlIGJ5IHRocmVlIGRpZmZlcmVudCBmYWN0b3JzLgo+Pj4+IFNvIElNSE8s IGV2ZW4gaWYgdGhpcyBpcyBwb3NzaWJsZSwgaXQgd2lsbCBsb29rIG1vcmUgbWVzc3kuCj4+Pj4K Pj4+PiBQcmVkaWN0aW5nIHRoZSBtYXggZXJyb3IgYW5kIHRvbGVyYXRpbmcgaXQgaW4gcGlwZV9j b25maWdfY29tcGFyZSB3aWxsIGJlCj4+Pj4gdGhlIHN0cmFpZ2h0IGZvcndhcmQgYW5kIG1vcmUg cmVhc29uYWJsZS4KPj4+PiBQbGVhc2UgbGV0IG1lIGtub3cgaWYgaSBjYW4gZ28gYWhlYWQgaW4g dGhpcyBhcHByb2FjaC4KPj4+IFllYWggSSBkaXNjdXNzZWQgdGhpcyBzb21lIG1vcmUgd2l0aCBK YW5pIG9uIGlyYy4gSSdkIHNheSB3ZSBzaG91bGQgc3RvcmUKPj4+IHRoaXMgYWRqdXN0ZWQgaG9y aXpvbnRhbCB0aW1pbmdzICh0aGUgb25lcyBmdWRnZWQgd2l0aCBidXJzdF9tb2RlX3JhdGlvLAo+ Pj4gbGFuZV9jb3VudCwgZHVhbC1saW5rIGFuZCBhbGwgdGhlc2UgdGhpbmdzIGFwcGxpZWQpIGlu dG8KPj4+IGNydGNfc3RhdGUtPmJhc2UuYWRqdXN0ZWRfbW9kZS4gQW5kIHRoZW4gb2ZjIGFsc28g cmVhZCB0aG9zZSB2YWx1ZXMgb3V0Lgo+Pj4KPj4+IFRoZSBvdmVyYWxsIGlkZWEgb2YgdGhlIHN0 YXRlIHZlcmlmeS9jb21wYXJlIGxvZ2ljIGlzIHRoYXQgd2Ugc3RhcnQgb3V0Cj4+PiB3aXRoIHJl cXVlc3RlZCBzdGF0ZSBmcm9tIHVzZXJzcGFjZSwgdGhlbiBkZXJpdmUgdGhlIHJlYWwgaHcgc3Rh dGUuIEFuZAo+Pj4gdGhlbiBjb21wYXJlIHRoYXQgY29tcHV0ZWQgaHcgc3RhdGUgd2l0aCB3aGF0 J3MgdGhlcmUgYWxyZWFkeS4gRXhjZXB0IGZvcgo+Pj4gY2xvY2tzLCB3aGVyZSB0aGVyZSdzIHNw ZWNpYWwgcmVhc29ucywgd2UgbmV2ZXIgZ28gYmFjaywgc2luY2UgZ29pbmcgYmFjawo+Pj4gcmVx dWlyZXMgdXMgdG8gYXBwbHkgYSByYW5nZS4gVGhpcyBpcyB0aGUgb25seSB3YXkgdG8gZ3Vhcm5h dGVlIHRoYXQgImh3Cj4+PiBoYXMgdGhlIHNhbWUgZXhhY3QgbW9kZSBwcm9ncmFtbWVkIGluIGJv dGggY2FzZXMiIGlmZiAiaW50ZWxfY3J0Y19zdGF0ZQo+Pj4gbWF0Y2hlcyBwZXIgaW50ZWxfY3J0 Y19jb25maWdfY29tcGFyZSIuCj4+Pgo+Pj4gc3RhdGUtPmFkanVzdGVkX21vZGUgaXMgbmV2ZXIg ZXhwb3NlZCB0byB1c2Vyc3BhY2UsIHNvIHRoZXJlJ3Mgbm8gcHJvYmxlbQo+Pj4gaWYgaXQncyBo YXMgInN0cmFuZ2UiIHZhbHVlcy4gQW5kIHdlIGFscmVhZHkgaGF2ZSBwaXBlX3NyY19oL3cgdG8g ZXhwcmVzcwo+Pj4gdGhlIGxvZ2ljYWwgaW5wdXQgcmVjdGFuZ2xlLgo+Pj4KPj4+IFRoZSBpZGVh IGlzIHNpbWlsYXIgdG8gaG93IHdlIHNldCBhZGp1c3RlZF9tb2RlLmZsYWdzIHRvIHdoYXQgd2Ug YWN0dWFsbHkKPj4+IHByb2dyYW0sIGluc3RlYWQgb2YgdHJ5aW5nIHRvIG1ha2Ugc29tZXRoaW5n IHVwIHRoYXQncyBub3QgcGVyZmVjdGx5Cj4+PiBhY2N1cmF0ZS4KPj4+IC1EYW5pZWwKPj4gRGFu aWVsLAo+Pgo+PiBJIGhhdmUgdGVzdGVkIGJ5IGFkanVzdGluZyB0aGUgYWRqdXN0ZWRfbW9kZSBp biBzZXRfZHNpX3RpbWluZ3MoKQo+PiBpbnN0ZWFkIG9mIGludGVsX2RzaV9jb21wdXRlX2NvbmZp ZygpLgo+PiBSZWFzb24gaXMgaWYgd2UgbW9kaWZ5IHRoZSBhZGp1c3RlZCBtb2RlIGF0IGludGVs X2RzaV9jb21wdXRlX2NvbmZpZygpCj4+IGl0c2VsZiwgdGhlbiBtb2RpZmllZCB2YWx1ZSB3aWxs Cj4+IGJlIHRha2VuIGFzIGlucHV0IGZvciBzZXRfZHNpX3RpbWluZ3MuIEhlbmNlIHRoZSBnZXRf Y29uZmlnIHdpbGwgZGV2aWF0ZQo+PiBmdXJ0aGVyLiBJIGhvcGUgdGhpcyBzaG91bGQgYmUgZmlu ZSB3aXRoIHlvdSBhbmQgSmFuaS4KPj4KPj4gVGhpcyB3aWxsIHdvcmsgb3V0LCBpZiBzZXRfZHNp X3RpbWluZ3MoKSBpcyBjYWxsZWQgYWZ0ZXIgdGhlCj4+IGRzaV9jb21wdXRlX2NvbmZpZygpIG9u IGV2ZXJ5IHN1c3BlbmQgYW5kIHJlc3VtZSBvciBtb2Rlc2V0Lgo+PiBJIHdpbGwgdmVyaWZ5IHRo aXMgb24gQW5kcm9pZCBvbmNlIGFuZCB1cGRhdGUuCj4+Cj4+IFBsZWFzZSBzaGFyZSB5b3VyIHZp ZXcgb24gdGhpcywgc28gdGhhdCBjYW4gdXBkYXRlIHRoZSBwYXRjaCB3aXRoCj4+IGNvcnJlc3Bv bmRpbmcgY2hhbmdlcy4KPiBJIGNhbid0IHNwZWFrIGZvciBEYW5pZWwsIGJ1dCBJIHRoaW5rIGhp cyBwb2ludCB3YXMgdG8gdXBkYXRlIGFkanVzdGVkCj4gbW9kZSBpbiAtPmNvbXB1dGVfY29uZmln KCkgaW4gYSB3YXkgdGhhdCBjYW4gYmUgdXNlZCBkaXJlY3RseSBpbgo+IHNldF9kc2lfdGltaW5n cygpLiBUaGVuLCBpdCBzaG91bGQgYmUgcG9zc2libGUgdG8gcmVhZCB0aGUgdGltaW5ncyBmcm9t Cj4gdGhlIGhhcmR3YXJlLCBhbmQgY29tcGFyZS4KCk5vLCB0aGF0cyBub3QgcG9zc2libGUgamFu aS4gSSB0aGluayBpIGRpZG4ndCBlbGFib3JhdGUgdGhlIHByb2JsZW0gCnN0YXRlbWVudCBlbm91 Z2guCklmIHlvdSBjYW4gcmVhZCB0aGUgcHJvZ3JhbW1lZCB2YWx1ZSBmcm9tIHRoZSBoYXJkd2Fy ZSB3aXRob3V0IGFueSAKZXJyb3IsIHRoZW4gdGhlcmUgaXMgbm8gbmVlZCBmb3IgdGhpcyBwYXRj aCBpdHNlbGYuCgpFdmVuIGlmIHdlIHByb2dyYW0gdGhlIG1vZGlmaWVkIGFkanVzdGVkIG1vZGUs IHRpbWluZyBwYXJhbWV0ZXJzIHJlYWQgCmZyb20gZ2V0X2NvbmZpZygpIHdpbGwgbm90IGJlIHNh bWUgYXMgb2YgbW9kaWZpZWQgYWRqdXN0ZWQgbW9kZS4KCkluIEJYVCBEU0kgb25seSBhdmFpbGFi bGUgaHcgcmVnaXN0ZXJzIGRvZXNuJ3QgcHJvdmlkZSBhbGwgdGltaW5nIApwYXJhbWV0ZXJzIGlu IHRlcm1zIG9mIHBpeGVscyBidXQgdHhieXRlY2xraHMuCmFkanVzdGVkIG1vZGUgaGFzIHRoZSBw YXJhbWV0ZXJzKHN0YXJ0IGFuZCBlbmQgb2YgaHN5bmMsIGh0b3RhbCBhbmQgCmhkaXNwbGF5IGFu ZCBvdGhlcnMpIGluIHRlcm1zIG9mIHBpeGVscy4KU28gc29tZSBjb252ZXJzaW9uIGludm9sdmVk IGluIHByb2dyYW1taW5nIGZldyBwYXJhbWV0ZXJzIChoZnAsIGhzeW5jIAphbmQgaGJwKSBhbmQg YWxzbyBpbiByZXRyaWV2aW5nIHRoZW0uCgpBcyBkaXNjdXNzZWQgYWJvdmUgcG9ydCByZWdpc3Rl cnMgZXhwZWN0cyBoZnAsIGhzeW5jIGFuZCBoYnAgaW50ZXJtcyBvZiAKdHhieXRlY2xraHMuCgpT ZXF1ZW5jZSBvZiBwcm9ncmFtaW5nIChzZXRfZHNpX3RpbWluZ3MpIHRoZSBkc2kgcG9ydCByZWdp c3RlcnM6CnBhcmFtZXRlcnMgZnJvbSBtb2RlIC0tLT4gKGNhbGMgaGZwLCBoc3luYyBhbmQgaGJw KSAtLS0+IChhZGp1c3QgZm9yIApkdWFsIGxpbmspIC0tLS0+IChjb252ZXJzaW9uIG9mIFBpeGVs cyB0byB0eGJ5dGVjbGtocykgLS0tPiBQcm9ncmFtIHRvIApQb3J0IHJlZ2lzdGVyCgpTZXF1ZW5j ZSBvZiBnZXRfY29uZmlnKCk6ClJlYWQgZnJvbSBwb3J0IHJlZ2lzdGVyIC0tLT4gKGNvbnZlcnNp b24gb2YgdHhieXRlY2xraHMgdG8gUGl4ZWxzKSAtLS0+IAooYWRqdXN0IGZvciBkdWFsIGxpbmsp IC0tLT4gKHJlY2FsY3VsYXRlIHRoZSBhZGp1c3RlZCBtb2RlIHBhcmFtZXRlcnMgCmZyb20gaGZw LCBoc3luYyBhbmQgaGJwIGFuZCBvdGhlciByZWFkaW5ncykKCkhlcmUgaWYgd2UgYXNzdW1lIHRo ZSBpbnB1dCAgdG8gdGhlIHNldF9kc2lfdGltaW5ncyBpcyBYKGFkanVzdGVkIG1vZGUgCnBhcmFt ZXRlciksIG91dHB1dCBvZiBnZXRfY29uZmlnKCkgd2lsbCBiZSAgKFggKyBkZWx0YTEpLgpIZXJl IGRlbHRhMSBpcyBlcnJvciBkdWUgdG8gbXVsdGlwbGUgRElWX1JPVU5EX1VQKCkgaW4gdGhlIGNv bnZlcnNpb24gb2YgCmJ5dGVzIDw9PT0+IHR4Ynl0ZWNsa2hzLgpTbyBhcyBkYW5pZWwgc2F5cyBp ZiB5b3UgbW9kaWZ5IHRoZSBhZGp1c3RlZF9tb2RlIGluIGNvbXB1dGVfY29uZmlnKCkgCml0c2Vs ZiwgaW5wdXQgdG8gdGhlIHNldF9kc2lfdGltaW5ncygpIHdpbGwgYmVjb21lIChYICsgZGVsdGEx KQphbmQgdGhlIHJlYWRpbmdzIGZyb20gdGhlIGdldF9jb25maWcoKSB3aWxsIGJlY29tZSAoWCAr IGRlbHRhMSArIGRlbHRhMikKCkFuZCBpdCB3b3VsZG4ndCBiZSBhcHByb3ByaWF0ZSB0byBwcm9n cmFtIHRoZSBodyB3aXRoIG1vZGlmaWVkIGFkanVzdGVkIAptb2RlLiBUaGlzIG1vZGlmaWNhdGlv biBpcyBqdXN0IHRvIG1hdGNoIGl0IHdpdGggdGhlIHBpcGVfY29uZmlnIHJlYWQgCmZyb20gaHcu CkhlbmNlIGFkanVzdGVkIG1vZGUgY2FuIGJlIG1vZGlmaWVkIGFmdGVyIHRoZSBodyBwcm9ncmFt bWluZyBvbmx5LCBzbyAKdGhlIHBsYWNlIHRvIGRvIGlzIGVuZCBvZiBzZXRfZHNpX3RpbWluZ3Mo KS4KCkhvcGUgSSBleHBsYWluZWQgdGhlIHNpdHVhdGlvbiBlbm91Z2guCgo+Cj4gQlIsCj4gSmFu aS4KPgo+Cj4+Pj4+PiAtLS0KPj4+Pj4+IFJldmlld2VkIGF0IGh0dHBzOi8vbGlzdHMuZnJlZWRl c2t0b3Aub3JnL2FyY2hpdmVzL2ludGVsLWdmeC8yMDE2LU1hcmNoLzA4OTU0OC5odG1sCj4+Pj4+ Pgo+Pj4+Pj4gICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIHwgICA2MiAr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tCj4+Pj4+PiAgICAxIGZpbGUgY2hhbmdl ZCwgNTcgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKPj4+Pj4+Cj4+Pj4+PiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4+Pj4+PiBpbmRleCBjMDYyN2Q2Li4yODJmMDM2IDEw MDY0NAo+Pj4+Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4+ Pj4+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPj4+Pj4+IEBA IC0xMjU1Nyw2ICsxMjU1Nyw5IEBAIGludGVsX3BpcGVfY29uZmlnX2NvbXBhcmUoc3RydWN0IGRy bV9kZXZpY2UgKmRldiwKPj4+Pj4+ICAgIAkJCSAgYm9vbCBhZGp1c3QpCj4+Pj4+PiAgICB7Cj4+ Pj4+PiAgICAJYm9vbCByZXQgPSB0cnVlOwo+Pj4+Pj4gKwlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0 YyA9IHRvX2ludGVsX2NydGMoY3VycmVudF9jb25maWctPmJhc2UuY3J0Yyk7Cj4+Pj4+PiArCXN0 cnVjdCBpbnRlbF9lbmNvZGVyICppbnRlbF9lbmNvZGVyOwo+Pj4+Pj4gKwlzdHJ1Y3QgaW50ZWxf ZHNpICppbnRlbF9kc2kgPSBOVUxMOwo+Pj4+Pj4gICAgI2RlZmluZSBJTlRFTF9FUlJfT1JfREJH X0tNUyhmbXQsIC4uLikgXAo+Pj4+Pj4gICAgCWRvIHsgXAo+Pj4+Pj4gQEAgLTEyNTkzLDYgKzEy NTk2LDU0IEBAIGludGVsX3BpcGVfY29uZmlnX2NvbXBhcmUoc3RydWN0IGRybV9kZXZpY2UgKmRl diwKPj4+Pj4+ICAgIAkJcmV0ID0gZmFsc2U7IFwKPj4+Pj4+ICAgIAl9Cj4+Pj4+PiArLyoKPj4+ Pj4+ICsgKiBJbiBjYXNlIG9mIEJYVCBEU0ksIEhXIHBpcGVfY29uZmlnIHdpbGwgYmUgcmV0cmll dmVkIGZyb20gdGhlIHBvcnQncyB0aW1pbmcKPj4+Pj4+ICsgKiBjb25maWd1cmF0aW9uLiBUaGlz IHJldHJpdmFsIGluY2x1ZGVzIHNvbWUgZXJyb3JzIGR1ZSB0byB0aGUgRElWX1JPVU5EX1VQLgo+ Pj4+Pj4gKyAqIFNvIHdlIGFyZSBjb25zaWRlcmluZyB0aGUgbWF4IHBvc3NpYmxlIGVycm9yIGF0 IHRoZSBjb21wYXJpc29uLgo+Pj4+Pj4gKyAqLwo+Pj4+Pj4gKy8qCj4+Pj4+PiArICogaHRvdGFs ID0gaGFjdGl2ZSArIGhmcCArIGhzeW5jICsgaGJwLiBIZXJlIGxhc3QgdGhyZWUgbGVtZW50cyBt aWdodCBoYXZlCj4+Pj4+PiArICogdGhlIGNvbnZlcnNvbiBlcnJvciwgaGVuY2Ugd2UgY29uc2lk ZXIgdGhlIDMgdGltZXMgb2YgZXJyb3IgYXMgdG9sZXJhbmNlLgo+Pj4+Pj4gKyAqLwo+Pj4+Pj4g Kwo+Pj4+Pj4gKyNkZWZpbmUgTUFYX0JYVF9EU0lfVElNSU5HX1JFVFJJVkFMX0VSUiBcCj4+Pj4+ PiArCQkoaW50ZWxfZHNpID09IE5VTEwgPyAwIDogXAo+Pj4+Pj4gKwkJRElWX1JPVU5EX1VQKCgz ICogOCAqIGludGVsX2RzaS0+bGFuZV9jb3VudCAqIDEwMCksIFwKPj4+Pj4+ICsJCShkc2lfcGl4 ZWxfZm9ybWF0X2JwcChpbnRlbF9kc2ktPnBpeGVsX2Zvcm1hdCkgKiBcCj4+Pj4+PiArCQkJaW50 ZWxfZHNpLT5idXJzdF9tb2RlX3JhdGlvKSkpCj4+Pj4+PiArCj4+Pj4+PiArI2RlZmluZSBCWFRf RFNJX1BJUEVfQ09ORl9DSEVDS19JX1JBTkdFKG5hbWUpIHsgXAo+Pj4+Pj4gKwlmb3JfZWFjaF9l bmNvZGVyX29uX2NydGMoZGV2LCAmY3J0Yy0+YmFzZSwgXAo+Pj4+Pj4gKwkJCQkJaW50ZWxfZW5j b2RlcikgeyBcCj4+Pj4+PiArCQlpZiAoaW50ZWxfZW5jb2Rlci0+dHlwZSA9PSBJTlRFTF9PVVRQ VVRfRFNJKSB7IFwKPj4+Pj4+ICsJCQlpbnRlbF9kc2kgPSBlbmNfdG9faW50ZWxfZHNpKCZpbnRl bF9lbmNvZGVyLT5iYXNlKTsgXAo+Pj4+Pj4gKwkJfSBcCj4+Pj4+PiArCX0gXAo+Pj4+Pj4gKwlp ZiAoIShjdXJyZW50X2NvbmZpZy0+bmFtZSA8IHBpcGVfY29uZmlnLT5uYW1lICYmIFwKPj4+Pj4+ ICsJCWN1cnJlbnRfY29uZmlnLT5uYW1lID49IChwaXBlX2NvbmZpZy0+bmFtZSAtIFwKPj4+Pj4+ ICsJCQlNQVhfQlhUX0RTSV9USU1JTkdfUkVUUklWQUxfRVJSKSkpIHsgXAo+Pj4+Pj4gKwkJSU5U RUxfRVJSX09SX0RCR19LTVMoIm1pc21hdGNoIGluICIgI25hbWUgIiAiIFwKPj4+Pj4+ICsJCSAg IihleHBlY3RlZCAlaSwgZm91bmQgJWkoRXJyIHRvbGVyYW5jZSBjb25zaWRlcmVkKSlcbiIsIFwK Pj4+Pj4+ICsJCSAgY3VycmVudF9jb25maWctPm5hbWUsIFwKPj4+Pj4+ICsJCSAgcGlwZV9jb25m aWctPm5hbWUpOyBcCj4+Pj4+PiArCQlyZXQgPSBmYWxzZTsgXAo+Pj4+Pj4gKwl9IFwKPj4+Pj4+ ICt9Cj4+Pj4+PiArCj4+Pj4+PiArI2RlZmluZSBQSVBFX0NPTkZfQ0hFQ0tfSV9SQU5HRShuYW1l KSB7IFwKPj4+Pj4+ICsJaWYgKGN1cnJlbnRfY29uZmlnLT5uYW1lICE9IHBpcGVfY29uZmlnLT5u YW1lKSB7IFwKPj4+Pj4+ICsJCWlmIChJU19CUk9YVE9OKGRldikgJiYgY3J0Yy0+Y29uZmlnLT5o YXNfZHNpX2VuY29kZXIpIHsgXAo+Pj4+Pj4gKwkJCUJYVF9EU0lfUElQRV9DT05GX0NIRUNLX0lf UkFOR0UobmFtZSkgXAo+Pj4+Pj4gKwkJfSBlbHNlIHsgXAo+Pj4+Pj4gKwkJCUlOVEVMX0VSUl9P Ul9EQkdfS01TKCJtaXNtYXRjaCBpbiAiICNuYW1lICIgIiBcCj4+Pj4+PiArCQkJICAiKGV4cGVj dGVkICVpLCBmb3VuZCAlaSlcbiIsIFwKPj4+Pj4+ICsJCQkgIGN1cnJlbnRfY29uZmlnLT5uYW1l LCBcCj4+Pj4+PiArCQkJICBwaXBlX2NvbmZpZy0+bmFtZSk7IFwKPj4+Pj4+ICsJCQlyZXQgPSBm YWxzZTsgXAo+Pj4+Pj4gKwkJfSBcCj4+Pj4+PiArCX0gXAo+Pj4+Pj4gK30KPj4+Pj4+ICsKPj4+ Pj4+ICAgICNkZWZpbmUgUElQRV9DT05GX0NIRUNLX01fTihuYW1lKSBcCj4+Pj4+PiAgICAJaWYg KCFpbnRlbF9jb21wYXJlX2xpbmtfbV9uKCZjdXJyZW50X2NvbmZpZy0+bmFtZSwgXAo+Pj4+Pj4g ICAgCQkJCSAgICAmcGlwZV9jb25maWctPm5hbWUsXAo+Pj4+Pj4gQEAgLTEyNjk3LDExICsxMjc0 OCwxMSBAQCBpbnRlbF9waXBlX2NvbmZpZ19jb21wYXJlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYs Cj4+Pj4+PiAgICAJUElQRV9DT05GX0NIRUNLX0koaGFzX2RzaV9lbmNvZGVyKTsKPj4+Pj4+ICAg IAlQSVBFX0NPTkZfQ0hFQ0tfSShiYXNlLmFkanVzdGVkX21vZGUuY3J0Y19oZGlzcGxheSk7Cj4+ Pj4+PiAtCVBJUEVfQ09ORl9DSEVDS19JKGJhc2UuYWRqdXN0ZWRfbW9kZS5jcnRjX2h0b3RhbCk7 Cj4+Pj4+PiAtCVBJUEVfQ09ORl9DSEVDS19JKGJhc2UuYWRqdXN0ZWRfbW9kZS5jcnRjX2hibGFu a19zdGFydCk7Cj4+Pj4+PiAtCVBJUEVfQ09ORl9DSEVDS19JKGJhc2UuYWRqdXN0ZWRfbW9kZS5j cnRjX2hibGFua19lbmQpOwo+Pj4+Pj4gLQlQSVBFX0NPTkZfQ0hFQ0tfSShiYXNlLmFkanVzdGVk X21vZGUuY3J0Y19oc3luY19zdGFydCk7Cj4+Pj4+PiAtCVBJUEVfQ09ORl9DSEVDS19JKGJhc2Uu YWRqdXN0ZWRfbW9kZS5jcnRjX2hzeW5jX2VuZCk7Cj4+Pj4+PiArCVBJUEVfQ09ORl9DSEVDS19J X1JBTkdFKGJhc2UuYWRqdXN0ZWRfbW9kZS5jcnRjX2h0b3RhbCk7Cj4+Pj4+PiArCVBJUEVfQ09O Rl9DSEVDS19JX1JBTkdFKGJhc2UuYWRqdXN0ZWRfbW9kZS5jcnRjX2hibGFua19zdGFydCk7Cj4+ Pj4+PiArCVBJUEVfQ09ORl9DSEVDS19JX1JBTkdFKGJhc2UuYWRqdXN0ZWRfbW9kZS5jcnRjX2hi bGFua19lbmQpOwo+Pj4+Pj4gKwlQSVBFX0NPTkZfQ0hFQ0tfSV9SQU5HRShiYXNlLmFkanVzdGVk X21vZGUuY3J0Y19oc3luY19zdGFydCk7Cj4+Pj4+PiArCVBJUEVfQ09ORl9DSEVDS19JX1JBTkdF KGJhc2UuYWRqdXN0ZWRfbW9kZS5jcnRjX2hzeW5jX2VuZCk7Cj4+Pj4+PiAgICAJUElQRV9DT05G X0NIRUNLX0koYmFzZS5hZGp1c3RlZF9tb2RlLmNydGNfdmRpc3BsYXkpOwo+Pj4+Pj4gICAgCVBJ UEVfQ09ORl9DSEVDS19JKGJhc2UuYWRqdXN0ZWRfbW9kZS5jcnRjX3Z0b3RhbCk7Cj4+Pj4+PiBA QCAtMTI3NzksNiArMTI4MzAsNyBAQCBpbnRlbF9waXBlX2NvbmZpZ19jb21wYXJlKHN0cnVjdCBk cm1fZGV2aWNlICpkZXYsCj4+Pj4+PiAgICAjdW5kZWYgUElQRV9DT05GX0NIRUNLX1gKPj4+Pj4+ ICAgICN1bmRlZiBQSVBFX0NPTkZfQ0hFQ0tfSQo+Pj4+Pj4gKyN1bmRlZiBQSVBFX0NPTkZfQ0hF Q0tfSV9SQU5HRQo+Pj4+Pj4gICAgI3VuZGVmIFBJUEVfQ09ORl9DSEVDS19QCj4+Pj4+PiAgICAj dW5kZWYgUElQRV9DT05GX0NIRUNLX0lfQUxUCj4+Pj4+PiAgICAjdW5kZWYgUElQRV9DT05GX0NI RUNLX0ZMQUdTCj4+Pj4+PiAtLSAKPj4+Pj4+IDEuNy45LjUKPj4+Pj4+Cj4+Pj4+PiBfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+Pj4+Pj4gSW50ZWwtZ2Z4 IG1haWxpbmcgbGlzdAo+Pj4+Pj4gSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+Pj4+ Pj4gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1n ZngKPj4+PiAtLSAKPj4+PiBUaGFua3MsCj4+Pj4gLS1SYW0KPj4+PgoKLS0gClRoYW5rcywKLS1S YW0KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVs LWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczov L2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=