From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH 2/2] drm/i915/BXT: Tolerance at BXT DSI pipe_config comparison Date: Wed, 13 Apr 2016 12:06:02 +0200 Message-ID: <20160413100602.GU2510@phenom.ffwll.local> 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> <57038817.4040500@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wm0-x244.google.com (mail-wm0-x244.google.com [IPv6:2a00:1450:400c:c09::244]) by gabe.freedesktop.org (Postfix) with ESMTPS id 515F66E89A for ; Wed, 13 Apr 2016 10:05:46 +0000 (UTC) Received: by mail-wm0-x244.google.com with SMTP id a140so12462966wma.2 for ; Wed, 13 Apr 2016 03:05:46 -0700 (PDT) Content-Disposition: inline In-Reply-To: <57038817.4040500@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Ramalingam C Cc: Jani Nikula , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVHVlLCBBcHIgMDUsIDIwMTYgYXQgMDM6MTA6MzlQTSArMDUzMCwgUmFtYWxpbmdhbSBDIHdy b3RlOgo+IAo+IE9uIFR1ZXNkYXkgMDUgQXByaWwgMjAxNiAwMjowMCBQTSwgSmFuaSBOaWt1bGEg d3JvdGU6Cj4gPk9uIE1vbiwgMDQgQXByIDIwMTYsIFJhbWFsaW5nYW0gQyA8cmFtYWxpbmdhbS5j QGludGVsLmNvbT4gd3JvdGU6Cj4gPj5PbiBUaHVyc2RheSAzMSBNYXJjaCAyMDE2IDEyOjM0IEFN LCBEYW5pZWwgVmV0dGVyIHdyb3RlOgo+ID4+Pk9uIFdlZCwgTWFyIDMwLCAyMDE2IGF0IDA3OjQ5 OjQwUE0gKzA1MzAsIFJhbWFsaW5nYW0gQyB3cm90ZToKPiA+Pj4+T24gV2VkbmVzZGF5IDMwIE1h cmNoIDIwMTYgMDU6MDIgUE0sIERhbmllbCBWZXR0ZXIgd3JvdGU6Cj4gPj4+Pj5PbiBUdWUsIE1h ciAyOSwgMjAxNiBhdCAxMTowNDo1MVBNICswNTMwLCBSYW1hbGluZ2FtIEMgd3JvdGU6Cj4gPj4+ Pj4+QXQgQlhUIERTSSwgUElQRSByZWdpc3RlcnMgYXJlIGluYWN0aXZlLiBTbyB3ZSBjYW4ndCBn ZXQgdGhlCj4gPj4+Pj4+UElQRSdzIG1vZGUgcGFyYW1ldGVycyBmcm9tIHRoZW0uIFRoZSBwb3Nz aWJsZSBvcHRpb24gaXMKPiA+Pj4+Pj5yZXRyaXZpbmcgdGhlbSBmcm9tIHRoZSBQT1JUIHJlZ2lz dGVycy4gQnV0IG1vZGUgdGltaW5nCj4gPj4+Pj4+cGFyYW1ldGVycyBhcmUgcHJvZ2FtbWVkIHRv IHBvcnQgcmVnaXN0ZXJzIGludGVybXMgb2YgYnl0ZWNsb2Nrcy4KPiA+Pj4+Pj4KPiA+Pj4+Pj5U aGUgZm9ybXVsYSB1c2VkIHRvIGNvbnZlcnQgdGhlIHBpeGVscyBpbnRlcm1zIG9mIGJ5dGVjbGsg aXMKPiA+Pj4+Pj4JRElWX1JPVU5EX1VQKERJVl9ST1VORF9VUChwaXhlbHMgKiBicHAgKiBidXJz dF9tb2RlX3JhdGlvLAo+ID4+Pj4+PiAgIAkJCQkJCTggKiAxMDApLCBsYW5lX2NvdW50KTsKPiA+ Pj4+Pj4KPiA+Pj4+Pj5TbyB3ZSByZXRyaWV2ZSB0aGVtLCBpbnRlcm1zIG9mIHBpeGVscyBhcwo+ ID4+Pj4+PglESVZfUk9VTkRfVVAoKGNsa19ocyAqIGxhbmVfY291bnQgKiA4ICogMTAwKSwKPiA+ Pj4+Pj4JCQkJCShicHAgKiBidXJzdF9tb2RlX3JhdGlvKSk7Cj4gPj4+Pj4+Cj4gPj4+Pj4+RHVl IHRvIHRoZSBtdWx0aXBsZSBESVZfUk9VTkRfVVAgaW4gYm90aCBmb3JtdWxhcyB3ZSBnZXQgdGhl IHdvcnN0Cj4gPj4+Pj4+Y2FzZSBkZWx0YSBpbiB0aGUgcmV0cmlldmVkIFBJUEUncyB0aW1pbmcg cGFyYW1ldGVyIGFzIGJlbG93Cj4gPj4+Pj4+CURJVl9ST1VORF9VUCgoOCAqIGludGVsX2RzaS0+ bGFuZV9jb3VudCAqIDEwMCksCj4gPj4+Pj4+CQkoZHNpX3BpeGVsX2Zvcm1hdF9icHAoaW50ZWxf ZHNpLT5waXhlbF9mb3JtYXQpICoKPiA+Pj4+Pj4JCQlpbnRlbF9kc2ktPmJ1cnN0X21vZGVfcmF0 aW8pKSkKPiA+Pj4+Pj4KPiA+Pj4+Pj5UaGlzIGNvbnZlcnNvbiBvZiBieXRlY2xrIHRvIHBpeGVs IGlzIHJlcXVpcmVkIGZvciBoc3luYywgaGZwIGFuZCBoYnAuCj4gPj4+Pj4+V2hpY2ggaW50ZXJu IGltcGFjdHMgaG9ycml6b250YWwgdGltaW5nIHBhcmFtZXRlcnMuIEF0IHdvcnN0IGNhc2UgdG8K PiA+Pj4+Pj5nZXQgaHRvdGFsIGFsbCB0aGVyZSBwYXJhbWV0ZXJzIGFyZSBhZGRlZCB3aXRoIGhh Y3RpdmUuCj4gPj4+Pj4+SGVuY2UgZGVsdGEgd2lsbCBiZSAzIHRpbWVzIG9mIGFib3ZlIGZvcm11 bGEuIEhlbmNlIHRoaXMgdmFsdWUgaXMKPiA+Pj4+Pj5jb25zaWRlcmVkIGFzIHRvbGVyYW5jZSBm b3IgcGlwZV9jb25maWcgY29tcGFyaXNvbiwgaW4gY2FzZSBvZiBCWFQgRFNJLgo+ID4+Pj4+Pgo+ ID4+Pj4+PlNpZ25lZC1vZmYtYnk6IFJhbWFsaW5nYW0gQyA8cmFtYWxpbmdhbS5jQGludGVsLmNv bT4KPiA+Pj4+PlRoaXMgaXMgdGhlIHdyb25nIHdheSByb3VuZCBpbW8sIGJldHRlciB3b3VsZCBi ZSB0byBhZGp1c3QgdGhlIGFkanVzdGVkCj4gPj4+Pj5tb2RlIGluIHRoZSBieHQgZHNpIGNvbXB1 dGVfY29uZmlnIGZ1bmN0aW9uIHRvIG1hdGNoIHRoZSBodyBncmFudWxhcml0eS4KPiA+Pj4+PlN0 dWZmIF9yZWFsbHlfIHNob3VsZCBtYXRjaCBleGFjdGx5LCB0aGUgZnV6enkgY2xvY2sgbWF0Y2hp bmcgaXMgbW9zdGx5Cj4gPj4+Pj5iZWNhdXNlIG91ciBjbG9jayBjb2QgaXMgYSBtZXNzLCBhbmQg d2UgY2FuJ3QvZG9uJ3QgcHJvcGVybHkKPiA+Pj4+PmZvcndhcmQtY29tcHVhdGUgdGhlIGFjdHVh bCBjbG9jayB0aW1pbmdzIHdlIHByb2dyYW0gaW50byB0aGUgaGFyZHdhcmUuCj4gPj4+Pj4tRGFu aWVsCj4gPj4+PkRhbmllbCwgSSBnb3QgeW91ciBwb2ludC4gQnV0IHRoZSBwcm9ibGVtIHdpbGwg YmUgdGhhdCBkaWZmaWN1bHR5KGV2ZW4gaWYKPiA+Pj4+cG9zc2libGUpIGluIGFkanVzdGluZyB0 aGUgYWRqdXN0ZWQgbW9kZSBwYXJhbWV0ZXJzLgo+ID4+Pj5SZWFzb24gaXMgd2UgYXJlIG5vdCBw cm9ncmFtaW5nIHRoZSBtb2RlIHBhcmFtZXRlciBhcyBzdWNoLiBXZSB3aWxsIGRlcml2ZQo+ID4+ Pj50aGUgaGZwLCBoc3luYyBhbmQgaGJwIGZyb20KPiA+Pj4+aHN5bmNfc3RhcnQsIGhzeW5jX2Vu ZCwgaGRpc3BsYXkgYW5kIGh0b3RhbC4gVGhlc2Ugd2lsbCBiZSBhZGp1c3RlZChkaXZpZGVkCj4g Pj4+PmJ5IDIpIGZvciBkdWFsIGxpbmsgc2NlbmFyaW8uCj4gPj4+PkFuZCB0aGVuIHJlc3VsdGFu dCB3aWxsIGdvIGludG8gdGhlIGNvbnZlcnNpb24gYXMgbWVudGlvbmVkIGluIHRoZSBjb21taXQK PiA+Pj4+bWVzc2FnZSAodHdvIERJVl9ST1VORF9VUCBvbndhcmRzCj4gPj4+PmFuZCBvbmUgRElW X1JPVU5EX1VQIGJhY2t3YXJkcykuIEZvciB0aGlzIHdlIGhhdmUgdG8gbWFrZSB0aGUgcGFyYW1l dGVyCj4gPj4+PmRpdmlzaWJsZSBieSB0aHJlZSBkaWZmZXJlbnQgZmFjdG9ycy4KPiA+Pj4+U28g SU1ITywgZXZlbiBpZiB0aGlzIGlzIHBvc3NpYmxlLCBpdCB3aWxsIGxvb2sgbW9yZSBtZXNzeS4K PiA+Pj4+Cj4gPj4+PlByZWRpY3RpbmcgdGhlIG1heCBlcnJvciBhbmQgdG9sZXJhdGluZyBpdCBp biBwaXBlX2NvbmZpZ19jb21wYXJlIHdpbGwgYmUKPiA+Pj4+dGhlIHN0cmFpZ2h0IGZvcndhcmQg YW5kIG1vcmUgcmVhc29uYWJsZS4KPiA+Pj4+UGxlYXNlIGxldCBtZSBrbm93IGlmIGkgY2FuIGdv IGFoZWFkIGluIHRoaXMgYXBwcm9hY2guCj4gPj4+WWVhaCBJIGRpc2N1c3NlZCB0aGlzIHNvbWUg bW9yZSB3aXRoIEphbmkgb24gaXJjLiBJJ2Qgc2F5IHdlIHNob3VsZCBzdG9yZQo+ID4+PnRoaXMg YWRqdXN0ZWQgaG9yaXpvbnRhbCB0aW1pbmdzICh0aGUgb25lcyBmdWRnZWQgd2l0aCBidXJzdF9t b2RlX3JhdGlvLAo+ID4+PmxhbmVfY291bnQsIGR1YWwtbGluayBhbmQgYWxsIHRoZXNlIHRoaW5n cyBhcHBsaWVkKSBpbnRvCj4gPj4+Y3J0Y19zdGF0ZS0+YmFzZS5hZGp1c3RlZF9tb2RlLiBBbmQg dGhlbiBvZmMgYWxzbyByZWFkIHRob3NlIHZhbHVlcyBvdXQuCj4gPj4+Cj4gPj4+VGhlIG92ZXJh bGwgaWRlYSBvZiB0aGUgc3RhdGUgdmVyaWZ5L2NvbXBhcmUgbG9naWMgaXMgdGhhdCB3ZSBzdGFy dCBvdXQKPiA+Pj53aXRoIHJlcXVlc3RlZCBzdGF0ZSBmcm9tIHVzZXJzcGFjZSwgdGhlbiBkZXJp dmUgdGhlIHJlYWwgaHcgc3RhdGUuIEFuZAo+ID4+PnRoZW4gY29tcGFyZSB0aGF0IGNvbXB1dGVk IGh3IHN0YXRlIHdpdGggd2hhdCdzIHRoZXJlIGFscmVhZHkuIEV4Y2VwdCBmb3IKPiA+Pj5jbG9j a3MsIHdoZXJlIHRoZXJlJ3Mgc3BlY2lhbCByZWFzb25zLCB3ZSBuZXZlciBnbyBiYWNrLCBzaW5j ZSBnb2luZyBiYWNrCj4gPj4+cmVxdWlyZXMgdXMgdG8gYXBwbHkgYSByYW5nZS4gVGhpcyBpcyB0 aGUgb25seSB3YXkgdG8gZ3Vhcm5hdGVlIHRoYXQgImh3Cj4gPj4+aGFzIHRoZSBzYW1lIGV4YWN0 IG1vZGUgcHJvZ3JhbW1lZCBpbiBib3RoIGNhc2VzIiBpZmYgImludGVsX2NydGNfc3RhdGUKPiA+ Pj5tYXRjaGVzIHBlciBpbnRlbF9jcnRjX2NvbmZpZ19jb21wYXJlIi4KPiA+Pj4KPiA+Pj5zdGF0 ZS0+YWRqdXN0ZWRfbW9kZSBpcyBuZXZlciBleHBvc2VkIHRvIHVzZXJzcGFjZSwgc28gdGhlcmUn cyBubyBwcm9ibGVtCj4gPj4+aWYgaXQncyBoYXMgInN0cmFuZ2UiIHZhbHVlcy4gQW5kIHdlIGFs cmVhZHkgaGF2ZSBwaXBlX3NyY19oL3cgdG8gZXhwcmVzcwo+ID4+PnRoZSBsb2dpY2FsIGlucHV0 IHJlY3RhbmdsZS4KPiA+Pj4KPiA+Pj5UaGUgaWRlYSBpcyBzaW1pbGFyIHRvIGhvdyB3ZSBzZXQg YWRqdXN0ZWRfbW9kZS5mbGFncyB0byB3aGF0IHdlIGFjdHVhbGx5Cj4gPj4+cHJvZ3JhbSwgaW5z dGVhZCBvZiB0cnlpbmcgdG8gbWFrZSBzb21ldGhpbmcgdXAgdGhhdCdzIG5vdCBwZXJmZWN0bHkK PiA+Pj5hY2N1cmF0ZS4KPiA+Pj4tRGFuaWVsCj4gPj5EYW5pZWwsCj4gPj4KPiA+PkkgaGF2ZSB0 ZXN0ZWQgYnkgYWRqdXN0aW5nIHRoZSBhZGp1c3RlZF9tb2RlIGluIHNldF9kc2lfdGltaW5ncygp Cj4gPj5pbnN0ZWFkIG9mIGludGVsX2RzaV9jb21wdXRlX2NvbmZpZygpLgo+ID4+UmVhc29uIGlz IGlmIHdlIG1vZGlmeSB0aGUgYWRqdXN0ZWQgbW9kZSBhdCBpbnRlbF9kc2lfY29tcHV0ZV9jb25m aWcoKQo+ID4+aXRzZWxmLCB0aGVuIG1vZGlmaWVkIHZhbHVlIHdpbGwKPiA+PmJlIHRha2VuIGFz IGlucHV0IGZvciBzZXRfZHNpX3RpbWluZ3MuIEhlbmNlIHRoZSBnZXRfY29uZmlnIHdpbGwgZGV2 aWF0ZQo+ID4+ZnVydGhlci4gSSBob3BlIHRoaXMgc2hvdWxkIGJlIGZpbmUgd2l0aCB5b3UgYW5k IEphbmkuCj4gPj4KPiA+PlRoaXMgd2lsbCB3b3JrIG91dCwgaWYgc2V0X2RzaV90aW1pbmdzKCkg aXMgY2FsbGVkIGFmdGVyIHRoZQo+ID4+ZHNpX2NvbXB1dGVfY29uZmlnKCkgb24gZXZlcnkgc3Vz cGVuZCBhbmQgcmVzdW1lIG9yIG1vZGVzZXQuCj4gPj5JIHdpbGwgdmVyaWZ5IHRoaXMgb24gQW5k cm9pZCBvbmNlIGFuZCB1cGRhdGUuCj4gPj4KPiA+PlBsZWFzZSBzaGFyZSB5b3VyIHZpZXcgb24g dGhpcywgc28gdGhhdCBjYW4gdXBkYXRlIHRoZSBwYXRjaCB3aXRoCj4gPj5jb3JyZXNwb25kaW5n IGNoYW5nZXMuCj4gPkkgY2FuJ3Qgc3BlYWsgZm9yIERhbmllbCwgYnV0IEkgdGhpbmsgaGlzIHBv aW50IHdhcyB0byB1cGRhdGUgYWRqdXN0ZWQKPiA+bW9kZSBpbiAtPmNvbXB1dGVfY29uZmlnKCkg aW4gYSB3YXkgdGhhdCBjYW4gYmUgdXNlZCBkaXJlY3RseSBpbgo+ID5zZXRfZHNpX3RpbWluZ3Mo KS4gVGhlbiwgaXQgc2hvdWxkIGJlIHBvc3NpYmxlIHRvIHJlYWQgdGhlIHRpbWluZ3MgZnJvbQo+ ID50aGUgaGFyZHdhcmUsIGFuZCBjb21wYXJlLgo+IAo+IE5vLCB0aGF0cyBub3QgcG9zc2libGUg amFuaS4gSSB0aGluayBpIGRpZG4ndCBlbGFib3JhdGUgdGhlIHByb2JsZW0KPiBzdGF0ZW1lbnQg ZW5vdWdoLgo+IElmIHlvdSBjYW4gcmVhZCB0aGUgcHJvZ3JhbW1lZCB2YWx1ZSBmcm9tIHRoZSBo YXJkd2FyZSB3aXRob3V0IGFueSBlcnJvciwKPiB0aGVuIHRoZXJlIGlzIG5vIG5lZWQgZm9yIHRo aXMgcGF0Y2ggaXRzZWxmLgo+IAo+IEV2ZW4gaWYgd2UgcHJvZ3JhbSB0aGUgbW9kaWZpZWQgYWRq dXN0ZWQgbW9kZSwgdGltaW5nIHBhcmFtZXRlcnMgcmVhZCBmcm9tCj4gZ2V0X2NvbmZpZygpIHdp bGwgbm90IGJlIHNhbWUgYXMgb2YgbW9kaWZpZWQgYWRqdXN0ZWQgbW9kZS4KPiAKPiBJbiBCWFQg RFNJIG9ubHkgYXZhaWxhYmxlIGh3IHJlZ2lzdGVycyBkb2Vzbid0IHByb3ZpZGUgYWxsIHRpbWlu ZyBwYXJhbWV0ZXJzCj4gaW4gdGVybXMgb2YgcGl4ZWxzIGJ1dCB0eGJ5dGVjbGtocy4KPiBhZGp1 c3RlZCBtb2RlIGhhcyB0aGUgcGFyYW1ldGVycyhzdGFydCBhbmQgZW5kIG9mIGhzeW5jLCBodG90 YWwgYW5kIGhkaXNwbGF5Cj4gYW5kIG90aGVycykgaW4gdGVybXMgb2YgcGl4ZWxzLgoKVGhlbiBm aXggYWRqdXN0ZWRfbW9kZSB0byBoYXZlIHRoZSB0aW1pbmdzIGluIHRlcm1zIG9mIHR4Ynl0ZWNs a2hzCmFscmVhZHkuIFByb2JsZW0gc29sdmVkLgotRGFuaWVsCgo+IFNvIHNvbWUgY29udmVyc2lv biBpbnZvbHZlZCBpbiBwcm9ncmFtbWluZyBmZXcgcGFyYW1ldGVycyAoaGZwLCBoc3luYyBhbmQK PiBoYnApIGFuZCBhbHNvIGluIHJldHJpZXZpbmcgdGhlbS4KPiAKPiBBcyBkaXNjdXNzZWQgYWJv dmUgcG9ydCByZWdpc3RlcnMgZXhwZWN0cyBoZnAsIGhzeW5jIGFuZCBoYnAgaW50ZXJtcyBvZgo+ IHR4Ynl0ZWNsa2hzLgo+IAo+IFNlcXVlbmNlIG9mIHByb2dyYW1pbmcgKHNldF9kc2lfdGltaW5n cykgdGhlIGRzaSBwb3J0IHJlZ2lzdGVyczoKPiBwYXJhbWV0ZXJzIGZyb20gbW9kZSAtLS0+IChj YWxjIGhmcCwgaHN5bmMgYW5kIGhicCkgLS0tPiAoYWRqdXN0IGZvciBkdWFsCj4gbGluaykgLS0t LT4gKGNvbnZlcnNpb24gb2YgUGl4ZWxzIHRvIHR4Ynl0ZWNsa2hzKSAtLS0+IFByb2dyYW0gdG8g UG9ydAo+IHJlZ2lzdGVyCj4gCj4gU2VxdWVuY2Ugb2YgZ2V0X2NvbmZpZygpOgo+IFJlYWQgZnJv bSBwb3J0IHJlZ2lzdGVyIC0tLT4gKGNvbnZlcnNpb24gb2YgdHhieXRlY2xraHMgdG8gUGl4ZWxz KSAtLS0+Cj4gKGFkanVzdCBmb3IgZHVhbCBsaW5rKSAtLS0+IChyZWNhbGN1bGF0ZSB0aGUgYWRq dXN0ZWQgbW9kZSBwYXJhbWV0ZXJzIGZyb20KPiBoZnAsIGhzeW5jIGFuZCBoYnAgYW5kIG90aGVy IHJlYWRpbmdzKQo+IAo+IEhlcmUgaWYgd2UgYXNzdW1lIHRoZSBpbnB1dCAgdG8gdGhlIHNldF9k c2lfdGltaW5ncyBpcyBYKGFkanVzdGVkIG1vZGUKPiBwYXJhbWV0ZXIpLCBvdXRwdXQgb2YgZ2V0 X2NvbmZpZygpIHdpbGwgYmUgIChYICsgZGVsdGExKS4KPiBIZXJlIGRlbHRhMSBpcyBlcnJvciBk dWUgdG8gbXVsdGlwbGUgRElWX1JPVU5EX1VQKCkgaW4gdGhlIGNvbnZlcnNpb24gb2YKPiBieXRl cyA8PT09PiB0eGJ5dGVjbGtocy4KPiBTbyBhcyBkYW5pZWwgc2F5cyBpZiB5b3UgbW9kaWZ5IHRo ZSBhZGp1c3RlZF9tb2RlIGluIGNvbXB1dGVfY29uZmlnKCkKPiBpdHNlbGYsIGlucHV0IHRvIHRo ZSBzZXRfZHNpX3RpbWluZ3MoKSB3aWxsIGJlY29tZSAoWCArIGRlbHRhMSkKPiBhbmQgdGhlIHJl YWRpbmdzIGZyb20gdGhlIGdldF9jb25maWcoKSB3aWxsIGJlY29tZSAoWCArIGRlbHRhMSArIGRl bHRhMikKPiAKPiBBbmQgaXQgd291bGRuJ3QgYmUgYXBwcm9wcmlhdGUgdG8gcHJvZ3JhbSB0aGUg aHcgd2l0aCBtb2RpZmllZCBhZGp1c3RlZAo+IG1vZGUuIFRoaXMgbW9kaWZpY2F0aW9uIGlzIGp1 c3QgdG8gbWF0Y2ggaXQgd2l0aCB0aGUgcGlwZV9jb25maWcgcmVhZCBmcm9tCj4gaHcuCj4gSGVu Y2UgYWRqdXN0ZWQgbW9kZSBjYW4gYmUgbW9kaWZpZWQgYWZ0ZXIgdGhlIGh3IHByb2dyYW1taW5n IG9ubHksIHNvIHRoZQo+IHBsYWNlIHRvIGRvIGlzIGVuZCBvZiBzZXRfZHNpX3RpbWluZ3MoKS4K PiAKPiBIb3BlIEkgZXhwbGFpbmVkIHRoZSBzaXR1YXRpb24gZW5vdWdoLgo+IAo+ID4KPiA+QlIs Cj4gPkphbmkuCj4gPgo+ID4KPiA+Pj4+Pj4tLS0KPiA+Pj4+Pj5SZXZpZXdlZCBhdCBodHRwczov L2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9hcmNoaXZlcy9pbnRlbC1nZngvMjAxNi1NYXJjaC8wODk1 NDguaHRtbAo+ID4+Pj4+Pgo+ID4+Pj4+PiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rp c3BsYXkuYyB8ICAgNjIgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLQo+ID4+Pj4+ PiAgIDEgZmlsZSBjaGFuZ2VkLCA1NyBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQo+ID4+ Pj4+Pgo+ID4+Pj4+PmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNw bGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiA+Pj4+Pj5pbmRl eCBjMDYyN2Q2Li4yODJmMDM2IDEwMDY0NAo+ID4+Pj4+Pi0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2Rpc3BsYXkuYwo+ID4+Pj4+PisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2Rpc3BsYXkuYwo+ID4+Pj4+PkBAIC0xMjU1Nyw2ICsxMjU1Nyw5IEBAIGludGVsX3BpcGVf Y29uZmlnX2NvbXBhcmUoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiA+Pj4+Pj4gICAJCQkgIGJv b2wgYWRqdXN0KQo+ID4+Pj4+PiAgIHsKPiA+Pj4+Pj4gICAJYm9vbCByZXQgPSB0cnVlOwo+ID4+ Pj4+PisJc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGN1cnJlbnRfY29u ZmlnLT5iYXNlLmNydGMpOwo+ID4+Pj4+PisJc3RydWN0IGludGVsX2VuY29kZXIgKmludGVsX2Vu Y29kZXI7Cj4gPj4+Pj4+KwlzdHJ1Y3QgaW50ZWxfZHNpICppbnRlbF9kc2kgPSBOVUxMOwo+ID4+ Pj4+PiAgICNkZWZpbmUgSU5URUxfRVJSX09SX0RCR19LTVMoZm10LCAuLi4pIFwKPiA+Pj4+Pj4g ICAJZG8geyBcCj4gPj4+Pj4+QEAgLTEyNTkzLDYgKzEyNTk2LDU0IEBAIGludGVsX3BpcGVfY29u ZmlnX2NvbXBhcmUoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiA+Pj4+Pj4gICAJCXJldCA9IGZh bHNlOyBcCj4gPj4+Pj4+ICAgCX0KPiA+Pj4+Pj4rLyoKPiA+Pj4+Pj4rICogSW4gY2FzZSBvZiBC WFQgRFNJLCBIVyBwaXBlX2NvbmZpZyB3aWxsIGJlIHJldHJpZXZlZCBmcm9tIHRoZSBwb3J0J3Mg dGltaW5nCj4gPj4+Pj4+KyAqIGNvbmZpZ3VyYXRpb24uIFRoaXMgcmV0cml2YWwgaW5jbHVkZXMg c29tZSBlcnJvcnMgZHVlIHRvIHRoZSBESVZfUk9VTkRfVVAuCj4gPj4+Pj4+KyAqIFNvIHdlIGFy ZSBjb25zaWRlcmluZyB0aGUgbWF4IHBvc3NpYmxlIGVycm9yIGF0IHRoZSBjb21wYXJpc29uLgo+ ID4+Pj4+PisgKi8KPiA+Pj4+Pj4rLyoKPiA+Pj4+Pj4rICogaHRvdGFsID0gaGFjdGl2ZSArIGhm cCArIGhzeW5jICsgaGJwLiBIZXJlIGxhc3QgdGhyZWUgbGVtZW50cyBtaWdodCBoYXZlCj4gPj4+ Pj4+KyAqIHRoZSBjb252ZXJzb24gZXJyb3IsIGhlbmNlIHdlIGNvbnNpZGVyIHRoZSAzIHRpbWVz IG9mIGVycm9yIGFzIHRvbGVyYW5jZS4KPiA+Pj4+Pj4rICovCj4gPj4+Pj4+Kwo+ID4+Pj4+Pisj ZGVmaW5lIE1BWF9CWFRfRFNJX1RJTUlOR19SRVRSSVZBTF9FUlIgXAo+ID4+Pj4+PisJCShpbnRl bF9kc2kgPT0gTlVMTCA/IDAgOiBcCj4gPj4+Pj4+KwkJRElWX1JPVU5EX1VQKCgzICogOCAqIGlu dGVsX2RzaS0+bGFuZV9jb3VudCAqIDEwMCksIFwKPiA+Pj4+Pj4rCQkoZHNpX3BpeGVsX2Zvcm1h dF9icHAoaW50ZWxfZHNpLT5waXhlbF9mb3JtYXQpICogXAo+ID4+Pj4+PisJCQlpbnRlbF9kc2kt PmJ1cnN0X21vZGVfcmF0aW8pKSkKPiA+Pj4+Pj4rCj4gPj4+Pj4+KyNkZWZpbmUgQlhUX0RTSV9Q SVBFX0NPTkZfQ0hFQ0tfSV9SQU5HRShuYW1lKSB7IFwKPiA+Pj4+Pj4rCWZvcl9lYWNoX2VuY29k ZXJfb25fY3J0YyhkZXYsICZjcnRjLT5iYXNlLCBcCj4gPj4+Pj4+KwkJCQkJaW50ZWxfZW5jb2Rl cikgeyBcCj4gPj4+Pj4+KwkJaWYgKGludGVsX2VuY29kZXItPnR5cGUgPT0gSU5URUxfT1VUUFVU X0RTSSkgeyBcCj4gPj4+Pj4+KwkJCWludGVsX2RzaSA9IGVuY190b19pbnRlbF9kc2koJmludGVs X2VuY29kZXItPmJhc2UpOyBcCj4gPj4+Pj4+KwkJfSBcCj4gPj4+Pj4+Kwl9IFwKPiA+Pj4+Pj4r CWlmICghKGN1cnJlbnRfY29uZmlnLT5uYW1lIDwgcGlwZV9jb25maWctPm5hbWUgJiYgXAo+ID4+ Pj4+PisJCWN1cnJlbnRfY29uZmlnLT5uYW1lID49IChwaXBlX2NvbmZpZy0+bmFtZSAtIFwKPiA+ Pj4+Pj4rCQkJTUFYX0JYVF9EU0lfVElNSU5HX1JFVFJJVkFMX0VSUikpKSB7IFwKPiA+Pj4+Pj4r CQlJTlRFTF9FUlJfT1JfREJHX0tNUygibWlzbWF0Y2ggaW4gIiAjbmFtZSAiICIgXAo+ID4+Pj4+ PisJCSAgIihleHBlY3RlZCAlaSwgZm91bmQgJWkoRXJyIHRvbGVyYW5jZSBjb25zaWRlcmVkKSlc biIsIFwKPiA+Pj4+Pj4rCQkgIGN1cnJlbnRfY29uZmlnLT5uYW1lLCBcCj4gPj4+Pj4+KwkJICBw aXBlX2NvbmZpZy0+bmFtZSk7IFwKPiA+Pj4+Pj4rCQlyZXQgPSBmYWxzZTsgXAo+ID4+Pj4+PisJ fSBcCj4gPj4+Pj4+K30KPiA+Pj4+Pj4rCj4gPj4+Pj4+KyNkZWZpbmUgUElQRV9DT05GX0NIRUNL X0lfUkFOR0UobmFtZSkgeyBcCj4gPj4+Pj4+KwlpZiAoY3VycmVudF9jb25maWctPm5hbWUgIT0g cGlwZV9jb25maWctPm5hbWUpIHsgXAo+ID4+Pj4+PisJCWlmIChJU19CUk9YVE9OKGRldikgJiYg Y3J0Yy0+Y29uZmlnLT5oYXNfZHNpX2VuY29kZXIpIHsgXAo+ID4+Pj4+PisJCQlCWFRfRFNJX1BJ UEVfQ09ORl9DSEVDS19JX1JBTkdFKG5hbWUpIFwKPiA+Pj4+Pj4rCQl9IGVsc2UgeyBcCj4gPj4+ Pj4+KwkJCUlOVEVMX0VSUl9PUl9EQkdfS01TKCJtaXNtYXRjaCBpbiAiICNuYW1lICIgIiBcCj4g Pj4+Pj4+KwkJCSAgIihleHBlY3RlZCAlaSwgZm91bmQgJWkpXG4iLCBcCj4gPj4+Pj4+KwkJCSAg Y3VycmVudF9jb25maWctPm5hbWUsIFwKPiA+Pj4+Pj4rCQkJICBwaXBlX2NvbmZpZy0+bmFtZSk7 IFwKPiA+Pj4+Pj4rCQkJcmV0ID0gZmFsc2U7IFwKPiA+Pj4+Pj4rCQl9IFwKPiA+Pj4+Pj4rCX0g XAo+ID4+Pj4+Pit9Cj4gPj4+Pj4+Kwo+ID4+Pj4+PiAgICNkZWZpbmUgUElQRV9DT05GX0NIRUNL X01fTihuYW1lKSBcCj4gPj4+Pj4+ICAgCWlmICghaW50ZWxfY29tcGFyZV9saW5rX21fbigmY3Vy cmVudF9jb25maWctPm5hbWUsIFwKPiA+Pj4+Pj4gICAJCQkJICAgICZwaXBlX2NvbmZpZy0+bmFt ZSxcCj4gPj4+Pj4+QEAgLTEyNjk3LDExICsxMjc0OCwxMSBAQCBpbnRlbF9waXBlX2NvbmZpZ19j b21wYXJlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gPj4+Pj4+ICAgCVBJUEVfQ09ORl9DSEVD S19JKGhhc19kc2lfZW5jb2Rlcik7Cj4gPj4+Pj4+ICAgCVBJUEVfQ09ORl9DSEVDS19JKGJhc2Uu YWRqdXN0ZWRfbW9kZS5jcnRjX2hkaXNwbGF5KTsKPiA+Pj4+Pj4tCVBJUEVfQ09ORl9DSEVDS19J KGJhc2UuYWRqdXN0ZWRfbW9kZS5jcnRjX2h0b3RhbCk7Cj4gPj4+Pj4+LQlQSVBFX0NPTkZfQ0hF Q0tfSShiYXNlLmFkanVzdGVkX21vZGUuY3J0Y19oYmxhbmtfc3RhcnQpOwo+ID4+Pj4+Pi0JUElQ RV9DT05GX0NIRUNLX0koYmFzZS5hZGp1c3RlZF9tb2RlLmNydGNfaGJsYW5rX2VuZCk7Cj4gPj4+ Pj4+LQlQSVBFX0NPTkZfQ0hFQ0tfSShiYXNlLmFkanVzdGVkX21vZGUuY3J0Y19oc3luY19zdGFy dCk7Cj4gPj4+Pj4+LQlQSVBFX0NPTkZfQ0hFQ0tfSShiYXNlLmFkanVzdGVkX21vZGUuY3J0Y19o c3luY19lbmQpOwo+ID4+Pj4+PisJUElQRV9DT05GX0NIRUNLX0lfUkFOR0UoYmFzZS5hZGp1c3Rl ZF9tb2RlLmNydGNfaHRvdGFsKTsKPiA+Pj4+Pj4rCVBJUEVfQ09ORl9DSEVDS19JX1JBTkdFKGJh c2UuYWRqdXN0ZWRfbW9kZS5jcnRjX2hibGFua19zdGFydCk7Cj4gPj4+Pj4+KwlQSVBFX0NPTkZf Q0hFQ0tfSV9SQU5HRShiYXNlLmFkanVzdGVkX21vZGUuY3J0Y19oYmxhbmtfZW5kKTsKPiA+Pj4+ Pj4rCVBJUEVfQ09ORl9DSEVDS19JX1JBTkdFKGJhc2UuYWRqdXN0ZWRfbW9kZS5jcnRjX2hzeW5j X3N0YXJ0KTsKPiA+Pj4+Pj4rCVBJUEVfQ09ORl9DSEVDS19JX1JBTkdFKGJhc2UuYWRqdXN0ZWRf bW9kZS5jcnRjX2hzeW5jX2VuZCk7Cj4gPj4+Pj4+ICAgCVBJUEVfQ09ORl9DSEVDS19JKGJhc2Uu YWRqdXN0ZWRfbW9kZS5jcnRjX3ZkaXNwbGF5KTsKPiA+Pj4+Pj4gICAJUElQRV9DT05GX0NIRUNL X0koYmFzZS5hZGp1c3RlZF9tb2RlLmNydGNfdnRvdGFsKTsKPiA+Pj4+Pj5AQCAtMTI3NzksNiAr MTI4MzAsNyBAQCBpbnRlbF9waXBlX2NvbmZpZ19jb21wYXJlKHN0cnVjdCBkcm1fZGV2aWNlICpk ZXYsCj4gPj4+Pj4+ICAgI3VuZGVmIFBJUEVfQ09ORl9DSEVDS19YCj4gPj4+Pj4+ICAgI3VuZGVm IFBJUEVfQ09ORl9DSEVDS19JCj4gPj4+Pj4+KyN1bmRlZiBQSVBFX0NPTkZfQ0hFQ0tfSV9SQU5H RQo+ID4+Pj4+PiAgICN1bmRlZiBQSVBFX0NPTkZfQ0hFQ0tfUAo+ID4+Pj4+PiAgICN1bmRlZiBQ SVBFX0NPTkZfQ0hFQ0tfSV9BTFQKPiA+Pj4+Pj4gICAjdW5kZWYgUElQRV9DT05GX0NIRUNLX0ZM QUdTCj4gPj4+Pj4+LS0gCj4gPj4+Pj4+MS43LjkuNQo+ID4+Pj4+Pgo+ID4+Pj4+Pl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gPj4+Pj4+SW50ZWwtZ2Z4 IG1haWxpbmcgbGlzdAo+ID4+Pj4+PkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPiA+ Pj4+Pj5odHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVs LWdmeAo+ID4+Pj4tLSAKPiA+Pj4+VGhhbmtzLAo+ID4+Pj4tLVJhbQo+ID4+Pj4KPiAKPiAtLSAK PiBUaGFua3MsCj4gLS1SYW0KPiAKCi0tIApEYW5pZWwgVmV0dGVyClNvZnR3YXJlIEVuZ2luZWVy LCBJbnRlbCBDb3Jwb3JhdGlvbgpodHRwOi8vYmxvZy5mZndsbC5jaApfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0Cklu dGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5v cmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK