From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH v4.1 2/3] drm: Add CRTC background color property (v4) Date: Thu, 31 Jan 2019 14:10:26 +0200 Message-ID: <20190131121026.GX20097@intel.com> References: <20190130185122.10322-1-matthew.d.roper@intel.com> <20190130185122.10322-3-matthew.d.roper@intel.com> <20190130210125.GR20097@intel.com> <20190131021116.GD10103@mdroper-desk.amr.corp.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: <20190131021116.GD10103@mdroper-desk.amr.corp.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Matt Roper Cc: Daniel Vetter , intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, wei.c.li@intel.com, harish.krupo.kps@intel.com, =?iso-8859-1?Q?St=E9phane?= Marchesin , Sean Paul List-Id: dri-devel@lists.freedesktop.org T24gV2VkLCBKYW4gMzAsIDIwMTkgYXQgMDY6MTE6MTZQTSAtMDgwMCwgTWF0dCBSb3BlciB3cm90 ZToKPiBPbiBXZWQsIEphbiAzMCwgMjAxOSBhdCAxMTowMToyNVBNICswMjAwLCBWaWxsZSBTeXJq w6Rsw6Qgd3JvdGU6Cj4gPiBPbiBXZWQsIEphbiAzMCwgMjAxOSBhdCAxMDo1MToyMUFNIC0wODAw LCBNYXR0IFJvcGVyIHdyb3RlOgo+ID4gPiBTb21lIGRpc3BsYXkgY29udHJvbGxlcnMgY2FuIGJl IHByb2dyYW1tZWQgdG8gcHJlc2VudCBub24tYmxhY2sgY29sb3JzCj4gPiA+IGZvciBwaXhlbHMg bm90IGNvdmVyZWQgYnkgYW55IHBsYW5lIChvciBwaXhlbHMgY292ZXJlZCBieSB0aGUKPiA+ID4g dHJhbnNwYXJlbnQgcmVnaW9ucyBvZiBoaWdoZXIgcGxhbmVzKS4gIENvbXBvc2l0b3JzIHRoYXQg d2FudCBhIFVJIHdpdGgKPiA+ID4gYSBzb2xpZCBjb2xvciBiYWNrZ3JvdW5kIGNhbiBwb3RlbnRp YWxseSBzYXZlIG1lbW9yeSBiYW5kd2lkdGggYnkKPiA+ID4gc2V0dGluZyB0aGUgQ1JUQyBiYWNr Z3JvdW5kIHByb3BlcnR5IGFuZCB1c2luZyBzbWFsbGVyIHBsYW5lcyB0byBkaXNwbGF5Cj4gPiA+ IHRoZSByZXN0IG9mIHRoZSBjb250ZW50Lgo+ID4gPiAKPiA+ID4gVG8gYXZvaWQgY29uZnVzaW9u IGJldHdlZW4gZGlmZmVyZW50IHdheXMgb2YgZW5jb2RpbmcgUkdCIGRhdGEsIHdlCj4gPiA+IGRl ZmluZSBhIHN0YW5kYXJkIDY0LWJpdCBmb3JtYXQgdGhhdCBzaG91bGQgYmUgdXNlZCBmb3IgdGhp cyBwcm9wZXJ0eSdzCj4gPiA+IHZhbHVlLiAgSGVscGVyIGZ1bmN0aW9ucyBhbmQgbWFjcm9zIGFy ZSBwcm92aWRlZCB0byBnZW5lcmF0ZSBhbmQgZGlzc2VjdAo+ID4gPiB2YWx1ZXMgaW4gdGhpcyBz dGFuZGFyZCBmb3JtYXQgd2l0aCB2YXJ5aW5nIGNvbXBvbmVudCBwcmVjaXNpb24gdmFsdWVzLgo+ ID4gPiAKPiA+ID4gdjI6Cj4gPiA+ICAtIFN3YXAgaW50ZXJuYWwgcmVwcmVzZW50YXRpb24ncyBi bHVlIGFuZCByZWQgYml0cyB0byBtYWtlIGl0IGVhc2llcgo+ID4gPiAgICB0byByZWFkIGlmIHBy aW50ZWQgb3V0LiAgKFZpbGxlKQo+ID4gPiAgLSBEb2N1bWVudCBiZ2NvbG9yIHByb3BlcnR5IGlu IGRybV9ibGVuZC5jLiAgKFNlYW4gUGF1bCkKPiA+ID4gIC0gcy9iYWNrZ3JvdW5kX2NvbG9yL2Jn Y29sb3IvIGZvciBjb25zaXN0ZW5jeSBiZXR3ZWVuIHByb3BlcnR5IG5hbWUgYW5kCj4gPiA+ICAg IHZhbHVlIHN0b3JhZ2UgZmllbGQuICAoU2VhbiBQYXVsKQo+ID4gPiAgLSBBZGQgYSBjb252ZW5p ZW5jZSBmdW5jdGlvbiB0byBhdHRhY2ggcHJvcGVydHkgdG8gYSBnaXZlbiBjcnRjLgo+ID4gPiAK PiA+ID4gdjM6Cj4gPiA+ICAtIFJlc3RydWN0dXJlIEFSR0IgY29tcG9uZW50IGV4dHJhY3Rpb24g bWFjcm9zIHRvIGJlIGVhc2llciB0bwo+ID4gPiAgICB1bmRlcnN0YW5kIGFuZCBlbmNsb3NlIHRo ZSBwYXJhbWV0ZXJzIGluICgpIHRvIGF2b2lkIGNhbGN1bGF0aW9ucwo+ID4gPiAgICBpZiBleHBy ZXNzaW9ucyBhcmUgcGFzc2VkLiAgKFNlYW4gUGF1bCkKPiA+ID4gIC0gcy9yZ2JhL2FyZ2IvIGlu IGhlbHBlciBmdW5jdGlvbi9tYWNybyBuYW1lcy4gIEV2ZW4gdGhvdWdoIHRoZSBpZGVhIGlzCj4g PiA+ICAgIHRvIG5vdCB3b3JyeSBhYm91dCB0aGUgaW50ZXJuYWwgcmVwcmVzZW50YXRpb24gb2Yg dGhlIHU2NCwgaXQgY2FuCj4gPiA+ICAgIHN0aWxsIGJlIGNvbmZ1c2luZyB0byBsb29rIGF0IGNv ZGUgdGhhdCB1c2VzICdyZ2JhJyB0ZXJtaW5vbG9neSwgYnV0Cj4gPiA+ICAgIHN0b3JlcyB2YWx1 ZXMgd2l0aCBhcmdiIG9yZGVyaW5nLiAgKFZpbGxlKQo+ID4gPiAKPiA+ID4gdjQ6Cj4gPiA+ICAt IERyb3AgdGhlIGJnY29sb3JfY2hhbmdlZCBmbGFnLiAgKFZpbGxlLCBCcmlhbiBTdGFya2V5KQo+ ID4gPiAgLSBDbGFyaWZ5IGluIGtlcm5lbGRvYyB0aGF0IGJhY2tncm91bmQgY29sb3IgaXMgZXhw ZWN0ZWQgdG8gdW5kZXJnbyB0aGUKPiA+ID4gICAgc2FtZSBwaXBlLWxldmVsIGRlZ2FtbWEvY3Nj L2dhbW1hIHRyYW5zZm9ybWF0aW9ucyB0aGF0IHBsYW5lcyBkby4KPiA+ID4gICAgKEJyaWFuIFN0 YXJrZXkpCj4gPiA+ICAtIFVwZGF0ZSBrZXJuZWxkb2MgdG8gaW5kaWNhdGUgbm9uLW9wYXF1ZSBj b2xvcnMgYXJlIGFsbG93ZWQsIGJ1dCBhcmUKPiA+ID4gICAgZ2VuZXJhbGx5IG9ubHkgdXNlZnVs IGluIHNwZWNpYWwgY2FzZXMgc3VjaCBhcyB3aGVuIHdyaXRlYmFjawo+ID4gPiAgICBjb25uZWN0 b3JzIGFyZSB1c2VkIChCcmlhbiBTdGFya2V5IC8gRXJpYyBBbmhvbHQpCj4gPiA+IAo+ID4gPiBD YzogZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+ID4gPiBDYzogd2VpLmMubGlAaW50 ZWwuY29tCj4gPiA+IENjOiBoYXJpc2gua3J1cG8ua3BzQGludGVsLmNvbQo+ID4gPiBDYzogVmls bGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KPiA+ID4gQ2M6IFNl YW4gUGF1bCA8c2VhbkBwb29ybHkucnVuPgo+ID4gPiBDYzogQnJpYW4gU3RhcmtleSA8QnJpYW4u U3RhcmtleUBhcm0uY29tPgo+ID4gPiBDYzogRXJpYyBBbmhvbHQgPGVyaWNAYW5ob2x0Lm5ldD4K PiA+ID4gQ2M6IFN0w6lwaGFuZSBNYXJjaGVzaW4gPG1hcmNoZXVAY2hyb21pdW0ub3JnPgo+ID4g PiBDYzogRGFuaWVsIFZldHRlciA8ZGFuaWVsLnZldHRlckBmZndsbC5jaD4KPiA+ID4gU2lnbmVk LW9mZi1ieTogTWF0dCBSb3BlciA8bWF0dGhldy5kLnJvcGVyQGludGVsLmNvbT4KPiA+ID4gUmV2 aWV3ZWQtYnkodjIpOiBTZWFuIFBhdWwgPHNlYW5AcG9vcmx5LnJ1bj4KPiA+ID4gUmV2aWV3ZWQt Ynk6IEJyaWFuIFN0YXJrZXkgPGJyaWFuLnN0YXJrZXlAYXJtLmNvbT4KPiA+ID4gLS0tCj4gPiA+ ICBkcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY191YXBpLmMgfCAgNCArKysrCj4gPiA+ICBkcml2 ZXJzL2dwdS9kcm0vZHJtX2JsZW5kLmMgICAgICAgfCAyNyArKysrKysrKysrKysrKysrKysrKysr KystLS0KPiA+ID4gIGRyaXZlcnMvZ3B1L2RybS9kcm1fbW9kZV9jb25maWcuYyB8ICA2ICsrKysr Kwo+ID4gPiAgaW5jbHVkZS9kcm0vZHJtX2JsZW5kLmggICAgICAgICAgIHwgIDEgKwo+ID4gPiAg aW5jbHVkZS9kcm0vZHJtX2NydGMuaCAgICAgICAgICAgIHwgMTIgKysrKysrKysrKysrCj4gPiA+ ICBpbmNsdWRlL2RybS9kcm1fbW9kZV9jb25maWcuaCAgICAgfCAgNSArKysrKwo+ID4gPiAgaW5j bHVkZS91YXBpL2RybS9kcm1fbW9kZS5oICAgICAgIHwgMjggKysrKysrKysrKysrKysrKysrKysr KysrKysrKwo+ID4gPiAgNyBmaWxlcyBjaGFuZ2VkLCA4MCBpbnNlcnRpb25zKCspLCAzIGRlbGV0 aW9ucygtKQo+ID4gPiAKPiA+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRv bWljX3VhcGkuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX3VhcGkuYwo+ID4gPiBpbmRl eCA5YTFmNDFhZGZjNjcuLmQ1NjllMjBlMzRlMyAxMDA2NDQKPiA+ID4gLS0tIGEvZHJpdmVycy9n cHUvZHJtL2RybV9hdG9taWNfdWFwaS5jCj4gPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1f YXRvbWljX3VhcGkuYwo+ID4gPiBAQCAtNDY5LDYgKzQ2OSw4IEBAIHN0YXRpYyBpbnQgZHJtX2F0 b21pY19jcnRjX3NldF9wcm9wZXJ0eShzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gPiA+ICAJCQly ZXR1cm4gLUVGQVVMVDsKPiA+ID4gIAo+ID4gPiAgCQlzZXRfb3V0X2ZlbmNlX2Zvcl9jcnRjKHN0 YXRlLT5zdGF0ZSwgY3J0YywgZmVuY2VfcHRyKTsKPiA+ID4gKwl9IGVsc2UgaWYgKHByb3BlcnR5 ID09IGNvbmZpZy0+Ymdjb2xvcl9wcm9wZXJ0eSkgewo+ID4gPiArCQlzdGF0ZS0+Ymdjb2xvciA9 IHZhbDsKPiA+ID4gIAl9IGVsc2UgaWYgKGNydGMtPmZ1bmNzLT5hdG9taWNfc2V0X3Byb3BlcnR5 KSB7Cj4gPiA+ICAJCXJldHVybiBjcnRjLT5mdW5jcy0+YXRvbWljX3NldF9wcm9wZXJ0eShjcnRj LCBzdGF0ZSwgcHJvcGVydHksIHZhbCk7Cj4gPiA+ICAJfSBlbHNlIHsKPiA+ID4gQEAgLTUwMyw2 ICs1MDUsOCBAQCBkcm1fYXRvbWljX2NydGNfZ2V0X3Byb3BlcnR5KHN0cnVjdCBkcm1fY3J0YyAq Y3J0YywKPiA+ID4gIAkJKnZhbCA9IChzdGF0ZS0+Z2FtbWFfbHV0KSA/IHN0YXRlLT5nYW1tYV9s dXQtPmJhc2UuaWQgOiAwOwo+ID4gPiAgCWVsc2UgaWYgKHByb3BlcnR5ID09IGNvbmZpZy0+cHJv cF9vdXRfZmVuY2VfcHRyKQo+ID4gPiAgCQkqdmFsID0gMDsKPiA+ID4gKwllbHNlIGlmIChwcm9w ZXJ0eSA9PSBjb25maWctPmJnY29sb3JfcHJvcGVydHkpCj4gPiA+ICsJCSp2YWwgPSBzdGF0ZS0+ Ymdjb2xvcjsKPiA+ID4gIAllbHNlIGlmIChjcnRjLT5mdW5jcy0+YXRvbWljX2dldF9wcm9wZXJ0 eSkKPiA+ID4gIAkJcmV0dXJuIGNydGMtPmZ1bmNzLT5hdG9taWNfZ2V0X3Byb3BlcnR5KGNydGMs IHN0YXRlLCBwcm9wZXJ0eSwgdmFsKTsKPiA+ID4gIAllbHNlCj4gPiA+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vZHJtX2JsZW5kLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2JsZW5kLmMK PiA+ID4gaW5kZXggMGM3OGNhMzg2Y2JlLi5kNDUxYWM5ZTFkNmQgMTAwNjQ0Cj4gPiA+IC0tLSBh L2RyaXZlcnMvZ3B1L2RybS9kcm1fYmxlbmQuYwo+ID4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0v ZHJtX2JsZW5kLmMKPiA+ID4gQEAgLTE3NSw5ICsxNzUsMjIgQEAKPiA+ID4gICAqCQkgcGxhbmUg ZG9lcyBub3QgZXhwb3NlIHRoZSAiYWxwaGEiIHByb3BlcnR5LCB0aGVuIHRoaXMgaXMKPiA+ID4g ICAqCQkgYXNzdW1lZCB0byBiZSAxLjAKPiA+ID4gICAqCj4gPiA+IC0gKiBOb3RlIHRoYXQgYWxs IHRoZSBwcm9wZXJ0eSBleHRlbnNpb25zIGRlc2NyaWJlZCBoZXJlIGFwcGx5IGVpdGhlciB0byB0 aGUKPiA+ID4gLSAqIHBsYW5lIG9yIHRoZSBDUlRDIChlLmcuIGZvciB0aGUgYmFja2dyb3VuZCBj b2xvciwgd2hpY2ggY3VycmVudGx5IGlzIG5vdAo+ID4gPiAtICogZXhwb3NlZCBhbmQgYXNzdW1l ZCB0byBiZSBibGFjaykuCj4gPiA+ICsgKiBUaGUgcHJvcGVydHkgZXh0ZW5zaW9ucyBkZXNjcmli ZWQgYWJvdmUgYWxsIGFwcGx5IHRvIHRoZSBwbGFuZS4gIERyaXZlcnMKPiA+ID4gKyAqIG1heSBh bHNvIGV4cG9zZSB0aGUgZm9sbG93aW5nIGNydGMgcHJvcGVydHkgZXh0ZW5zaW9uOgo+ID4gPiAr ICoKPiA+ID4gKyAqIEJBQ0tHUk9VTkRfQ09MT1I6Cj4gPiA+ICsgKglCYWNrZ3JvdW5kIGNvbG9y IGlzIHNldHVwIHdpdGggZHJtX2NydGNfYWRkX2JnY29sb3JfcHJvcGVydHkoKS4gIEl0Cj4gPiA+ ICsgKgljb250cm9scyB0aGUgQVJHQiBjb2xvciBvZiBhIGZ1bGwtc2NyZWVuIGxheWVyIHRoYXQg ZXhpc3RzIGJlbG93IGFsbAo+ID4gPiArICoJcGxhbmVzLiAgVGhpcyBjb2xvciB3aWxsIGJlIHVz ZWQgZm9yIHBpeGVscyBub3QgY292ZXJlZCBieSBhbnkgcGxhbmUKPiA+ID4gKyAqCWFuZCBtYXkg YWxzbyBiZSBibGVuZGVkIHdpdGggcGxhbmUgY29udGVudHMgYXMgYWxsb3dlZCBieSBhIHBsYW5l J3MKPiA+ID4gKyAqCWFscGhhIHZhbHVlcy4gIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIGRlZmF1bHRz IHRvIGJsYWNrLCBhbmQgaXMgYXNzdW1lZAo+ID4gPiArICoJdG8gYmUgYmxhY2sgZm9yIGRyaXZl cnMgdGhhdCBkbyBub3QgZXhwb3NlIHRoaXMgcHJvcGVydHkuICBBbHRob3VnaAo+ID4gPiArICoJ YmFja2dyb3VuZCBjb2xvciBpc24ndCBhIHBsYW5lLCBpdCBpcyBhc3N1bWVkIHRoYXQgdGhlIGNv bG9yIHByb3ZpZGVkCj4gPiA+ICsgKgloZXJlIHVuZGVyZ29lcyB0aGUgc2FtZSBwaXBlLWxldmVs IGRlZ2FtbWEvQ1NDL2dhbW1hIHRyYW5zZm9ybWF0aW9ucwo+ID4gPiArICoJdGhhdCBwbGFuZXMg dW5kZXJnby4gIE5vdGUgdGhhdCB0aGUgY29sb3IgdmFsdWUgcHJvdmlkZWQgaGVyZSBpbmNsdWRl cwo+ID4gPiArICoJYW4gYWxwaGEgY2hhbm5lbC4uLm5vbi1vcGFxdWUgYmFja2dyb3VuZCBjb2xv ciB2YWx1ZXMgYXJlIGFsbG93ZWQsCj4gPiA+ICsgKglidXQgYXJlIGdlbmVyYWxseSBvbmx5IGhv bm9yZWQgaW4gc3BlY2lhbCBjYXNlcyAoZS5nLiwgd2hlbiBhIG1lbW9yeQo+ID4gPiArICoJd3Jp dGViYWNrIGNvbm5lY3RvciBpcyBpbiB1c2UpLgo+ID4gCj4gPiBXaGF0IHdvdWxkIHRoZSBhbHBo YTwxLjAgZG8gaW4gdGhhdCBjYXNlPyBCbGVuZCB0aGUgd3JpdGViYWNrIG91dHB1dAo+ID4gd2l0 aCB3aGF0J3MgYWxyZWFkeSB0aGVyZT8KPiAKPiBJIHRoaW5rIGl0J3MgbW9yZSBmb3IgY2FzZXMg d2hlcmUgeW91ciBoYXJkd2FyZSdzIHBpcGUgd3JpdGVzIGJhY2sKPiBhY3R1YWwgQVJHQiBkYXRh IHRvIG1lbW9yeSwgaW5jbHVkaW5nIGFuIGFscGhhIGNvbXBvbmVudCwgcmF0aGVyIHRoYW4KPiBq dXN0IFJHQiBvciBYUkdCLiAgWW91IGNvdWxkIHRoZW4gdGFrZSB0aGF0IEFSR0Igd3JpdGViYWNr IGJ1ZmZlciBhbmQKPiBwYXNzIGl0IHRocm91Z2ggc29tZSBvdGhlciBmb3JtIG9mIHVzZWZ1bCBj b21wb3NpdGluZyBpZiB0aGUgYmdjb2xvcgo+IHBpeGVscyBoYXZlIGEgbm9uLW9wYXF1ZSBhbHBo YS4KCkkgZ3Vlc3Mgc29tZW9uZSBzaG91bGQgc3BlY2lmeSB0aGUgYmxlbmQgZXF1YXRpb24gZm9y IHRoZSBhbHBoYQpjaGFubmVsIGFzIHdlbGwuIEkgcHJlc3VtZSBpdCBzaG91bGQganVzdCBiZSAn ZGEgPSBzYSArICgxLXNhKSpkYScKcmVnYXJkbGVzcyBvZiB0aGUgcGxhbmUgcHJlLW11bHRpcGx5 IHNldHRpbmc/Cgo+IAo+IAo+IE1hdHQKPiAKPiA+IAo+ID4gPiAgICovCj4gPiA+ICAKPiA+ID4g IC8qKgo+ID4gPiBAQCAtNTkzLDMgKzYwNiwxMSBAQCBpbnQgZHJtX3BsYW5lX2NyZWF0ZV9ibGVu ZF9tb2RlX3Byb3BlcnR5KHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAo+ID4gPiAgCXJldHVybiAw Owo+ID4gPiAgfQo+ID4gPiAgRVhQT1JUX1NZTUJPTChkcm1fcGxhbmVfY3JlYXRlX2JsZW5kX21v ZGVfcHJvcGVydHkpOwo+ID4gPiArCj4gPiA+ICt2b2lkIGRybV9jcnRjX2FkZF9iZ2NvbG9yX3By b3BlcnR5KHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKPiA+ID4gK3sKPiA+ID4gKwlkcm1fb2JqZWN0 X2F0dGFjaF9wcm9wZXJ0eSgmY3J0Yy0+YmFzZSwKPiA+ID4gKwkJCQkgICBjcnRjLT5kZXYtPm1v ZGVfY29uZmlnLmJnY29sb3JfcHJvcGVydHksCj4gPiA+ICsJCQkJICAgZHJtX2FyZ2IoMTYsIDB4 ZmZmZiwgMCwgMCwgMCkpOwo+ID4gCj4gPiBpZiAoY3J0Yy0+c3RhdGUpCj4gPiAgY3J0Yy0+c3Rh dGUtPmJnID0gZGVmYXVsdCB2YWx1ZTsgPwo+ID4gCj4gPiA+ICt9Cj4gPiA+ICtFWFBPUlRfU1lN Qk9MKGRybV9jcnRjX2FkZF9iZ2NvbG9yX3Byb3BlcnR5KTsKPiA+ID4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9kcm1fbW9kZV9jb25maWcuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fbW9k ZV9jb25maWcuYwo+ID4gPiBpbmRleCA0YTFjMjAyM2NjZjAuLjhhN2MzNDZiMzE5MSAxMDA2NDQK PiA+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9tb2RlX2NvbmZpZy5jCj4gPiA+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9kcm1fbW9kZV9jb25maWcuYwo+ID4gPiBAQCAtMzY0LDYgKzM2NCwx MiBAQCBzdGF0aWMgaW50IGRybV9tb2RlX2NyZWF0ZV9zdGFuZGFyZF9wcm9wZXJ0aWVzKHN0cnVj dCBkcm1fZGV2aWNlICpkZXYpCj4gPiA+ICAJCXJldHVybiAtRU5PTUVNOwo+ID4gPiAgCWRldi0+ bW9kZV9jb25maWcubW9kaWZpZXJzX3Byb3BlcnR5ID0gcHJvcDsKPiA+ID4gIAo+ID4gPiArCXBy b3AgPSBkcm1fcHJvcGVydHlfY3JlYXRlX3JhbmdlKGRldiwgMCwgIkJBQ0tHUk9VTkRfQ09MT1Ii LAo+ID4gPiArCQkJCQkgMCwgR0VOTUFTS19VTEwoNjMsIDApKTsKPiA+ID4gKwlpZiAoIXByb3Ap Cj4gPiA+ICsJCXJldHVybiAtRU5PTUVNOwo+ID4gPiArCWRldi0+bW9kZV9jb25maWcuYmdjb2xv cl9wcm9wZXJ0eSA9IHByb3A7Cj4gPiA+ICsKPiA+ID4gIAlyZXR1cm4gMDsKPiA+ID4gIH0KPiA+ ID4gIAo+ID4gPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX2JsZW5kLmggYi9pbmNsdWRl L2RybS9kcm1fYmxlbmQuaAo+ID4gPiBpbmRleCA4OGJkZmVjM2JkODguLjllMjUzOGRkN2I5YSAx MDA2NDQKPiA+ID4gLS0tIGEvaW5jbHVkZS9kcm0vZHJtX2JsZW5kLmgKPiA+ID4gKysrIGIvaW5j bHVkZS9kcm0vZHJtX2JsZW5kLmgKPiA+ID4gQEAgLTU4LDQgKzU4LDUgQEAgaW50IGRybV9hdG9t aWNfbm9ybWFsaXplX3pwb3Moc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiA+ID4gIAkJCSAgICAg IHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSk7Cj4gPiA+ICBpbnQgZHJtX3BsYW5lX2Ny ZWF0ZV9ibGVuZF9tb2RlX3Byb3BlcnR5KHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAo+ID4gPiAg CQkJCQkgdW5zaWduZWQgaW50IHN1cHBvcnRlZF9tb2Rlcyk7Cj4gPiA+ICt2b2lkIGRybV9jcnRj X2FkZF9iZ2NvbG9yX3Byb3BlcnR5KHN0cnVjdCBkcm1fY3J0YyAqY3J0Yyk7Cj4gPiA+ICAjZW5k aWYKPiA+ID4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9jcnRjLmggYi9pbmNsdWRlL2Ry bS9kcm1fY3J0Yy5oCj4gPiA+IGluZGV4IDg1YWJkM2ZlOWU4My4uZGJlMGI0NWQ1ZGE2IDEwMDY0 NAo+ID4gPiAtLS0gYS9pbmNsdWRlL2RybS9kcm1fY3J0Yy5oCj4gPiA+ICsrKyBiL2luY2x1ZGUv ZHJtL2RybV9jcnRjLmgKPiA+ID4gQEAgLTI3NCw2ICsyNzQsMTggQEAgc3RydWN0IGRybV9jcnRj X3N0YXRlIHsKPiA+ID4gIAkgKi8KPiA+ID4gIAlzdHJ1Y3QgZHJtX3Byb3BlcnR5X2Jsb2IgKmdh bW1hX2x1dDsKPiA+ID4gIAo+ID4gPiArCS8qKgo+ID4gPiArCSAqIEBiZ2NvbG9yOgo+ID4gPiAr CSAqCj4gPiA+ICsJICogUkdCIHZhbHVlIHJlcHJlc2VudGluZyB0aGUgcGlwZSdzIGJhY2tncm91 bmQgY29sb3IuICBUaGUgYmFja2dyb3VuZAo+ID4gPiArCSAqIGNvbG9yIChha2EgImNhbnZhcyBj b2xvciIpIG9mIGEgcGlwZSBpcyB0aGUgY29sb3IgdGhhdCB3aWxsIGJlIHVzZWQKPiA+ID4gKwkg KiBmb3IgcGl4ZWxzIG5vdCBjb3ZlcmVkIGJ5IGEgcGxhbmUsIG9yIGNvdmVyZWQgYnkgdHJhbnNw YXJlbnQgcGl4ZWxzCj4gPiA+ICsJICogb2YgYSBwbGFuZS4gIFRoZSB2YWx1ZSBoZXJlIHNob3Vs ZCBiZSBidWlsdCB2aWEgZHJtX2FyZ2IoKTsKPiA+ID4gKwkgKiBpbmRpdmlkdWFsIGNvbG9yIGNv bXBvbmVudHMgY2FuIGJlIGV4dHJhY3RlZCB3aXRoIGRlc2lyZWQgcHJlY2lzaW9uCj4gPiA+ICsJ ICogdmlhIHRoZSBEUk1fQVJHQl8qKCkgbWFjcm9zLgo+ID4gPiArCSAqLwo+ID4gPiArCXU2NCBi Z2NvbG9yOwo+ID4gPiArCj4gPiA+ICAJLyoqCj4gPiA+ICAJICogQHRhcmdldF92Ymxhbms6Cj4g PiA+ICAJICoKPiA+ID4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9tb2RlX2NvbmZpZy5o IGIvaW5jbHVkZS9kcm0vZHJtX21vZGVfY29uZmlnLmgKPiA+ID4gaW5kZXggMWU2Y2I4ODU5OTRk Li4wNDYzZDNmNGFlNTkgMTAwNjQ0Cj4gPiA+IC0tLSBhL2luY2x1ZGUvZHJtL2RybV9tb2RlX2Nv bmZpZy5oCj4gPiA+ICsrKyBiL2luY2x1ZGUvZHJtL2RybV9tb2RlX2NvbmZpZy5oCj4gPiA+IEBA IC04MzYsNiArODM2LDExIEBAIHN0cnVjdCBkcm1fbW9kZV9jb25maWcgewo+ID4gPiAgCSAqLwo+ ID4gPiAgCXN0cnVjdCBkcm1fcHJvcGVydHkgKndyaXRlYmFja19vdXRfZmVuY2VfcHRyX3Byb3Bl cnR5Owo+ID4gPiAgCj4gPiA+ICsJLyoqCj4gPiA+ICsJICogQGJnY29sb3JfcHJvcGVydHk6IFJH QiBiYWNrZ3JvdW5kIGNvbG9yIGZvciBDUlRDLgo+ID4gPiArCSAqLwo+ID4gPiArCXN0cnVjdCBk cm1fcHJvcGVydHkgKmJnY29sb3JfcHJvcGVydHk7Cj4gPiA+ICsKPiA+ID4gIAkvKiBkdW1iIGlv Y3RsIHBhcmFtZXRlcnMgKi8KPiA+ID4gIAl1aW50MzJfdCBwcmVmZXJyZWRfZGVwdGgsIHByZWZl cl9zaGFkb3c7Cj4gPiA+ICAKPiA+ID4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvdWFwaS9kcm0vZHJt X21vZGUuaCBiL2luY2x1ZGUvdWFwaS9kcm0vZHJtX21vZGUuaAo+ID4gPiBpbmRleCBhNDM5YzJl Njc4OTYuLjVmMzFlNmEwNWJkOSAxMDA2NDQKPiA+ID4gLS0tIGEvaW5jbHVkZS91YXBpL2RybS9k cm1fbW9kZS5oCj4gPiA+ICsrKyBiL2luY2x1ZGUvdWFwaS9kcm0vZHJtX21vZGUuaAo+ID4gPiBA QCAtOTA3LDYgKzkwNywzNCBAQCBzdHJ1Y3QgZHJtX21vZGVfcmVjdCB7Cj4gPiA+ICAJX19zMzIg eTI7Cj4gPiA+ICB9Owo+ID4gPiAgCj4gPiA+ICsvKgo+ID4gPiArICogUHV0IEFSR0IgdmFsdWVz IGludG8gYSBzdGFuZGFyZCA2NC1iaXQgcmVwcmVzZW50YXRpb24gdGhhdCBjYW4gYmUgdXNlZAo+ ID4gPiArICogZm9yIGlvY3RsIHBhcmFtZXRlcnMsIGludGVyLWRyaXZlciBjb21tbXVuaWNhdGlv biwgZXRjLiAgSWYgdGhlIGNvbXBvbmVudAo+ID4gPiArICogdmFsdWVzIGJlaW5nIHByb3ZpZGVk IGNvbnRhaW4gbGVzcyB0aGFuIDE2IGJpdHMgb2YgcHJlY2lzaW9uLCB0aGV5J2xsCj4gPiA+ICsg KiBiZSBzaGlmdGVkIGludG8gdGhlIG1vc3Qgc2lnbmlmaWNhbnQgYml0cy4KPiA+ID4gKyAqLwo+ ID4gPiArc3RhdGljIGlubGluZSBfX3U2NAo+ID4gPiArZHJtX2FyZ2IoX191OCBicGMsIF9fdTE2 IGFscGhhLCBfX3UxNiByZWQsIF9fdTE2IGdyZWVuLCBfX3UxNiBibHVlKQo+ID4gPiArewo+ID4g PiArCWludCBtc2Jfc2hpZnQgPSAxNiAtIGJwYzsKPiA+ID4gKwo+ID4gPiArCXJldHVybiAoX191 NjQpYWxwaGEgPDwgbXNiX3NoaWZ0IDw8IDQ4IHwKPiA+ID4gKwkgICAgICAgKF9fdTY0KXJlZCAg IDw8IG1zYl9zaGlmdCA8PCAzMiB8Cj4gPiA+ICsJICAgICAgIChfX3U2NClncmVlbiA8PCBtc2Jf c2hpZnQgPDwgMTYgfAo+ID4gPiArCSAgICAgICAoX191NjQpYmx1ZSAgPDwgbXNiX3NoaWZ0Owo+ ID4gPiArfQo+ID4gPiArCj4gPiA+ICsvKgo+ID4gPiArICogRXh0cmFjdCB0aGUgc3BlY2lmaWVk IG51bWJlciBvZiBiaXRzIG9mIGEgc3BlY2lmaWMgY29sb3IgY29tcG9uZW50IGZyb20gYQo+ID4g PiArICogc3RhbmRhcmQgNjQtYml0IEFSR0IgdmFsdWUuCj4gPiA+ICsgKi8KPiA+ID4gKyNkZWZp bmUgRFJNX0FSR0JfQ09NUChjLCBzaGlmdCwgbnVtYml0cykgXAo+ID4gPiArCShfX3UxNikoKChj KSAmIDB4RkZGRnVsbCA8PCAoc2hpZnQpKSA+PiAoKHNoaWZ0KSArIDE2IC0gKG51bWJpdHMpKSkK PiA+ID4gKyNkZWZpbmUgRFJNX0FSR0JfQkxVRShjLCBudW1iaXRzKSAgRFJNX0FSR0JfQ09NUChj LCAwLCBudW1iaXRzKQo+ID4gPiArI2RlZmluZSBEUk1fQVJHQl9HUkVFTihjLCBudW1iaXRzKSBE Uk1fQVJHQl9DT01QKGMsIDE2LCBudW1iaXRzKQo+ID4gPiArI2RlZmluZSBEUk1fQVJHQl9SRUQo YywgbnVtYml0cykgICBEUk1fQVJHQl9DT01QKGMsIDMyLCBudW1iaXRzKQo+ID4gPiArI2RlZmlu ZSBEUk1fQVJHQl9BTFBIQShjLCBudW1iaXRzKSBEUk1fQVJHQl9DT01QKGMsIDQ4LCBudW1iaXRz KQo+ID4gPiArCj4gPiA+ICAjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKPiA+ID4gIH0KPiA+ID4g ICNlbmRpZgo+ID4gPiAtLSAKPiA+ID4gMi4xNC41Cj4gPiAKPiA+IC0tIAo+ID4gVmlsbGUgU3ly asOkbMOkCj4gPiBJbnRlbAo+IAo+IC0tIAo+IE1hdHQgUm9wZXIKPiBHcmFwaGljcyBTb2Z0d2Fy ZSBFbmdpbmVlcgo+IElvVEcgUGxhdGZvcm0gRW5hYmxpbmcgJiBEZXZlbG9wbWVudAo+IEludGVs IENvcnBvcmF0aW9uCj4gKDkxNikgMzU2LTI3OTUKCi0tIApWaWxsZSBTeXJqw6Rsw6QKSW50ZWwK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVs IG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==