From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sagar Arun Kamble Subject: Re: [PATCH v2 3/4] drm/i915: Enabling constant alpha drm property Date: Tue, 15 Apr 2014 16:53:22 +0530 Message-ID: <1397561002.15218.24.camel@sagar-desktop> References: <20140320135151.GO6912@strange.amr.corp.intel.com> <1395757947-16492-1-git-send-email-sagar.a.kamble@intel.com> <1395757947-16492-3-git-send-email-sagar.a.kamble@intel.com> <1396327878.16960.8.camel@sagar-desktop> <1396419126.16960.10.camel@sagar-desktop> <1396503783.16960.11.camel@sagar-desktop> <1397555044.15218.13.camel@sagar-desktop> <20140415103535.GS18465@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 ESMTP id 6880D6E1E0 for ; Tue, 15 Apr 2014 04:22:15 -0700 (PDT) In-Reply-To: <20140415103535.GS18465@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: Daniel Vetter , intel-gfx@lists.freedesktop.org, "Hiremath, Shashidhar" , "Sharma, Ankitprasad R" List-Id: intel-gfx@lists.freedesktop.org SGkgVmlsbGUsCgpUaGFua3MgZm9yIHRoZSByZXBseS4KSSBoYXZlIGZldyBtb3JlIHF1ZXJpZXMu Ck9uIFR1ZSwgMjAxNC0wNC0xNSBhdCAxMzozNSArMDMwMCwgVmlsbGUgU3lyasOkbMOkIHdyb3Rl Ogo+IE9uIFR1ZSwgQXByIDE1LCAyMDE0IGF0IDAzOjE0OjA0UE0gKzA1MzAsIFNhZ2FyIEFydW4g S2FtYmxlIHdyb3RlOgo+ID4gSGkgVmlsbGUsCj4gPiAKPiA+IFNvbWVob3cgSSBkaWQgbm90IHJl Y2VpdmUgeW91ciByZXZpZXcgY29tbWVudHMKPiA+IChodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Au b3JnL2FyY2hpdmVzL2ludGVsLWdmeC8yMDE0LUFwcmlsLzA0Mjk1Ni5odG1sCj4gPiApIGluIG15 IG1haWxib3guCj4gPiAKPiA+IEhlcmUgaXMgbXkgaW5wdXQgdy5yLnQgcGF0Y2hlcyBJIGhhdmUg c2VudCBmb3IgcmV2aWV3Ogo+ID4gCj4gPiBDdXJyZW50bHkgbXkgcGF0Y2hlcyBhcmUgbW9kZWxp bmcgY29uc3RhbnQgYWxwaGEgYmxlbmQgZmFjdG9yIChhc3N1bWluZwo+ID4gcHJlLW11bHRpcGxp ZWQgZm9ybWF0KSBhcyAKPiA+IAo+ID4gRGMgPSBTYyAqIENhICsgKDEgLSBDYSkgKiBEYwo+ID4g Cj4gPiBVc2VyIHNwYWNlIGhhcyB0byBzdXBwbHkgKDxhbHBoYSB2YWx1ZT4sIENPTlNUQU5UX0FM UEhBKSB0aHJvdWdoIGRybQo+ID4gcHJvcGVydHkgdG8gaW52b2tlIHRoaXMgYmxlbmRpbmcuCj4g PiAKPiA+IEhlcmUgYXJlIG15IHF1ZXJpZXMgb24geW91ciBwcm9wb3NlZCBhcHByb2FjaDoKPiA+ IAo+ID4gMS4gc3JjIGZhY3RvcnMgYXJlIDEsIENhLCBTYSpDYSBhbmQgZHN0IGZhY3RvcnMgYXJl IDAsIDEtQ2EsIDEtU2EsCj4gPiAxLVNhKkNhOiBIb3cgaXMgZmFjdG9yIDAgZGVyaXZlZCBhbmQg YXBwbGljYWJsZSB0byBEc3QgYW5kIG5vdAo+ID4gYXBwbGljYWJsZSB0byBzcmMuCj4gCj4gSWYg YmxlbmRpbmcgaXMgZGlzYWJsZWQgdGhlIGZ1bmN0aW9uIHdpbGwgYmUgRGMgPSBTYyAqIDEgKyAw ICogRGMKPiAKPiBIZW5jZSB3ZSBnZXQgdGhlIE9ORSBhbmQgWkVSTyBibGVuZCBmYWN0b3JzLgo+ IAo+ID4gCj4gPiAyLiBXaXRoIHRoaXMgYXBwcm9hY2ggdXNlciB3aWxsIGtub3cgd2hhdCBibGVu ZCBlcXVhdGlvbiBpcyBzdXBwb3J0ZWQuCj4gPiBIb3cgZG9lcyB1c2VyIHN1cHBseSB0aGUgYmxl bmQgcGFyYW1ldGVycz8gU2hvdWxkIHdlIGhhdmUgYW5vdGhlcgo+ID4gcHJvcGVydHkgdGhhdCB3 aWxsIGhhdmUgYmxlbmQgZXF1YXRpb24gc2VsZWN0ZWQgYW5kIGNvcnJlc3BvbmRpbmcKPiA+IHBh cmFtZXRlcnM/Cj4gCj4gQnkgcGFyYW1ldGVycyB5b3UgbWVhbiB0aGUgY29uc3RhbnQgYWxwaGEg YW5kIGJhY2tncm91bmQgY29sb3IgZm9yCj4gaW5zdGFuY2U/IEkgdGhpbmsgaGF2aW5nIHRob3Nl IGFzIHNlcGFyYXRlIHByb3BlcnRpZXMgaXMgdGhlIGNsZWFuZXN0Cj4gb3B0aW9uLgpZZXMuIEkg bWVhbnQgY29uc3RhbnQgYWxwaGEgdmFsdWUuIEZvciB3aGF0IHR5cGUgb2YgYmxlbmRpbmcgYmFj a2dyb3VuZApjb2xvciB3aWxsIGJlIHVzZWQ/CgpTbywgdGhlIG92ZXJhbGwgZmxvdyB3aWxsIGJl OgoKMS4gVXNlciBxdWVyaWVzIHN1cHBvcnRlZCBibGVuZGluZyBlcXVhdGlvbnMuCjIuIFNldHMg cmVxdWlyZWQgYmxlbmQgZXF1YXRpb24uCjMuIFNldHMgcmVxdWlyZWQgYmxlbmQgcGFyYW1ldGVy cyBsaWtlIGNvbnN0YW50IGFscGhhIHZhbHVlIGV0Yy4KClN0ZXAgMiBhbmQgMyBuZWVkIHRvIGJl IGRvbmUgYXRvbWljYWxseS4KCj4gCj4gPiAKPiA+IDMuIElzIGZsYWcgc3VnZ2VzdGVkIGZvciBw cmUtbXVsdGlwbHkgKCJ5ZXMgcGxlYXNlLCBwcmVtdWx0aXBseSB0aGUgZGF0YQo+ID4gZm9yIG1l IikgdG8gYmUgc2V0IGR1cmluZyBBZGRGQj8KPiAKPiBJZiB3ZSBkZWZpbmUgdGhlIGZsYWcgdGhh dCB3YXksIHRoZW4gSSB0aGluayB3ZSBzaG91bGQgbWFrZSBpdCBwYXJ0IG9mCj4gdGhlIGJsZW5k IGVxdWF0aW9uIHJhdGhlciB0aGFuIGFwcGx5IGl0IHRvIHRoZSBGQi4gT3IgaXQgY291bGQgZXZl biBiZQo+IGEgc2VwYXJhdGUgcGxhbmUgcHJvcGVydHkuIAo+IApUaGlzIGZsYWcgaXMgYWN0dWFs bHkgcGFydCBvZiBmb2xsb3dpbmcgZmFjdG9yczogU1JDX0FMUEhBLApPTkVfTUlOVVNfU1JDX0FM UEhBLFNSQ19DT05TVF9BTFBIQSwgT05FX01JTlVTX1NSQ19DT05TVF9BTFBIQS4KCldoYXQgYWN0 aW9uIGRvZXMgZHJpdmVyIHRha2UgaWYgdXNlciBzZWxlY3RzIHRoZXNlIGJsZW5kIGZhY3RvcnM/ CkNoYW5nZSB0aGUgcGl4ZWwgZm9ybWF0IHRvIG5vbi1wcmUtbXVsdGlwbGllZCBmb3JtYXQ/IFRo aXMgaXMgYWdhaW4KY29taW5nIGJhY2sgdG8gb3VyIHByZXZpb3VzIGRpc2N1c3Npb24gd2hlcmUg Y2hhbmdpbmcgcGl4ZWwgZm9ybWF0IG9uCmZseSBzaG91bGQgbm90IGJlIGRvbmUuCgogCj4gPiAK PiA+IEtpbmRseSBjaGVjayBteSBwYXRjaGVzIGFuZCBwcm92aWRlIGZlZWRiYWNrIG9uIHRoZSBh cHByb2FjaCBvZiBzdHVmZmluZwo+ID4gYmxlbmQgdHlwZSBhbmQgYmxlbmQgcGFyYW1ldGVyIGlu dG8gc2luZ2xlIDY0Yml0IGRybSBwcm9wZXJ0eS4KPiAKPiBJIHRoaW5rIHdlIHNob3VsZCBhdm9p ZCB0cnlpbmcgdG8gc3R1ZmYgdG9vIG11Y2ggZGF0YSBpbnRvIGEgc2luZ2xlCj4gcHJvcGVydHku IElNTyBibGVuZCBlcXVhdGlvbiBjYW4gYmUgb25lIHByb3BlcnR5LCBjb25zdGFudCBhbHBoYSwK PiBiYWNrZ3JvdW5kIGNvbG9yLCBwcmUtbXVsdGlwbGljYXRpb24gbWF5IGJlIG90aGVyIHByb3Bl cnRpZXMuCj4gCj4gPiAKPiA+IAo+ID4gVGhhbmtzLAo+ID4gU2FnYXIKPiA+IAo+ID4gCj4gPiAK PiA+IAo+ID4gT24gVGh1LCAyMDE0LTA0LTAzIGF0IDExOjEzICswNTMwLCBTYWdhciBBcnVuIEth bWJsZSB3cm90ZToKPiA+ID4gSGkgVmlsbGUsCj4gPiA+IAo+ID4gPiBDb3VsZCB5b3UgcGxlYXNl IHJldmlldyB0aGVzZSBwYXRjaGVzLgo+ID4gPiAKPiA+ID4gdGhhbmtzLAo+ID4gPiBTYWdhcgo+ ID4gPiAKPiA+ID4gCj4gPiA+IE9uIFdlZCwgMjAxNC0wNC0wMiBhdCAxMTo0MiArMDUzMCwgU2Fn YXIgQXJ1biBLYW1ibGUgd3JvdGU6Cj4gPiA+ID4gUmVtaW5kZXIgZm9yIHJldmlldyA6KQo+ID4g PiA+IAo+ID4gPiA+IE9uIFR1ZSwgMjAxNC0wNC0wMSBhdCAxMDoyMSArMDUzMCwgU2FnYXIgQXJ1 biBLYW1ibGUgd3JvdGU6Cj4gPiA+ID4gPiBHZW50bGUgUmVtaW5kZXIgZm9yIHJldmlld2luZyB0 aGlzIGFuZCByZWxhdGVkIHBhdGNoZXM6Cj4gPiA+ID4gPiBodHRwOi8vbGlzdHMuZnJlZWRlc2t0 b3Aub3JnL2FyY2hpdmVzL2ludGVsLWdmeC8yMDE0LU1hcmNoLzA0MjM1MC5odG1sCj4gPiA+ID4g PiBodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL2FyY2hpdmVzL2ludGVsLWdmeC8yMDE0LU1h cmNoLzA0MjM1MS5odG1sCj4gPiA+ID4gPiBodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL2Fy Y2hpdmVzL2ludGVsLWdmeC8yMDE0LU1hcmNoLzA0MjM1Mi5odG1sCj4gPiA+ID4gPiBodHRwOi8v bGlzdHMuZnJlZWRlc2t0b3Aub3JnL2FyY2hpdmVzL2ludGVsLWdmeC8yMDE0LU1hcmNoLzA0MjU4 Ny5odG1sCj4gPiA+ID4gPiBodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL2FyY2hpdmVzL2lu dGVsLWdmeC8yMDE0LU1hcmNoLzA0MjM1NC5odG1sCj4gPiA+ID4gPiAKPiA+ID4gPiA+IAo+ID4g PiA+ID4gQWxzbywgcHJvdmlkZSB2aWV3cyBvbiAiaG93IGRvIHdlIGhhbmRsZSBwcmUtbXVsdGlw bGllZCBhbHBoYSBwaXhlbAo+ID4gPiA+ID4gZm9ybWF0cyBvciBpcyB0aGVyZSBuZWVkIHRvIGNv bnZleSBwcmUtbXVsdGlwbGllZCBhbHBoYSBwaXhlbCBmb3JtYXQKPiA+ID4gPiA+IHRocm91Z2gg YWRkaXRpb25hbCBkcm0gcHJvcGVydHk/Igo+ID4gPiA+ID4gU2luY2Ugd2UgYXJlIGFscmVhZHkg YWR2ZXJ0aXNpbmcgc3VwcG9ydGVkIHByZS1tdWx0aXBsaWVkIGZvcm1hdHMKPiA+ID4gPiA+IGR1 cmluZyBpbnRlbF9wbGFuZV9pbml0L2RybV9wbGFuZV9pbml0IGJ5IHN1cHBseWluZyB2bHZfcGxh bmVfZm9ybWF0cwo+ID4gPiA+ID4gZXRjLgo+ID4gPiA+ID4gCj4gPiA+ID4gPiAKPiA+ID4gPiA+ IE9uIFR1ZSwgMjAxNC0wMy0yNSBhdCAyMDowMiArMDUzMCwgc2FnYXIuYS5rYW1ibGVAaW50ZWwu Y29tIHdyb3RlOgo+ID4gPiA+ID4gPiBGcm9tOiBTYWdhciBLYW1ibGUgPHNhZ2FyLmEua2FtYmxl QGludGVsLmNvbT4KPiA+ID4gPiA+ID4gCj4gPiA+ID4gPiA+IFRoaXMgcGF0Y2ggZW5hYmxlcyBj b25zdGFudCBhbHBoYSBwcm9wZXJ0eSBmb3IgU3ByaXRlIHBsYW5lcy4KPiA+ID4gPiA+ID4gQ2xp ZW50IGhhcyB0byBzZXQgQklUKERSTV9CTEVORF9DT05TVEFOVF9BTFBIQSkgfCAoKGFscGhhIHZh bHVlKSA8PCAzMikKPiA+ID4gPiA+ID4gZm9yIGFwcGx5aW5nIGNvbnN0YW50IGFscGhhIG9uIGEg cGxhbmUuIFRvIGRpc2FibGUgY29uc3RhbnQgYWxwaGEsCj4gPiA+ID4gPiA+IGNsaWVudCBoYXMg dG8gc2V0IEJJVChEUk1fQkxFTkRfU1JDX0NPTE9SKQo+ID4gPiA+ID4gPiAKPiA+ID4gPiA+ID4g djI6IEZpeGluZyBwcm9wZXJ0eSB2YWx1ZSBjb21wYXJpc29uIGluIHZsdl91cGRhdGVfcGxhbmUg d2l0aCB0aGUgdXNlCj4gPiA+ID4gPiA+IG9mIEJJVCgpLiBSZXBsYWNpbmcgRFJNX0JMRU5EX05P TkUgYnkgRFJNX0JMRU5EX1NSQ19DT0xPUi4KPiA+ID4gPiA+ID4gUmV2ZXJ0aW5nIGxpbmUgc3Bh Y2luZyBjaGFuZ2UgaW4gaTkxNV9kcml2ZXJfbGFzdGNsb3NlLiBSZXR1cm4gdmFsdWUKPiA+ID4g PiA+ID4gb2YgaW50ZWxfcGxhbmVfc2V0X3Byb3BlcnR5IGlzIGNoYW5nZWQgdG8gLUVOVkFMIFtE YW1pZW4ncyBSZXZpZXcgQ29tbWVudHNdCj4gPiA+ID4gPiA+IAo+ID4gPiA+ID4gPiBUZXN0Y2Fz ZTogaWd0L2ttc19ibGVuZAo+ID4gPiA+ID4gPiBDYzogRGFuaWVsIFZldHRlciA8ZGFuaWVsLnZl dHRlckBmZndsbC5jaD4KPiA+ID4gPiA+ID4gQ2M6IEphbmkgTmlrdWxhIDxqYW5pLm5pa3VsYUBs aW51eC5pbnRlbC5jb20+Cj4gPiA+ID4gPiA+IFNpZ25lZC1vZmYtYnk6IFNhZ2FyIEthbWJsZSA8 c2FnYXIuYS5rYW1ibGVAaW50ZWwuY29tPgo+ID4gPiA+ID4gPiBUZXN0ZWQtYnk6IFNoYXJtYSwg QW5raXRwcmFzYWQgUiA8YW5raXRwcmFzYWQuci5zaGFybWFAaW50ZWwuY29tPgo+ID4gPiA+ID4g PiAtLS0KPiA+ID4gPiA+ID4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZG1hLmMgICAgIHwg MTAgKysrKysrCj4gPiA+ID4gPiA+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAg ICB8ICAxICsKPiA+ID4gPiA+ID4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmggICAg IHwgIDIgKysKPiA+ID4gPiA+ID4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oICAg IHwgIDcgKysrKysKPiA+ID4gPiA+ID4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nwcml0 ZS5jIHwgNjEgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLQo+ID4gPiA+ID4g PiAgNSBmaWxlcyBjaGFuZ2VkLCA4MCBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCj4gPiA+ ID4gPiA+IAo+ID4gPiA+ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9kbWEuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZG1hLmMKPiA+ID4gPiA+ID4gaW5k ZXggZTRkMmI5Zi4uZTNhOTRhMyAxMDA2NDQKPiA+ID4gPiA+ID4gLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9kbWEuYwo+ID4gPiA+ID4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2RtYS5jCj4gPiA+ID4gPiA+IEBAIC0xODk4LDEyICsxODk4LDIyIEBAIHZvaWQgaTkx NV9kcml2ZXJfbGFzdGNsb3NlKHN0cnVjdCBkcm1fZGV2aWNlICogZGV2KQo+ID4gPiA+ID4gPiAg ewo+ID4gPiA+ID4gPiAgCWRybV9pOTE1X3ByaXZhdGVfdCAqZGV2X3ByaXYgPSBkZXYtPmRldl9w cml2YXRlOwo+ID4gPiA+ID4gPiAgCj4gPiA+ID4gPiA+ICsJc3RydWN0IGludGVsX3BsYW5lICpw bGFuZTsKPiA+ID4gPiA+ID4gIAkvKiBPbiBnZW42KyB3ZSByZWZ1c2UgdG8gaW5pdCB3aXRob3V0 IGttcyBlbmFibGVkLCBidXQgdGhlbiB0aGUgZHJtIGNvcmUKPiA+ID4gPiA+ID4gIAkgKiBnb2Vz IHJpZ2h0IGFyb3VuZCBhbmQgY2FsbHMgbGFzdGNsb3NlLiBDaGVjayBmb3IgdGhpcyBhbmQgZG9u J3QgY2xlYW4KPiA+ID4gPiA+ID4gIAkgKiB1cCBhbnl0aGluZy4gKi8KPiA+ID4gPiA+ID4gIAlp ZiAoIWRldl9wcml2KQo+ID4gPiA+ID4gPiAgCQlyZXR1cm47Cj4gPiA+ID4gPiA+ICAKPiA+ID4g PiA+ID4gKwlpZiAoZGV2X3ByaXYtPmJsZW5kX3Byb3BlcnR5KSB7Cj4gPiA+ID4gPiA+ICsJCWxp c3RfZm9yX2VhY2hfZW50cnkocGxhbmUsICZkZXYtPm1vZGVfY29uZmlnLnBsYW5lX2xpc3QsIGJh c2UuaGVhZCkgewo+ID4gPiA+ID4gPiArCQkJcGxhbmUtPmJsZW5kX3BhcmFtLnZhbHVlID0gQklU KERSTV9CTEVORF9TUkNfQ09MT1IpOwo+ID4gPiA+ID4gPiArCQkJZHJtX29iamVjdF9wcm9wZXJ0 eV9zZXRfdmFsdWUoJnBsYW5lLT5iYXNlLmJhc2UsCj4gPiA+ID4gPiA+ICsJCQkJCQlkZXZfcHJp di0+YmxlbmRfcHJvcGVydHksCj4gPiA+ID4gPiA+ICsJCQkJCQlwbGFuZS0+YmxlbmRfcGFyYW0u dmFsdWUpOwo+ID4gPiA+ID4gPiArCQl9Cj4gPiA+ID4gPiA+ICsJfQo+ID4gPiA+ID4gPiArCj4g PiA+ID4gPiA+ICAJaWYgKGRybV9jb3JlX2NoZWNrX2ZlYXR1cmUoZGV2LCBEUklWRVJfTU9ERVNF VCkpIHsKPiA+ID4gPiA+ID4gIAkJaW50ZWxfZmJkZXZfcmVzdG9yZV9tb2RlKGRldik7Cj4gPiA+ ID4gPiA+ICAJCXZnYV9zd2l0Y2hlcm9vX3Byb2Nlc3NfZGVsYXllZF9zd2l0Y2goKTsKPiA+ID4g PiA+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4gPiA+ID4gPiA+IGluZGV4IDcwZmJlOTAuLjBk MWJlNzAgMTAwNjQ0Cj4gPiA+ID4gPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf ZHJ2LmgKPiA+ID4gPiA+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+ ID4gPiA+ID4gPiBAQCAtMTYwNyw2ICsxNjA3LDcgQEAgdHlwZWRlZiBzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSB7Cj4gPiA+ID4gPiA+ICAKPiA+ID4gPiA+ID4gIAlzdHJ1Y3QgZHJtX3Byb3BlcnR5 ICpicm9hZGNhc3RfcmdiX3Byb3BlcnR5Owo+ID4gPiA+ID4gPiAgCXN0cnVjdCBkcm1fcHJvcGVy dHkgKmZvcmNlX2F1ZGlvX3Byb3BlcnR5Owo+ID4gPiA+ID4gPiArCXN0cnVjdCBkcm1fcHJvcGVy dHkgKmJsZW5kX3Byb3BlcnR5Owo+ID4gPiA+ID4gPiAgCj4gPiA+ID4gPiA+ICAJdWludDMyX3Qg aHdfY29udGV4dF9zaXplOwo+ID4gPiA+ID4gPiAgCXN0cnVjdCBsaXN0X2hlYWQgY29udGV4dF9s aXN0Owo+ID4gPiA+ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9y ZWcuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKPiA+ID4gPiA+ID4gaW5kZXgg NjE3NGZkYS4uYmZjZmU3MiAxMDA2NDQKPiA+ID4gPiA+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9yZWcuaAo+ID4gPiA+ID4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X3JlZy5oCj4gPiA+ID4gPiA+IEBAIC0zNzc0LDYgKzM3NzQsOCBAQCBlbnVtIHB1bml0X3Bv d2VyX3dlbGwgewo+ID4gPiA+ID4gPiAgI2RlZmluZSAgIFNQUklURV9JTlRfR0FNTUFfRU5BQkxF CSgxPDwxMykKPiA+ID4gPiA+ID4gICNkZWZpbmUgICBTUFJJVEVfVElMRUQJCQkoMTw8MTApCj4g PiA+ID4gPiA+ICAjZGVmaW5lICAgU1BSSVRFX0RFU1RfS0VZCQkoMTw8MikKPiA+ID4gPiA+ID4g KyNkZWZpbmUJICBTUFJJVEVfQ09OU1RBTlRfQUxQSEFfRU5BQkxFICAoMTw8MzEpCj4gPiA+ID4g PiA+ICsjZGVmaW5lICAgU1BSSVRFX0NPTlNUQU5UX0FMUEhBX01BU0sJKDB4RkYpCj4gPiA+ID4g PiA+ICAjZGVmaW5lIF9TUFJBX0xJTk9GRgkJMHg3MDI4NAo+ID4gPiA+ID4gPiAgI2RlZmluZSBf U1BSQV9TVFJJREUJCTB4NzAyODgKPiA+ID4gPiA+ID4gICNkZWZpbmUgX1NQUkFfUE9TCQkweDcw MjhjCj4gPiA+ID4gPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k cnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gPiA+ID4gPiA+IGluZGV4 IGY0ZTA2MTUuLjAzOWE4MDAgMTAwNjQ0Cj4gPiA+ID4gPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2Rydi5oCj4gPiA+ID4gPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2Rydi5oCj4gPiA+ID4gPiA+IEBAIC00MDksNiArNDA5LDEzIEBAIHN0cnVjdCBpbnRl bF9wbGFuZSB7Cj4gPiA+ID4gPiA+ICAJdW5zaWduZWQgaW50IGNydGNfdywgY3J0Y19oOwo+ID4g PiA+ID4gPiAgCXVpbnQzMl90IHNyY194LCBzcmNfeTsKPiA+ID4gPiA+ID4gIAl1aW50MzJfdCBz cmNfdywgc3JjX2g7Cj4gPiA+ID4gPiA+ICsJdW5pb24gewo+ID4gPiA+ID4gPiArCQl1aW50NjRf dCB2YWx1ZTsKPiA+ID4gPiA+ID4gKwkJc3RydWN0IHsKPiA+ID4gPiA+ID4gKwkJCXVuc2lnbmVk IGludCB0eXBlOwo+ID4gPiA+ID4gPiArCQkJdW5zaWduZWQgaW50IGZhY3RvcjsKPiA+ID4gPiA+ ID4gKwkJfSBkZXRhaWxzOwo+ID4gPiA+ID4gPiArCX0gYmxlbmRfcGFyYW07Cj4gPiA+ID4gPiA+ ICAKPiA+ID4gPiA+ID4gIAkvKiBTaW5jZSB3ZSBuZWVkIHRvIGNoYW5nZSB0aGUgd2F0ZXJtYXJr cyBiZWZvcmUvYWZ0ZXIKPiA+ID4gPiA+ID4gIAkgKiBlbmFibGluZy9kaXNhYmxpbmcgdGhlIHBs YW5lcywgd2UgbmVlZCB0byBzdG9yZSB0aGUgcGFyYW1ldGVycyBoZXJlCj4gPiA+ID4gPiA+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zcHJpdGUuYyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX3Nwcml0ZS5jCj4gPiA+ID4gPiA+IGluZGV4IDk0MzZmMTguLjll Yzg0YmIgMTAwNjQ0Cj4gPiA+ID4gPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X3Nwcml0ZS5jCj4gPiA+ID4gPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nw cml0ZS5jCj4gPiA+ID4gPiA+IEBAIC01MSwxMSArNTEsMTUgQEAgdmx2X3VwZGF0ZV9wbGFuZShz dHJ1Y3QgZHJtX3BsYW5lICpkcGxhbmUsIHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKPiA+ID4gPiA+ ID4gIAlpbnQgcGlwZSA9IGludGVsX3BsYW5lLT5waXBlOwo+ID4gPiA+ID4gPiAgCWludCBwbGFu ZSA9IGludGVsX3BsYW5lLT5wbGFuZTsKPiA+ID4gPiA+ID4gIAl1MzIgc3ByY3RsOwo+ID4gPiA+ ID4gPiArCXUzMiBzcHJjb25zdGFscGhhOwo+ID4gPiA+ID4gPiArCXVuc2lnbmVkIGludCBibGVu ZF90eXBlLCBibGVuZF9mYWN0b3I7Cj4gPiA+ID4gPiA+ICAJdW5zaWduZWQgbG9uZyBzcHJzdXJm X29mZnNldCwgbGluZWFyX29mZnNldDsKPiA+ID4gPiA+ID4gIAlpbnQgcGl4ZWxfc2l6ZSA9IGRy bV9mb3JtYXRfcGxhbmVfY3BwKGZiLT5waXhlbF9mb3JtYXQsIDApOwo+ID4gPiA+ID4gPiAgCj4g PiA+ID4gPiA+ICAJc3ByY3RsID0gSTkxNV9SRUFEKFNQQ05UUihwaXBlLCBwbGFuZSkpOwo+ID4g PiA+ID4gPiAgCj4gPiA+ID4gPiA+ICsJc3ByY29uc3RhbHBoYSA9IFNQQ09OU1RBTFBIQShwaXBl LCBwbGFuZSk7Cj4gPiA+ID4gPiA+ICsKPiA+ID4gPiA+ID4gIAkvKiBNYXNrIG91dCBwaXhlbCBm b3JtYXQgYml0cyBpbiBjYXNlIHdlIGNoYW5nZSBpdCAqLwo+ID4gPiA+ID4gPiAgCXNwcmN0bCAm PSB+U1BfUElYRk9STUFUX01BU0s7Cj4gPiA+ID4gPiA+ICAJc3ByY3RsICY9IH5TUF9ZVVZfQllU RV9PUkRFUl9NQVNLOwo+ID4gPiA+ID4gPiBAQCAtMTA0LDYgKzEwOCwyMyBAQCB2bHZfdXBkYXRl X3BsYW5lKHN0cnVjdCBkcm1fcGxhbmUgKmRwbGFuZSwgc3RydWN0IGRybV9jcnRjICpjcnRjLAo+ ID4gPiA+ID4gPiAgCQlicmVhazsKPiA+ID4gPiA+ID4gIAl9Cj4gPiA+ID4gPiA+ICAKPiA+ID4g PiA+ID4gKwkvKiBIYW5kbGUgcGxhbmUgYWxwaGEgYW5kIGNvbG9yIGJsZW5kaW5nIHByb3BlcnRp ZXMgKi8KPiA+ID4gPiA+ID4gKwlibGVuZF90eXBlID0gaW50ZWxfcGxhbmUtPmJsZW5kX3BhcmFt LmRldGFpbHMudHlwZTsKPiA+ID4gPiA+ID4gKwlibGVuZF9mYWN0b3IgPSBpbnRlbF9wbGFuZS0+ YmxlbmRfcGFyYW0uZGV0YWlscy5mYWN0b3I7Cj4gPiA+ID4gPiA+ICsKPiA+ID4gPiA+ID4gKwlz d2l0Y2ggKGJsZW5kX3R5cGUpIHsKPiA+ID4gPiA+ID4gKwljYXNlIEJJVChEUk1fQkxFTkRfU1JD X0NPTE9SKToKPiA+ID4gPiA+ID4gKwkJSTkxNV9XUklURShzcHJjb25zdGFscGhhLCB+U1BSSVRF X0NPTlNUQU5UX0FMUEhBX0VOQUJMRSk7Cj4gPiA+ID4gPiA+ICsJCWJyZWFrOwo+ID4gPiA+ID4g PiArCWNhc2UgQklUKERSTV9CTEVORF9DT05TVEFOVF9BTFBIQSk6Cj4gPiA+ID4gPiA+ICsJCUk5 MTVfV1JJVEUoc3ByY29uc3RhbHBoYSwgKGJsZW5kX2ZhY3RvciAmIFNQUklURV9DT05TVEFOVF9B TFBIQV9NQVNLKSB8Cj4gPiA+ID4gPiA+ICsJCQkJCQlTUFJJVEVfQ09OU1RBTlRfQUxQSEFfRU5B QkxFKTsKPiA+ID4gPiA+ID4gKwkJYnJlYWs7Cj4gPiA+ID4gPiA+ICsJZGVmYXVsdDoKPiA+ID4g PiA+ID4gKwkJRFJNX0RFQlVHX0RSSVZFUigiJXggQmxlbmRpbmcgb3BlcmF0aW9uIG5vdCBzdXBw b3J0ZWQiLCBpbnRlbF9wbGFuZS0+YmxlbmRfcGFyYW0uZGV0YWlscy50eXBlKTsKPiA+ID4gPiA+ ID4gKwkJYnJlYWs7Cj4gPiA+ID4gPiA+ICsJfQo+ID4gPiA+ID4gPiArCj4gPiA+ID4gPiA+ICAJ LyoKPiA+ID4gPiA+ID4gIAkgKiBFbmFibGUgZ2FtbWEgdG8gbWF0Y2ggcHJpbWFyeS9jdXJzb3Ig cGxhbmUgYmVoYXZpb3VyLgo+ID4gPiA+ID4gPiAgCSAqIEZJWE1FIHNob3VsZCBiZSB1c2VyIGNv bnRyb2xsYWJsZSB2aWEgcHJvcGVydGllc2EuCj4gPiA+ID4gPiA+IEBAIC0xMDExLDYgKzEwMzIs MjYgQEAgb3V0X3VubG9jazoKPiA+ID4gPiA+ID4gIAlyZXR1cm4gcmV0Owo+ID4gPiA+ID4gPiAg fQo+ID4gPiA+ID4gPiAgCj4gPiA+ID4gPiA+ICtzdGF0aWMgaW50IGludGVsX3BsYW5lX3NldF9w cm9wZXJ0eShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKPiA+ID4gPiA+ID4gKwkJCQkgICAgc3Ry dWN0IGRybV9wcm9wZXJ0eSAqcHJvcCwKPiA+ID4gPiA+ID4gKwkJCQkgICAgdWludDY0X3QgdmFs KQo+ID4gPiA+ID4gPiArewo+ID4gPiA+ID4gPiArCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdiA9IHBsYW5lLT5kZXYtPmRldl9wcml2YXRlOwo+ID4gPiA+ID4gPiArCXN0cnVjdCBp bnRlbF9wbGFuZSAqaW50ZWxfcGxhbmUgPSB0b19pbnRlbF9wbGFuZShwbGFuZSk7Cj4gPiA+ID4g PiA+ICsJdWludDY0X3Qgb2xkX3ZhbDsKPiA+ID4gPiA+ID4gKwlpbnQgcmV0ID0gLUVJTlZBTDsK PiA+ID4gPiA+ID4gKwo+ID4gPiA+ID4gPiArCWlmIChwcm9wID09IGRldl9wcml2LT5ibGVuZF9w cm9wZXJ0eSkgewo+ID4gPiA+ID4gPiArCQlvbGRfdmFsID0gaW50ZWxfcGxhbmUtPmJsZW5kX3Bh cmFtLnZhbHVlOwo+ID4gPiA+ID4gPiArCQlpbnRlbF9wbGFuZS0+YmxlbmRfcGFyYW0udmFsdWUg PSB2YWw7Cj4gPiA+ID4gPiA+ICsJCXJldCA9IGludGVsX3BsYW5lX3Jlc3RvcmUocGxhbmUpOwo+ ID4gPiA+ID4gPiArCQlpZiAocmV0KQo+ID4gPiA+ID4gPiArCQkJaW50ZWxfcGxhbmUtPmJsZW5k X3BhcmFtLnZhbHVlID0gb2xkX3ZhbDsKPiA+ID4gPiA+ID4gKwl9Cj4gPiA+ID4gPiA+ICsKPiA+ ID4gPiA+ID4gKwlyZXR1cm4gcmV0Owo+ID4gPiA+ID4gPiArfQo+ID4gPiA+ID4gPiArCj4gPiA+ ID4gPiA+ICBpbnQgaW50ZWxfcGxhbmVfcmVzdG9yZShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSkK PiA+ID4gPiA+ID4gIHsKPiA+ID4gPiA+ID4gIAlzdHJ1Y3QgaW50ZWxfcGxhbmUgKmludGVsX3Bs YW5lID0gdG9faW50ZWxfcGxhbmUocGxhbmUpOwo+ID4gPiA+ID4gPiBAQCAtMTAzNyw2ICsxMDc4 LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fcGxhbmVfZnVuY3MgaW50ZWxfcGxhbmVfZnVu Y3MgPSB7Cj4gPiA+ID4gPiA+ICAJLnVwZGF0ZV9wbGFuZSA9IGludGVsX3VwZGF0ZV9wbGFuZSwK PiA+ID4gPiA+ID4gIAkuZGlzYWJsZV9wbGFuZSA9IGludGVsX2Rpc2FibGVfcGxhbmUsCj4gPiA+ ID4gPiA+ICAJLmRlc3Ryb3kgPSBpbnRlbF9kZXN0cm95X3BsYW5lLAo+ID4gPiA+ID4gPiArCS5z ZXRfcHJvcGVydHkgPSBpbnRlbF9wbGFuZV9zZXRfcHJvcGVydHksCj4gPiA+ID4gPiA+ICB9Owo+ ID4gPiA+ID4gPiAgCj4gPiA+ID4gPiA+ICBzdGF0aWMgdWludDMyX3QgaWxrX3BsYW5lX2Zvcm1h dHNbXSA9IHsKPiA+ID4gPiA+ID4gQEAgLTEwNzMsNiArMTExNSw3IEBAIHN0YXRpYyB1aW50MzJf dCB2bHZfcGxhbmVfZm9ybWF0c1tdID0gewo+ID4gPiA+ID4gPiAgaW50Cj4gPiA+ID4gPiA+ICBp bnRlbF9wbGFuZV9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIGVudW0gcGlwZSBwaXBlLCBp bnQgcGxhbmUpCj4gPiA+ID4gPiA+ICB7Cj4gPiA+ID4gPiA+ICsJc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKPiA+ID4gPiA+ID4gIAlzdHJ1Y3Qg aW50ZWxfcGxhbmUgKmludGVsX3BsYW5lOwo+ID4gPiA+ID4gPiAgCXVuc2lnbmVkIGxvbmcgcG9z c2libGVfY3J0Y3M7Cj4gPiA+ID4gPiA+ICAJY29uc3QgdWludDMyX3QgKnBsYW5lX2Zvcm1hdHM7 Cj4gPiA+ID4gPiA+IEBAIC0xMTQxLDEzICsxMTg0LDI5IEBAIGludGVsX3BsYW5lX2luaXQoc3Ry dWN0IGRybV9kZXZpY2UgKmRldiwgZW51bSBwaXBlIHBpcGUsIGludCBwbGFuZSkKPiA+ID4gPiA+ ID4gIAo+ID4gPiA+ID4gPiAgCWludGVsX3BsYW5lLT5waXBlID0gcGlwZTsKPiA+ID4gPiA+ID4g IAlpbnRlbF9wbGFuZS0+cGxhbmUgPSBwbGFuZTsKPiA+ID4gPiA+ID4gKwkvKiBJbml0aWFsaXpl IGRybSBwcm9wZXJ0aWVzIGZvciBwbGFuZSAqLwo+ID4gPiA+ID4gPiArCWludGVsX3BsYW5lLT5i bGVuZF9wYXJhbS5kZXRhaWxzLnR5cGUgPSBCSVQoRFJNX0JMRU5EX1NSQ19DT0xPUik7Cj4gPiA+ ID4gPiA+ICsJaW50ZWxfcGxhbmUtPmJsZW5kX3BhcmFtLmRldGFpbHMuZmFjdG9yID0gMDsKPiA+ ID4gPiA+ID4gKwo+ID4gPiA+ID4gPiAgCXBvc3NpYmxlX2NydGNzID0gKDEgPDwgcGlwZSk7Cj4g PiA+ID4gPiA+ICAJcmV0ID0gZHJtX3BsYW5lX2luaXQoZGV2LCAmaW50ZWxfcGxhbmUtPmJhc2Us IHBvc3NpYmxlX2NydGNzLAo+ID4gPiA+ID4gPiAgCQkJICAgICAmaW50ZWxfcGxhbmVfZnVuY3Ms Cj4gPiA+ID4gPiA+ICAJCQkgICAgIHBsYW5lX2Zvcm1hdHMsIG51bV9wbGFuZV9mb3JtYXRzLAo+ ID4gPiA+ID4gPiAgCQkJICAgICBmYWxzZSk7Cj4gPiA+ID4gPiA+IC0JaWYgKHJldCkKPiA+ID4g PiA+ID4gKwlpZiAocmV0KSB7Cj4gPiA+ID4gPiA+ICAJCWtmcmVlKGludGVsX3BsYW5lKTsKPiA+ ID4gPiA+ID4gKwkJZ290byBvdXQ7Cj4gPiA+ID4gPiA+ICsJfQo+ID4gPiA+ID4gPiArCj4gPiA+ ID4gPiA+ICsJaWYgKCFkZXZfcHJpdi0+YmxlbmRfcHJvcGVydHkpCj4gPiA+ID4gPiA+ICsJCWRl dl9wcml2LT5ibGVuZF9wcm9wZXJ0eSA9IGRybV9tb2RlX2NyZWF0ZV9ibGVuZF9wcm9wZXJ0eShk ZXYsCj4gPiA+ID4gPiA+ICsJCQkJCQkJQklUKERSTV9CTEVORF9TUkNfQ09MT1IpIHwKPiA+ID4g PiA+ID4gKwkJCQkJCQlCSVQoRFJNX0JMRU5EX0NPTlNUQU5UX0FMUEhBKSk7Cj4gPiA+ID4gPiA+ ICAKPiA+ID4gPiA+ID4gKwlpZiAoZGV2X3ByaXYtPmJsZW5kX3Byb3BlcnR5KQo+ID4gPiA+ID4g PiArCQlkcm1fb2JqZWN0X2F0dGFjaF9wcm9wZXJ0eSgmaW50ZWxfcGxhbmUtPmJhc2UuYmFzZSwK PiA+ID4gPiA+ID4gKwkJCQlkZXZfcHJpdi0+YmxlbmRfcHJvcGVydHksCj4gPiA+ID4gPiA+ICsJ CQkJaW50ZWxfcGxhbmUtPmJsZW5kX3BhcmFtLnZhbHVlKTsKPiA+ID4gPiA+ID4gK291dDoKPiA+ ID4gPiA+ID4gIAlyZXR1cm4gcmV0Owo+ID4gPiA+ID4gPiAgfQo+ID4gPiA+ID4gCj4gPiA+ID4g Cj4gPiA+IAo+ID4gCj4gCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0 b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRl bC1nZngK