From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH 1/8] drm: Add optional COLOR_ENCODING and COLOR_RANGE properties to drm_plane Date: Mon, 19 Feb 2018 22:19:19 +0200 Message-ID: <20180219201919.GZ5453@intel.com> References: <20180214192327.3250-1-ville.syrjala@linux.intel.com> <20180214192327.3250-2-ville.syrjala@linux.intel.com> <20180219150442.GJ22199@phenom.ffwll.local> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <20180219150442.GJ22199@phenom.ffwll.local> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Daniel Vetter Cc: intel-gfx@lists.freedesktop.org, Jyri Sarha , Russell King - ARM Linux , Hans Verkuil , dri-devel@lists.freedesktop.org, Harry Wentland , Ilia Mirkin List-Id: intel-gfx@lists.freedesktop.org T24gTW9uLCBGZWIgMTksIDIwMTggYXQgMDQ6MDQ6NDJQTSArMDEwMCwgRGFuaWVsIFZldHRlciB3 cm90ZToKPiBPbiBXZWQsIEZlYiAxNCwgMjAxOCBhdCAwOToyMzoyMFBNICswMjAwLCBWaWxsZSBT eXJqYWxhIHdyb3RlOgo+ID4gRnJvbTogSnlyaSBTYXJoYSA8anNhcmhhQHRpLmNvbT4KPiA+IAo+ ID4gQWRkIGEgc3RhbmRhcmQgb3B0aW9uYWwgcHJvcGVydGllcyB0byBzdXBwb3J0IGRpZmZlcmVu dCBub24gUkdCIGNvbG9yCj4gPiBlbmNvZGluZ3MgaW4gRFJNIHBsYW5lcy4gQ09MT1JfRU5DT0RJ Tkcgc2VsZWN0IHRoZSBzdXBwb3J0ZWQgbm9uIFJHQgo+ID4gY29sb3IgZW5jb2RpbmcsIGZvciBp bnN0YW5jZSBJVFUtUiBCVC43MDkgWUNiQ3IuIENPTE9SX1JBTkdFIHNlbGVjdHMKPiA+IHRoZSB2 YWx1ZSByYW5nZXMgd2l0aGluIHRoZSBzZWxlY3RlZCBjb2xvciBlbmNvZGluZy4gVGhlIHByb3Bl cnRpZXMKPiA+IGFyZSBzdG9yZWQgdG8gZHJtX3BsYW5lIG9iamVjdCB0byBhbGxvdyBkaWZmZXJl bnQgc2V0IG9mIHN1cHBvcnRlZAo+ID4gZW5jb2RpbmcgZm9yIGRpZmZlcmVudCBwbGFuZXMgb24g dGhlIGRldmljZS4KPiA+IAo+ID4gQ2M6IEhhcnJ5IFdlbnRsYW5kIDxoYXJyeS53ZW50bGFuZEBh bWQuY29tPgo+ID4gQ2M6IERhbmllbCBWZXR0ZXIgPGRhbmllbEBmZndsbC5jaD4KPiA+IENjOiBE YW5pZWwgU3RvbmUgPGRhbmllbEBmb29pc2hiYXIub3JnPgo+ID4gQ2M6IFJ1c3NlbGwgS2luZyAt IEFSTSBMaW51eCA8bGludXhAYXJtbGludXgub3JnLnVrPgo+ID4gQ2M6IElsaWEgTWlya2luIDxp bWlya2luQGFsdW0ubWl0LmVkdT4KPiA+IENjOiBIYW5zIFZlcmt1aWwgPGh2ZXJrdWlsQHhzNGFs bC5ubD4KPiA+IENjOiBVbWEgU2hhbmthciA8dW1hLnNoYW5rYXJAaW50ZWwuY29tPgo+ID4gQ2M6 IFNoYXNoYW5rIFNoYXJtYSA8c2hhc2hhbmsuc2hhcm1hQGludGVsLmNvbT4KPiA+IFJldmlld2Vk LWJ5OiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgo+ID4g U2lnbmVkLW9mZi1ieTogSnlyaSBTYXJoYSA8anNhcmhhQHRpLmNvbT4KPiA+IC0tLQo+ID4gIGRy aXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljLmMgICAgIHwgIDggKysrKwo+ID4gIGRyaXZlcnMvZ3B1 L2RybS9kcm1fY29sb3JfbWdtdC5jIHwgOTEgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKwo+ID4gIGluY2x1ZGUvZHJtL2RybV9jb2xvcl9tZ210LmggICAgIHwgMTkgKysr KysrKysrCj4gPiAgaW5jbHVkZS9kcm0vZHJtX3BsYW5lLmggICAgICAgICAgfCAgOCArKysrCj4g PiAgNCBmaWxlcyBjaGFuZ2VkLCAxMjYgaW5zZXJ0aW9ucygrKQo+ID4gCj4gPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRv bWljLmMKPiA+IGluZGV4IDQ2NzMzZDUzNDU4Ny4uNDUyYTBiMGJhZmJjIDEwMDY0NAo+ID4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMuYwo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJt L2RybV9hdG9taWMuYwo+ID4gQEAgLTc1OSw2ICs3NTksMTAgQEAgc3RhdGljIGludCBkcm1fYXRv bWljX3BsYW5lX3NldF9wcm9wZXJ0eShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKPiA+ICAJCXN0 YXRlLT5yb3RhdGlvbiA9IHZhbDsKPiA+ICAJfSBlbHNlIGlmIChwcm9wZXJ0eSA9PSBwbGFuZS0+ enBvc19wcm9wZXJ0eSkgewo+ID4gIAkJc3RhdGUtPnpwb3MgPSB2YWw7Cj4gPiArCX0gZWxzZSBp ZiAocHJvcGVydHkgPT0gcGxhbmUtPmNvbG9yX2VuY29kaW5nX3Byb3BlcnR5KSB7Cj4gPiArCQlz dGF0ZS0+Y29sb3JfZW5jb2RpbmcgPSB2YWw7Cj4gPiArCX0gZWxzZSBpZiAocHJvcGVydHkgPT0g cGxhbmUtPmNvbG9yX3JhbmdlX3Byb3BlcnR5KSB7Cj4gPiArCQlzdGF0ZS0+Y29sb3JfcmFuZ2Ug PSB2YWw7Cj4gPiAgCX0gZWxzZSBpZiAocGxhbmUtPmZ1bmNzLT5hdG9taWNfc2V0X3Byb3BlcnR5 KSB7Cj4gPiAgCQlyZXR1cm4gcGxhbmUtPmZ1bmNzLT5hdG9taWNfc2V0X3Byb3BlcnR5KHBsYW5l LCBzdGF0ZSwKPiA+ICAJCQkJcHJvcGVydHksIHZhbCk7Cj4gPiBAQCAtODE4LDYgKzgyMiwxMCBA QCBkcm1fYXRvbWljX3BsYW5lX2dldF9wcm9wZXJ0eShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwK PiA+ICAJCSp2YWwgPSBzdGF0ZS0+cm90YXRpb247Cj4gPiAgCX0gZWxzZSBpZiAocHJvcGVydHkg PT0gcGxhbmUtPnpwb3NfcHJvcGVydHkpIHsKPiA+ICAJCSp2YWwgPSBzdGF0ZS0+enBvczsKPiA+ ICsJfSBlbHNlIGlmIChwcm9wZXJ0eSA9PSBwbGFuZS0+Y29sb3JfZW5jb2RpbmdfcHJvcGVydHkp IHsKPiA+ICsJCSp2YWwgPSBzdGF0ZS0+Y29sb3JfZW5jb2Rpbmc7Cj4gPiArCX0gZWxzZSBpZiAo cHJvcGVydHkgPT0gcGxhbmUtPmNvbG9yX3JhbmdlX3Byb3BlcnR5KSB7Cj4gPiArCQkqdmFsID0g c3RhdGUtPmNvbG9yX3JhbmdlOwo+ID4gIAl9IGVsc2UgaWYgKHBsYW5lLT5mdW5jcy0+YXRvbWlj X2dldF9wcm9wZXJ0eSkgewo+ID4gIAkJcmV0dXJuIHBsYW5lLT5mdW5jcy0+YXRvbWljX2dldF9w cm9wZXJ0eShwbGFuZSwgc3RhdGUsIHByb3BlcnR5LCB2YWwpOwo+ID4gIAl9IGVsc2Ugewo+ID4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fY29sb3JfbWdtdC5jIGIvZHJpdmVycy9n cHUvZHJtL2RybV9jb2xvcl9tZ210LmMKPiA+IGluZGV4IDBkMDAyYjA0NWJkMi4uYTg0ZmM4NjFl NDA2IDEwMDY0NAo+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9jb2xvcl9tZ210LmMKPiA+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fY29sb3JfbWdtdC5jCj4gPiBAQCAtODgsNiArODgs MTkgQEAKPiA+ICAgKiBkcm1fbW9kZV9jcnRjX3NldF9nYW1tYV9zaXplKCkuIERyaXZlcnMgd2hp Y2ggc3VwcG9ydCBib3RoIHNob3VsZCB1c2UKPiA+ICAgKiBkcm1fYXRvbWljX2hlbHBlcl9sZWdh Y3lfZ2FtbWFfc2V0KCkgdG8gYWxpYXMgdGhlIGxlZ2FjeSBnYW1tYSByYW1wIHdpdGggdGhlCj4g PiAgICogIkdBTU1BX0xVVCIgcHJvcGVydHkgYWJvdmUuCj4gPiArICoKPiA+ICsgKiBTdXBwb3J0 IGZvciBkaWZmZXJlbnQgbm9uIFJHQiBjb2xvciBlbmNvZGluZ3MgaXMgY29udHJvbGxlZCB0aHJv dWdoCj4gPiArICogJmRybV9wbGFuZSBzcGVjaWZpYyBDT0xPUl9FTkNPRElORyBhbmQgQ09MT1Jf UkFOR0UgcHJvcGVydGllczoKPiA+ICsgKgo+ID4gKyAqICJDT0xPUl9FTkNPRElORyIKPiA+ICsg KiAJT3B0aW9uYWwgcGxhbmUgZW51bSBwcm9wZXJ0eSB0byBzdXBwb3J0IGRpZmZlcmVudCBub24g UkdCCj4gPiArICogCWNvbG9yIGVuY29kaW5ncy4gVGhlIGRyaXZlciBjYW4gcHJvdmlkZSBhIHN1 YnNldCBvZiBzdGFuZGFyZAo+ID4gKyAqIAllbnVtIHZhbHVlcyBzdXBwb3J0ZWQgYnkgdGhlIERS TSBwbGFuZS4KPiAKPiBQbGVhc2UgYWxzbyBtZW50aW9uIHRoZSBmdW5jdGlvbiB0byBzZXR1cC9y ZWdpc3RlciB0aGVtLCBsaWtlIHdlIHRyeSB0byBkbwo+IHdpdGggdGhlIG90aGVyIG9wdGlvbmFs IHByb3BlcnRpZXMuCgphY2sKCj4gPiArICoKPiA+ICsgKiAiQ09MT1JfUkFOR0UiCj4gPiArICog CU9wdGlvbmFsIHBsYW5lIGVudW0gcHJvcGVydHkgdG8gc3VwcG9ydCBkaWZmZXJlbnQgbm9uIFJH Qgo+ID4gKyAqIAljb2xvciBwYXJhbWV0ZXIgcmFuZ2VzLiBUaGUgZHJpdmVyIGNhbiBwcm92aWRl IGEgc3Vic2V0IG9mCj4gPiArICogCXN0YW5kYXJkIGVudW0gdmFsdWVzIHN1cHBvcnRlZCBieSB0 aGUgRFJNIHBsYW5lLgo+ID4gICAqLwo+ID4gIAo+ID4gIC8qKgo+ID4gQEAgLTMzOSwzICszNTIs ODEgQEAgaW50IGRybV9tb2RlX2dhbW1hX2dldF9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 LAo+ID4gIAlkcm1fbW9kZXNldF91bmxvY2soJmNydGMtPm11dGV4KTsKPiA+ICAJcmV0dXJuIHJl dDsKPiA+ICB9Cj4gPiArCj4gPiArc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBjb2xvcl9lbmNv ZGluZ19uYW1lW10gPSB7Cj4gPiArCVtEUk1fQ09MT1JfWUNCQ1JfQlQ2MDFdID0gIklUVS1SIEJU LjYwMSBZQ2JDciIsCj4gPiArCVtEUk1fQ09MT1JfWUNCQ1JfQlQ3MDldID0gIklUVS1SIEJULjcw OSBZQ2JDciIsCj4gPiArCVtEUk1fQ09MT1JfWUNCQ1JfQlQyMDIwXSA9ICJJVFUtUiBCVC4yMDIw IFlDYkNyIiwKPiA+ICt9Owo+ID4gKwo+ID4gK3N0YXRpYyBjb25zdCBjaGFyICogY29uc3QgY29s b3JfcmFuZ2VfbmFtZVtdID0gewo+ID4gKwlbRFJNX0NPTE9SX1lDQkNSX0ZVTExfUkFOR0VdID0g IllDYkNyIGZ1bGwgcmFuZ2UiLAo+ID4gKwlbRFJNX0NPTE9SX1lDQkNSX0xJTUlURURfUkFOR0Vd ID0gIllDYkNyIGxpbWl0ZWQgcmFuZ2UiLAo+ID4gK307Cj4gPiArCj4gPiArLyoqCj4gPiArICog ZHJtX3BsYW5lX2NyZWF0ZV9jb2xvcl9wcm9wZXJ0aWVzIC0gY29sb3IgZW5jb2RpbmcgcmVsYXRl ZCBwbGFuZSBwcm9wZXJ0aWVzCj4gPiArICogQHN1cHBvcnRlZF9lbmNvZGluZ3M6IGJpdGZpZWxk IGluZGljYXRpbmcgc3VwcG9ydGVkIGNvbG9yIGVuY29kaW5ncwo+ID4gKyAqIEBzdXBwb3J0ZWRf cmFuZ2VzOiBiaXRmaWxlbGQgaW5kaWNhdGluZyBzdXBwb3J0ZWQgY29sb3IgcmFuZ2VzCj4gPiAr ICogQGRlZmF1bHRfZW5jb2Rpbmc6IGRlZmF1bHQgY29sb3IgZW5jb2RpbmcKPiA+ICsgKiBAZGVm YXVsdF9yYW5nZTogZGVmYXVsdCBjb2xvciByYW5nZQo+ID4gKyAqCj4gPiArICogQ3JlYXRlIGFu ZCBhdHRhY2ggcGxhbmUgc3BlY2lmaWMgQ09MT1JfRU5DT0RJTkcgYW5kIENPTE9SX1JBTkdFCj4g PiArICogcHJvcGVydGllcyB0byB0byB0aGUgZHJtX3BsYW5lIG9iamVjdC4gVGhlIHN1cHBvcnRl ZCBlbmNvZGluZ3MgYW5kCj4gPiArICogcmFuZ2VzIHNob3VsZCBiZSBwcm92aWRlZCBpbiBzdXBw b3J0ZWRfZW5jb2RpbmdzIGFuZAo+ID4gKyAqIHN1cHBvcnRlZF9yYW5nZXMgYml0bWFza3MuIEVh Y2ggYml0IHNldCBpbiB0aGUgYml0bWFzayBpbmRpY2F0ZXMKPiA+ICsgKiB0aGUgaXRzIG51bWJl ciBhcyBlbnVtIHZhbHVlIGJlaW5nIHN1cHBvcnRlZC4KPiA+ICsgKi8KPiA+ICtpbnQgZHJtX3Bs YW5lX2NyZWF0ZV9jb2xvcl9wcm9wZXJ0aWVzKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAo+ID4g KwkJCQkgICAgICB1MzIgc3VwcG9ydGVkX2VuY29kaW5ncywKPiA+ICsJCQkJICAgICAgdTMyIHN1 cHBvcnRlZF9yYW5nZXMsCj4gCj4gSXMgMCBpbiB0aGUgYWJvdmUgdHdvIHN1cHBvcnRlZF8gbWFz a3MgYSB2YWxpZCB2YWx1ZT8gSWYgeWVzLCBzaG91bGQgd2UKPiBzdGlsbCByZWdpc3RlciB0aGUg cHJvcCBpbiB0aGF0IGNhc2U/IElmIG5vLCBwbGVhc2UgYWRkIGEgV0FSTl9PTiBlYXJseQo+IGV4 aXQgY2FzZSB0byBjYXRjaCB0aGlzLgoKSSBndWVzcyBpZiB3ZSBnbyBmb3IgdGhhdCB3ZSBzaG91 bGQgYWxzbyBjaGVjayB0aGF0IHRoZSBzdXBwb3J0ZWQKYml0bWFza3MgZG9uJ3QgY29udGFpbiB1 bmRlZmluZWQgZW51bSB2YWx1ZXMsIGFuZCB0aGF0IHRoZSBkZWZhdWx0CmVudW0gdmFsdWVzIGFy ZSBpbmNsdWRlZCBpbiB0aGUgYml0bWFza3MuCgpKeXJpIHNhaWQgaGUncyBub3QgbG9va2VkIGF0 IHRoaXMgaW4gYSB3aGlsZSwgc28gSSdsbCBqdXN0IGdvIGFoZWFkCmFuZCByZXNwaW4gdGhpcyBt eXNlbGYuCgo+IAo+IFNpbWlsYXIsIGlmIHRoZXJlJ3Mgb25seSAxIHBvc3NpYmxlIHZhbHVlIEkg Z3Vlc3Mgd2Ugc2hvdWxkIG1ha2UgdGhlIHByb3AKPiBpbW11dGFibGU/CgpJIHdvbmRlciBpZiB3 ZSBzaG91bGQgcHV0IHRoYXQgbG9naWMgaW50bwpkcm1fcHJvcGVydHlfY3JlYXRlX2VudW0oKSAm IGNvLiBhY3R1YWxseT8KCj4gCj4gPiArCQkJCSAgICAgIGVudW0gZHJtX2NvbG9yX2VuY29kaW5n IGRlZmF1bHRfZW5jb2RpbmcsCj4gPiArCQkJCSAgICAgIGVudW0gZHJtX2NvbG9yX3JhbmdlIGRl ZmF1bHRfcmFuZ2UpCj4gPiArewo+ID4gKwlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gcGxhbmUt PmRldjsKPiA+ICsJc3RydWN0IGRybV9wcm9wZXJ0eSAqcHJvcDsKPiA+ICsJc3RydWN0IGRybV9w cm9wX2VudW1fbGlzdCBlbnVtX2xpc3RbbWF4KERSTV9DT0xPUl9FTkNPRElOR19NQVgsCj4gPiAr CQkJCQkJRFJNX0NPTE9SX1JBTkdFX01BWCldOwo+ID4gKwlpbnQgaSwgbGVuOwo+ID4gKwo+ID4g KwlsZW4gPSAwOwo+ID4gKwlmb3IgKGkgPSAwOyBpIDwgRFJNX0NPTE9SX0VOQ09ESU5HX01BWDsg aSsrKSB7Cj4gPiArCQlpZiAoKHN1cHBvcnRlZF9lbmNvZGluZ3MgJiBCSVQoaSkpID09IDApCj4g PiArCQkJY29udGludWU7Cj4gPiArCj4gPiArCQllbnVtX2xpc3RbbGVuXS50eXBlID0gaTsKPiA+ ICsJCWVudW1fbGlzdFtsZW5dLm5hbWUgPSBjb2xvcl9lbmNvZGluZ19uYW1lW2ldOwo+ID4gKwkJ bGVuKys7Cj4gPiArCX0KPiA+ICsKPiA+ICsJcHJvcCA9IGRybV9wcm9wZXJ0eV9jcmVhdGVfZW51 bShkZXYsIDAsICJDT0xPUl9FTkNPRElORyIsCj4gPiArCQkJCQllbnVtX2xpc3QsIGxlbik7Cj4g PiArCWlmICghcHJvcCkKPiA+ICsJCXJldHVybiAtRU5PTUVNOwo+ID4gKwlwbGFuZS0+Y29sb3Jf ZW5jb2RpbmdfcHJvcGVydHkgPSBwcm9wOwo+ID4gKwlkcm1fb2JqZWN0X2F0dGFjaF9wcm9wZXJ0 eSgmcGxhbmUtPmJhc2UsIHByb3AsIGRlZmF1bHRfZW5jb2RpbmcpOwo+ID4gKwlpZiAocGxhbmUt PnN0YXRlKQo+ID4gKwkJcGxhbmUtPnN0YXRlLT5jb2xvcl9lbmNvZGluZyA9IGRlZmF1bHRfZW5j b2Rpbmc7Cj4gPiArCj4gPiArCWxlbiA9IDA7Cj4gPiArCWZvciAoaSA9IDA7IGkgPCBEUk1fQ09M T1JfUkFOR0VfTUFYOyBpKyspIHsKPiA+ICsJCWlmICgoc3VwcG9ydGVkX3JhbmdlcyAmIEJJVChp KSkgPT0gMCkKPiA+ICsJCQljb250aW51ZTsKPiA+ICsKPiA+ICsJCWVudW1fbGlzdFtsZW5dLnR5 cGUgPSBpOwo+ID4gKwkJZW51bV9saXN0W2xlbl0ubmFtZSA9IGNvbG9yX3JhbmdlX25hbWVbaV07 Cj4gPiArCQlsZW4rKzsKPiA+ICsJfQo+ID4gKwo+ID4gKwlwcm9wID0gZHJtX3Byb3BlcnR5X2Ny ZWF0ZV9lbnVtKGRldiwgMCwJIkNPTE9SX1JBTkdFIiwKPiA+ICsJCQkJCWVudW1fbGlzdCwgbGVu KTsKPiA+ICsJaWYgKCFwcm9wKQo+ID4gKwkJcmV0dXJuIC1FTk9NRU07Cj4gPiArCXBsYW5lLT5j b2xvcl9yYW5nZV9wcm9wZXJ0eSA9IHByb3A7Cj4gPiArCWRybV9vYmplY3RfYXR0YWNoX3Byb3Bl cnR5KCZwbGFuZS0+YmFzZSwgcHJvcCwgZGVmYXVsdF9yYW5nZSk7Cj4gPiArCWlmIChwbGFuZS0+ c3RhdGUpCj4gPiArCQlwbGFuZS0+c3RhdGUtPmNvbG9yX3JhbmdlID0gZGVmYXVsdF9yYW5nZTsK PiA+ICsKPiA+ICsJcmV0dXJuIDA7Cj4gPiArfQo+ID4gK0VYUE9SVF9TWU1CT0woZHJtX3BsYW5l X2NyZWF0ZV9jb2xvcl9wcm9wZXJ0aWVzKTsKPiA+IGRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9k cm1fY29sb3JfbWdtdC5oIGIvaW5jbHVkZS9kcm0vZHJtX2NvbG9yX21nbXQuaAo+ID4gaW5kZXgg MDNhNTljYmNlNjIxLi5iM2I2ZDMwMmNhOGMgMTAwNjQ0Cj4gPiAtLS0gYS9pbmNsdWRlL2RybS9k cm1fY29sb3JfbWdtdC5oCj4gPiArKysgYi9pbmNsdWRlL2RybS9kcm1fY29sb3JfbWdtdC5oCj4g PiBAQCAtMjYsNiArMjYsNyBAQAo+ID4gICNpbmNsdWRlIDxsaW51eC9jdHlwZS5oPgo+ID4gIAo+ ID4gIHN0cnVjdCBkcm1fY3J0YzsKPiA+ICtzdHJ1Y3QgZHJtX3BsYW5lOwo+ID4gIAo+ID4gIHVp bnQzMl90IGRybV9jb2xvcl9sdXRfZXh0cmFjdCh1aW50MzJfdCB1c2VyX2lucHV0LCB1aW50MzJf dCBiaXRfcHJlY2lzaW9uKTsKPiA+ICAKPiA+IEBAIC0zNyw0ICszOCwyMiBAQCB2b2lkIGRybV9j cnRjX2VuYWJsZV9jb2xvcl9tZ210KHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKPiA+ICBpbnQgZHJt X21vZGVfY3J0Y19zZXRfZ2FtbWFfc2l6ZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gPiAgCQkJ CSBpbnQgZ2FtbWFfc2l6ZSk7Cj4gPiAgCj4gPiArZW51bSBkcm1fY29sb3JfZW5jb2Rpbmcgewo+ ID4gKwlEUk1fQ09MT1JfWUNCQ1JfQlQ2MDEsCj4gPiArCURSTV9DT0xPUl9ZQ0JDUl9CVDcwOSwK PiA+ICsJRFJNX0NPTE9SX1lDQkNSX0JUMjAyMCwKPiA+ICsJRFJNX0NPTE9SX0VOQ09ESU5HX01B WCwKPiA+ICt9Owo+ID4gKwo+ID4gK2VudW0gZHJtX2NvbG9yX3JhbmdlIHsKPiA+ICsJRFJNX0NP TE9SX1lDQkNSX0xJTUlURURfUkFOR0UsCj4gPiArCURSTV9DT0xPUl9ZQ0JDUl9GVUxMX1JBTkdF LAo+ID4gKwlEUk1fQ09MT1JfUkFOR0VfTUFYLAo+ID4gK307Cj4gPiArCj4gPiAraW50IGRybV9w bGFuZV9jcmVhdGVfY29sb3JfcHJvcGVydGllcyhzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKPiA+ ICsJCQkJICAgICAgdTMyIHN1cHBvcnRlZF9lbmNvZGluZ3MsCj4gPiArCQkJCSAgICAgIHUzMiBz dXBwb3J0ZWRfcmFuZ2VzLAo+ID4gKwkJCQkgICAgICBlbnVtIGRybV9jb2xvcl9lbmNvZGluZyBk ZWZhdWx0X2VuY29kaW5nLAo+ID4gKwkJCQkgICAgICBlbnVtIGRybV9jb2xvcl9yYW5nZSBkZWZh dWx0X3JhbmdlKTsKPiA+ICAjZW5kaWYKPiA+IGRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1f cGxhbmUuaCBiL2luY2x1ZGUvZHJtL2RybV9wbGFuZS5oCj4gPiBpbmRleCA4MTg1ZTM0NjhhMjMu LmMwYTI0MmRjZGE0NCAxMDA2NDQKPiA+IC0tLSBhL2luY2x1ZGUvZHJtL2RybV9wbGFuZS5oCj4g PiArKysgYi9pbmNsdWRlL2RybS9kcm1fcGxhbmUuaAo+ID4gQEAgLTI2LDYgKzI2LDcgQEAKPiA+ ICAjaW5jbHVkZSA8bGludXgvbGlzdC5oPgo+ID4gICNpbmNsdWRlIDxsaW51eC9jdHlwZS5oPgo+ ID4gICNpbmNsdWRlIDxkcm0vZHJtX21vZGVfb2JqZWN0Lmg+Cj4gPiArI2luY2x1ZGUgPGRybS9k cm1fY29sb3JfbWdtdC5oPgo+ID4gIAo+ID4gIHN0cnVjdCBkcm1fY3J0YzsKPiA+ICBzdHJ1Y3Qg ZHJtX3ByaW50ZXI7Cj4gPiBAQCAtMTEyLDYgKzExMywxMCBAQCBzdHJ1Y3QgZHJtX3BsYW5lX3N0 YXRlIHsKPiA+ICAJdW5zaWduZWQgaW50IHpwb3M7Cj4gPiAgCXVuc2lnbmVkIGludCBub3JtYWxp emVkX3pwb3M7Cj4gPiAgCj4gPiArCS8qIENvbG9yIGVuY29kaW5nIGZvciBub24gUkdCIGZvcm1h dHMgKi8KPiA+ICsJZW51bSBkcm1fY29sb3JfZW5jb2RpbmcgY29sb3JfZW5jb2Rpbmc7Cj4gPiAr CWVudW0gZHJtX2NvbG9yX3JhbmdlIGNvbG9yX3JhbmdlOwo+IE5lZWRzIGtlcm5lbGRvYy4KCmFj awoKPiAKPiA+ICsKPiA+ICAJLyogQ2xpcHBlZCBjb29yZGluYXRlcyAqLwo+ID4gIAlzdHJ1Y3Qg ZHJtX3JlY3Qgc3JjLCBkc3Q7Cj4gPiAgCj4gPiBAQCAtNTU4LDYgKzU2Myw5IEBAIHN0cnVjdCBk cm1fcGxhbmUgewo+ID4gIAo+ID4gIAlzdHJ1Y3QgZHJtX3Byb3BlcnR5ICp6cG9zX3Byb3BlcnR5 Owo+ID4gIAlzdHJ1Y3QgZHJtX3Byb3BlcnR5ICpyb3RhdGlvbl9wcm9wZXJ0eTsKPiA+ICsKPiA+ ICsJc3RydWN0IGRybV9wcm9wZXJ0eSAqY29sb3JfZW5jb2RpbmdfcHJvcGVydHk7Cj4gPiArCXN0 cnVjdCBkcm1fcHJvcGVydHkgKmNvbG9yX3JhbmdlX3Byb3BlcnR5Owo+IAo+IERpdG8uCgphY2sK Cj4gCj4gPiAgfTsKPiA+ICAKPiA+ICAjZGVmaW5lIG9ial90b19wbGFuZSh4KSBjb250YWluZXJf b2YoeCwgc3RydWN0IGRybV9wbGFuZSwgYmFzZSkKPiA+IC0tIAo+ID4gMi4xMy42Cj4gPiAKPiAK PiAtLSAKPiBEYW5pZWwgVmV0dGVyCj4gU29mdHdhcmUgRW5naW5lZXIsIEludGVsIENvcnBvcmF0 aW9uCj4gaHR0cDovL2Jsb2cuZmZ3bGwuY2gKCi0tIApWaWxsZSBTeXJqw6Rsw6QKSW50ZWwgT1RD Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdm eCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xp c3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=