From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paulo Zanoni Subject: Re: [PATCH 6/7] drm/i915/fbc: move from crtc_state->enable_fbc to plane_state->enable_fbc Date: Fri, 11 Nov 2016 17:57:28 -0200 Message-ID: <1478894248.19391.43.camel@intel.com> References: <1478883461-20201-1-git-send-email-paulo.r.zanoni@intel.com> <1478883461-20201-7-git-send-email-paulo.r.zanoni@intel.com> <20161111185129.GS31595@intel.com> <1478890914.19391.31.camel@intel.com> <20161111191309.GT31595@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTPS id 1E17A6E25D for ; Fri, 11 Nov 2016 19:57:32 +0000 (UTC) In-Reply-To: <20161111191309.GT31595@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Ville =?ISO-8859-1?Q?Syrj=E4l=E4?= Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org RW0gU2V4LCAyMDE2LTExLTExIMOgcyAyMToxMyArMDIwMCwgVmlsbGUgU3lyasOkbMOkIGVzY3Jl dmV1Ogo+IE9uIEZyaSwgTm92IDExLCAyMDE2IGF0IDA1OjAxOjU0UE0gLTAyMDAsIFBhdWxvIFph bm9uaSB3cm90ZToKPiA+IAo+ID4gRW0gU2V4LCAyMDE2LTExLTExIMOgcyAyMDo1MSArMDIwMCwg VmlsbGUgU3lyasOkbMOkIGVzY3JldmV1Ogo+ID4gPiAKPiA+ID4gT24gRnJpLCBOb3YgMTEsIDIw MTYgYXQgMDI6NTc6NDBQTSAtMDIwMCwgUGF1bG8gWmFub25pIHdyb3RlOgo+ID4gPiA+IAo+ID4g PiA+IAo+ID4gPiA+IFZpbGxlIHBvaW50ZWQgb3V0IHRoYXQgaW50ZWxfZmJjX2Nob29zZV9jcnRj KCkgaXMgaXRlcmF0aW5nCj4gPiA+ID4gb3Zlcgo+ID4gPiA+IGFsbAo+ID4gPiA+IHBsYW5lcyBp bnN0ZWFkIG9mIGp1c3QgdGhlIHByaW1hcnkgcGxhbmVzLiBUaGVyZSBhcmUgbm8gcmVhbAo+ID4g PiA+IGNvbnNlcXVlbmNlcyBvZiB0aGlzIHByb2JsZW0gZm9yIEhTVyssIGFuZCBmb3IgdGhlIG90 aGVyCj4gPiA+ID4gcGxhdGZvcm1zCj4gPiA+ID4gaXQKPiA+ID4gPiBqdXN0IG1lYW5zIHRoYXQg aW4gc29tZSBvYnNjdXJlIG11bHRpLXNjcmVlbiBjYXNlcyB3ZSdsbCBrZWVwCj4gPiA+ID4gRkJD Cj4gPiA+ID4gZGlzYWJsZWQgd2hlbiB3ZSBjb3VsZCBoYXZlIGVuYWJsZWQgaXQuIFN0aWxsLCBp dGVyYXRpbmcgb3Zlcgo+ID4gPiA+IGFsbAo+ID4gPiA+IHBsYW5lcyBkb2Vzbid0IHNlZW0gdG8g YmUgdGhlIGJlc3QgdGhpbmcgdG8gZG8uCj4gPiA+ID4gCj4gPiA+ID4gTXkgaW5pdGlhbCBpZGVh IHdhcyB0byBqdXN0IGFkZCBhIGNoZWNrIGZvciBwbGFuZS0+dHlwZSBhbmQgYmUKPiA+ID4gPiBk b25lLAo+ID4gPiA+IGJ1dCB0aGVuIEkgcmVhbGl6ZWQgdGhhdCBpbiBjb21taXRzIG5vdCBpbnZv bHZpbmcgdGhlIHByaW1hcnkKPiA+ID4gPiBwbGFuZQo+ID4gPiA+IHdlCj4gPiA+ID4gd291bGQg cmVzZXQgY3J0Y19zdGF0ZS0+ZW5hYmxlX2ZiYyBiYWNrIHRvIGZhbHNlIGV2ZW4gd2hlbiBGQkMK PiA+ID4gPiBpcwo+ID4gPiA+IGVuYWJsZWQuIFRoYXQgYWxzbyB3b3VsZG4ndCByZXN1bHQgaW4g YSBidWcgZHVlIHRvIHRoZSB3YXkgdGhlCj4gPiA+ID4gZW5hYmxlX2ZiYyB2YXJpYWJsZSBpcyBj aGVja2VkLCBidXQsIHN0aWxsLCBvdXIgY29kZSBjYW4gYmUKPiA+ID4gPiBiZXR0ZXIKPiA+ID4g PiB0aGFuIHRoaXMuCj4gPiA+ID4gCj4gPiA+ID4gU28gSSB3ZW50IGZvciB0aGUgc29sdXRpb24g dGhhdCBpbnZvbHZlcyB0cmFja2luZyBlbmFibGVfZmJjIGluCj4gPiA+ID4gdGhlCj4gPiA+ID4g cHJpbWFyeSBwbGFuZSBzdGF0ZSBpbnN0ZWFkIG9mIHRoZSBDUlRDIHN0YXRlLiBUaGlzIHdheSwg aWYgYQo+ID4gPiA+IGNvbW1pdAo+ID4gPiA+IGRvZXNuJ3QgaW52b2x2ZSB0aGUgcHJpbWFyeSBw bGFuZSBmb3IgdGhlIENSVEMgd2Ugd29uJ3QgYmUKPiA+ID4gPiByZXNldHRpbmcKPiA+ID4gPiBl bmFibGVfZmJjIGJhY2sgdG8gZmFsc2UsIHNvIHRoZSB2YXJpYWJsZSB3aWxsIGFsd2F5cyByZWZs ZWN0Cj4gPiA+ID4gdGhlCj4gPiA+ID4gcmVhbGl0eS4gQW5kIHRoaXMgY2hhbmdlIGFsc28gbWFr ZXMgbW9yZSBzZW5zZSBzaW5jZSBGQkMgaXMKPiA+ID4gPiBhY3R1YWxseQo+ID4gPiA+IHRpZWQg dG8gdGhlIHNpbmdsZSBwbGFuZSBhbmQgbm90IHRoZSBmdWxsIHBpcGUuIEFzIGEgYm9udXMsIHdl Cj4gPiA+ID4gb25seQo+ID4gPiA+IGl0ZXJhdGUgb3ZlciB0aGUgQ1JUQ3MgaW5zdGVhZCBvZiBp dGVyYXRpbmcgb3ZlciBhbGwgcGxhbmVzLgo+ID4gPiA+IAo+ID4gPiA+IENjOiBWaWxsZSBTeXJq w6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgo+ID4gPiA+IFJlcG9ydGVkLWJ5 OiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgo+ID4gPiA+ IFNpZ25lZC1vZmYtYnk6IFBhdWxvIFphbm9uaSA8cGF1bG8uci56YW5vbmlAaW50ZWwuY29tPgo+ ID4gPiA+IC0tLQo+ID4gPiA+IMKgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggfMKg wqA0ICsrLS0KPiA+ID4gPiDCoGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2ZiYy5jIHwgMzYg KysrKysrKysrKysrKysrKysrKy0tLS0tCj4gPiA+ID4gLS0tLQo+ID4gPiA+IC0tLS0tLS0tCj4g PiA+ID4gwqAyIGZpbGVzIGNoYW5nZWQsIDIxIGluc2VydGlvbnMoKyksIDE5IGRlbGV0aW9ucygt KQo+ID4gPiA+IAo+ID4gPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kcnYuaAo+ID4gPiA+IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiA+ID4g PiBpbmRleCAwMDNhZmI4Li4wMjVjYjc0IDEwMDY0NAo+ID4gPiA+IC0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gPiA+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZHJ2LmgKPiA+ID4gPiBAQCAtNDAzLDYgKzQwMyw4IEBAIHN0cnVjdCBpbnRlbF9wbGFu ZV9zdGF0ZSB7Cj4gPiA+ID4gwqAJaW50IHNjYWxlcl9pZDsKPiA+ID4gPiDCoAo+ID4gPiA+IMKg CXN0cnVjdCBkcm1faW50ZWxfc3ByaXRlX2NvbG9ya2V5IGNrZXk7Cj4gPiA+ID4gKwo+ID4gPiA+ ICsJYm9vbCBlbmFibGVfZmJjOwo+ID4gPiA+IMKgfTsKPiA+ID4gPiDCoAo+ID4gPiA+IMKgc3Ry dWN0IGludGVsX2luaXRpYWxfcGxhbmVfY29uZmlnIHsKPiA+ID4gPiBAQCAtNjQ4LDggKzY1MCw2 IEBAIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlIHsKPiA+ID4gPiDCoAo+ID4gPiA+IMKgCWJvb2wg aXBzX2VuYWJsZWQ7Cj4gPiA+ID4gwqAKPiA+ID4gPiAtCWJvb2wgZW5hYmxlX2ZiYzsKPiA+ID4g PiAtCj4gPiA+ID4gwqAJYm9vbCBkb3VibGVfd2lkZTsKPiA+ID4gPiDCoAo+ID4gPiA+IMKgCWJv b2wgZHBfZW5jb2Rlcl9pc19tc3Q7Cj4gPiA+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2ZiYy5jCj4gPiA+ID4gYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9m YmMuYwo+ID4gPiA+IGluZGV4IGIwOTUxNzUuLmZjNGFjNTcgMTAwNjQ0Cj4gPiA+ID4gLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZmJjLmMKPiA+ID4gPiArKysgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9mYmMuYwo+ID4gPiA+IEBAIC0xMDU1LDE2ICsxMDU1LDE3IEBAIHZv aWQgaW50ZWxfZmJjX2Nob29zZV9jcnRjKHN0cnVjdAo+ID4gPiA+IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2LAo+ID4gPiA+IMKgCQkJwqDCoMKgc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0 YXRlKQo+ID4gPiA+IMKgewo+ID4gPiA+IMKgCXN0cnVjdCBpbnRlbF9mYmMgKmZiYyA9ICZkZXZf cHJpdi0+ZmJjOwo+ID4gPiA+IC0Jc3RydWN0IGRybV9wbGFuZSAqcGxhbmU7Cj4gPiA+ID4gLQlz dHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpwbGFuZV9zdGF0ZTsKPiA+ID4gPiArCXN0cnVjdCBkcm1f Y3J0YyAqY3J0YzsKPiA+ID4gPiArCXN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZTsK PiA+ID4gPiDCoAlib29sIGNydGNfY2hvc2VuID0gZmFsc2U7Cj4gPiA+ID4gwqAJaW50IGk7Cj4g PiA+ID4gwqAKPiA+ID4gPiDCoAltdXRleF9sb2NrKCZmYmMtPmxvY2spOwo+ID4gPiA+IMKgCj4g PiA+ID4gLQkvKiBEb2VzIHRoaXMgYXRvbWljIGNvbW1pdCBpbnZvbHZlIHRoZSBDUlRDIGN1cnJl bnRseQo+ID4gPiA+IHRpZWQKPiA+ID4gPiB0byBGQkM/ICovCj4gPiA+ID4gKwkvKiBEb2VzIHRo aXMgYXRvbWljIGNvbW1pdCBpbnZvbHZlIHRoZSBwbGFuZSBjdXJyZW50bHkKPiA+ID4gPiB0aWVk IHRvIEZCQz8gKi8KPiA+ID4gPiDCoAlpZiAoZmJjLT5jcnRjICYmCj4gPiA+ID4gLQnCoMKgwqDC oCFkcm1fYXRvbWljX2dldF9leGlzdGluZ19jcnRjX3N0YXRlKHN0YXRlLCAmZmJjLQo+ID4gPiA+ ID5jcnRjLQo+ID4gPiA+ID4gCj4gPiA+ID4gPiBiYXNlKSkKPiA+ID4gPiArCcKgwqDCoMKgIWRy bV9hdG9taWNfZ2V0X2V4aXN0aW5nX3BsYW5lX3N0YXRlKHN0YXRlLAo+ID4gPiA+ICsJCQkJCQnC oGZiYy0+Y3J0Yy0KPiA+ID4gPiA+IAo+ID4gPiA+ID4gYmFzZS5wcmltYXJ5KSkKPiA+ID4gPiDC oAkJZ290byBvdXQ7Cj4gPiA+ID4gwqAKPiA+ID4gPiDCoAlpZiAoIWludGVsX2ZiY19jYW5fZW5h YmxlKGRldl9wcml2KSkKPiA+ID4gPiBAQCAtMTA3NCwyNSArMTA3NSwyNiBAQCB2b2lkIGludGVs X2ZiY19jaG9vc2VfY3J0YyhzdHJ1Y3QKPiA+ID4gPiBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diwKPiA+ID4gPiDCoAnCoCogcGxhbmUuIFdlIGNvdWxkIGdvIGZvciBmYW5jaWVyIHNjaGVtZXMg c3VjaCBhcwo+ID4gPiA+IGNoZWNraW5nCj4gPiA+ID4gdGhlIHBsYW5lCj4gPiA+ID4gwqAJwqAq IHNpemUsIGJ1dCB0aGlzIHdvdWxkIGp1c3QgYWZmZWN0IHRoZSBmZXcgcGxhdGZvcm1zCj4gPiA+ ID4gdGhhdAo+ID4gPiA+IGRvbid0IHRpZSBGQkMKPiA+ID4gPiDCoAnCoCogdG8gcGlwZSBvciBw bGFuZSBBLiAqLwo+ID4gPiA+IC0JZm9yX2VhY2hfcGxhbmVfaW5fc3RhdGUoc3RhdGUsIHBsYW5l LCBwbGFuZV9zdGF0ZSwgaSkKPiA+ID4gPiB7Cj4gPiA+ID4gLQkJc3RydWN0IGludGVsX3BsYW5l X3N0YXRlICppbnRlbF9wbGFuZV9zdGF0ZSA9Cj4gPiA+ID4gLQkJCXRvX2ludGVsX3BsYW5lX3N0 YXRlKHBsYW5lX3N0YXRlKTsKPiA+ID4gPiAtCQlzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqaW50 ZWxfY3J0Y19zdGF0ZTsKPiA+ID4gPiAtCQlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9Cj4gPiA+ ID4gdG9faW50ZWxfY3J0YyhwbGFuZV9zdGF0ZS0+Y3J0Yyk7Cj4gPiA+ID4gKwlmb3JfZWFjaF9j cnRjX2luX3N0YXRlKHN0YXRlLCBjcnRjLCBjcnRjX3N0YXRlLCBpKSB7Cj4gPiA+ID4gKwkJc3Ry dWN0IGludGVsX3BsYW5lX3N0YXRlICpwbGFuZV9zdGF0ZSA9Cj4gPiA+ID4gdG9faW50ZWxfcGxh bmVfc3RhdGUoCj4gPiA+ID4gKwkJCWRybV9hdG9taWNfZ2V0X2V4aXN0aW5nX3BsYW5lX3N0YXRl KHN0Cj4gPiA+ID4gYXRlLAo+ID4gPiA+ICsJCQkJCQkJwqDCoMKgwqBjcgo+ID4gPiA+IHRjLQo+ ID4gPiA+ID4gCj4gPiA+ID4gPiBwcmltYXJ5KSk7Cj4gPiA+ID4gKwkJc3RydWN0IGludGVsX2Ny dGMgKmludGVsX2NydGMgPQo+ID4gPiA+IHRvX2ludGVsX2NydGMoY3J0Yyk7Cj4gPiA+ID4gwqAK PiA+ID4gPiAtCQlpZiAoIWludGVsX3BsYW5lX3N0YXRlLT5iYXNlLnZpc2libGUpCj4gPiA+ID4g KwkJaWYgKCFwbGFuZV9zdGF0ZSkKPiA+ID4gPiDCoAkJCWNvbnRpbnVlOwo+ID4gPiA+IMKgCj4g PiA+ID4gLQkJaWYgKGZiY19vbl9waXBlX2Ffb25seShkZXZfcHJpdikgJiYgY3J0Yy0+cGlwZSAK PiA+ID4gPiAhPQo+ID4gPiA+IFBJUEVfQSkKPiA+ID4gPiArCQlpZiAoIXBsYW5lX3N0YXRlLT5i YXNlLnZpc2libGUpCj4gPiA+ID4gwqAJCQljb250aW51ZTsKPiA+ID4gPiDCoAo+ID4gPiA+IC0J CWlmIChmYmNfb25fcGxhbmVfYV9vbmx5KGRldl9wcml2KSAmJiBjcnRjLQo+ID4gPiA+ID5wbGFu ZQo+ID4gPiA+ICE9IFBMQU5FX0EpCj4gPiA+ID4gKwkJaWYgKGZiY19vbl9waXBlX2Ffb25seShk ZXZfcHJpdikgJiYKPiA+ID4gPiBpbnRlbF9jcnRjLQo+ID4gPiA+ID4gCj4gPiA+ID4gPiBwaXBl ICE9IFBJUEVfQSkKPiA+ID4gPiDCoAkJCWNvbnRpbnVlOwo+ID4gPiA+IMKgCj4gPiA+ID4gLQkJ aW50ZWxfY3J0Y19zdGF0ZSA9IHRvX2ludGVsX2NydGNfc3RhdGUoCj4gPiA+ID4gLQkJCWRybV9h dG9taWNfZ2V0X2V4aXN0aW5nX2NydGNfc3RhdGUoc3RhCj4gPiA+ID4gdGUsCj4gPiA+ID4gJmNy dGMtPmJhc2UpKTsKPiA+ID4gPiArCQlpZiAoZmJjX29uX3BsYW5lX2Ffb25seShkZXZfcHJpdikg JiYKPiA+ID4gPiArCQnCoMKgwqDCoGludGVsX2NydGMtPnBsYW5lICE9IFBMQU5FX0EpCj4gPiA+ ID4gKwkJCWNvbnRpbnVlOwo+ID4gPiA+IMKgCj4gPiA+ID4gLQkJaW50ZWxfY3J0Y19zdGF0ZS0+ ZW5hYmxlX2ZiYyA9IHRydWU7Cj4gPiA+ID4gKwkJcGxhbmVfc3RhdGUtPmVuYWJsZV9mYmMgPSB0 cnVlOwo+ID4gPiAKPiA+ID4gU28gbG9va2luZyBhdCB0aGlzIHdob2xlIHRoaW5nLCBJIGNhbid0 IHNlZSBhbnl0aGluZyB0aGF0IHdvdWxkCj4gPiA+IHByZXZlbnQKPiA+ID4gZW5hYmxlX2ZiYyBi ZWluZyB0cnVlIGZvciBtdWx0aXBsZSBwcmltYXJ5IHBsYW5lcyBhdCB0aGUgc2FtZQo+ID4gPiB0 aW1lCj4gPiA+IFdlbGwsIGFwYXJ0IGZyb20gdGhlIHdob2xlICJ3ZSBlbmFibGUgaXQgb25seSBm b3IgcGxhdGZvcm1zIHRoYXQKPiA+ID4gY2FuCj4gPiA+IG9ubHkgZG8KPiA+ID4gcGlwZSBBIiB0 aGluZy4KPiA+ID4gCj4gPiA+IFNvIHdoYXQgaGFwcGVucyBpbiB0aGF0IGNhc2U/IEZCQyBqdXN0 IGVuZHMgdXAgZ2V0dGluZyBlbmFibGluZwo+ID4gPiBvbgo+ID4gPiBvbmUgb2YgdGhlIHBpcGVz IGJhc2VkIG9uIHRoZSBvcmRlciBpbnRlbF9mYmNfZW5hYmxlKCkgZ2V0cwo+ID4gPiBjYWxsZWQs Cj4gPiA+IG9yIHNvbWV0aGluZz8KPiA+IAo+ID4gVGhlIGZpcnN0IGNoZWNrIG9mIGludGVsX2Zi Y19jaG9vc2VfY3J0YygpIGlzIHN1cHBvc2VkIHRvIHByZXZlbnQKPiA+IHRoaXMKPiA+IGNhc2U6 IGlmIGZiYy0+Y3J0Yy0+cHJpbWFyeSBpcyBub3QgaW5jbHVkZWQgaW4gdGhlIGNvbW1pdCB3ZSBq dXN0Cj4gPiByZXR1cm4gd2l0aG91dCBzZWxlY3RpbmcgYW55IHBsYW5lLgo+IAo+IFRoZSBmYmMt PmNydGMgdGhpbmcgb25seSB3b3JrcyBpZiBpbnRlbF9mYmNfZW5hYmxlKCkgd2FzIGFscmVhZHkK PiBjYWxsZWQKPiBmb3Igc29tZSBjcnRjLiBCdXQgd2hhdCBpdCBpdCB3YXNuJ3Q/Cj4gCj4gPiAK PiA+IE90aGVyd2lzZSwgd2Ugb25seSBwaWNrIG9uZSBDUlRDCj4gPiBkdWUgdG8gdGhlICJicmVh azsiIHN0YXRlbWVudCBhZnRlciBzZXR0aW5nIHBsYW5lX3N0YXRlLT5lbmFibGVfZmJjIAo+ID4g dG8KPiA+IHRydWUuCj4gCj4gT25seSBvbmUgcGVyIGF0b21pYyBvcGVyYXRpb24uIEJ1dCB3aGF0 IGlmIHRoZXJlIGFyZSBzZXZlcmFsCj4gaGFwcGVuaW5nCj4gaW4gcGFyYWxsZWwgb24gZGlmZmVy ZW50IGNydGNzPwoKSSBzZWUgeW91ciBwb2ludCBub3cuIFllYWgsIHdlJ2xsIGVuZCB1cCB3aXRo CnBsYW5lX3N0YXRlLmVuYWJsZV9mYmM9dHJ1ZSBmb3IgdHdvIGRpZmZlcmVudCBwbGFuZXMuIExh dGVyLCB0aGUgZmlyc3QKb25lIHRvIGNhbGwgaW50ZWxfZmJjX2VuYWJsZSgpIHdpbGwgd2luLCBh bmQgdGhlIG90aGVycyB3aWxsIGJlCmlnbm9yZWQsIHNvIHdlJ2xsIGluZGVlZCBlbmQgdXAgd2l0 aCBwbGFuZSBzdGF0ZXMgaGF2aW5nCmVuYWJsZV9mYmM9dHJ1ZSBidXQgRkJDIG5vdCBlbmFibGVk IGJ5IHRoZW0uIE5vdCBhIHJlYWwgYnVnLCBJIHdvdWxkCnN0aWxsIGxpa2UgdG8gYXZvaWQgdGhp cyBjb25mdXNpb24uCgpUaGUgc2ltcGxlc3Qgc29sdXRpb24gSSBjYW4gdGhpbmsgd291bGQgYmUg dG8ganVzdApzL3BsYW5lX3N0YXRlLmVuYWJsZV9mYmMvcGxhbmVfc3RhdGUuY2FuX2VuYWJsZV9m YmMvIGFuZCBqdXN0IGxldCB0aGUKZmlyc3Qgb25lIHRvIGNhbGwgaW50ZWxfZmJjX2VuYWJsZSgp IHdpbi4uLiBBbmQgdGhlbiwgaWYgd2UgZXZlciBkZWNpZGUKdG8gZW5hYmxlIEZCQyBvbiB0aGUg b2xkZXIgcGxhdGZvcm1zLCB3ZSBjYW4gY2hvb3NlIHRvIG1heWJlIGltcGxlbWVudAphIGJldHRl ciBtZXRob2QgKGFuZCBmaXggYWxsIHRoZSBwb3NzaWJsZSBGQkMgcHJvYmxlbXMgZm9yIHRob3Nl CnBsYXRmb3JtcykuIElzIHRoaXMgc29sdXRpb24gd29ydGggYSBSLUIgZnJvbSB5b3U/CgpJZiB5 b3UgaGF2ZSBhbnkgYmV0dGVyIGlkZWEgaGVyZSwgZmVlbCBmcmVlIHRvIHN1Z2dlc3QgaXQuIEkn bSBub3Qgc3VyZQppdCdzIHBvc3NpYmxlIHRvIGNvbWUgdXAgd2l0aCBzb21ldGhpbmcgbXVjaCBi ZXR0ZXIgZHVlIHRvIGFsbCB0aGUKcGFyYWxsZWxpc20gaW52b2x2ZWQuIE1ha2luZyBvbmUgQ1JU QyAidGFrZSBvdmVyIiBGQkMgZnJvbSB0aGUgb3RoZXIgaXMKc29tZXRoaW5nIEknZCByZWFsbHkg bG92ZSB0byBhdm9pZC4KClRoYW5rcywKUGF1bG8KCj4gCj4gPiAKPiA+IAo+ID4gPiAKPiA+ID4g Cj4gPiA+ID4gCj4gPiA+ID4gCj4gPiA+ID4gwqAJCWNydGNfY2hvc2VuID0gdHJ1ZTsKPiA+ID4g PiDCoAkJYnJlYWs7Cj4gPiA+ID4gwqAJfQo+ID4gPiA+IEBAIC0xMTMwLDEzICsxMTMyLDEzIEBA IHZvaWQgaW50ZWxfZmJjX2VuYWJsZShzdHJ1Y3QgaW50ZWxfY3J0Ywo+ID4gPiA+ICpjcnRjLAo+ ID4gPiA+IMKgCWlmIChmYmMtPmVuYWJsZWQpIHsKPiA+ID4gPiDCoAkJV0FSTl9PTihmYmMtPmNy dGMgPT0gTlVMTCk7Cj4gPiA+ID4gwqAJCWlmIChmYmMtPmNydGMgPT0gY3J0Yykgewo+ID4gPiA+ IC0JCQlXQVJOX09OKCFjcnRjX3N0YXRlLT5lbmFibGVfZmJjKTsKPiA+ID4gPiArCQkJV0FSTl9P TighcGxhbmVfc3RhdGUtPmVuYWJsZV9mYmMpOwo+ID4gPiA+IMKgCQkJV0FSTl9PTihmYmMtPmFj dGl2ZSk7Cj4gPiA+ID4gwqAJCX0KPiA+ID4gPiDCoAkJZ290byBvdXQ7Cj4gPiA+ID4gwqAJfQo+ ID4gPiA+IMKgCj4gPiA+ID4gLQlpZiAoIWNydGNfc3RhdGUtPmVuYWJsZV9mYmMpCj4gPiA+ID4g KwlpZiAoIXBsYW5lX3N0YXRlLT5lbmFibGVfZmJjKQo+ID4gPiA+IMKgCQlnb3RvIG91dDsKPiA+ ID4gPiDCoAo+ID4gPiA+IMKgCVdBUk5fT04oZmJjLT5hY3RpdmUpOwo+ID4gPiA+IC0twqAKPiA+ ID4gPiAyLjcuNAo+ID4gPiAKPiAKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRl c2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8v aW50ZWwtZ2Z4Cg==