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: Wed, 30 Jan 2019 23:01:25 +0200 Message-ID: <20190130210125.GR20097@intel.com> References: <20190130185122.10322-1-matthew.d.roper@intel.com> <20190130185122.10322-3-matthew.d.roper@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: <20190130185122.10322-3-matthew.d.roper@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 T24gV2VkLCBKYW4gMzAsIDIwMTkgYXQgMTA6NTE6MjFBTSAtMDgwMCwgTWF0dCBSb3BlciB3cm90 ZToKPiBTb21lIGRpc3BsYXkgY29udHJvbGxlcnMgY2FuIGJlIHByb2dyYW1tZWQgdG8gcHJlc2Vu dCBub24tYmxhY2sgY29sb3JzCj4gZm9yIHBpeGVscyBub3QgY292ZXJlZCBieSBhbnkgcGxhbmUg KG9yIHBpeGVscyBjb3ZlcmVkIGJ5IHRoZQo+IHRyYW5zcGFyZW50IHJlZ2lvbnMgb2YgaGlnaGVy IHBsYW5lcykuICBDb21wb3NpdG9ycyB0aGF0IHdhbnQgYSBVSSB3aXRoCj4gYSBzb2xpZCBjb2xv ciBiYWNrZ3JvdW5kIGNhbiBwb3RlbnRpYWxseSBzYXZlIG1lbW9yeSBiYW5kd2lkdGggYnkKPiBz ZXR0aW5nIHRoZSBDUlRDIGJhY2tncm91bmQgcHJvcGVydHkgYW5kIHVzaW5nIHNtYWxsZXIgcGxh bmVzIHRvIGRpc3BsYXkKPiB0aGUgcmVzdCBvZiB0aGUgY29udGVudC4KPiAKPiBUbyBhdm9pZCBj b25mdXNpb24gYmV0d2VlbiBkaWZmZXJlbnQgd2F5cyBvZiBlbmNvZGluZyBSR0IgZGF0YSwgd2UK PiBkZWZpbmUgYSBzdGFuZGFyZCA2NC1iaXQgZm9ybWF0IHRoYXQgc2hvdWxkIGJlIHVzZWQgZm9y IHRoaXMgcHJvcGVydHkncwo+IHZhbHVlLiAgSGVscGVyIGZ1bmN0aW9ucyBhbmQgbWFjcm9zIGFy ZSBwcm92aWRlZCB0byBnZW5lcmF0ZSBhbmQgZGlzc2VjdAo+IHZhbHVlcyBpbiB0aGlzIHN0YW5k YXJkIGZvcm1hdCB3aXRoIHZhcnlpbmcgY29tcG9uZW50IHByZWNpc2lvbiB2YWx1ZXMuCj4gCj4g djI6Cj4gIC0gU3dhcCBpbnRlcm5hbCByZXByZXNlbnRhdGlvbidzIGJsdWUgYW5kIHJlZCBiaXRz IHRvIG1ha2UgaXQgZWFzaWVyCj4gICAgdG8gcmVhZCBpZiBwcmludGVkIG91dC4gIChWaWxsZSkK PiAgLSBEb2N1bWVudCBiZ2NvbG9yIHByb3BlcnR5IGluIGRybV9ibGVuZC5jLiAgKFNlYW4gUGF1 bCkKPiAgLSBzL2JhY2tncm91bmRfY29sb3IvYmdjb2xvci8gZm9yIGNvbnNpc3RlbmN5IGJldHdl ZW4gcHJvcGVydHkgbmFtZSBhbmQKPiAgICB2YWx1ZSBzdG9yYWdlIGZpZWxkLiAgKFNlYW4gUGF1 bCkKPiAgLSBBZGQgYSBjb252ZW5pZW5jZSBmdW5jdGlvbiB0byBhdHRhY2ggcHJvcGVydHkgdG8g YSBnaXZlbiBjcnRjLgo+IAo+IHYzOgo+ICAtIFJlc3RydWN0dXJlIEFSR0IgY29tcG9uZW50IGV4 dHJhY3Rpb24gbWFjcm9zIHRvIGJlIGVhc2llciB0bwo+ICAgIHVuZGVyc3RhbmQgYW5kIGVuY2xv c2UgdGhlIHBhcmFtZXRlcnMgaW4gKCkgdG8gYXZvaWQgY2FsY3VsYXRpb25zCj4gICAgaWYgZXhw cmVzc2lvbnMgYXJlIHBhc3NlZC4gIChTZWFuIFBhdWwpCj4gIC0gcy9yZ2JhL2FyZ2IvIGluIGhl bHBlciBmdW5jdGlvbi9tYWNybyBuYW1lcy4gIEV2ZW4gdGhvdWdoIHRoZSBpZGVhIGlzCj4gICAg dG8gbm90IHdvcnJ5IGFib3V0IHRoZSBpbnRlcm5hbCByZXByZXNlbnRhdGlvbiBvZiB0aGUgdTY0 LCBpdCBjYW4KPiAgICBzdGlsbCBiZSBjb25mdXNpbmcgdG8gbG9vayBhdCBjb2RlIHRoYXQgdXNl cyAncmdiYScgdGVybWlub2xvZ3ksIGJ1dAo+ICAgIHN0b3JlcyB2YWx1ZXMgd2l0aCBhcmdiIG9y ZGVyaW5nLiAgKFZpbGxlKQo+IAo+IHY0Ogo+ICAtIERyb3AgdGhlIGJnY29sb3JfY2hhbmdlZCBm bGFnLiAgKFZpbGxlLCBCcmlhbiBTdGFya2V5KQo+ICAtIENsYXJpZnkgaW4ga2VybmVsZG9jIHRo YXQgYmFja2dyb3VuZCBjb2xvciBpcyBleHBlY3RlZCB0byB1bmRlcmdvIHRoZQo+ICAgIHNhbWUg cGlwZS1sZXZlbCBkZWdhbW1hL2NzYy9nYW1tYSB0cmFuc2Zvcm1hdGlvbnMgdGhhdCBwbGFuZXMg ZG8uCj4gICAgKEJyaWFuIFN0YXJrZXkpCj4gIC0gVXBkYXRlIGtlcm5lbGRvYyB0byBpbmRpY2F0 ZSBub24tb3BhcXVlIGNvbG9ycyBhcmUgYWxsb3dlZCwgYnV0IGFyZQo+ICAgIGdlbmVyYWxseSBv bmx5IHVzZWZ1bCBpbiBzcGVjaWFsIGNhc2VzIHN1Y2ggYXMgd2hlbiB3cml0ZWJhY2sKPiAgICBj b25uZWN0b3JzIGFyZSB1c2VkIChCcmlhbiBTdGFya2V5IC8gRXJpYyBBbmhvbHQpCj4gCj4gQ2M6 IGRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPiBDYzogd2VpLmMubGlAaW50ZWwuY29t Cj4gQ2M6IGhhcmlzaC5rcnVwby5rcHNAaW50ZWwuY29tCj4gQ2M6IFZpbGxlIFN5cmrDpGzDpCA8 dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+Cj4gQ2M6IFNlYW4gUGF1bCA8c2VhbkBwb29y bHkucnVuPgo+IENjOiBCcmlhbiBTdGFya2V5IDxCcmlhbi5TdGFya2V5QGFybS5jb20+Cj4gQ2M6 IEVyaWMgQW5ob2x0IDxlcmljQGFuaG9sdC5uZXQ+Cj4gQ2M6IFN0w6lwaGFuZSBNYXJjaGVzaW4g PG1hcmNoZXVAY2hyb21pdW0ub3JnPgo+IENjOiBEYW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVy QGZmd2xsLmNoPgo+IFNpZ25lZC1vZmYtYnk6IE1hdHQgUm9wZXIgPG1hdHRoZXcuZC5yb3BlckBp bnRlbC5jb20+Cj4gUmV2aWV3ZWQtYnkodjIpOiBTZWFuIFBhdWwgPHNlYW5AcG9vcmx5LnJ1bj4K PiBSZXZpZXdlZC1ieTogQnJpYW4gU3RhcmtleSA8YnJpYW4uc3RhcmtleUBhcm0uY29tPgo+IC0t LQo+ICBkcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY191YXBpLmMgfCAgNCArKysrCj4gIGRyaXZl cnMvZ3B1L2RybS9kcm1fYmxlbmQuYyAgICAgICB8IDI3ICsrKysrKysrKysrKysrKysrKysrKysr Ky0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vZHJtX21vZGVfY29uZmlnLmMgfCAgNiArKysrKysKPiAg aW5jbHVkZS9kcm0vZHJtX2JsZW5kLmggICAgICAgICAgIHwgIDEgKwo+ICBpbmNsdWRlL2RybS9k cm1fY3J0Yy5oICAgICAgICAgICAgfCAxMiArKysrKysrKysrKysKPiAgaW5jbHVkZS9kcm0vZHJt X21vZGVfY29uZmlnLmggICAgIHwgIDUgKysrKysKPiAgaW5jbHVkZS91YXBpL2RybS9kcm1fbW9k ZS5oICAgICAgIHwgMjggKysrKysrKysrKysrKysrKysrKysrKysrKysrKwo+ICA3IGZpbGVzIGNo YW5nZWQsIDgwIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX3VhcGkuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1f YXRvbWljX3VhcGkuYwo+IGluZGV4IDlhMWY0MWFkZmM2Ny4uZDU2OWUyMGUzNGUzIDEwMDY0NAo+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX3VhcGkuYwo+ICsrKyBiL2RyaXZlcnMv Z3B1L2RybS9kcm1fYXRvbWljX3VhcGkuYwo+IEBAIC00NjksNiArNDY5LDggQEAgc3RhdGljIGlu dCBkcm1fYXRvbWljX2NydGNfc2V0X3Byb3BlcnR5KHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKPiAg CQkJcmV0dXJuIC1FRkFVTFQ7Cj4gIAo+ICAJCXNldF9vdXRfZmVuY2VfZm9yX2NydGMoc3RhdGUt PnN0YXRlLCBjcnRjLCBmZW5jZV9wdHIpOwo+ICsJfSBlbHNlIGlmIChwcm9wZXJ0eSA9PSBjb25m aWctPmJnY29sb3JfcHJvcGVydHkpIHsKPiArCQlzdGF0ZS0+Ymdjb2xvciA9IHZhbDsKPiAgCX0g ZWxzZSBpZiAoY3J0Yy0+ZnVuY3MtPmF0b21pY19zZXRfcHJvcGVydHkpIHsKPiAgCQlyZXR1cm4g Y3J0Yy0+ZnVuY3MtPmF0b21pY19zZXRfcHJvcGVydHkoY3J0Yywgc3RhdGUsIHByb3BlcnR5LCB2 YWwpOwo+ICAJfSBlbHNlIHsKPiBAQCAtNTAzLDYgKzUwNSw4IEBAIGRybV9hdG9taWNfY3J0Y19n ZXRfcHJvcGVydHkoc3RydWN0IGRybV9jcnRjICpjcnRjLAo+ICAJCSp2YWwgPSAoc3RhdGUtPmdh bW1hX2x1dCkgPyBzdGF0ZS0+Z2FtbWFfbHV0LT5iYXNlLmlkIDogMDsKPiAgCWVsc2UgaWYgKHBy b3BlcnR5ID09IGNvbmZpZy0+cHJvcF9vdXRfZmVuY2VfcHRyKQo+ICAJCSp2YWwgPSAwOwo+ICsJ ZWxzZSBpZiAocHJvcGVydHkgPT0gY29uZmlnLT5iZ2NvbG9yX3Byb3BlcnR5KQo+ICsJCSp2YWwg PSBzdGF0ZS0+Ymdjb2xvcjsKPiAgCWVsc2UgaWYgKGNydGMtPmZ1bmNzLT5hdG9taWNfZ2V0X3By b3BlcnR5KQo+ICAJCXJldHVybiBjcnRjLT5mdW5jcy0+YXRvbWljX2dldF9wcm9wZXJ0eShjcnRj LCBzdGF0ZSwgcHJvcGVydHksIHZhbCk7Cj4gIAllbHNlCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9kcm1fYmxlbmQuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYmxlbmQuYwo+IGluZGV4 IDBjNzhjYTM4NmNiZS4uZDQ1MWFjOWUxZDZkIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9kcm1fYmxlbmQuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYmxlbmQuYwo+IEBAIC0x NzUsOSArMTc1LDIyIEBACj4gICAqCQkgcGxhbmUgZG9lcyBub3QgZXhwb3NlIHRoZSAiYWxwaGEi IHByb3BlcnR5LCB0aGVuIHRoaXMgaXMKPiAgICoJCSBhc3N1bWVkIHRvIGJlIDEuMAo+ICAgKgo+ IC0gKiBOb3RlIHRoYXQgYWxsIHRoZSBwcm9wZXJ0eSBleHRlbnNpb25zIGRlc2NyaWJlZCBoZXJl IGFwcGx5IGVpdGhlciB0byB0aGUKPiAtICogcGxhbmUgb3IgdGhlIENSVEMgKGUuZy4gZm9yIHRo ZSBiYWNrZ3JvdW5kIGNvbG9yLCB3aGljaCBjdXJyZW50bHkgaXMgbm90Cj4gLSAqIGV4cG9zZWQg YW5kIGFzc3VtZWQgdG8gYmUgYmxhY2spLgo+ICsgKiBUaGUgcHJvcGVydHkgZXh0ZW5zaW9ucyBk ZXNjcmliZWQgYWJvdmUgYWxsIGFwcGx5IHRvIHRoZSBwbGFuZS4gIERyaXZlcnMKPiArICogbWF5 IGFsc28gZXhwb3NlIHRoZSBmb2xsb3dpbmcgY3J0YyBwcm9wZXJ0eSBleHRlbnNpb246Cj4gKyAq Cj4gKyAqIEJBQ0tHUk9VTkRfQ09MT1I6Cj4gKyAqCUJhY2tncm91bmQgY29sb3IgaXMgc2V0dXAg d2l0aCBkcm1fY3J0Y19hZGRfYmdjb2xvcl9wcm9wZXJ0eSgpLiAgSXQKPiArICoJY29udHJvbHMg dGhlIEFSR0IgY29sb3Igb2YgYSBmdWxsLXNjcmVlbiBsYXllciB0aGF0IGV4aXN0cyBiZWxvdyBh bGwKPiArICoJcGxhbmVzLiAgVGhpcyBjb2xvciB3aWxsIGJlIHVzZWQgZm9yIHBpeGVscyBub3Qg Y292ZXJlZCBieSBhbnkgcGxhbmUKPiArICoJYW5kIG1heSBhbHNvIGJlIGJsZW5kZWQgd2l0aCBw bGFuZSBjb250ZW50cyBhcyBhbGxvd2VkIGJ5IGEgcGxhbmUncwo+ICsgKglhbHBoYSB2YWx1ZXMu ICBUaGUgYmFja2dyb3VuZCBjb2xvciBkZWZhdWx0cyB0byBibGFjaywgYW5kIGlzIGFzc3VtZWQK PiArICoJdG8gYmUgYmxhY2sgZm9yIGRyaXZlcnMgdGhhdCBkbyBub3QgZXhwb3NlIHRoaXMgcHJv cGVydHkuICBBbHRob3VnaAo+ICsgKgliYWNrZ3JvdW5kIGNvbG9yIGlzbid0IGEgcGxhbmUsIGl0 IGlzIGFzc3VtZWQgdGhhdCB0aGUgY29sb3IgcHJvdmlkZWQKPiArICoJaGVyZSB1bmRlcmdvZXMg dGhlIHNhbWUgcGlwZS1sZXZlbCBkZWdhbW1hL0NTQy9nYW1tYSB0cmFuc2Zvcm1hdGlvbnMKPiAr ICoJdGhhdCBwbGFuZXMgdW5kZXJnby4gIE5vdGUgdGhhdCB0aGUgY29sb3IgdmFsdWUgcHJvdmlk ZWQgaGVyZSBpbmNsdWRlcwo+ICsgKglhbiBhbHBoYSBjaGFubmVsLi4ubm9uLW9wYXF1ZSBiYWNr Z3JvdW5kIGNvbG9yIHZhbHVlcyBhcmUgYWxsb3dlZCwKPiArICoJYnV0IGFyZSBnZW5lcmFsbHkg b25seSBob25vcmVkIGluIHNwZWNpYWwgY2FzZXMgKGUuZy4sIHdoZW4gYSBtZW1vcnkKPiArICoJ d3JpdGViYWNrIGNvbm5lY3RvciBpcyBpbiB1c2UpLgoKV2hhdCB3b3VsZCB0aGUgYWxwaGE8MS4w IGRvIGluIHRoYXQgY2FzZT8gQmxlbmQgdGhlIHdyaXRlYmFjayBvdXRwdXQKd2l0aCB3aGF0J3Mg YWxyZWFkeSB0aGVyZT8KCj4gICAqLwo+ICAKPiAgLyoqCj4gQEAgLTU5MywzICs2MDYsMTEgQEAg aW50IGRybV9wbGFuZV9jcmVhdGVfYmxlbmRfbW9kZV9wcm9wZXJ0eShzdHJ1Y3QgZHJtX3BsYW5l ICpwbGFuZSwKPiAgCXJldHVybiAwOwo+ICB9Cj4gIEVYUE9SVF9TWU1CT0woZHJtX3BsYW5lX2Ny ZWF0ZV9ibGVuZF9tb2RlX3Byb3BlcnR5KTsKPiArCj4gK3ZvaWQgZHJtX2NydGNfYWRkX2JnY29s b3JfcHJvcGVydHkoc3RydWN0IGRybV9jcnRjICpjcnRjKQo+ICt7Cj4gKwlkcm1fb2JqZWN0X2F0 dGFjaF9wcm9wZXJ0eSgmY3J0Yy0+YmFzZSwKPiArCQkJCSAgIGNydGMtPmRldi0+bW9kZV9jb25m aWcuYmdjb2xvcl9wcm9wZXJ0eSwKPiArCQkJCSAgIGRybV9hcmdiKDE2LCAweGZmZmYsIDAsIDAs IDApKTsKCmlmIChjcnRjLT5zdGF0ZSkKIGNydGMtPnN0YXRlLT5iZyA9IGRlZmF1bHQgdmFsdWU7 ID8KCj4gK30KPiArRVhQT1JUX1NZTUJPTChkcm1fY3J0Y19hZGRfYmdjb2xvcl9wcm9wZXJ0eSk7 Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fbW9kZV9jb25maWcuYyBiL2RyaXZl cnMvZ3B1L2RybS9kcm1fbW9kZV9jb25maWcuYwo+IGluZGV4IDRhMWMyMDIzY2NmMC4uOGE3YzM0 NmIzMTkxIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fbW9kZV9jb25maWcuYwo+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fbW9kZV9jb25maWcuYwo+IEBAIC0zNjQsNiArMzY0 LDEyIEBAIHN0YXRpYyBpbnQgZHJtX21vZGVfY3JlYXRlX3N0YW5kYXJkX3Byb3BlcnRpZXMoc3Ry dWN0IGRybV9kZXZpY2UgKmRldikKPiAgCQlyZXR1cm4gLUVOT01FTTsKPiAgCWRldi0+bW9kZV9j b25maWcubW9kaWZpZXJzX3Byb3BlcnR5ID0gcHJvcDsKPiAgCj4gKwlwcm9wID0gZHJtX3Byb3Bl cnR5X2NyZWF0ZV9yYW5nZShkZXYsIDAsICJCQUNLR1JPVU5EX0NPTE9SIiwKPiArCQkJCQkgMCwg R0VOTUFTS19VTEwoNjMsIDApKTsKPiArCWlmICghcHJvcCkKPiArCQlyZXR1cm4gLUVOT01FTTsK PiArCWRldi0+bW9kZV9jb25maWcuYmdjb2xvcl9wcm9wZXJ0eSA9IHByb3A7Cj4gKwo+ICAJcmV0 dXJuIDA7Cj4gIH0KPiAgCj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9ibGVuZC5oIGIv aW5jbHVkZS9kcm0vZHJtX2JsZW5kLmgKPiBpbmRleCA4OGJkZmVjM2JkODguLjllMjUzOGRkN2I5 YSAxMDA2NDQKPiAtLS0gYS9pbmNsdWRlL2RybS9kcm1fYmxlbmQuaAo+ICsrKyBiL2luY2x1ZGUv ZHJtL2RybV9ibGVuZC5oCj4gQEAgLTU4LDQgKzU4LDUgQEAgaW50IGRybV9hdG9taWNfbm9ybWFs aXplX3pwb3Moc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiAgCQkJICAgICAgc3RydWN0IGRybV9h dG9taWNfc3RhdGUgKnN0YXRlKTsKPiAgaW50IGRybV9wbGFuZV9jcmVhdGVfYmxlbmRfbW9kZV9w cm9wZXJ0eShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKPiAgCQkJCQkgdW5zaWduZWQgaW50IHN1 cHBvcnRlZF9tb2Rlcyk7Cj4gK3ZvaWQgZHJtX2NydGNfYWRkX2JnY29sb3JfcHJvcGVydHkoc3Ry dWN0IGRybV9jcnRjICpjcnRjKTsKPiAgI2VuZGlmCj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJt L2RybV9jcnRjLmggYi9pbmNsdWRlL2RybS9kcm1fY3J0Yy5oCj4gaW5kZXggODVhYmQzZmU5ZTgz Li5kYmUwYjQ1ZDVkYTYgMTAwNjQ0Cj4gLS0tIGEvaW5jbHVkZS9kcm0vZHJtX2NydGMuaAo+ICsr KyBiL2luY2x1ZGUvZHJtL2RybV9jcnRjLmgKPiBAQCAtMjc0LDYgKzI3NCwxOCBAQCBzdHJ1Y3Qg ZHJtX2NydGNfc3RhdGUgewo+ICAJICovCj4gIAlzdHJ1Y3QgZHJtX3Byb3BlcnR5X2Jsb2IgKmdh bW1hX2x1dDsKPiAgCj4gKwkvKioKPiArCSAqIEBiZ2NvbG9yOgo+ICsJICoKPiArCSAqIFJHQiB2 YWx1ZSByZXByZXNlbnRpbmcgdGhlIHBpcGUncyBiYWNrZ3JvdW5kIGNvbG9yLiAgVGhlIGJhY2tn cm91bmQKPiArCSAqIGNvbG9yIChha2EgImNhbnZhcyBjb2xvciIpIG9mIGEgcGlwZSBpcyB0aGUg Y29sb3IgdGhhdCB3aWxsIGJlIHVzZWQKPiArCSAqIGZvciBwaXhlbHMgbm90IGNvdmVyZWQgYnkg YSBwbGFuZSwgb3IgY292ZXJlZCBieSB0cmFuc3BhcmVudCBwaXhlbHMKPiArCSAqIG9mIGEgcGxh bmUuICBUaGUgdmFsdWUgaGVyZSBzaG91bGQgYmUgYnVpbHQgdmlhIGRybV9hcmdiKCk7Cj4gKwkg KiBpbmRpdmlkdWFsIGNvbG9yIGNvbXBvbmVudHMgY2FuIGJlIGV4dHJhY3RlZCB3aXRoIGRlc2ly ZWQgcHJlY2lzaW9uCj4gKwkgKiB2aWEgdGhlIERSTV9BUkdCXyooKSBtYWNyb3MuCj4gKwkgKi8K PiArCXU2NCBiZ2NvbG9yOwo+ICsKPiAgCS8qKgo+ICAJICogQHRhcmdldF92Ymxhbms6Cj4gIAkg Kgo+IGRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1fbW9kZV9jb25maWcuaCBiL2luY2x1ZGUv ZHJtL2RybV9tb2RlX2NvbmZpZy5oCj4gaW5kZXggMWU2Y2I4ODU5OTRkLi4wNDYzZDNmNGFlNTkg MTAwNjQ0Cj4gLS0tIGEvaW5jbHVkZS9kcm0vZHJtX21vZGVfY29uZmlnLmgKPiArKysgYi9pbmNs dWRlL2RybS9kcm1fbW9kZV9jb25maWcuaAo+IEBAIC04MzYsNiArODM2LDExIEBAIHN0cnVjdCBk cm1fbW9kZV9jb25maWcgewo+ICAJICovCj4gIAlzdHJ1Y3QgZHJtX3Byb3BlcnR5ICp3cml0ZWJh Y2tfb3V0X2ZlbmNlX3B0cl9wcm9wZXJ0eTsKPiAgCj4gKwkvKioKPiArCSAqIEBiZ2NvbG9yX3By b3BlcnR5OiBSR0IgYmFja2dyb3VuZCBjb2xvciBmb3IgQ1JUQy4KPiArCSAqLwo+ICsJc3RydWN0 IGRybV9wcm9wZXJ0eSAqYmdjb2xvcl9wcm9wZXJ0eTsKPiArCj4gIAkvKiBkdW1iIGlvY3RsIHBh cmFtZXRlcnMgKi8KPiAgCXVpbnQzMl90IHByZWZlcnJlZF9kZXB0aCwgcHJlZmVyX3NoYWRvdzsK PiAgCj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvdWFwaS9kcm0vZHJtX21vZGUuaCBiL2luY2x1ZGUv dWFwaS9kcm0vZHJtX21vZGUuaAo+IGluZGV4IGE0MzljMmU2Nzg5Ni4uNWYzMWU2YTA1YmQ5IDEw MDY0NAo+IC0tLSBhL2luY2x1ZGUvdWFwaS9kcm0vZHJtX21vZGUuaAo+ICsrKyBiL2luY2x1ZGUv dWFwaS9kcm0vZHJtX21vZGUuaAo+IEBAIC05MDcsNiArOTA3LDM0IEBAIHN0cnVjdCBkcm1fbW9k ZV9yZWN0IHsKPiAgCV9fczMyIHkyOwo+ICB9Owo+ICAKPiArLyoKPiArICogUHV0IEFSR0IgdmFs dWVzIGludG8gYSBzdGFuZGFyZCA2NC1iaXQgcmVwcmVzZW50YXRpb24gdGhhdCBjYW4gYmUgdXNl ZAo+ICsgKiBmb3IgaW9jdGwgcGFyYW1ldGVycywgaW50ZXItZHJpdmVyIGNvbW1tdW5pY2F0aW9u LCBldGMuICBJZiB0aGUgY29tcG9uZW50Cj4gKyAqIHZhbHVlcyBiZWluZyBwcm92aWRlZCBjb250 YWluIGxlc3MgdGhhbiAxNiBiaXRzIG9mIHByZWNpc2lvbiwgdGhleSdsbAo+ICsgKiBiZSBzaGlm dGVkIGludG8gdGhlIG1vc3Qgc2lnbmlmaWNhbnQgYml0cy4KPiArICovCj4gK3N0YXRpYyBpbmxp bmUgX191NjQKPiArZHJtX2FyZ2IoX191OCBicGMsIF9fdTE2IGFscGhhLCBfX3UxNiByZWQsIF9f dTE2IGdyZWVuLCBfX3UxNiBibHVlKQo+ICt7Cj4gKwlpbnQgbXNiX3NoaWZ0ID0gMTYgLSBicGM7 Cj4gKwo+ICsJcmV0dXJuIChfX3U2NClhbHBoYSA8PCBtc2Jfc2hpZnQgPDwgNDggfAo+ICsJICAg ICAgIChfX3U2NClyZWQgICA8PCBtc2Jfc2hpZnQgPDwgMzIgfAo+ICsJICAgICAgIChfX3U2NCln cmVlbiA8PCBtc2Jfc2hpZnQgPDwgMTYgfAo+ICsJICAgICAgIChfX3U2NClibHVlICA8PCBtc2Jf c2hpZnQ7Cj4gK30KPiArCj4gKy8qCj4gKyAqIEV4dHJhY3QgdGhlIHNwZWNpZmllZCBudW1iZXIg b2YgYml0cyBvZiBhIHNwZWNpZmljIGNvbG9yIGNvbXBvbmVudCBmcm9tIGEKPiArICogc3RhbmRh cmQgNjQtYml0IEFSR0IgdmFsdWUuCj4gKyAqLwo+ICsjZGVmaW5lIERSTV9BUkdCX0NPTVAoYywg c2hpZnQsIG51bWJpdHMpIFwKPiArCShfX3UxNikoKChjKSAmIDB4RkZGRnVsbCA8PCAoc2hpZnQp KSA+PiAoKHNoaWZ0KSArIDE2IC0gKG51bWJpdHMpKSkKPiArI2RlZmluZSBEUk1fQVJHQl9CTFVF KGMsIG51bWJpdHMpICBEUk1fQVJHQl9DT01QKGMsIDAsIG51bWJpdHMpCj4gKyNkZWZpbmUgRFJN X0FSR0JfR1JFRU4oYywgbnVtYml0cykgRFJNX0FSR0JfQ09NUChjLCAxNiwgbnVtYml0cykKPiAr I2RlZmluZSBEUk1fQVJHQl9SRUQoYywgbnVtYml0cykgICBEUk1fQVJHQl9DT01QKGMsIDMyLCBu dW1iaXRzKQo+ICsjZGVmaW5lIERSTV9BUkdCX0FMUEhBKGMsIG51bWJpdHMpIERSTV9BUkdCX0NP TVAoYywgNDgsIG51bWJpdHMpCj4gKwo+ICAjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKPiAgfQo+ ICAjZW5kaWYKPiAtLSAKPiAyLjE0LjUKCi0tIApWaWxsZSBTeXJqw6Rsw6QKSW50ZWwKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxp bmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJl ZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==