From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH RFC v3] drm: Add optinal COLOR_ENCODING and COLOR_RANGE properties to drm_plane Date: Mon, 15 May 2017 16:34:10 +0300 Message-ID: <20170515133410.GP12629@intel.com> References: <963db466139af1bc1e0ec96018a1ac92fde48f43.1494842310.git.jsarha@ti.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTPS id BE5196E200 for ; Mon, 15 May 2017 13:34:15 +0000 (UTC) Content-Disposition: inline In-Reply-To: <963db466139af1bc1e0ec96018a1ac92fde48f43.1494842310.git.jsarha@ti.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Jyri Sarha Cc: Liviu.Dudau@arm.com, dri-devel@lists.freedesktop.org, tomi.valkeinen@ti.com, laurent.pinchart@ideasonboard.com List-Id: dri-devel@lists.freedesktop.org T24gTW9uLCBNYXkgMTUsIDIwMTcgYXQgMDI6MTk6MDlQTSArMDMwMCwgSnlyaSBTYXJoYSB3cm90 ZToKPiBBZGQgYSBzdGFuZGFyZCBvcHRpbmFsIHByb3BlcnRpZXMgdG8gc3VwcG9ydCBkaWZmZXJl bnQgbm9uIFJHQiBjb2xvcgo+IGVuY29kaW5ncyBpbiBEUk0gcGxhbmVzLiBDT0xPUl9FTkNPRElO RyBzZWxlY3QgdGhlIHN1cHBvcnRlZCBub24gUkdCCj4gY29sb3IgZW5jb2RpbmcsIGZvciBpbnN0 YW5jZSBJVFUtUiBCVC43MDkgWUNiQ3IuIENPTE9SX1JBTkdFIHNlbGVjdHMKPiB0aGUgdmFsdWUg cmFuZ2VzIHdpdGhpbiB0aGUgc2VsZWN0ZWQgY29sb3IgZW5jb2RpbmcuIFRoZSBwcm9wZXJ0aWVz Cj4gYXJlIHN0b3JlZCB0byBkcm1fcGxhbmUgb2JqZWN0IHRvIGFsbG93IGRpZmZlcmVudCBzZXQg b2Ygc3VwcG9ydGVkCj4gZW5jb2RpbmcgZm9yIGRpZmZlcmVudCBwbGFuZXMgb24gdGhlIGRldmlj ZS4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBKeXJpIFNhcmhhIDxqc2FyaGFAdGkuY29tPgo+IC0tLQo+ ICBkcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5jICAgICB8ICA4ICsrKysKPiAgZHJpdmVycy9n cHUvZHJtL2RybV9jb2xvcl9tZ210LmMgfCA5NyArKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrCj4gIGRyaXZlcnMvZ3B1L2RybS9kcm1fcGxhbmUuYyAgICAgIHwgIDYgKysr Cj4gIGluY2x1ZGUvZHJtL2RybV9jb2xvcl9tZ210LmggICAgIHwgMjAgKysrKysrKysrCj4gIGlu Y2x1ZGUvZHJtL2RybV9wbGFuZS5oICAgICAgICAgIHwgIDggKysrKwo+ICA1IGZpbGVzIGNoYW5n ZWQsIDEzOSBpbnNlcnRpb25zKCspCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9k cm1fYXRvbWljLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5jCj4gaW5kZXggNDAzMzM4 NC4uZjM0MWRkYSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5jCj4g KysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMuYwo+IEBAIC03NzQsNiArNzc0LDEwIEBA IGludCBkcm1fYXRvbWljX3BsYW5lX3NldF9wcm9wZXJ0eShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFu ZSwKPiAgCQlzdGF0ZS0+cm90YXRpb24gPSB2YWw7Cj4gIAl9IGVsc2UgaWYgKHByb3BlcnR5ID09 IHBsYW5lLT56cG9zX3Byb3BlcnR5KSB7Cj4gIAkJc3RhdGUtPnpwb3MgPSB2YWw7Cj4gKwl9IGVs c2UgaWYgKHByb3BlcnR5ID09IHBsYW5lLT5jb2xvcl9lbmNvZGluZ19wcm9wZXJ0eSkgewo+ICsJ CXN0YXRlLT5jb2xvcl9lbmNvZGluZyA9IHZhbDsKPiArCX0gZWxzZSBpZiAocHJvcGVydHkgPT0g cGxhbmUtPmNvbG9yX3JhbmdlX3Byb3BlcnR5KSB7Cj4gKwkJc3RhdGUtPmNvbG9yX3JhbmdlID0g dmFsOwo+ICAJfSBlbHNlIGlmIChwbGFuZS0+ZnVuY3MtPmF0b21pY19zZXRfcHJvcGVydHkpIHsK PiAgCQlyZXR1cm4gcGxhbmUtPmZ1bmNzLT5hdG9taWNfc2V0X3Byb3BlcnR5KHBsYW5lLCBzdGF0 ZSwKPiAgCQkJCXByb3BlcnR5LCB2YWwpOwo+IEBAIC04MzQsNiArODM4LDEwIEBAIGludCBkcm1f YXRvbWljX3BsYW5lX3NldF9wcm9wZXJ0eShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKPiAgCQkq dmFsID0gc3RhdGUtPnJvdGF0aW9uOwo+ICAJfSBlbHNlIGlmIChwcm9wZXJ0eSA9PSBwbGFuZS0+ enBvc19wcm9wZXJ0eSkgewo+ICAJCSp2YWwgPSBzdGF0ZS0+enBvczsKPiArCX0gZWxzZSBpZiAo cHJvcGVydHkgPT0gcGxhbmUtPmNvbG9yX2VuY29kaW5nX3Byb3BlcnR5KSB7Cj4gKwkJKnZhbCA9 IHN0YXRlLT5jb2xvcl9lbmNvZGluZzsKPiArCX0gZWxzZSBpZiAocHJvcGVydHkgPT0gcGxhbmUt PmNvbG9yX3JhbmdlX3Byb3BlcnR5KSB7Cj4gKwkJKnZhbCA9IHN0YXRlLT5jb2xvcl9yYW5nZTsK PiAgCX0gZWxzZSBpZiAocGxhbmUtPmZ1bmNzLT5hdG9taWNfZ2V0X3Byb3BlcnR5KSB7Cj4gIAkJ cmV0dXJuIHBsYW5lLT5mdW5jcy0+YXRvbWljX2dldF9wcm9wZXJ0eShwbGFuZSwgc3RhdGUsIHBy b3BlcnR5LCB2YWwpOwo+ICAJfSBlbHNlIHsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2RybV9jb2xvcl9tZ210LmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2NvbG9yX21nbXQuYwo+IGlu ZGV4IDUzM2YzYTMuLjJlMDRlYmIgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9j b2xvcl9tZ210LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2NvbG9yX21nbXQuYwo+IEBA IC0zMyw2ICszMywxMSBAQAo+ICAgKiBwcm9wZXJ0aWVzIG9uIHRoZSAmZHJtX2NydGMgb2JqZWN0 LiBUaGV5IGFyZSBzZXQgdXAgYnkgY2FsbGluZwo+ICAgKiBkcm1fY3J0Y19lbmFibGVfY29sb3Jf bWdtdCgpLgo+ICAgKgo+ICsgKiBTdXBwb3J0IGZvciBkaWZmZXJlbnQgbm9uIFJHQiBjb2xvciBl bmNvZGluZ3MgaXMgY29udHJvbGxlZCB0cm91Z2gKPiArICogcGxhbmUgc3BlY2lmaWMgQ09MT1Jf RU5DT0RJTkcgYW5kIENPTE9SX1JBTkdFIHByb3BlcnRpZXMuCgpQdXR0aW5nIHRoaXMgY29tbWVu dCBpbiBtaWRkbGUgb2YgdGhlIGNydGMgc3R1ZmYgc2VlbXMgYSBiaXQgc3RyYW5nZQp3aGVuIHRo ZSByZXN0IG9mIHRoZSBwbGFuZSBzdHVmZiBpcyBhdCB0aGUgZW5kLiAKClRoaXMgc2hvdWxkIHNw ZWNpZnkgc29tZXdoZXJlIHRoYXQgdGhlc2UgcGxhbmUgcHJvcGVydGllcyBjb250cm9sCnRoZSBw bGFuZSBpbnB1dCBhbmQgbm90IHRoZSBvdXRwdXQuCgo+ICsgKgo+ICsgKiBUaGUgJmRybV9jcnRj IG9iamVjdCdzIHByb3BlcnRpZXMgYXJlOgo+ICsgKgo+ICAgKiAiREVHQU1NQV9MVVTigJ06Cj4g ICAqCUJsb2IgcHJvcGVydHkgdG8gc2V0IHRoZSBkZWdhbW1hIGxvb2t1cCB0YWJsZSAoTFVUKSBt YXBwaW5nIHBpeGVsIGRhdGEKPiAgICoJZnJvbSB0aGUgZnJhbWVidWZmZXIgYmVmb3JlIGl0IGlz IGdpdmVuIHRvIHRoZSB0cmFuc2Zvcm1hdGlvbiBtYXRyaXguCj4gQEAgLTg1LDYgKzkwLDE4IEBA Cj4gICAqIGRybV9tb2RlX2NydGNfc2V0X2dhbW1hX3NpemUoKS4gRHJpdmVycyB3aGljaCBzdXBw b3J0IGJvdGggc2hvdWxkIHVzZQo+ICAgKiBkcm1fYXRvbWljX2hlbHBlcl9sZWdhY3lfZ2FtbWFf c2V0KCkgdG8gYWxpYXMgdGhlIGxlZ2FjeSBnYW1tYSByYW1wIHdpdGggdGhlCj4gICAqICJHQU1N QV9MVVQiIHByb3BlcnR5IGFib3ZlLgo+ICsgKgo+ICsgKiBUaGUgJmRybV9wbGFuZSBvYmplY3Qn cyBwcm9wZXJ0aWVzIGFyZToKPiArICoKPiArICogIkNPTE9SX0VOQ09ESU5HIgo+ICsgKiAJT3B0 aW9uYWwgcGxhbmUgZW51bSBwcm9wZXJ0eSB0byBzdXBwb3J0IGRpZmZlcmVudCBub24gUkdCCj4g KyAqIAljb2xvciBlbmNvZGluZ3MuIFRoZSBkcml2ZXIgY2FuIHByb3ZpZGUgYSBzdWJzZXQgb2Yg c3RhbmRhcmQKPiArICogCWVudW0gdmFsdWVzIHN1cHBvcnRlZCBieSB0aGUgRFJNIHBsYW5lLgo+ ICsgKgo+ICsgKiAiQ09MT1JfUkFOR0UiCj4gKyAqIAlPcHRpb25hbCBwbGFuZSBlbnVtIHByb3Bl cnR5IHRvIHN1cHBvcnQgZGlmZmVyZW50IG5vbiBSR0IKPiArICogCWNvbG9yIHBhcmFtZXRlciBy YW5nZXMuIFRoZSBkcml2ZXIgY2FuIHByb3ZpZGUgYSBzdWJzZXQgb2YKPiArICogCXN0YW5kYXJk IGVudW0gdmFsdWVzIHN1cHBvcnRlZCBieSB0aGUgRFJNIHBsYW5lLgo+ICAgKi8KPiAgCj4gIC8q Kgo+IEBAIC0zMzMsMyArMzUwLDgzIEBAIGludCBkcm1fbW9kZV9nYW1tYV9nZXRfaW9jdGwoc3Ry dWN0IGRybV9kZXZpY2UgKmRldiwKPiAgCWRybV9tb2Rlc2V0X3VubG9jaygmY3J0Yy0+bXV0ZXgp Owo+ICAJcmV0dXJuIHJldDsKPiAgfQo+ICsKPiArc3RhdGljIGNoYXIgKmNvbG9yX2VuY29kaW5n X25hbWVbXSA9IHsKCk1pc3NpbmcgYSBmZXcgY29uc3RzLgoKPiArCVtEUk1fQ09MT1JfWUNCQ1Jf QlQ2MDFdID0gIklUVS1SIEJULjYwMSBZQ2JDciIsCj4gKwlbRFJNX0NPTE9SX1lDQkNSX0JUNzA5 XSA9ICJJVFUtUiBCVC43MDkgWUNiQ3IiLAo+ICsJW0RSTV9DT0xPUl9ZQ0JDUl9CVDIwMjBdID0g IklUVS1SIEJULjIwMjAgWUNiQ3IiLAo+ICt9Owo+ICsKPiArc3RhdGljIGNoYXIgKmNvbG9yX3Jh bmdlX25hbWVbXSA9IHsKCmRpdHRvLgoKPiArCVtEUk1fQ09MT1JfWUNCQ1JfRlVMTF9SQU5HRV0g PSAiWUNiQ3IgRlVMTCBSQU5HRSIsCj4gKwlbRFJNX0NPTE9SX1lDQkNSX0xJTUlURURfUkFOR0Vd ID0gIllDYkNyIExJTUlURUQgUkFOR0UiLAoKTG93ZXJjYXNlIGZvciB0aGUgc3RyaW5ncyBtYXli ZT8gSSBndWVzcyB3ZSBkb24ndCBoYXZlIGFueSBjb25zaXN0ZW50CnN0eWxlIGluIHRoaXMgcmVn YXJkLgoKPiArfTsKPiArCj4gKy8qKgo+ICsgKiBkcm1fcGxhbmVfY3JlYXRlX2NvbG9yX3Byb3Bl cnRpZXMgLSBjb2xvciBlbmNvZGluZyByZWxhdGVkIHBsYW5lIHByb3BlcnRpZXMKPiArICogQHN1 cHBvcnRlZF9lbmNvZGluZ3M6IGJpdGZpZWxkIGluZGljYXRpbmcgc3VwcG9ydGVkIGNvbG9yIGVu Y2RpbmdzCj4gKyAqIEBzdXBwb3J0ZWRfcmFuZ2VzOiBiaXRmaWxlbGQgaW5kaWNhdGluZyBzdXBw b3J0ZWQgY29sb3IgcmFuZ2VzCj4gKyAqIEBkZWZhdWx0X2VuY29kaW5nOiBkZWZhdWx0IGNvbG9y IGVuY29kaW5nCj4gKyAqIEBkZWZhdWx0X3JhbmdlOiBkZWZhdWx0IGNvbG9yIHJhbmdlCj4gKyAq Cj4gKyAqIENyZWF0ZSBhbmQgYXR0YWNoIHBsYW5lIHNwZWNpZmljIENPTE9SX0VOQ09ESU5HIGFu ZCBDT0xPUl9SQU5HRQo+ICsgKiBwcm9wZXJ0aWVzIHRvIHRvIHRoZSBkcm1fcGxhbmUgb2JqZWN0 LiBUaGUgc3VwcG9ydGVkIGVuY29kaW5ncyBhbmQKPiArICogcmFuZ2VzIHNob3VsZCBiZSBwcm92 aWRlZCBpbiBzdXBwb3J0ZWRfZW5jb2RpbmdzIGFuZAo+ICsgKiBzdXBwb3J0ZWRfcmFuZ2VzIGJp dG1hc2tzLiBFYWNoIGJpdCBzZXQgaW4gdGhlIGJpdG1hc3QgaW5kaWNhdGVzCj4gKyAqIHRoZSBp dHMgbnVtYmVyIGFzIGVudW0gdmFsdWUgYmVpbmcgc3VwcG9ydGVkLgo+ICsgKi8KPiAraW50IGRy bV9wbGFuZV9jcmVhdGVfY29sb3JfcHJvcGVydGllcyhzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwK PiArCQkJCSAgICAgIHUzMiBzdXBwb3J0ZWRfZW5jb2RpbmdzLAo+ICsJCQkJICAgICAgdTMyIHN1 cHBvcnRlZF9yYW5nZXMsCj4gKwkJCQkgICAgICBlbnVtIGRybV9jb2xvcl9lbmNvZGluZyBkZWZh dWx0X2VuY29kaW5nLAo+ICsJCQkJICAgICAgZW51bSBkcm1fY29sb3JfcmFuZ2UgZGVmYXVsdF9y YW5nZSkKPiArewo+ICsJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IHBsYW5lLT5kZXY7Cj4gKwlz dHJ1Y3QgZHJtX3Byb3BlcnR5ICpwcm9wOwo+ICsJc3RydWN0IGRybV9wcm9wX2VudW1fbGlzdCBl bnVtX2xpc3RbbWF4KERSTV9DT0xPUl9FTkNPRElOR19NQVgsCj4gKwkJCQkJCURSTV9DT0xPUl9S QU5HRV9NQVgpXTsKPiArCXVuc2lnbmVkIGludCBpLCBsZW47CgondW5zaWduZWQgaW50IGknIG1p Z2h0IHN1cnByaXNlIHNvbWVvbmUgaWYgdGhleSBldmVyIHRyeSB0byBjaGFuZ2UgdGhlCmxvb3Ag dG8gZ28gYmFja3dhcmRzLiBCZXR0ZXIgbWFrZSBpdCBzaWduZWQgSU1PLgoKPiArCj4gKwo+ICsJ aWYgKFdBUk5fT04ocGxhbmUtPmNvbG9yX2VuY29kaW5nX3Byb3BlcnR5ICE9IE5VTEwpIHx8Cj4g KwkgICAgV0FSTl9PTihwbGFuZS0+Y29sb3JfcmFuZ2VfcHJvcGVydHkgIT0gTlVMTCkpCj4gKwkJ cmV0dXJuIC1FRVhJU1Q7CgpJIHRoaW5rIEkgYWxyZWFkeSBzdGF0ZWQgdGhhdCB3ZSBkb24ndCBo YXZlIHRoZXNlIHNvcnRzIG9mIGNoZWNrcwplbHNld2hlcmUsIHNvIElNTyBubyBwb2ludCBpbiBh ZGRpbmcgdGhlbSBoZXJlIGVpdGhlciB1bmxlc3MgeW91CmdvIGFuZCBjaGFuZ2UgYWxsIHRoZSBv dGhlciBwbGFjZXMgdG9vLgoKSnVzdCBmZWVscyBsaWtlIGFjY3VtdWxhdGluZyByYW5kb20gZGlm ZmVyZW5jZXMgdGhhdCB3aWxsIGNvbmZ1c2UKcGVvcGxlIGluIHRoZSBmdXR1cmUuCgo+ICsKPiAr CWxlbiA9IDA7Cj4gKwlmb3IgKGkgPSAwOyBpIDwgRFJNX0NPTE9SX0VOQ09ESU5HX01BWDsgaSsr KSB7Cj4gKwkJaWYgKChCSVQoaSkgJiBzdXBwb3J0ZWRfZW5jb2RpbmdzKSA9PSAwKQoKJ2ZvbyAm IEJJVChpKScgd291bGQgYmUgdGhlIG1vcmUgY29udmVudGlvbmFsIG9yZGVyLgoKPiArCQkJY29u dGludWU7Cj4gKwo+ICsJCWVudW1fbGlzdFtpXS50eXBlID0gaTsKPiArCQllbnVtX2xpc3RbaV0u bmFtZSA9IGNvbG9yX2VuY29kaW5nX25hbWVbaV07CgplbnVtX2xpc3RbbGVuXSA/Cgo+ICsJCWxl bisrOwo+ICsJfQo+ICsKPiArCXByb3AgPSBkcm1fcHJvcGVydHlfY3JlYXRlX2VudW0oZGV2LCBE Uk1fTU9ERV9QUk9QX0FUT01JQywKPiArCQkJCQkiQ09MT1JfRU5DT0RJTkciLAo+ICsJCQkJCWVu dW1fbGlzdCwgbGVuKTsKPiArCWlmICghcHJvcCkKPiArCQlyZXR1cm4gLUVOT01FTTsKPiArCXBs YW5lLT5jb2xvcl9lbmNvZGluZ19wcm9wZXJ0eSA9IHByb3A7Cj4gKwlkcm1fb2JqZWN0X2F0dGFj aF9wcm9wZXJ0eSgmcGxhbmUtPmJhc2UsIHByb3AsIGRlZmF1bHRfZW5jb2RpbmcpOwoKTWlzc2lu ZyB0aGUgcGxhbmUtPnN0YXRlLT53aGF0ZXZlciBzZXR1cCBoZXJlLgoKPiArCj4gKwlsZW4gPSAw Owo+ICsJZm9yIChpID0gMDsgaSA8IERSTV9DT0xPUl9SQU5HRV9NQVg7IGkrKykgewo+ICsJCWlm ICgoQklUKGkpICYgc3VwcG9ydGVkX3JhbmdlcykgPT0gMCkKPiArCQkJY29udGludWU7Cj4gKwo+ ICsJCWVudW1fbGlzdFtpXS50eXBlID0gaTsKPiArCQllbnVtX2xpc3RbaV0ubmFtZSA9IGNvbG9y X3JhbmdlX25hbWVbaV07Cj4gKwkJbGVuKys7Cj4gKwl9Cj4gKwo+ICsJcHJvcCA9IGRybV9wcm9w ZXJ0eV9jcmVhdGVfZW51bShkZXYsIERSTV9NT0RFX1BST1BfQVRPTUlDLAo+ICsJCQkJCSJDT0xP Ul9SQU5HRSIsCj4gKwkJCQkJZW51bV9saXN0LCBsZW4pOwo+ICsJaWYgKCFwcm9wKQo+ICsJCXJl dHVybiAtRU5PTUVNOwo+ICsJcGxhbmUtPmNvbG9yX3JhbmdlX3Byb3BlcnR5ID0gcHJvcDsKPiAr CWRybV9vYmplY3RfYXR0YWNoX3Byb3BlcnR5KCZwbGFuZS0+YmFzZSwgcHJvcCwgZGVmYXVsdF9y YW5nZSk7CgpTYW1lIGlzc3VlcyBoZXJlCgpJIHdhcyBzb21ld2hhdCB3b25kZXJpbmcgaWYgd2Ug c2hvdWxkIGV2ZW4gaGF2ZSB0aGVzZSB0d28gcHJvcHMgaGFuZGxlZAppbiB0aGUgc2FtZSBmdW5j dGlvbiwgYnV0IEkgc3VwcG9zZSBpdCBkb2VzIG1ha2Ugc29tZSBzZW5zZS4gTm90IG11Y2gKcG9p bnQgaW4gYWRkaW5nIGp1c3Qgb25lIGJ1dCBub3QgdGhlIG90aGVyLgoKPiArCj4gKwlyZXR1cm4g MDsKPiArfQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX3BsYW5lLmMgYi9kcml2 ZXJzL2dwdS9kcm0vZHJtX3BsYW5lLmMKPiBpbmRleCBmZWRkNGQ2Li5hNjc2MmU4IDEwMDY0NAo+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fcGxhbmUuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9kcm1fcGxhbmUuYwo+IEBAIC0yNDQsNiArMjQ0LDEyIEBAIHZvaWQgZHJtX3BsYW5lX2NsZWFu dXAoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUpCj4gIAo+ICAJa2ZyZWUocGxhbmUtPm5hbWUpOwo+ ICAKPiArCWlmIChwbGFuZS0+Y29sb3JfZW5jb2RpbmdfcHJvcGVydHkpCj4gKwkJZHJtX3Byb3Bl cnR5X2Rlc3Ryb3koZGV2LCBwbGFuZS0+Y29sb3JfZW5jb2RpbmdfcHJvcGVydHkpOwo+ICsKPiAr CWlmIChwbGFuZS0+Y29sb3JfcmFuZ2VfcHJvcGVydHkpCj4gKwkJZHJtX3Byb3BlcnR5X2Rlc3Ry b3koZGV2LCBwbGFuZS0+Y29sb3JfcmFuZ2VfcHJvcGVydHkpOwoKTm90IG5lZWRlZC4KCj4gKwo+ ICAJbWVtc2V0KHBsYW5lLCAwLCBzaXplb2YoKnBsYW5lKSk7Cj4gIH0KPiAgRVhQT1JUX1NZTUJP TChkcm1fcGxhbmVfY2xlYW51cCk7Cj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9jb2xv cl9tZ210LmggYi9pbmNsdWRlL2RybS9kcm1fY29sb3JfbWdtdC5oCj4gaW5kZXggMDNhNTljYi4u N2ExYWY2MyAxMDA2NDQKPiAtLS0gYS9pbmNsdWRlL2RybS9kcm1fY29sb3JfbWdtdC5oCj4gKysr IGIvaW5jbHVkZS9kcm0vZHJtX2NvbG9yX21nbXQuaAo+IEBAIC0yNiw2ICsyNiw4IEBACj4gICNp bmNsdWRlIDxsaW51eC9jdHlwZS5oPgo+ICAKPiAgc3RydWN0IGRybV9jcnRjOwo+ICtzdHJ1Y3Qg ZHJtX3BsYW5lOwo+ICtzdHJ1Y3QgZHJtX3Byb3BfZW51bV9saXN0Owo+ICAKPiAgdWludDMyX3Qg ZHJtX2NvbG9yX2x1dF9leHRyYWN0KHVpbnQzMl90IHVzZXJfaW5wdXQsIHVpbnQzMl90IGJpdF9w cmVjaXNpb24pOwo+ICAKPiBAQCAtMzcsNCArMzksMjIgQEAgdm9pZCBkcm1fY3J0Y19lbmFibGVf Y29sb3JfbWdtdChzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gIGludCBkcm1fbW9kZV9jcnRjX3Nl dF9nYW1tYV9zaXplKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKPiAgCQkJCSBpbnQgZ2FtbWFfc2l6 ZSk7Cj4gIAo+ICtlbnVtIGRybV9jb2xvcl9lbmNvZGluZyB7Cj4gKwlEUk1fQ09MT1JfWUNCQ1Jf QlQ2MDEgPSAwLAoKPSAwIHNlZW1zIHBvaW50bGVzcy4KCj4gKwlEUk1fQ09MT1JfWUNCQ1JfQlQ3 MDksCj4gKwlEUk1fQ09MT1JfWUNCQ1JfQlQyMDIwLAo+ICsJRFJNX0NPTE9SX0VOQ09ESU5HX01B WCwKPiArfTsKPiArCj4gK2VudW0gZHJtX2NvbG9yX3JhbmdlIHsKPiArCURSTV9DT0xPUl9ZQ0JD Ul9MSU1JVEVEX1JBTkdFID0gMCwKCmRpdHRvCgo+ICsJRFJNX0NPTE9SX1lDQkNSX0ZVTExfUkFO R0UsCj4gKwlEUk1fQ09MT1JfUkFOR0VfTUFYLAo+ICt9Owo+ICsKPiAraW50IGRybV9wbGFuZV9j cmVhdGVfY29sb3JfcHJvcGVydGllcyhzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKPiArCQkJCSAg ICAgIHUzMiBzdXBwb3J0ZWRfZW5jb2RpbmdzLAo+ICsJCQkJICAgICAgdTMyIHN1cHBvcnRlZF9y YW5nZXMsCj4gKwkJCQkgICAgICBlbnVtIGRybV9jb2xvcl9lbmNvZGluZyBkZWZhdWx0X2VuY29k aW5nLAo+ICsJCQkJICAgICAgZW51bSBkcm1fY29sb3JfcmFuZ2UgZGVmYXVsdF9yYW5nZSk7Cj4g ICNlbmRpZgo+IGRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1fcGxhbmUuaCBiL2luY2x1ZGUv ZHJtL2RybV9wbGFuZS5oCj4gaW5kZXggOWFiM2U3MC4uZjRkZTVmOSAxMDA2NDQKPiAtLS0gYS9p bmNsdWRlL2RybS9kcm1fcGxhbmUuaAo+ICsrKyBiL2luY2x1ZGUvZHJtL2RybV9wbGFuZS5oCj4g QEAgLTI2LDYgKzI2LDcgQEAKPiAgI2luY2x1ZGUgPGxpbnV4L2xpc3QuaD4KPiAgI2luY2x1ZGUg PGxpbnV4L2N0eXBlLmg+Cj4gICNpbmNsdWRlIDxkcm0vZHJtX21vZGVfb2JqZWN0Lmg+Cj4gKyNp bmNsdWRlIDxkcm0vZHJtX2NvbG9yX21nbXQuaD4KPiAgCj4gIHN0cnVjdCBkcm1fY3J0YzsKPiAg c3RydWN0IGRybV9wcmludGVyOwo+IEBAIC0xMTIsNiArMTEzLDEwIEBAIHN0cnVjdCBkcm1fcGxh bmVfc3RhdGUgewo+ICAJdW5zaWduZWQgaW50IHpwb3M7Cj4gIAl1bnNpZ25lZCBpbnQgbm9ybWFs aXplZF96cG9zOwo+ICAKPiArCS8qIENvbG9yIGVuY29kaW5nIGZvciBub24gUkdCIGZvcm1hdHMg Ki8KPiArCWVudW0gZHJtX2NvbG9yX2VuY29kaW5nIGNvbG9yX2VuY29kaW5nOwo+ICsJZW51bSBk cm1fY29sb3JfcmFuZ2UgY29sb3JfcmFuZ2U7Cj4gKwo+ICAJLyogQ2xpcHBlZCBjb29yZGluYXRl cyAqLwo+ICAJc3RydWN0IGRybV9yZWN0IHNyYywgZHN0Owo+ICAKPiBAQCAtNTIzLDYgKzUyOCw5 IEBAIHN0cnVjdCBkcm1fcGxhbmUgewo+ICAKPiAgCXN0cnVjdCBkcm1fcHJvcGVydHkgKnpwb3Nf cHJvcGVydHk7Cj4gIAlzdHJ1Y3QgZHJtX3Byb3BlcnR5ICpyb3RhdGlvbl9wcm9wZXJ0eTsKPiAr Cj4gKwlzdHJ1Y3QgZHJtX3Byb3BlcnR5ICpjb2xvcl9lbmNvZGluZ19wcm9wZXJ0eTsKPiArCXN0 cnVjdCBkcm1fcHJvcGVydHkgKmNvbG9yX3JhbmdlX3Byb3BlcnR5Owo+ICB9Owo+ICAKPiAgI2Rl ZmluZSBvYmpfdG9fcGxhbmUoeCkgY29udGFpbmVyX29mKHgsIHN0cnVjdCBkcm1fcGxhbmUsIGJh c2UpCj4gLS0gCj4gMS45LjEKCi0tIApWaWxsZSBTeXJqw6Rsw6QKSW50ZWwgT1RDCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5n IGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVk ZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=