From mboxrd@z Thu Jan 1 00:00:00 1970 From: Christoph Manszewski Subject: Re: [v2, 1/8] drm: Add optional COLOR_ENCODING and COLOR_RANGE properties to drm_plane Date: Fri, 30 Nov 2018 14:08:11 +0100 Message-ID: <2a1074ba-e2a7-83fc-8a13-c785dc8da2f9@samsung.com> References: <20180219202823.10508-1-ville.syrjala@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mailout2.w1.samsung.com (mailout2.w1.samsung.com [210.118.77.12]) by gabe.freedesktop.org (Postfix) with ESMTPS id A6DB06E5EB for ; Fri, 30 Nov 2018 13:08:15 +0000 (UTC) Received: from eucas1p1.samsung.com (unknown [182.198.249.206]) by mailout2.w1.samsung.com (KnoxPortal) with ESMTP id 20181130130814euoutp027f55ea0551fe356e5cffc34df5dcfd5d~r6NPk7kKM1386313863euoutp02Z for ; Fri, 30 Nov 2018 13:08:14 +0000 (GMT) In-Reply-To: <20180219202823.10508-1-ville.syrjala@linux.intel.com> Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Ville Syrjala , dri-devel@lists.freedesktop.org Cc: Hans Verkuil , intel-gfx@lists.freedesktop.org, Harry Wentland , Russell King - ARM Linux , Ilia Mirkin List-Id: intel-gfx@lists.freedesktop.org SGksCgpJIGFtIGxvb2tpbmcgZm9yIGEgd2F5IHRvIGV4cG9ydCB0aGUgY29sb3IgZW5jb2Rpbmcg YW5kIHJhbmdlIHNlbGVjdGlvbgp0byB1c2VyIHNwYWNlLiBJIGNhbWUgYWNyb3NzIHRob3NlIHBy b3BlcnRpZXMgYW5kIGFtIHdvbmRlcmluZywgd2h5CnRoZXkgYXJlIG1lYW50IG9ubHkgZm9yIG5v biBSR0IgY29sb3IgZW5jb2RpbmdzLiBXb3VsZCBpdCBiZSBva2F5LCB0bwptb2RpZnkgdGhlbSBh bmQgdXNlIHdpdGggUkdCIGZvcm1hdHMgYXMgd2VsbD8KClJlZ2FyZHMsCkNocmlzCgoKT24gMDIv MTkvMjAxOCAwOToyOCBQTSwgVmlsbGUgU3lyamFsYSB3cm90ZToKPiBGcm9tOiBKeXJpIFNhcmhh IDxqc2FyaGFAdGkuY29tPgo+Cj4gQWRkIGEgc3RhbmRhcmQgb3B0aW9uYWwgcHJvcGVydGllcyB0 byBzdXBwb3J0IGRpZmZlcmVudCBub24gUkdCIGNvbG9yCj4gZW5jb2RpbmdzIGluIERSTSBwbGFu ZXMuIENPTE9SX0VOQ09ESU5HIHNlbGVjdCB0aGUgc3VwcG9ydGVkIG5vbiBSR0IKPiBjb2xvciBl bmNvZGluZywgZm9yIGluc3RhbmNlIElUVS1SIEJULjcwOSBZQ2JDci4gQ09MT1JfUkFOR0Ugc2Vs ZWN0cwo+IHRoZSB2YWx1ZSByYW5nZXMgd2l0aGluIHRoZSBzZWxlY3RlZCBjb2xvciBlbmNvZGlu Zy4gVGhlIHByb3BlcnRpZXMKPiBhcmUgc3RvcmVkIHRvIGRybV9wbGFuZSBvYmplY3QgdG8gYWxs b3cgZGlmZmVyZW50IHNldCBvZiBzdXBwb3J0ZWQKPiBlbmNvZGluZyBmb3IgZGlmZmVyZW50IHBs YW5lcyBvbiB0aGUgZGV2aWNlLgo+Cj4gdjI6IEFkZC9maXgga2VybmVsZG9jcywgdmVyaWZ5IGJp dG1hc2tzIChkYW52ZXQpCj4KPiBDYzogSGFycnkgV2VudGxhbmQgPGhhcnJ5LndlbnRsYW5kQGFt ZC5jb20+Cj4gQ2M6IERhbmllbCBWZXR0ZXIgPGRhbmllbEBmZndsbC5jaD4KPiBDYzogRGFuaWVs IFN0b25lIDxkYW5pZWxAZm9vaXNoYmFyLm9yZz4KPiBDYzogUnVzc2VsbCBLaW5nIC0gQVJNIExp bnV4IDxsaW51eEBhcm1saW51eC5vcmcudWs+Cj4gQ2M6IElsaWEgTWlya2luIDxpbWlya2luQGFs dW0ubWl0LmVkdT4KPiBDYzogSGFucyBWZXJrdWlsIDxodmVya3VpbEB4czRhbGwubmw+Cj4gQ2M6 IFVtYSBTaGFua2FyIDx1bWEuc2hhbmthckBpbnRlbC5jb20+Cj4gQ2M6IFNoYXNoYW5rIFNoYXJt YSA8c2hhc2hhbmsuc2hhcm1hQGludGVsLmNvbT4KPiBSZXZpZXdlZC1ieTogVmlsbGUgU3lyasOk bMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KPiBTaWduZWQtb2ZmLWJ5OiBKeXJp IFNhcmhhIDxqc2FyaGFAdGkuY29tPgo+IFt2c3lyamFsYSB2MjogQWRkL2ZpeCBrZXJuZWxkb2Nz LCB2ZXJpZnkgYml0bWFza3NdCj4gU2lnbmVkLW9mZi1ieTogVmlsbGUgU3lyasOkbMOkIDx2aWxs ZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KPiBSZXZpZXdlZC1ieTogRGFuaWVsIFZldHRlciA8 ZGFuaWVsLnZldHRlckBmZndsbC5jaD4KPiAtLS0KPiAgIGRyaXZlcnMvZ3B1L2RybS9kcm1fYXRv bWljLmMgICAgIHwgICA4ICsrKwo+ICAgZHJpdmVycy9ncHUvZHJtL2RybV9jb2xvcl9tZ210LmMg fCAxMDMgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCj4gICBpbmNsdWRl L2RybS9kcm1fY29sb3JfbWdtdC5oICAgICB8ICAxOSArKysrKysrKwo+ICAgaW5jbHVkZS9kcm0v ZHJtX3BsYW5lLmggICAgICAgICAgfCAgMzIgKysrKysrKysrKysrCj4gICA0IGZpbGVzIGNoYW5n ZWQsIDE2MiBpbnNlcnRpb25zKCspCj4KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2Ry bV9hdG9taWMuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljLmMKPiBpbmRleCA0NjczM2Q1 MzQ1ODcuLjQ1MmEwYjBiYWZiYyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0 b21pYy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMuYwo+IEBAIC03NTksNiAr NzU5LDEwIEBAIHN0YXRpYyBpbnQgZHJtX2F0b21pY19wbGFuZV9zZXRfcHJvcGVydHkoc3RydWN0 IGRybV9wbGFuZSAqcGxhbmUsCj4gICAJCXN0YXRlLT5yb3RhdGlvbiA9IHZhbDsKPiAgIAl9IGVs c2UgaWYgKHByb3BlcnR5ID09IHBsYW5lLT56cG9zX3Byb3BlcnR5KSB7Cj4gICAJCXN0YXRlLT56 cG9zID0gdmFsOwo+ICsJfSBlbHNlIGlmIChwcm9wZXJ0eSA9PSBwbGFuZS0+Y29sb3JfZW5jb2Rp bmdfcHJvcGVydHkpIHsKPiArCQlzdGF0ZS0+Y29sb3JfZW5jb2RpbmcgPSB2YWw7Cj4gKwl9IGVs c2UgaWYgKHByb3BlcnR5ID09IHBsYW5lLT5jb2xvcl9yYW5nZV9wcm9wZXJ0eSkgewo+ICsJCXN0 YXRlLT5jb2xvcl9yYW5nZSA9IHZhbDsKPiAgIAl9IGVsc2UgaWYgKHBsYW5lLT5mdW5jcy0+YXRv bWljX3NldF9wcm9wZXJ0eSkgewo+ICAgCQlyZXR1cm4gcGxhbmUtPmZ1bmNzLT5hdG9taWNfc2V0 X3Byb3BlcnR5KHBsYW5lLCBzdGF0ZSwKPiAgIAkJCQlwcm9wZXJ0eSwgdmFsKTsKPiBAQCAtODE4 LDYgKzgyMiwxMCBAQCBkcm1fYXRvbWljX3BsYW5lX2dldF9wcm9wZXJ0eShzdHJ1Y3QgZHJtX3Bs YW5lICpwbGFuZSwKPiAgIAkJKnZhbCA9IHN0YXRlLT5yb3RhdGlvbjsKPiAgIAl9IGVsc2UgaWYg KHByb3BlcnR5ID09IHBsYW5lLT56cG9zX3Byb3BlcnR5KSB7Cj4gICAJCSp2YWwgPSBzdGF0ZS0+ enBvczsKPiArCX0gZWxzZSBpZiAocHJvcGVydHkgPT0gcGxhbmUtPmNvbG9yX2VuY29kaW5nX3By b3BlcnR5KSB7Cj4gKwkJKnZhbCA9IHN0YXRlLT5jb2xvcl9lbmNvZGluZzsKPiArCX0gZWxzZSBp ZiAocHJvcGVydHkgPT0gcGxhbmUtPmNvbG9yX3JhbmdlX3Byb3BlcnR5KSB7Cj4gKwkJKnZhbCA9 IHN0YXRlLT5jb2xvcl9yYW5nZTsKPiAgIAl9IGVsc2UgaWYgKHBsYW5lLT5mdW5jcy0+YXRvbWlj X2dldF9wcm9wZXJ0eSkgewo+ICAgCQlyZXR1cm4gcGxhbmUtPmZ1bmNzLT5hdG9taWNfZ2V0X3By b3BlcnR5KHBsYW5lLCBzdGF0ZSwgcHJvcGVydHksIHZhbCk7Cj4gICAJfSBlbHNlIHsKPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9jb2xvcl9tZ210LmMgYi9kcml2ZXJzL2dwdS9k cm0vZHJtX2NvbG9yX21nbXQuYwo+IGluZGV4IDBkMDAyYjA0NWJkMi4uNGI4M2UwNzhkM2U5IDEw MDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fY29sb3JfbWdtdC5jCj4gKysrIGIvZHJp dmVycy9ncHUvZHJtL2RybV9jb2xvcl9tZ210LmMKPiBAQCAtODgsNiArODgsMjAgQEAKPiAgICAq IGRybV9tb2RlX2NydGNfc2V0X2dhbW1hX3NpemUoKS4gRHJpdmVycyB3aGljaCBzdXBwb3J0IGJv dGggc2hvdWxkIHVzZQo+ICAgICogZHJtX2F0b21pY19oZWxwZXJfbGVnYWN5X2dhbW1hX3NldCgp IHRvIGFsaWFzIHRoZSBsZWdhY3kgZ2FtbWEgcmFtcCB3aXRoIHRoZQo+ICAgICogIkdBTU1BX0xV VCIgcHJvcGVydHkgYWJvdmUuCj4gKyAqCj4gKyAqIFN1cHBvcnQgZm9yIGRpZmZlcmVudCBub24g UkdCIGNvbG9yIGVuY29kaW5ncyBpcyBjb250cm9sbGVkIHRocm91Z2gKPiArICogJmRybV9wbGFu ZSBzcGVjaWZpYyBDT0xPUl9FTkNPRElORyBhbmQgQ09MT1JfUkFOR0UgcHJvcGVydGllcy4gVGhl eQo+ICsgKiBhcmUgc2V0IHVwIGJ5IGNhbGxpbmcgZHJtX3BsYW5lX2NyZWF0ZV9jb2xvcl9wcm9w ZXJ0aWVzKCkuCj4gKyAqCj4gKyAqICJDT0xPUl9FTkNPRElORyIKPiArICogCU9wdGlvbmFsIHBs YW5lIGVudW0gcHJvcGVydHkgdG8gc3VwcG9ydCBkaWZmZXJlbnQgbm9uIFJHQgo+ICsgKiAJY29s b3IgZW5jb2RpbmdzLiBUaGUgZHJpdmVyIGNhbiBwcm92aWRlIGEgc3Vic2V0IG9mIHN0YW5kYXJk Cj4gKyAqIAllbnVtIHZhbHVlcyBzdXBwb3J0ZWQgYnkgdGhlIERSTSBwbGFuZS4KPiArICoKPiAr ICogIkNPTE9SX1JBTkdFIgo+ICsgKiAJT3B0aW9uYWwgcGxhbmUgZW51bSBwcm9wZXJ0eSB0byBz dXBwb3J0IGRpZmZlcmVudCBub24gUkdCCj4gKyAqIAljb2xvciBwYXJhbWV0ZXIgcmFuZ2VzLiBU aGUgZHJpdmVyIGNhbiBwcm92aWRlIGEgc3Vic2V0IG9mCj4gKyAqIAlzdGFuZGFyZCBlbnVtIHZh bHVlcyBzdXBwb3J0ZWQgYnkgdGhlIERSTSBwbGFuZS4KPiAgICAqLwo+ICAgCj4gICAvKioKPiBA QCAtMzM5LDMgKzM1Myw5MiBAQCBpbnQgZHJtX21vZGVfZ2FtbWFfZ2V0X2lvY3RsKHN0cnVjdCBk cm1fZGV2aWNlICpkZXYsCj4gICAJZHJtX21vZGVzZXRfdW5sb2NrKCZjcnRjLT5tdXRleCk7Cj4g ICAJcmV0dXJuIHJldDsKPiAgIH0KPiArCj4gK3N0YXRpYyBjb25zdCBjaGFyICogY29uc3QgY29s b3JfZW5jb2RpbmdfbmFtZVtdID0gewo+ICsJW0RSTV9DT0xPUl9ZQ0JDUl9CVDYwMV0gPSAiSVRV LVIgQlQuNjAxIFlDYkNyIiwKPiArCVtEUk1fQ09MT1JfWUNCQ1JfQlQ3MDldID0gIklUVS1SIEJU LjcwOSBZQ2JDciIsCj4gKwlbRFJNX0NPTE9SX1lDQkNSX0JUMjAyMF0gPSAiSVRVLVIgQlQuMjAy MCBZQ2JDciIsCj4gK307Cj4gKwo+ICtzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IGNvbG9yX3Jh bmdlX25hbWVbXSA9IHsKPiArCVtEUk1fQ09MT1JfWUNCQ1JfRlVMTF9SQU5HRV0gPSAiWUNiQ3Ig ZnVsbCByYW5nZSIsCj4gKwlbRFJNX0NPTE9SX1lDQkNSX0xJTUlURURfUkFOR0VdID0gIllDYkNy IGxpbWl0ZWQgcmFuZ2UiLAo+ICt9Owo+ICsKPiArLyoqCj4gKyAqIGRybV9wbGFuZV9jcmVhdGVf Y29sb3JfcHJvcGVydGllcyAtIGNvbG9yIGVuY29kaW5nIHJlbGF0ZWQgcGxhbmUgcHJvcGVydGll cwo+ICsgKiBAcGxhbmU6IHBsYW5lIG9iamVjdAo+ICsgKiBAc3VwcG9ydGVkX2VuY29kaW5nczog Yml0ZmllbGQgaW5kaWNhdGluZyBzdXBwb3J0ZWQgY29sb3IgZW5jb2RpbmdzCj4gKyAqIEBzdXBw b3J0ZWRfcmFuZ2VzOiBiaXRmaWxlbGQgaW5kaWNhdGluZyBzdXBwb3J0ZWQgY29sb3IgcmFuZ2Vz Cj4gKyAqIEBkZWZhdWx0X2VuY29kaW5nOiBkZWZhdWx0IGNvbG9yIGVuY29kaW5nCj4gKyAqIEBk ZWZhdWx0X3JhbmdlOiBkZWZhdWx0IGNvbG9yIHJhbmdlCj4gKyAqCj4gKyAqIENyZWF0ZSBhbmQg YXR0YWNoIHBsYW5lIHNwZWNpZmljIENPTE9SX0VOQ09ESU5HIGFuZCBDT0xPUl9SQU5HRQo+ICsg KiBwcm9wZXJ0aWVzIHRvIEBwbGFuZS4gVGhlIHN1cHBvcnRlZCBlbmNvZGluZ3MgYW5kIHJhbmdl cyBzaG91bGQKPiArICogYmUgcHJvdmlkZWQgaW4gc3VwcG9ydGVkX2VuY29kaW5ncyBhbmQgc3Vw cG9ydGVkX3JhbmdlcyBiaXRtYXNrcy4KPiArICogRWFjaCBiaXQgc2V0IGluIHRoZSBiaXRtYXNr IGluZGljYXRlcyB0aGF0IGl0cyBudW1iZXIgYXMgZW51bQo+ICsgKiB2YWx1ZSBpcyBzdXBwb3J0 ZWQuCj4gKyAqLwo+ICtpbnQgZHJtX3BsYW5lX2NyZWF0ZV9jb2xvcl9wcm9wZXJ0aWVzKHN0cnVj dCBkcm1fcGxhbmUgKnBsYW5lLAo+ICsJCQkJICAgICAgdTMyIHN1cHBvcnRlZF9lbmNvZGluZ3Ms Cj4gKwkJCQkgICAgICB1MzIgc3VwcG9ydGVkX3JhbmdlcywKPiArCQkJCSAgICAgIGVudW0gZHJt X2NvbG9yX2VuY29kaW5nIGRlZmF1bHRfZW5jb2RpbmcsCj4gKwkJCQkgICAgICBlbnVtIGRybV9j b2xvcl9yYW5nZSBkZWZhdWx0X3JhbmdlKQo+ICt7Cj4gKwlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 ID0gcGxhbmUtPmRldjsKPiArCXN0cnVjdCBkcm1fcHJvcGVydHkgKnByb3A7Cj4gKwlzdHJ1Y3Qg ZHJtX3Byb3BfZW51bV9saXN0IGVudW1fbGlzdFttYXgoRFJNX0NPTE9SX0VOQ09ESU5HX01BWCwK PiArCQkJCQkJRFJNX0NPTE9SX1JBTkdFX01BWCldOwo+ICsJaW50IGksIGxlbjsKPiArCj4gKwlp ZiAoV0FSTl9PTihzdXBwb3J0ZWRfZW5jb2RpbmdzID09IDAgfHwKPiArCQkgICAgKHN1cHBvcnRl ZF9lbmNvZGluZ3MgJiAtQklUKERSTV9DT0xPUl9FTkNPRElOR19NQVgpKSAhPSAwIHx8Cj4gKwkJ ICAgIChzdXBwb3J0ZWRfZW5jb2RpbmdzICYgQklUKGRlZmF1bHRfZW5jb2RpbmcpKSA9PSAwKSkK PiArCQlyZXR1cm4gLUVJTlZBTDsKPiArCj4gKwlpZiAoV0FSTl9PTihzdXBwb3J0ZWRfcmFuZ2Vz ID09IDAgfHwKPiArCQkgICAgKHN1cHBvcnRlZF9yYW5nZXMgJiAtQklUKERSTV9DT0xPUl9SQU5H RV9NQVgpKSAhPSAwIHx8Cj4gKwkJICAgIChzdXBwb3J0ZWRfcmFuZ2VzICYgQklUKGRlZmF1bHRf cmFuZ2UpKSA9PSAwKSkKPiArCQlyZXR1cm4gLUVJTlZBTDsKPiArCj4gKwlsZW4gPSAwOwo+ICsJ Zm9yIChpID0gMDsgaSA8IERSTV9DT0xPUl9FTkNPRElOR19NQVg7IGkrKykgewo+ICsJCWlmICgo c3VwcG9ydGVkX2VuY29kaW5ncyAmIEJJVChpKSkgPT0gMCkKPiArCQkJY29udGludWU7Cj4gKwo+ ICsJCWVudW1fbGlzdFtsZW5dLnR5cGUgPSBpOwo+ICsJCWVudW1fbGlzdFtsZW5dLm5hbWUgPSBj b2xvcl9lbmNvZGluZ19uYW1lW2ldOwo+ICsJCWxlbisrOwo+ICsJfQo+ICsKPiArCXByb3AgPSBk cm1fcHJvcGVydHlfY3JlYXRlX2VudW0oZGV2LCAwLCAiQ09MT1JfRU5DT0RJTkciLAo+ICsJCQkJ CWVudW1fbGlzdCwgbGVuKTsKPiArCWlmICghcHJvcCkKPiArCQlyZXR1cm4gLUVOT01FTTsKPiAr CXBsYW5lLT5jb2xvcl9lbmNvZGluZ19wcm9wZXJ0eSA9IHByb3A7Cj4gKwlkcm1fb2JqZWN0X2F0 dGFjaF9wcm9wZXJ0eSgmcGxhbmUtPmJhc2UsIHByb3AsIGRlZmF1bHRfZW5jb2RpbmcpOwo+ICsJ aWYgKHBsYW5lLT5zdGF0ZSkKPiArCQlwbGFuZS0+c3RhdGUtPmNvbG9yX2VuY29kaW5nID0gZGVm YXVsdF9lbmNvZGluZzsKPiArCj4gKwlsZW4gPSAwOwo+ICsJZm9yIChpID0gMDsgaSA8IERSTV9D T0xPUl9SQU5HRV9NQVg7IGkrKykgewo+ICsJCWlmICgoc3VwcG9ydGVkX3JhbmdlcyAmIEJJVChp KSkgPT0gMCkKPiArCQkJY29udGludWU7Cj4gKwo+ICsJCWVudW1fbGlzdFtsZW5dLnR5cGUgPSBp Owo+ICsJCWVudW1fbGlzdFtsZW5dLm5hbWUgPSBjb2xvcl9yYW5nZV9uYW1lW2ldOwo+ICsJCWxl bisrOwo+ICsJfQo+ICsKPiArCXByb3AgPSBkcm1fcHJvcGVydHlfY3JlYXRlX2VudW0oZGV2LCAw LAkiQ09MT1JfUkFOR0UiLAo+ICsJCQkJCWVudW1fbGlzdCwgbGVuKTsKPiArCWlmICghcHJvcCkK PiArCQlyZXR1cm4gLUVOT01FTTsKPiArCXBsYW5lLT5jb2xvcl9yYW5nZV9wcm9wZXJ0eSA9IHBy b3A7Cj4gKwlkcm1fb2JqZWN0X2F0dGFjaF9wcm9wZXJ0eSgmcGxhbmUtPmJhc2UsIHByb3AsIGRl ZmF1bHRfcmFuZ2UpOwo+ICsJaWYgKHBsYW5lLT5zdGF0ZSkKPiArCQlwbGFuZS0+c3RhdGUtPmNv bG9yX3JhbmdlID0gZGVmYXVsdF9yYW5nZTsKPiArCj4gKwlyZXR1cm4gMDsKPiArfQo+ICtFWFBP UlRfU1lNQk9MKGRybV9wbGFuZV9jcmVhdGVfY29sb3JfcHJvcGVydGllcyk7Cj4gZGlmZiAtLWdp dCBhL2luY2x1ZGUvZHJtL2RybV9jb2xvcl9tZ210LmggYi9pbmNsdWRlL2RybS9kcm1fY29sb3Jf bWdtdC5oCj4gaW5kZXggMDNhNTljYmNlNjIxLi5iM2I2ZDMwMmNhOGMgMTAwNjQ0Cj4gLS0tIGEv aW5jbHVkZS9kcm0vZHJtX2NvbG9yX21nbXQuaAo+ICsrKyBiL2luY2x1ZGUvZHJtL2RybV9jb2xv cl9tZ210LmgKPiBAQCAtMjYsNiArMjYsNyBAQAo+ICAgI2luY2x1ZGUgPGxpbnV4L2N0eXBlLmg+ Cj4gICAKPiAgIHN0cnVjdCBkcm1fY3J0YzsKPiArc3RydWN0IGRybV9wbGFuZTsKPiAgIAo+ICAg dWludDMyX3QgZHJtX2NvbG9yX2x1dF9leHRyYWN0KHVpbnQzMl90IHVzZXJfaW5wdXQsIHVpbnQz Ml90IGJpdF9wcmVjaXNpb24pOwo+ICAgCj4gQEAgLTM3LDQgKzM4LDIyIEBAIHZvaWQgZHJtX2Ny dGNfZW5hYmxlX2NvbG9yX21nbXQoc3RydWN0IGRybV9jcnRjICpjcnRjLAo+ICAgaW50IGRybV9t b2RlX2NydGNfc2V0X2dhbW1hX3NpemUoc3RydWN0IGRybV9jcnRjICpjcnRjLAo+ICAgCQkJCSBp bnQgZ2FtbWFfc2l6ZSk7Cj4gICAKPiArZW51bSBkcm1fY29sb3JfZW5jb2Rpbmcgewo+ICsJRFJN X0NPTE9SX1lDQkNSX0JUNjAxLAo+ICsJRFJNX0NPTE9SX1lDQkNSX0JUNzA5LAo+ICsJRFJNX0NP TE9SX1lDQkNSX0JUMjAyMCwKPiArCURSTV9DT0xPUl9FTkNPRElOR19NQVgsCj4gK307Cj4gKwo+ ICtlbnVtIGRybV9jb2xvcl9yYW5nZSB7Cj4gKwlEUk1fQ09MT1JfWUNCQ1JfTElNSVRFRF9SQU5H RSwKPiArCURSTV9DT0xPUl9ZQ0JDUl9GVUxMX1JBTkdFLAo+ICsJRFJNX0NPTE9SX1JBTkdFX01B WCwKPiArfTsKPiArCj4gK2ludCBkcm1fcGxhbmVfY3JlYXRlX2NvbG9yX3Byb3BlcnRpZXMoc3Ry dWN0IGRybV9wbGFuZSAqcGxhbmUsCj4gKwkJCQkgICAgICB1MzIgc3VwcG9ydGVkX2VuY29kaW5n cywKPiArCQkJCSAgICAgIHUzMiBzdXBwb3J0ZWRfcmFuZ2VzLAo+ICsJCQkJICAgICAgZW51bSBk cm1fY29sb3JfZW5jb2RpbmcgZGVmYXVsdF9lbmNvZGluZywKPiArCQkJCSAgICAgIGVudW0gZHJt X2NvbG9yX3JhbmdlIGRlZmF1bHRfcmFuZ2UpOwo+ICAgI2VuZGlmCj4gZGlmZiAtLWdpdCBhL2lu Y2x1ZGUvZHJtL2RybV9wbGFuZS5oIGIvaW5jbHVkZS9kcm0vZHJtX3BsYW5lLmgKPiBpbmRleCA4 MTg1ZTM0NjhhMjMuLmY3YmY0YTQ4YjFjMyAxMDA2NDQKPiAtLS0gYS9pbmNsdWRlL2RybS9kcm1f cGxhbmUuaAo+ICsrKyBiL2luY2x1ZGUvZHJtL2RybV9wbGFuZS5oCj4gQEAgLTI2LDYgKzI2LDcg QEAKPiAgICNpbmNsdWRlIDxsaW51eC9saXN0Lmg+Cj4gICAjaW5jbHVkZSA8bGludXgvY3R5cGUu aD4KPiAgICNpbmNsdWRlIDxkcm0vZHJtX21vZGVfb2JqZWN0Lmg+Cj4gKyNpbmNsdWRlIDxkcm0v ZHJtX2NvbG9yX21nbXQuaD4KPiAgIAo+ICAgc3RydWN0IGRybV9jcnRjOwo+ICAgc3RydWN0IGRy bV9wcmludGVyOwo+IEBAIC0xMTIsNiArMTEzLDIwIEBAIHN0cnVjdCBkcm1fcGxhbmVfc3RhdGUg ewo+ICAgCXVuc2lnbmVkIGludCB6cG9zOwo+ICAgCXVuc2lnbmVkIGludCBub3JtYWxpemVkX3pw b3M7Cj4gICAKPiArCS8qKgo+ICsJICogQGNvbG9yX2VuY29kaW5nOgo+ICsJICoKPiArCSAqIENv bG9yIGVuY29kaW5nIGZvciBub24gUkdCIGZvcm1hdHMKPiArCSAqLwo+ICsJZW51bSBkcm1fY29s b3JfZW5jb2RpbmcgY29sb3JfZW5jb2Rpbmc7Cj4gKwo+ICsJLyoqCj4gKwkgKiBAY29sb3JfcmFu Z2U6Cj4gKwkgKgo+ICsJICogQ29sb3IgcmFuZ2UgZm9yIG5vbiBSR0IgZm9ybWF0cwo+ICsJICov Cj4gKwllbnVtIGRybV9jb2xvcl9yYW5nZSBjb2xvcl9yYW5nZTsKPiArCj4gICAJLyogQ2xpcHBl ZCBjb29yZGluYXRlcyAqLwo+ICAgCXN0cnVjdCBkcm1fcmVjdCBzcmMsIGRzdDsKPiAgIAo+IEBA IC01NTgsNiArNTczLDIzIEBAIHN0cnVjdCBkcm1fcGxhbmUgewo+ICAgCj4gICAJc3RydWN0IGRy bV9wcm9wZXJ0eSAqenBvc19wcm9wZXJ0eTsKPiAgIAlzdHJ1Y3QgZHJtX3Byb3BlcnR5ICpyb3Rh dGlvbl9wcm9wZXJ0eTsKPiArCj4gKwkvKioKPiArCSAqIEBjb2xvcl9lbmNvZGluZ19wcm9wZXJ0 eToKPiArCSAqCj4gKwkgKiBPcHRpb25hbCAiQ09MT1JfRU5DT0RJTkciIGVudW0gcHJvcGVydHkg Zm9yIHNwZWNpZnlpbmcKPiArCSAqIGNvbG9yIGVuY29kaW5nIGZvciBub24gUkdCIGZvcm1hdHMu Cj4gKwkgKiBTZWUgZHJtX3BsYW5lX2NyZWF0ZV9jb2xvcl9wcm9wZXJ0aWVzKCkuCj4gKwkgKi8K PiArCXN0cnVjdCBkcm1fcHJvcGVydHkgKmNvbG9yX2VuY29kaW5nX3Byb3BlcnR5Owo+ICsJLyoq Cj4gKwkgKiBAY29sb3JfcmFuZ2VfcHJvcGVydHk6Cj4gKwkgKgo+ICsJICogT3B0aW9uYWwgIkNP TE9SX1JBTkdFIiBlbnVtIHByb3BlcnR5IGZvciBzcGVjaWZ5aW5nCj4gKwkgKiBjb2xvciByYW5n ZSBmb3Igbm9uIFJHQiBmb3JtYXRzLgo+ICsJICogU2VlIGRybV9wbGFuZV9jcmVhdGVfY29sb3Jf cHJvcGVydGllcygpLgo+ICsJICovCj4gKwlzdHJ1Y3QgZHJtX3Byb3BlcnR5ICpjb2xvcl9yYW5n ZV9wcm9wZXJ0eTsKPiAgIH07Cj4gICAKPiAgICNkZWZpbmUgb2JqX3RvX3BsYW5lKHgpIGNvbnRh aW5lcl9vZih4LCBzdHJ1Y3QgZHJtX3BsYW5lLCBiYXNlKQoKX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1n ZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21h aWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==