From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alexandru-Cosmin Gheorghe Subject: Re: [RFC v4 2/8] drm: Add Plane Degamma properties Date: Tue, 21 Aug 2018 10:38:06 +0100 Message-ID: <20180821093806.GC8465@e114479-lin.cambridge.arm.com> References: <1534515531-20599-1-git-send-email-uma.shankar@intel.com> <1534515531-20599-3-git-send-email-uma.shankar@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: <1534515531-20599-3-git-send-email-uma.shankar@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Uma Shankar Cc: dcastagna@chromium.org, intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, seanpaul@chromium.org, ville.syrjala@intel.com, nd@arm.com, maarten.lankhorst@intel.com List-Id: intel-gfx@lists.freedesktop.org SGkgVW1hLAoKT24gRnJpLCBBdWcgMTcsIDIwMTggYXQgMDc6NDg6NDVQTSArMDUzMCwgVW1hIFNo YW5rYXIgd3JvdGU6Cj4gQWRkIFBsYW5lIERlZ2FtbWEgYXMgYSBibG9iIHByb3BlcnR5IGFuZCBw bGFuZSBkZWdhbW1hIHNpemUgYXMKPiBhIHJhbmdlIHByb3BlcnR5Lgo+IAo+IHYyOiBSZWJhc2UK PiAKPiB2MzogRml4ZWQgU2VhbiwgUGF1bCdzIHJldmlldyBjb21tZW50cy4gTW92ZWQgdGhlIHBy b3BlcnR5IGZyb20KPiBtb2RlX2NvbmZpZyB0byBkcm1fcGxhbmUuIENyZWF0ZWQgYSBoZWxwZXIg ZnVuY3Rpb24gdG8gaW5zdGFudGlhdGUKPiB0aGVzZSBwcm9wZXJ0aWVzIGFuZCByZW1vdmVkIGZy b20gZHJtX21vZGVfY3JlYXRlX3N0YW5kYXJkX3Byb3BlcnRpZXMKPiBBZGRlZCBwcm9wZXJ0eSBk b2N1bWVudGF0aW9uIGFzIHN1Z2dlc3RlZCBieSBEYW5pZWwsIFZldHRlci4KPiAKPiB2NDogUmVi YXNlCj4gCj4gU2lnbmVkLW9mZi1ieTogVW1hIFNoYW5rYXIgPHVtYS5zaGFua2FyQGludGVsLmNv bT4KPiAtLS0KPiAgRG9jdW1lbnRhdGlvbi9ncHUvZHJtLWttcy5yc3QgICAgICAgfCAgOSArKysr KysrKysKPiAgZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMuYyAgICAgICAgfCAxMyArKysrKysr KysrKysrCj4gIGRyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBlci5jIHwgIDYgKysrKysr Cj4gIGRyaXZlcnMvZ3B1L2RybS9kcm1fcGxhbmUuYyAgICAgICAgIHwgMzUgKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysKPiAgaW5jbHVkZS9kcm0vZHJtX3BsYW5lLmggICAgICAg ICAgICAgfCAyNCArKysrKysrKysrKysrKysrKysrKysrKysKPiAgNSBmaWxlcyBjaGFuZ2VkLCA4 NyBpbnNlcnRpb25zKCspCj4gCj4gZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ3B1L2RybS1r bXMucnN0IGIvRG9jdW1lbnRhdGlvbi9ncHUvZHJtLWttcy5yc3QKPiBpbmRleCA1ZGVlNmI4Li44 YjEwYjEyIDEwMDY0NAo+IC0tLSBhL0RvY3VtZW50YXRpb24vZ3B1L2RybS1rbXMucnN0Cj4gKysr IGIvRG9jdW1lbnRhdGlvbi9ncHUvZHJtLWttcy5yc3QKPiBAQCAtNTUxLDYgKzU1MSwxNSBAQCBD b2xvciBNYW5hZ2VtZW50IFByb3BlcnRpZXMKPiAgLi4ga2VybmVsLWRvYzo6IGRyaXZlcnMvZ3B1 L2RybS9kcm1fY29sb3JfbWdtdC5jCj4gICAgIDpleHBvcnQ6Cj4gIAo+ICtQbGFuZSBDb2xvciBN YW5hZ2VtZW50IFByb3BlcnRpZXMKPiArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4gKwo+ ICsuLiBrZXJuZWwtZG9jOjogZHJpdmVycy9ncHUvZHJtL2RybV9wbGFuZS5jCj4gKyAgIDpkb2M6 IGRlZ2FtbWFfbHV0X3Byb3BlcnR5Cj4gKwo+ICsuLiBrZXJuZWwtZG9jOjogZHJpdmVycy9ncHUv ZHJtL2RybV9wbGFuZS5jCj4gKyAgIDpkb2M6IGRlZ2FtbWFfbHV0X3NpemVfcHJvcGVydHkKPiAr Cj4gIFRpbGUgR3JvdXAgUHJvcGVydHkKPiAgLS0tLS0tLS0tLS0tLS0tLS0tLQo+ICAKPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMuYyBiL2RyaXZlcnMvZ3B1L2RybS9k cm1fYXRvbWljLmMKPiBpbmRleCAzZWIwNjFlLi5mOGNhZDliIDEwMDY0NAo+IC0tLSBhL2RyaXZl cnMvZ3B1L2RybS9kcm1fYXRvbWljLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21p Yy5jCj4gQEAgLTg1Nyw2ICs4NTcsOCBAQCBzdGF0aWMgaW50IGRybV9hdG9taWNfcGxhbmVfc2V0 X3Byb3BlcnR5KHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAo+ICB7Cj4gIAlzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2ID0gcGxhbmUtPmRldjsKPiAgCXN0cnVjdCBkcm1fbW9kZV9jb25maWcgKmNvbmZp ZyA9ICZkZXYtPm1vZGVfY29uZmlnOwo+ICsJYm9vbCByZXBsYWNlZCA9IGZhbHNlOwo+ICsJaW50 IHJldDsKPiAgCj4gIAlpZiAocHJvcGVydHkgPT0gY29uZmlnLT5wcm9wX2ZiX2lkKSB7Cj4gIAkJ c3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIgPSBkcm1fZnJhbWVidWZmZXJfbG9va3VwKGRldiwg TlVMTCwgdmFsKTsKPiBAQCAtOTA4LDYgKzkxMCwxMyBAQCBzdGF0aWMgaW50IGRybV9hdG9taWNf cGxhbmVfc2V0X3Byb3BlcnR5KHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAo+ICAJCXN0YXRlLT5j b2xvcl9lbmNvZGluZyA9IHZhbDsKPiAgCX0gZWxzZSBpZiAocHJvcGVydHkgPT0gcGxhbmUtPmNv bG9yX3JhbmdlX3Byb3BlcnR5KSB7Cj4gIAkJc3RhdGUtPmNvbG9yX3JhbmdlID0gdmFsOwo+ICsJ fSBlbHNlIGlmIChwcm9wZXJ0eSA9PSBwbGFuZS0+ZGVnYW1tYV9sdXRfcHJvcGVydHkpIHsKPiAr CQlyZXQgPSBkcm1fYXRvbWljX3JlcGxhY2VfcHJvcGVydHlfYmxvYl9mcm9tX2lkKGRldiwKPiAr CQkJCQkmc3RhdGUtPmRlZ2FtbWFfbHV0LAo+ICsJCQkJCXZhbCwgLTEsIHNpemVvZihzdHJ1Y3Qg ZHJtX2NvbG9yX2x1dCksCj4gKwkJCQkJJnJlcGxhY2VkKTsKPiArCQlzdGF0ZS0+Y29sb3JfbWdt dF9jaGFuZ2VkIHw9IHJlcGxhY2VkOwo+ICsJCXJldHVybiByZXQ7Cj4gIAl9IGVsc2UgaWYgKHBs YW5lLT5mdW5jcy0+YXRvbWljX3NldF9wcm9wZXJ0eSkgewo+ICAJCXJldHVybiBwbGFuZS0+ZnVu Y3MtPmF0b21pY19zZXRfcHJvcGVydHkocGxhbmUsIHN0YXRlLAo+ICAJCQkJcHJvcGVydHksIHZh bCk7Cj4gQEAgLTk3Niw2ICs5ODUsOSBAQCBzdGF0aWMgaW50IGRybV9hdG9taWNfcGxhbmVfc2V0 X3Byb3BlcnR5KHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAo+ICAJCSp2YWwgPSBzdGF0ZS0+Y29s b3JfZW5jb2Rpbmc7Cj4gIAl9IGVsc2UgaWYgKHByb3BlcnR5ID09IHBsYW5lLT5jb2xvcl9yYW5n ZV9wcm9wZXJ0eSkgewo+ICAJCSp2YWwgPSBzdGF0ZS0+Y29sb3JfcmFuZ2U7Cj4gKwl9IGVsc2Ug aWYgKHByb3BlcnR5ID09IHBsYW5lLT5kZWdhbW1hX2x1dF9wcm9wZXJ0eSkgewo+ICsJCSp2YWwg PSAoc3RhdGUtPmRlZ2FtbWFfbHV0KSA/Cj4gKwkJCXN0YXRlLT5kZWdhbW1hX2x1dC0+YmFzZS5p ZCA6IDA7Cj4gIAl9IGVsc2UgaWYgKHBsYW5lLT5mdW5jcy0+YXRvbWljX2dldF9wcm9wZXJ0eSkg ewo+ICAJCXJldHVybiBwbGFuZS0+ZnVuY3MtPmF0b21pY19nZXRfcHJvcGVydHkocGxhbmUsIHN0 YXRlLCBwcm9wZXJ0eSwgdmFsKTsKPiAgCX0gZWxzZSB7Cj4gQEAgLTExMTYsNiArMTEyOCw3IEBA IHN0YXRpYyB2b2lkIGRybV9hdG9taWNfcGxhbmVfcHJpbnRfc3RhdGUoc3RydWN0IGRybV9wcmlu dGVyICpwLAo+ICAJCSAgIGRybV9nZXRfY29sb3JfZW5jb2RpbmdfbmFtZShzdGF0ZS0+Y29sb3Jf ZW5jb2RpbmcpKTsKPiAgCWRybV9wcmludGYocCwgIlx0Y29sb3ItcmFuZ2U9JXNcbiIsCj4gIAkJ ICAgZHJtX2dldF9jb2xvcl9yYW5nZV9uYW1lKHN0YXRlLT5jb2xvcl9yYW5nZSkpOwo+ICsJZHJt X3ByaW50ZihwLCAiXHRjb2xvcl9tZ210X2NoYW5nZWQ9JWRcbiIsIHN0YXRlLT5jb2xvcl9tZ210 X2NoYW5nZWQpOwo+ICAKPiAgCWlmIChwbGFuZS0+ZnVuY3MtPmF0b21pY19wcmludF9zdGF0ZSkK PiAgCQlwbGFuZS0+ZnVuY3MtPmF0b21pY19wcmludF9zdGF0ZShwLCBzdGF0ZSk7Cj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBlci5jIGIvZHJpdmVycy9ncHUv ZHJtL2RybV9hdG9taWNfaGVscGVyLmMKPiBpbmRleCAzOGNlOWEzLi42N2M1YjUxIDEwMDY0NAo+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBlci5jCj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL2RybV9hdG9taWNfaGVscGVyLmMKPiBAQCAtMzYxMyw2ICszNjEzLDEwIEBAIHZv aWQgX19kcm1fYXRvbWljX2hlbHBlcl9wbGFuZV9kdXBsaWNhdGVfc3RhdGUoc3RydWN0IGRybV9w bGFuZSAqcGxhbmUsCj4gIAo+ICAJc3RhdGUtPmZlbmNlID0gTlVMTDsKPiAgCXN0YXRlLT5jb21t aXQgPSBOVUxMOwo+ICsKPiArCWlmIChzdGF0ZS0+ZGVnYW1tYV9sdXQpCj4gKwkJZHJtX3Byb3Bl cnR5X2Jsb2JfZ2V0KHN0YXRlLT5kZWdhbW1hX2x1dCk7Cj4gKwlzdGF0ZS0+Y29sb3JfbWdtdF9j aGFuZ2VkID0gZmFsc2U7Cj4gIH0KPiAgRVhQT1JUX1NZTUJPTChfX2RybV9hdG9taWNfaGVscGVy X3BsYW5lX2R1cGxpY2F0ZV9zdGF0ZSk7Cj4gIAo+IEBAIC0zNjU3LDYgKzM2NjEsOCBAQCB2b2lk IF9fZHJtX2F0b21pY19oZWxwZXJfcGxhbmVfZGVzdHJveV9zdGF0ZShzdHJ1Y3QgZHJtX3BsYW5l X3N0YXRlICpzdGF0ZSkKPiAgCj4gIAlpZiAoc3RhdGUtPmNvbW1pdCkKPiAgCQlkcm1fY3J0Y19j b21taXRfcHV0KHN0YXRlLT5jb21taXQpOwo+ICsKPiArCWRybV9wcm9wZXJ0eV9ibG9iX3B1dChz dGF0ZS0+ZGVnYW1tYV9sdXQpOwo+ICB9Cj4gIEVYUE9SVF9TWU1CT0woX19kcm1fYXRvbWljX2hl bHBlcl9wbGFuZV9kZXN0cm95X3N0YXRlKTsKPiAgCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9kcm1fcGxhbmUuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fcGxhbmUuYwo+IGluZGV4IGNk NzFmZDAuLjAzZTA1NjAgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9wbGFuZS5j Cj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9wbGFuZS5jCj4gQEAgLTQ3OCw2ICs0NzgsNDEg QEAgaW50IGRybV9tb2RlX3BsYW5lX3NldF9vYmpfcHJvcChzdHJ1Y3QgZHJtX3BsYW5lICpwbGFu ZSwKPiAgfQo+ICBFWFBPUlRfU1lNQk9MKGRybV9tb2RlX3BsYW5lX3NldF9vYmpfcHJvcCk7Cj4g IAo+ICsvKioKPiArICogRE9DOiBkZWdhbW1hX2x1dF9wcm9wZXJ0eQo+ICsgKgo+ICsgKiBkZWdh bW1hX2x1dF9wcm9wZXJ0eToKPiArICoJQmxvYiBwcm9wZXJ0eSB3aGljaCBhbGxvd3MgYSB1c2Vy c3BhY2UgdG8gcHJvdmlkZSBMVVQgdmFsdWVzCj4gKyAqCXRvIGFwcGx5IGRlZ2FtbWEgY3VydmUg dXNpbmcgdGhlIGgvdyBwbGFuZSBkZWdhbW1hIHByb2Nlc3NpbmcKPiArICoJZW5naW5lLCB0aGVy ZWJ5IG1ha2luZyB0aGUgY29udGVudCBhcyBsaW5lYXIgZm9yIGZ1cnRoZXIgY29sb3IKPiArICoJ cHJvY2Vzc2luZy4KPiArICoKPiArICogZGVnYW1tYV9sdXRfc2l6ZV9wcm9wZXJ0eToKPiArICoJ UmFuZ2UgUHJvcGVydHkgdG8gaW5kaWNhdGUgc2l6ZSBvZiB0aGUgcGxhbmUgZGVnYW1tYSBMVVQu Cj4gKyAqLwo+ICtpbnQgZHJtX3BsYW5lX2NvbG9yX2NyZWF0ZV9wcm9wKHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYsCj4gKwkJCQlzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSkKPiArewo+ICsJc3RydWN0 IGRybV9wcm9wZXJ0eSAqcHJvcDsKPiArCj4gKwlwcm9wID0gZHJtX3Byb3BlcnR5X2NyZWF0ZShk ZXYsCj4gKwkJCURSTV9NT0RFX1BST1BfQkxPQiwKPiArCQkJIlBMQU5FX0RFR0FNTUFfTFVUIiwg MCk7Cj4gKwlpZiAoIXByb3ApCj4gKwkJcmV0dXJuIC1FTk9NRU07Cj4gKwlwbGFuZS0+ZGVnYW1t YV9sdXRfcHJvcGVydHkgPSBwcm9wOwo+ICsKPiArCXByb3AgPSBkcm1fcHJvcGVydHlfY3JlYXRl X3JhbmdlKGRldiwKPiArCQkJRFJNX01PREVfUFJPUF9JTU1VVEFCTEUsCj4gKwkJCSJQTEFORV9E RUdBTU1BX0xVVF9TSVpFIiwgMCwgVUlOVF9NQVgpOwo+ICsJaWYgKCFwcm9wKQo+ICsJCXJldHVy biAtRU5PTUVNOwo+ICsJcGxhbmUtPmRlZ2FtbWFfbHV0X3NpemVfcHJvcGVydHkgPSBwcm9wOwo+ ICsKPiArCXJldHVybiAwOwo+ICt9Cj4gK0VYUE9SVF9TWU1CT0woZHJtX3BsYW5lX2NvbG9yX2Ny ZWF0ZV9wcm9wKTsKPiArCj4gIGludCBkcm1fbW9kZV9nZXRwbGFuZV9yZXMoc3RydWN0IGRybV9k ZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKPiAgCQkJICBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGVfcHJp dikKPiAgewo+IGRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1fcGxhbmUuaCBiL2luY2x1ZGUv ZHJtL2RybV9wbGFuZS5oCj4gaW5kZXggOGExNTJkYy4uMjgzNTdhYyAxMDA2NDQKPiAtLS0gYS9p bmNsdWRlL2RybS9kcm1fcGxhbmUuaAo+ICsrKyBiL2luY2x1ZGUvZHJtL2RybV9wbGFuZS5oCj4g QEAgLTE3NCw2ICsxNzQsMTQgQEAgc3RydWN0IGRybV9wbGFuZV9zdGF0ZSB7Cj4gIAkgKi8KPiAg CWJvb2wgdmlzaWJsZTsKPiAgCj4gKwkvKiBAZGVnYW1tYV9sdXQ6Cj4gKwkgKgo+ICsJICogTG9v a3VwIHRhYmxlIGZvciBjb252ZXJ0aW5nIGZyYW1lYnVmZmVyIHBpeGVsIGRhdGEgYmVmb3JlIGFw cGx5IHRoZQo+ICsJICogY29sb3IgY29udmVyc2lvbiBtYXRyaXggQGN0bS4gU2VlIGRybV9wbGFu ZV9lbmFibGVfY29sb3JfbWdtdCgpLiBUaGUKPiArCSAqIGJsb2IgKGlmIG5vdCBOVUxMKSBpcyBh biBhcnJheSBvZiAmc3RydWN0IGRybV9jb2xvcl9sdXRfZXh0Lgo+ICsJICovCj4gKwlzdHJ1Y3Qg ZHJtX3Byb3BlcnR5X2Jsb2IgKmRlZ2FtbWFfbHV0Owo+ICsKPiAgCS8qKgo+ICAJICogQGNvbW1p dDogVHJhY2tzIHRoZSBwZW5kaW5nIGNvbW1pdCB0byBwcmV2ZW50IHVzZS1hZnRlci1mcmVlIGNv bmRpdGlvbnMsCj4gIAkgKiBhbmQgZm9yIGFzeW5jIHBsYW5lIHVwZGF0ZXMuCj4gQEAgLTE4NCw2 ICsxOTIsOCBAQCBzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlIHsKPiAgCj4gIAkvKiogQHN0YXRlOiBi YWNrcG9pbnRlciB0byBnbG9iYWwgZHJtX2F0b21pY19zdGF0ZSAqLwo+ICAJc3RydWN0IGRybV9h dG9taWNfc3RhdGUgKnN0YXRlOwo+ICsKPiArCXU4IGNvbG9yX21nbXRfY2hhbmdlZCA6IDE7Cj4g IH07Cj4gIAo+ICBzdGF0aWMgaW5saW5lIHN0cnVjdCBkcm1fcmVjdAo+IEBAIC02NzYsNiArNjg2 LDE4IEBAIHN0cnVjdCBkcm1fcGxhbmUgewo+ICAJICogU2VlIGRybV9wbGFuZV9jcmVhdGVfY29s b3JfcHJvcGVydGllcygpLgo+ICAJICovCj4gIAlzdHJ1Y3QgZHJtX3Byb3BlcnR5ICpjb2xvcl9y YW5nZV9wcm9wZXJ0eTsKPiArCj4gKwkvKioKPiArCSAqIEBkZWdhbW1hX2x1dF9wcm9wZXJ0eTog T3B0aW9uYWwgUGxhbmUgcHJvcGVydHkgdG8gc2V0IHRoZSBMVVQKPiArCSAqIHVzZWQgdG8gY29u dmVydCB0aGUgZnJhbWVidWZmZXIncyBjb2xvcnMgdG8gbGluZWFyIGdhbW1hLgo+ICsJICovCj4g KwlzdHJ1Y3QgZHJtX3Byb3BlcnR5ICpkZWdhbW1hX2x1dF9wcm9wZXJ0eTsKPiArCj4gKwkvKioK PiArCSAqIEBkZWdhbW1hX2x1dF9zaXplX3Byb3BlcnR5OiBPcHRpb25hbCBQbGFuZSBwcm9wZXJ0 eSBmb3IgdGhlCj4gKwkgKiBzaXplIG9mIHRoZSBkZWdhbW1hIExVVCBhcyBzdXBwb3J0ZWQgYnkg dGhlIGRyaXZlciAocmVhZC1vbmx5KS4KPiArCSAqLwo+ICsJc3RydWN0IGRybV9wcm9wZXJ0eSAq ZGVnYW1tYV9sdXRfc2l6ZV9wcm9wZXJ0eTsKPiAgfTsKPiAgCj4gICNkZWZpbmUgb2JqX3RvX3Bs YW5lKHgpIGNvbnRhaW5lcl9vZih4LCBzdHJ1Y3QgZHJtX3BsYW5lLCBiYXNlKQo+IEBAIC03MjUs NiArNzQ3LDggQEAgc3RhdGljIGlubGluZSB1MzIgZHJtX3BsYW5lX21hc2soY29uc3Qgc3RydWN0 IGRybV9wbGFuZSAqcGxhbmUpCj4gIGludCBkcm1fbW9kZV9wbGFuZV9zZXRfb2JqX3Byb3Aoc3Ry dWN0IGRybV9wbGFuZSAqcGxhbmUsCj4gIAkJCQkgICAgICAgc3RydWN0IGRybV9wcm9wZXJ0eSAq cHJvcGVydHksCj4gIAkJCQkgICAgICAgdWludDY0X3QgdmFsdWUpOwo+ICtpbnQgZHJtX3BsYW5l X2NvbG9yX2NyZWF0ZV9wcm9wKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gKwkJCQlzdHJ1Y3Qg ZHJtX3BsYW5lICpwbGFuZSk7Cj4gIAo+ICAvKioKPiAgICogZHJtX3BsYW5lX2ZpbmQgLSBmaW5k IGEgJmRybV9wbGFuZQo+IC0tIAo+IDEuOS4xCj4gCj4gX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KPiBkcmktZGV2ZWwgbWFpbGluZyBsaXN0Cj4gZHJpLWRl dmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3Jn L21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCgpSZXZpZXdlZC1ieTogQWxleGFuZHJ1IEdoZW9y Z2hlIDxhbGV4YW5kcnUtY29zbWluLmdoZW9yZ2hlQGFybS5jb20+CgotLSAKQ2hlZXJzLApBbGV4 IEcKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwt Z2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8v bGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==