From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matt Roper Subject: Re: [RFC v5 2/8] drm: Add Plane Degamma properties Date: Tue, 13 Nov 2018 17:08:34 -0800 Message-ID: <20181114010834.GA5645@mdroper-desk.amr.corp.intel.com> References: <1537085731-6355-1-git-send-email-uma.shankar@intel.com> <1537085731-6355-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: <1537085731-6355-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, alexandru-cosmin.gheorghe@arm.com, dri-devel@lists.freedesktop.org, seanpaul@chromium.org, ville.syrjala@intel.com, harry.wentland@amd.com, maarten.lankhorst@intel.com List-Id: dri-devel@lists.freedesktop.org T24gU3VuLCBTZXAgMTYsIDIwMTggYXQgMDE6NDU6MjVQTSArMDUzMCwgVW1hIFNoYW5rYXIgd3Jv dGU6Cj4gQWRkIFBsYW5lIERlZ2FtbWEgYXMgYSBibG9iIHByb3BlcnR5IGFuZCBwbGFuZSBkZWdh bW1hIHNpemUgYXMKPiBhIHJhbmdlIHByb3BlcnR5Lgo+IAo+IHYyOiBSZWJhc2UKPiAKPiB2Mzog Rml4ZWQgU2VhbiwgUGF1bCdzIHJldmlldyBjb21tZW50cy4gTW92ZWQgdGhlIHByb3BlcnR5IGZy b20KPiBtb2RlX2NvbmZpZyB0byBkcm1fcGxhbmUuIENyZWF0ZWQgYSBoZWxwZXIgZnVuY3Rpb24g dG8gaW5zdGFudGlhdGUKPiB0aGVzZSBwcm9wZXJ0aWVzIGFuZCByZW1vdmVkIGZyb20gZHJtX21v ZGVfY3JlYXRlX3N0YW5kYXJkX3Byb3BlcnRpZXMKPiBBZGRlZCBwcm9wZXJ0eSBkb2N1bWVudGF0 aW9uIGFzIHN1Z2dlc3RlZCBieSBEYW5pZWwsIFZldHRlci4KPiAKPiB2NDogUmViYXNlCj4gCj4g djU6IEFkZGVkICJEaXNwbGF5IENvbG9yIEhhcmR3YXJlIFBpcGVsaW5lIiBmbG93IHRvIGtlcm5l bAo+IGRvY3VtZW50YXRpb24gYXMgc3VnZ2VzdGVkIGJ5ICJWaWxsZSBTeXJqYWxhIiBhbmQgIkJy aWFuIFN0YXJrZXkiLgo+IE1vdmVkIHRoZSBwcm9wZXJ0eSBjcmVhdGlvbiB0byBkcm1fY29sb3Jf bWdtdC5jIGZpbGUgdG8gY29uc29saWRhdGUKPiBhbGwgY29sb3Igb3BlcmF0aW9ucyBhdCBvbmUg cGxhY2UuCj4gCj4gU2lnbmVkLW9mZi1ieTogVW1hIFNoYW5rYXIgPHVtYS5zaGFua2FyQGludGVs LmNvbT4KPiBSZXZpZXdlZC1ieTogQWxleGFuZHJ1IEdoZW9yZ2hlIDxhbGV4YW5kcnUtY29zbWlu LmdoZW9yZ2hlQGFybS5jb20+Cj4gLS0tCj4gIERvY3VtZW50YXRpb24vZ3B1L2RybS1rbXMucnN0 ICAgICAgIHwgOTAgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwo+ICBkcml2 ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5jICAgICAgICB8IDEzICsrKysrKwo+ICBkcml2ZXJzL2dw dS9kcm0vZHJtX2F0b21pY19oZWxwZXIuYyB8ICA2ICsrKwo+ICBkcml2ZXJzL2dwdS9kcm0vZHJt X2NvbG9yX21nbXQuYyAgICB8IDQ0ICsrKysrKysrKysrKysrKystLQo+ICBpbmNsdWRlL2RybS9k cm1fcGxhbmUuaCAgICAgICAgICAgICB8IDI0ICsrKysrKysrKysKPiAgNSBmaWxlcyBjaGFuZ2Vk LCAxNzQgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvRG9j dW1lbnRhdGlvbi9ncHUvZHJtLWttcy5yc3QgYi9Eb2N1bWVudGF0aW9uL2dwdS9kcm0ta21zLnJz dAo+IGluZGV4IGY4ZjViZjEuLjI1M2Q1NDYgMTAwNjQ0Cj4gLS0tIGEvRG9jdW1lbnRhdGlvbi9n cHUvZHJtLWttcy5yc3QKPiArKysgYi9Eb2N1bWVudGF0aW9uL2dwdS9kcm0ta21zLnJzdAo+IEBA IC01NTEsMTIgKzU1MSwxMDIgQEAgUGxhbmUgQ29tcG9zaXRpb24gUHJvcGVydGllcwo+ICBDb2xv ciBNYW5hZ2VtZW50IFByb3BlcnRpZXMKPiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4g IAo+ICtCZWxvdyBpcyBob3cgYSB0eXBpY2FsIGhhcmR3YXJlIHBpcGVsaW5lIGZvciBjb2xvcgo+ ICt3aWxsIGxvb2sgbGlrZToKPiArCj4gKy4uIGtlcm5lbC1yZW5kZXI6OiBET1QKPiArICAgOmFs dDogRGlzcGxheSBDb2xvciBQaXBlbGluZQo+ICsgICA6Y2FwdGlvbjogRGlzcGxheSBDb2xvciBQ aXBlbGluZSBPdmVydmlldwo+ICsKPiArICAgZGlncmFwaCAiS01TIiB7Cj4gKyAgICAgIG5vZGUg W3NoYXBlPWJveF0KPiArCj4gKyAgICAgIHN1YmdyYXBoIGNsdXN0ZXJfc3RhdGljIHsKPiArICAg ICAgICAgIHN0eWxlPWRhc2hlZAo+ICsgICAgICAgICAgbGFiZWw9IkRpc3BsYXkgQ29sb3IgSGFy ZHdhcmUgQmxvY2tzIgo+ICsKPiArICAgICAgICAgIG5vZGUgW2JnY29sb3I9Z3JleSBzdHlsZT1m aWxsZWRdCj4gKyAgICAgICAgICAiUGxhbmUgRGVnYW1tYSBBIiAtPiAiUGxhbmUgQ1NDL0NUTSBB Igo+ICsgICAgICAgICAgIlBsYW5lIENTQy9DVE0gQSIgLT4gIlBsYW5lIEdhbW1hIEEiCj4gKyAg ICAgICAgICAiUGlwZSBCbGVuZGVyIiBbY29sb3I9bGlnaHRibHVlLHN0eWxlPWZpbGxlZCwgd2lk dGg9NS4yNSwgaGVpZ2h0PTAuNzVdOwo+ICsgICAgICAgICAgIlBsYW5lIEdhbW1hIEEiIC0+ICJQ aXBlIEJsZW5kZXIiCj4gKwkgICJQaXBlIEJsZW5kZXIiIC0+ICJQaXBlIERlR2FtbWEiCj4gKyAg ICAgICAgICAiUGlwZSBEZUdhbW1hIiAtPiAiUGlwZSBDU0MvQ1RNIgo+ICsgICAgICAgICAgIlBp cGUgQ1NDL0NUTSIgLT4gIlBpcGUgR2FtbWEiCj4gKyAgICAgICAgICAiUGlwZSBHYW1tYSIgLT4g IlBpcGUgT3V0cHV0Igo+ICsgICAgICB9Cj4gKwo+ICsgICAgICBzdWJncmFwaCBjbHVzdGVyX3N0 YXRpYyB7Cj4gKyAgICAgICAgICBzdHlsZT1kYXNoZWQKPiArCj4gKyAgICAgICAgICBub2RlIFtz aGFwZT1ib3hdCj4gKyAgICAgICAgICAiUGxhbmUgRGVnYW1tYSBCIiAtPiAiUGxhbmUgQ1NDL0NU TSBCIgo+ICsgICAgICAgICAgIlBsYW5lIENTQy9DVE0gQiIgLT4gIlBsYW5lIEdhbW1hIEIiCj4g KyAgICAgICAgICAiUGxhbmUgR2FtbWEgQiIgLT4gIlBpcGUgQmxlbmRlciIKPiArICAgICAgfQo+ ICsKPiArICAgICAgc3ViZ3JhcGggY2x1c3Rlcl9zdGF0aWMgewo+ICsgICAgICAgICAgc3R5bGU9 ZGFzaGVkCj4gKwo+ICsgICAgICAgICAgbm9kZSBbc2hhcGU9Ym94XQo+ICsgICAgICAgICAgIlBs YW5lIERlZ2FtbWEgQyIgLT4gIlBsYW5lIENTQy9DVE0gQyIKPiArICAgICAgICAgICJQbGFuZSBD U0MvQ1RNIEMiIC0+ICJQbGFuZSBHYW1tYSBDIgo+ICsgICAgICAgICAgIlBsYW5lIEdhbW1hIEMi IC0+ICJQaXBlIEJsZW5kZXIiCj4gKyAgICAgIH0KPiArCj4gKyAgICAgIHN1YmdyYXBoIGNsdXN0 ZXJfZmIgewo+ICsgICAgICAgICAgc3R5bGU9ZGFzaGVkCj4gKyAgICAgICAgICBsYWJlbD0iUkFN Igo+ICsKPiArICAgICAgICAgIG5vZGUgW3NoYXBlPWJveCB3aWR0aD0xLjcgaGVpZ2h0PTAuMl0K PiArCj4gKyAgICAgICAgICAiRkIgMSIgLT4gIlBsYW5lIERlZ2FtbWEgQSIKPiArICAgICAgICAg ICJGQiAyIiAtPiAiUGxhbmUgRGVnYW1tYSBCIgo+ICsgICAgICAgICAgIkZCIDMiIC0+ICJQbGFu ZSBEZWdhbW1hIEMiCj4gKyAgICAgIH0KPiArICAgfQo+ICsKPiArSW4gcmVhbCB3b3JsZCB1c2Vj YXNlcywKPiArCj4gKzEuIFBsYW5lIERlZ2FtbWEgY2FuIGJlIHVzZWQgdG8gbGluZWFyaXplIGEg bm9uIGxpbmVhciBnYW1tYQo+ICtlbmNvZGVkIGZyYW1lYnVmZmVyLiBUaGlzIGlzIG5lZWRlZCB0 byBkbyBhbnkgbGluZWFyIG1hdGggbGlrZQo+ICtjb2xvciBzcGFjZSBjb252ZXJzaW9uLiBGb3Ig ZXgsIGxpbmVhcml6ZSBmcmFtZXMgZW5jb2RlZCBpbiBTUkdCCj4gK29yIGJ5IEhEUiBjdXJ2ZS4K PiArCj4gKzIuIExhdGVyIFBsYW5lIENUTSBibG9jayBjYW4gY29udmVydCB0aGUgY29udGVudCB0 byBzb21lIGRpZmZlcmVudAo+ICtjb2xvcnNwYWNlLiBGb3IgZXgsIFNSR0IgdG8gQlQyMDIwIGV0 Yy4KPiArCj4gKzMuIFBsYW5lIEdhbW1hIGJsb2NrIGNhbiBiZSB1c2VkIGxhdGVyIHRvIHJlLWFw cGx5IHRoZSBub24tbGluZWFyCj4gK2N1cnZlLiBUaGlzIGNhbiBhbHNvIGJlIHVzZWQgdG8gYXBw bHkgVG9uZSBNYXBwaW5nIGZvciBIRFIgdXNlY2FzZXMuCj4gKwo+ICtBbGwgdGhlIGxheWVycyBv ciBmcmFtZWJ1ZmZlcnMgbmVlZCB0byBiZSBjb252ZXJ0ZWQgdG8gc2FtZSBjb2xvcgo+ICtzcGFj ZSBhbmQgZm9ybWF0IGJlZm9yZSBibGVuZGluZy4gVGhlIHBsYW5lIGNvbG9yIGhhcmR3YXJlIGJs b2Nrcwo+ICtjYW4gaGVscCB3aXRoIHRoaXMuIE9uY2UgdGhlIERhdGEgaXMgYmxlbmRlZCwgc2lt aWxhciBjb2xvciBwcm9jZXNzaW5nCj4gK2NhbiBiZSBkb25lIG9uIGJsZW5kZWQgb3V0cHV0IHVz aW5nIHBpcGUgY29sb3IgaGFyZHdhcmUgYmxvY2tzLgo+ICsKPiArRFJNIFByb3BlcnRpZXMgaGF2 ZSBiZWVuIGNyZWF0ZWQgdG8gZGVmaW5lIGFuZCBleHBvc2UgYWxsIHRoZXNlCj4gK2hhcmR3YXJl IGJsb2NrcyB0byB1c2Vyc3BhY2UuIEEgdXNlcnNwYWNlIGFwcGxpY2F0aW9uIChjb21wb3NpdG9y Cj4gK29yIGFueSBjb2xvciBhcHApIGNhbiB1c2UgdGhlc2UgaW50ZXJmYWNlcyBhbmQgZGVmaW5l IHBvbGljaWVzIHRvCj4gK2VmZmljaWVudGx5IHVzZSB0aGUgZGlzcGxheSBoYXJkd2FyZSBmb3Ig c3VjaCBjb2xvciBvcGVyYXRpb25zLgo+ICsKPiArUGlwZSBDb2xvciBNYW5hZ2VtZW50IFByb3Bl cnRpZXMKPiArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4gKwo+ICAuLiBrZXJu ZWwtZG9jOjogZHJpdmVycy9ncHUvZHJtL2RybV9jb2xvcl9tZ210LmMKPiAgICAgOmRvYzogb3Zl cnZpZXcKPiAgCj4gIC4uIGtlcm5lbC1kb2M6OiBkcml2ZXJzL2dwdS9kcm0vZHJtX2NvbG9yX21n bXQuYwo+ICAgICA6ZXhwb3J0Ogo+ICAKPiArUGxhbmUgQ29sb3IgTWFuYWdlbWVudCBQcm9wZXJ0 aWVzCj4gKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+ICsKPiArLi4ga2VybmVs LWRvYzo6IGRyaXZlcnMvZ3B1L2RybS9kcm1fY29sb3JfbWdtdC5jCj4gKyAgIDpkb2M6IFBsYW5l IENvbG9yIFByb3BlcnRpZXMKPiArCj4gKy4uIGtlcm5lbC1kb2M6OiBkcml2ZXJzL2dwdS9kcm0v ZHJtX2NvbG9yX21nbXQuYwo+ICsgICA6ZG9jOiBleHBvcnQKPiArCj4gIFRpbGUgR3JvdXAgUHJv cGVydHkKPiAgLS0tLS0tLS0tLS0tLS0tLS0tLQo+ICAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2RybV9hdG9taWMuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljLmMKPiBpbmRl eCBkMDQ3OGFiLi5lNzE2NjE0IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRv bWljLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5jCj4gQEAgLTg1Nyw2ICs4 NTcsOCBAQCBzdGF0aWMgaW50IGRybV9hdG9taWNfcGxhbmVfc2V0X3Byb3BlcnR5KHN0cnVjdCBk cm1fcGxhbmUgKnBsYW5lLAo+ICB7Cj4gIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gcGxhbmUt PmRldjsKPiAgCXN0cnVjdCBkcm1fbW9kZV9jb25maWcgKmNvbmZpZyA9ICZkZXYtPm1vZGVfY29u ZmlnOwo+ICsJYm9vbCByZXBsYWNlZCA9IGZhbHNlOwo+ICsJaW50IHJldDsKPiAgCj4gIAlpZiAo cHJvcGVydHkgPT0gY29uZmlnLT5wcm9wX2ZiX2lkKSB7Cj4gIAkJc3RydWN0IGRybV9mcmFtZWJ1 ZmZlciAqZmIgPSBkcm1fZnJhbWVidWZmZXJfbG9va3VwKGRldiwgTlVMTCwgdmFsKTsKPiBAQCAt OTEwLDYgKzkxMiwxMyBAQCBzdGF0aWMgaW50IGRybV9hdG9taWNfcGxhbmVfc2V0X3Byb3BlcnR5 KHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAo+ICAJCXN0YXRlLT5jb2xvcl9lbmNvZGluZyA9IHZh bDsKPiAgCX0gZWxzZSBpZiAocHJvcGVydHkgPT0gcGxhbmUtPmNvbG9yX3JhbmdlX3Byb3BlcnR5 KSB7Cj4gIAkJc3RhdGUtPmNvbG9yX3JhbmdlID0gdmFsOwo+ICsJfSBlbHNlIGlmIChwcm9wZXJ0 eSA9PSBwbGFuZS0+ZGVnYW1tYV9sdXRfcHJvcGVydHkpIHsKPiArCQlyZXQgPSBkcm1fYXRvbWlj X3JlcGxhY2VfcHJvcGVydHlfYmxvYl9mcm9tX2lkKGRldiwKPiArCQkJCQkmc3RhdGUtPmRlZ2Ft bWFfbHV0LAo+ICsJCQkJCXZhbCwgLTEsIHNpemVvZihzdHJ1Y3QgZHJtX2NvbG9yX2x1dCksCj4g KwkJCQkJJnJlcGxhY2VkKTsKPiArCQlzdGF0ZS0+Y29sb3JfbWdtdF9jaGFuZ2VkIHw9IHJlcGxh Y2VkOwo+ICsJCXJldHVybiByZXQ7Cj4gIAl9IGVsc2UgaWYgKHBsYW5lLT5mdW5jcy0+YXRvbWlj X3NldF9wcm9wZXJ0eSkgewo+ICAJCXJldHVybiBwbGFuZS0+ZnVuY3MtPmF0b21pY19zZXRfcHJv cGVydHkocGxhbmUsIHN0YXRlLAo+ICAJCQkJcHJvcGVydHksIHZhbCk7Cj4gQEAgLTk4MCw2ICs5 ODksOSBAQCBzdGF0aWMgaW50IGRybV9hdG9taWNfcGxhbmVfc2V0X3Byb3BlcnR5KHN0cnVjdCBk cm1fcGxhbmUgKnBsYW5lLAo+ICAJCSp2YWwgPSBzdGF0ZS0+Y29sb3JfZW5jb2Rpbmc7Cj4gIAl9 IGVsc2UgaWYgKHByb3BlcnR5ID09IHBsYW5lLT5jb2xvcl9yYW5nZV9wcm9wZXJ0eSkgewo+ICAJ CSp2YWwgPSBzdGF0ZS0+Y29sb3JfcmFuZ2U7Cj4gKwl9IGVsc2UgaWYgKHByb3BlcnR5ID09IHBs YW5lLT5kZWdhbW1hX2x1dF9wcm9wZXJ0eSkgewo+ICsJCSp2YWwgPSAoc3RhdGUtPmRlZ2FtbWFf bHV0KSA/Cj4gKwkJCXN0YXRlLT5kZWdhbW1hX2x1dC0+YmFzZS5pZCA6IDA7Cj4gIAl9IGVsc2Ug aWYgKHBsYW5lLT5mdW5jcy0+YXRvbWljX2dldF9wcm9wZXJ0eSkgewo+ICAJCXJldHVybiBwbGFu ZS0+ZnVuY3MtPmF0b21pY19nZXRfcHJvcGVydHkocGxhbmUsIHN0YXRlLCBwcm9wZXJ0eSwgdmFs KTsKPiAgCX0gZWxzZSB7Cj4gQEAgLTExMjAsNiArMTEzMiw3IEBAIHN0YXRpYyB2b2lkIGRybV9h dG9taWNfcGxhbmVfcHJpbnRfc3RhdGUoc3RydWN0IGRybV9wcmludGVyICpwLAo+ICAJCSAgIGRy bV9nZXRfY29sb3JfZW5jb2RpbmdfbmFtZShzdGF0ZS0+Y29sb3JfZW5jb2RpbmcpKTsKPiAgCWRy bV9wcmludGYocCwgIlx0Y29sb3ItcmFuZ2U9JXNcbiIsCj4gIAkJICAgZHJtX2dldF9jb2xvcl9y YW5nZV9uYW1lKHN0YXRlLT5jb2xvcl9yYW5nZSkpOwo+ICsJZHJtX3ByaW50ZihwLCAiXHRjb2xv cl9tZ210X2NoYW5nZWQ9JWRcbiIsIHN0YXRlLT5jb2xvcl9tZ210X2NoYW5nZWQpOwo+ICAKPiAg CWlmIChwbGFuZS0+ZnVuY3MtPmF0b21pY19wcmludF9zdGF0ZSkKPiAgCQlwbGFuZS0+ZnVuY3Mt PmF0b21pY19wcmludF9zdGF0ZShwLCBzdGF0ZSk7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9kcm1fYXRvbWljX2hlbHBlci5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfaGVs cGVyLmMKPiBpbmRleCAyYzIzYTQ4Li4yMDMxMzdlIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9kcm1fYXRvbWljX2hlbHBlci5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9t aWNfaGVscGVyLmMKPiBAQCAtMzYxNCw2ICszNjE0LDEwIEBAIHZvaWQgX19kcm1fYXRvbWljX2hl bHBlcl9wbGFuZV9kdXBsaWNhdGVfc3RhdGUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCj4gIAo+ ICAJc3RhdGUtPmZlbmNlID0gTlVMTDsKPiAgCXN0YXRlLT5jb21taXQgPSBOVUxMOwo+ICsKPiAr CWlmIChzdGF0ZS0+ZGVnYW1tYV9sdXQpCj4gKwkJZHJtX3Byb3BlcnR5X2Jsb2JfZ2V0KHN0YXRl LT5kZWdhbW1hX2x1dCk7Cj4gKwlzdGF0ZS0+Y29sb3JfbWdtdF9jaGFuZ2VkID0gZmFsc2U7Cj4g IH0KPiAgRVhQT1JUX1NZTUJPTChfX2RybV9hdG9taWNfaGVscGVyX3BsYW5lX2R1cGxpY2F0ZV9z dGF0ZSk7Cj4gIAo+IEBAIC0zNjU4LDYgKzM2NjIsOCBAQCB2b2lkIF9fZHJtX2F0b21pY19oZWxw ZXJfcGxhbmVfZGVzdHJveV9zdGF0ZShzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpzdGF0ZSkKPiAg Cj4gIAlpZiAoc3RhdGUtPmNvbW1pdCkKPiAgCQlkcm1fY3J0Y19jb21taXRfcHV0KHN0YXRlLT5j b21taXQpOwo+ICsKPiArCWRybV9wcm9wZXJ0eV9ibG9iX3B1dChzdGF0ZS0+ZGVnYW1tYV9sdXQp Owo+ICB9Cj4gIEVYUE9SVF9TWU1CT0woX19kcm1fYXRvbWljX2hlbHBlcl9wbGFuZV9kZXN0cm95 X3N0YXRlKTsKPiAgCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fY29sb3JfbWdt dC5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9jb2xvcl9tZ210LmMKPiBpbmRleCAxYmRjYzFhLi5k OGE5ZThiIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fY29sb3JfbWdtdC5jCj4g KysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9jb2xvcl9tZ210LmMKPiBAQCAtMjksMTEgKzI5LDEx IEBACj4gIC8qKgo+ICAgKiBET0M6IG92ZXJ2aWV3Cj4gICAqCj4gLSAqIENvbG9yIG1hbmFnZW1l bnQgb3IgY29sb3Igc3BhY2UgYWRqdXN0bWVudHMgaXMgc3VwcG9ydGVkIHRocm91Z2ggYSBzZXQg b2YgNQo+IC0gKiBwcm9wZXJ0aWVzIG9uIHRoZSAmZHJtX2NydGMgb2JqZWN0LiBUaGV5IGFyZSBz ZXQgdXAgYnkgY2FsbGluZwo+ICsgKiBQaXBlIENvbG9yIG1hbmFnZW1lbnQgb3IgY29sb3Igc3Bh Y2UgYWRqdXN0bWVudHMgaXMgc3VwcG9ydGVkIHRocm91Z2ggYQo+ICsgKiBzZXQgb2YgNSBwcm9w ZXJ0aWVzIG9uIHRoZSAmZHJtX2NydGMgb2JqZWN0LiBUaGV5IGFyZSBzZXQgdXAgYnkgY2FsbGlu Zwo+ICAgKiBkcm1fY3J0Y19lbmFibGVfY29sb3JfbWdtdCgpLgo+ICAgKgo+IC0gKiAiREVHQU1N QV9MVVTigJ06Cj4gKyAqICJERUdBTU1BX0xVVAoKVGhpcyBjaGFuZ2Ugc2VlbXMgdW5yZWxhdGVk L3Vud2FudGVkLgoKPiAgICoJQmxvYiBwcm9wZXJ0eSB0byBzZXQgdGhlIGRlZ2FtbWEgbG9va3Vw IHRhYmxlIChMVVQpIG1hcHBpbmcgcGl4ZWwgZGF0YQo+ICAgKglmcm9tIHRoZSBmcmFtZWJ1ZmZl ciBiZWZvcmUgaXQgaXMgZ2l2ZW4gdG8gdGhlIHRyYW5zZm9ybWF0aW9uIG1hdHJpeC4KPiAgICoJ VGhlIGRhdGEgaXMgaW50ZXJwcmV0ZWQgYXMgYW4gYXJyYXkgb2YgJnN0cnVjdCBkcm1fY29sb3Jf bHV0IGVsZW1lbnRzLgo+IEBAIC00OTEsMyArNDkxLDQxIEBAIGludCBkcm1fcGxhbmVfY3JlYXRl X2NvbG9yX3Byb3BlcnRpZXMoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCj4gIAlyZXR1cm4gMDsK PiAgfQo+ICBFWFBPUlRfU1lNQk9MKGRybV9wbGFuZV9jcmVhdGVfY29sb3JfcHJvcGVydGllcyk7 Cj4gKwo+ICsvKioKPiArICogRE9DOiBQbGFuZSBDb2xvciBQcm9wZXJ0aWVzCj4gKyAqCj4gKyAq IFBsYW5lIENvbG9yIG1hbmFnZW1lbnQgb3IgY29sb3Igc3BhY2UgYWRqdXN0bWVudHMgaXMgc3Vw cG9ydGVkCj4gKyAqIHRocm91Z2ggYSBzZXQgb2YgNSBwcm9wZXJ0aWVzIG9uIHRoZSAmZHJtX3Bs YW5lIG9iamVjdC4KPiArICoKPiArICogZGVnYW1tYV9sdXRfcHJvcGVydHk6Cj4gKyAqICAgICBC bG9iIHByb3BlcnR5IHdoaWNoIGFsbG93cyBhIHVzZXJzcGFjZSB0byBwcm92aWRlIExVVCB2YWx1 ZXMKPiArICogICAgIHRvIGFwcGx5IGRlZ2FtbWEgY3VydmUgdXNpbmcgdGhlIGgvdyBwbGFuZSBk ZWdhbW1hIHByb2Nlc3NpbmcKPiArICogICAgIGVuZ2luZSwgdGhlcmVieSBtYWtpbmcgdGhlIGNv bnRlbnQgYXMgbGluZWFyIGZvciBmdXJ0aGVyIGNvbG9yCj4gKyAqICAgICBwcm9jZXNzaW5nLgo+ ICsgKgo+ICsgKiBkZWdhbW1hX2x1dF9zaXplX3Byb3BlcnR5Ogo+ICsgKiAgICAgUmFuZ2UgUHJv cGVydHkgdG8gaW5kaWNhdGUgc2l6ZSBvZiB0aGUgcGxhbmUgZGVnYW1tYSBMVVQuCgpFbHNld2hl cmUgd2UncmUgZG9jdW1lbnRpbmcgdGhlIHN0cmluZyBuYW1lIGZvciB0aGUgcHJvcGVydHksIHdo aWNoIGlzCnBhcnQgb2YgdGhlIEFCSSAoZS5nLiwgIkRFR0FNTUFfTFVUIikgYnV0IGhlcmUgeW91 J3JlIGRvY3VtZW50aW5nIHRoZQpwcm9wZXJ0eSB2YXJpYWJsZSBuYW1lIGluIHRoZSBjb2RlLgoK SSB0aGluayB0aGVyZSB3YXMgYWxzbyBkaXNjdXNzaW9uIGF0IG9uZSBwb2ludCBvZiBoYXZpbmcg YSBtb3JlIGNvbXBsZXgKTFVUIGludGVyZmFjZSB0aGF0IGRlYWxzIHdpdGggdGhpbmdzIGxpa2Ug bm9uLWxpbmVhciByYW5nZXMgYW5kIHN1Y2guCklmIHRoYXQncyBzdGlsbCBwbGFubmVkLCB3b3Vs ZCBpdCBiZSBsYXllcmVkIG9uIHRvcCBvZiB0aGVzZSBwcm9wZXJ0aWVzLApvciB3b3VsZCBpdCBi ZSBhIGNvbXBsZXRlbHkgc2VwYXJhdGUsIHJlcGxhY2VtZW50IEFCSSBkb3duIHRoZSByb2FkPwoK PiArICovCj4gK2ludCBkcm1fcGxhbmVfY29sb3JfY3JlYXRlX3Byb3Aoc3RydWN0IGRybV9kZXZp Y2UgKmRldiwKPiArCQkJCXN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lKQo+ICt7Cj4gKwlzdHJ1Y3Qg ZHJtX3Byb3BlcnR5ICpwcm9wOwo+ICsKPiArCXByb3AgPSBkcm1fcHJvcGVydHlfY3JlYXRlKGRl diwKPiArCQkJRFJNX01PREVfUFJPUF9CTE9CLAo+ICsJCQkiUExBTkVfREVHQU1NQV9MVVQiLCAw KTsKPiArCWlmICghcHJvcCkKPiArCQlyZXR1cm4gLUVOT01FTTsKPiArCXBsYW5lLT5kZWdhbW1h X2x1dF9wcm9wZXJ0eSA9IHByb3A7Cj4gKwo+ICsJcHJvcCA9IGRybV9wcm9wZXJ0eV9jcmVhdGVf cmFuZ2UoZGV2LAo+ICsJCQlEUk1fTU9ERV9QUk9QX0lNTVVUQUJMRSwKPiArCQkJIlBMQU5FX0RF R0FNTUFfTFVUX1NJWkUiLCAwLCBVSU5UX01BWCk7Cj4gKwlpZiAoIXByb3ApCj4gKwkJcmV0dXJu IC1FTk9NRU07CgpJZiB0aGlzIGZhaWxzLCBzaG91bGQgd2UgdHJ5IHRvIGNsZWFuIHVwIHRoZSBl YXJsaWVyIHByb3BlcnR5PyAgSXQgbG9va3MKdGhlIGk5MTUgY2FsbHNpdGUgZm9yIHRoaXMgZnVu Y3Rpb24gKGluIHBhdGNoICM2IG9mIHRoZSBzZXJpZXMpIGRvZXNuJ3QKY2hlY2sgdGhlIHJldHVy biB2YWx1ZSwgc28gZXZlbiBpZiB3ZSByZXR1cm4gLUVOT01FTSwgdGhlIGRyaXZlciB3aWxsCmNv bnRpbnVlIHdpdGggc29tZSBwcm9wZXJ0aWVzIGNyZWF0ZWQgYW5kIHNvbWUgbm90LgoKQWN0dWFs bHksIGFzaWRlIGZyb20gdXNpbmcgbmFtZXMgIlBMQU5FX0ZPTyIgaW5zdGVhZCBvZiAiRk9PLCIg aXMgdGhlcmUKYSByZWFzb24gd2h5IHdlIG5lZWQgdG8gY3JlYXRlIG5ldyBwcm9wZXJ0aWVzIGZv ciBwbGFuZXM/ICBJIHRoaW5rIHdlCmNvdWxkIHN0aWxsIGF0dGFjaCB0aGUgc2FtZSBwcm9wZXJ0 aWVzIHdlJ3JlIGFscmVhZHkgdXNpbmcgZm9yIENSVEMncwooZGV2LT5tb2RlX2NvbmZpZy5kZWdh bW1hX2x1dF9wcm9wZXJ0eSBhbmQgc3VjaCkgc2luY2UgYWZhaWsgdGhlcmUgaXNuJ3QKYW55dGhp bmcgdGhhdCBwcmV2ZW50cyB1cyBmcm9tIGF0dGFjaGluZyB0aGUgc2FtZSBwcm9wZXJ0eSB0byBk aWZmZXJlbnQKa2luZHMgb2YgZHJtX29iamVjdCdzLgoKCk1hdHQKCj4gKwlwbGFuZS0+ZGVnYW1t YV9sdXRfc2l6ZV9wcm9wZXJ0eSA9IHByb3A7Cj4gKwo+ICsJcmV0dXJuIDA7Cj4gK30KPiArRVhQ T1JUX1NZTUJPTChkcm1fcGxhbmVfY29sb3JfY3JlYXRlX3Byb3ApOwo+IGRpZmYgLS1naXQgYS9p bmNsdWRlL2RybS9kcm1fcGxhbmUuaCBiL2luY2x1ZGUvZHJtL2RybV9wbGFuZS5oCj4gaW5kZXgg MTZmNWI2NjYuLjdmMGQ5NjEgMTAwNjQ0Cj4gLS0tIGEvaW5jbHVkZS9kcm0vZHJtX3BsYW5lLmgK PiArKysgYi9pbmNsdWRlL2RybS9kcm1fcGxhbmUuaAo+IEBAIC0xODIsNiArMTgyLDE0IEBAIHN0 cnVjdCBkcm1fcGxhbmVfc3RhdGUgewo+ICAJICovCj4gIAlib29sIHZpc2libGU7Cj4gIAo+ICsJ LyogQGRlZ2FtbWFfbHV0Ogo+ICsJICoKPiArCSAqIExvb2t1cCB0YWJsZSBmb3IgY29udmVydGlu ZyBmcmFtZWJ1ZmZlciBwaXhlbCBkYXRhIGJlZm9yZSBhcHBseSB0aGUKPiArCSAqIGNvbG9yIGNv bnZlcnNpb24gbWF0cml4IEBjdG0uIFNlZSBkcm1fcGxhbmVfZW5hYmxlX2NvbG9yX21nbXQoKS4g VGhlCj4gKwkgKiBibG9iIChpZiBub3QgTlVMTCkgaXMgYW4gYXJyYXkgb2YgJnN0cnVjdCBkcm1f Y29sb3JfbHV0X2V4dC4KPiArCSAqLwo+ICsJc3RydWN0IGRybV9wcm9wZXJ0eV9ibG9iICpkZWdh bW1hX2x1dDsKPiArCj4gIAkvKioKPiAgCSAqIEBjb21taXQ6IFRyYWNrcyB0aGUgcGVuZGluZyBj b21taXQgdG8gcHJldmVudCB1c2UtYWZ0ZXItZnJlZSBjb25kaXRpb25zLAo+ICAJICogYW5kIGZv ciBhc3luYyBwbGFuZSB1cGRhdGVzLgo+IEBAIC0xOTIsNiArMjAwLDggQEAgc3RydWN0IGRybV9w bGFuZV9zdGF0ZSB7Cj4gIAo+ICAJLyoqIEBzdGF0ZTogYmFja3BvaW50ZXIgdG8gZ2xvYmFsIGRy bV9hdG9taWNfc3RhdGUgKi8KPiAgCXN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZTsKPiAr Cj4gKwl1OCBjb2xvcl9tZ210X2NoYW5nZWQgOiAxOwo+ICB9Owo+ICAKPiAgc3RhdGljIGlubGlu ZSBzdHJ1Y3QgZHJtX3JlY3QKPiBAQCAtNjkyLDYgKzcwMiwxOCBAQCBzdHJ1Y3QgZHJtX3BsYW5l IHsKPiAgCSAqIFNlZSBkcm1fcGxhbmVfY3JlYXRlX2NvbG9yX3Byb3BlcnRpZXMoKS4KPiAgCSAq Lwo+ICAJc3RydWN0IGRybV9wcm9wZXJ0eSAqY29sb3JfcmFuZ2VfcHJvcGVydHk7Cj4gKwo+ICsJ LyoqCj4gKwkgKiBAZGVnYW1tYV9sdXRfcHJvcGVydHk6IE9wdGlvbmFsIFBsYW5lIHByb3BlcnR5 IHRvIHNldCB0aGUgTFVUCj4gKwkgKiB1c2VkIHRvIGNvbnZlcnQgdGhlIGZyYW1lYnVmZmVyJ3Mg Y29sb3JzIHRvIGxpbmVhciBnYW1tYS4KPiArCSAqLwo+ICsJc3RydWN0IGRybV9wcm9wZXJ0eSAq ZGVnYW1tYV9sdXRfcHJvcGVydHk7Cj4gKwo+ICsJLyoqCj4gKwkgKiBAZGVnYW1tYV9sdXRfc2l6 ZV9wcm9wZXJ0eTogT3B0aW9uYWwgUGxhbmUgcHJvcGVydHkgZm9yIHRoZQo+ICsJICogc2l6ZSBv ZiB0aGUgZGVnYW1tYSBMVVQgYXMgc3VwcG9ydGVkIGJ5IHRoZSBkcml2ZXIgKHJlYWQtb25seSku Cj4gKwkgKi8KPiArCXN0cnVjdCBkcm1fcHJvcGVydHkgKmRlZ2FtbWFfbHV0X3NpemVfcHJvcGVy dHk7Cj4gIH07Cj4gIAo+ICAjZGVmaW5lIG9ial90b19wbGFuZSh4KSBjb250YWluZXJfb2YoeCwg c3RydWN0IGRybV9wbGFuZSwgYmFzZSkKPiBAQCAtNzQxLDYgKzc2Myw4IEBAIHN0YXRpYyBpbmxp bmUgdTMyIGRybV9wbGFuZV9tYXNrKGNvbnN0IHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lKQo+ICBp bnQgZHJtX21vZGVfcGxhbmVfc2V0X29ial9wcm9wKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAo+ ICAJCQkJICAgICAgIHN0cnVjdCBkcm1fcHJvcGVydHkgKnByb3BlcnR5LAo+ICAJCQkJICAgICAg IHVpbnQ2NF90IHZhbHVlKTsKPiAraW50IGRybV9wbGFuZV9jb2xvcl9jcmVhdGVfcHJvcChzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2LAo+ICsJCQkJc3RydWN0IGRybV9wbGFuZSAqcGxhbmUpOwo+ICAK PiAgLyoqCj4gICAqIGRybV9wbGFuZV9maW5kIC0gZmluZCBhICZkcm1fcGxhbmUKPiAtLSAKPiAx LjkuMQo+IAo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f Cj4gSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdAo+IEludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5v cmcKPiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVs LWdmeAoKLS0gCk1hdHQgUm9wZXIKR3JhcGhpY3MgU29mdHdhcmUgRW5naW5lZXIKSW9URyBQbGF0 Zm9ybSBFbmFibGluZyAmIERldmVsb3BtZW50CkludGVsIENvcnBvcmF0aW9uCig5MTYpIDM1Ni0y Nzk1Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVs LWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczov L2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=