From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matt Roper Subject: Re: [PATCH 1/2] drm: Add infrastructure for CRTC background color property Date: Wed, 18 Nov 2015 14:55:22 -0800 Message-ID: <20151118225522.GA24693@intel.com> References: <1445559935-17217-1-git-send-email-matthew.d.roper@intel.com> <1445559935-17217-2-git-send-email-matthew.d.roper@intel.com> <20151118133554.2d8468d9@bpaauwe-desk.fm.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: <20151118133554.2d8468d9@bpaauwe-desk.fm.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Bob Paauwe Cc: intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, Chandra Konduru List-Id: intel-gfx@lists.freedesktop.org T24gV2VkLCBOb3YgMTgsIDIwMTUgYXQgMDE6MzU6NTRQTSAtMDgwMCwgQm9iIFBhYXV3ZSB3cm90 ZToKPiBPbiBUaHUsIDIyIE9jdCAyMDE1IDE3OjI1OjM0IC0wNzAwCj4gTWF0dCBSb3BlciA8bWF0 dGhldy5kLnJvcGVyQGludGVsLmNvbT4gd3JvdGU6Cj4gCj4gPiBUbyBzdXBwb3J0IENSVEMgYmFj a2dyb3VuZCBjb2xvciwgd2UgbmVlZCBhIHdheSBvZiBjb21tdW5pY2F0aW5nIFJHQgo+ID4gY29s b3IgdmFsdWVzIHRvIHRoZSBEUk0uICBIb3dldmVyIHRoZXJlIGlzIG9mdGVuIGEgbWlzbWF0Y2gg YmV0d2VlbiBob3cKPiA+IHVzZXJzcGFjZSB3YW50cyB0byByZXByZXNlbnQgdGhlIGNvbG9yIHZh bHVlIHZzIGhvdyBpdCBtdXN0IGJlCj4gPiBwcm9ncmFtbWVkIGludG8gdGhlIGhhcmR3YXJlOyB0 aGlzIG1pc21hdGNoIGNhbiBlYXNpbHkgbGVhZCB0bwo+ID4gbm9uLW9idmlvdXMgYnVncy4gIExl dCdzIGNyZWF0ZSBhIHByb3BlcnR5IHR5cGUgdGhhdCBzdGFuZGFyZGl6ZXMgdGhlCj4gPiB1c2Vy PC0+a2VybmVsIGZvcm1hdCBhbmQgYWRkIHNvbWUgbWFjcm9zIHRoYXQgYWxsb3cgZHJpdmVycyB0 byBleHRyYWN0Cj4gPiB0aGUgYml0cyB0aGV5IGNhcmUgYWJvdXQgd2l0aG91dCBoYXZpbmcgdG8g d29ycnkgYWJvdXQgdGhlIGludGVybmFsCj4gPiByZXByZXNlbnRhdGlvbi4KPiA+IAo+ID4gVGhl c2UgcHJvcGVydGllcyBhcmUgc3RpbGwgZXhwb3NlZCB0byB1c2Vyc3BhY2UgYXMgcmFuZ2UgcHJv cGVydGllcywgc28KPiA+IHRoZSBvbmx5IHVzZXJzcGFjZSBjaGFuZ2Ugd2UgbmVlZCBhcmUgc29t ZSBoZWxwZXJzIHRvIGJ1aWxkIFJHQkEgdmFsdWVzCj4gPiBhcHByb3ByaWF0ZWx5Lgo+ID4gCj4g PiBDYzogZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+ID4gQ2M6IENoYW5kcmEgS29u ZHVydSA8Y2hhbmRyYS5rb25kdXJ1QGludGVsLmNvbT4KPiA+IFNpZ25lZC1vZmYtYnk6IE1hdHQg Um9wZXIgPG1hdHRoZXcuZC5yb3BlckBpbnRlbC5jb20+Cj4gPiAtLS0KPiA+ICBkcml2ZXJzL2dw dS9kcm0vZHJtX2F0b21pYy5jIHwgIDQgKysrKwo+ID4gIGRyaXZlcnMvZ3B1L2RybS9kcm1fY3J0 Yy5jICAgfCAzMyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKwo+ID4gIGluY2x1ZGUvZHJt L2RybV9jcnRjLmggICAgICAgfCA0OSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKwo+ID4gIDMgZmlsZXMgY2hhbmdlZCwgODYgaW5zZXJ0aW9ucygrKQo+ID4gCj4g PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMuYyBiL2RyaXZlcnMvZ3B1 L2RybS9kcm1fYXRvbWljLmMKPiA+IGluZGV4IDdiYjM4NDUuLjY4OGNhNzUgMTAwNjQ0Cj4gPiAt LS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5jCj4gPiArKysgYi9kcml2ZXJzL2dwdS9k cm0vZHJtX2F0b21pYy5jCj4gPiBAQCAtNDE1LDYgKzQxNSw4IEBAIGludCBkcm1fYXRvbWljX2Ny dGNfc2V0X3Byb3BlcnR5KHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKPiA+ICAKPiA+ICAJaWYgKHBy b3BlcnR5ID09IGNvbmZpZy0+cHJvcF9hY3RpdmUpCj4gPiAgCQlzdGF0ZS0+YWN0aXZlID0gdmFs Owo+ID4gKwllbHNlIGlmIChwcm9wZXJ0eSA9PSBjb25maWctPnByb3BfYmFja2dyb3VuZF9jb2xv cikKPiA+ICsJCXN0YXRlLT5iYWNrZ3JvdW5kX2NvbG9yLnYgPSB2YWw7Cj4gPiAgCWVsc2UgaWYg KHByb3BlcnR5ID09IGNvbmZpZy0+cHJvcF9tb2RlX2lkKSB7Cj4gPiAgCQlzdHJ1Y3QgZHJtX3By b3BlcnR5X2Jsb2IgKm1vZGUgPQo+ID4gIAkJCWRybV9wcm9wZXJ0eV9sb29rdXBfYmxvYihkZXYs IHZhbCk7Cj4gPiBAQCAtNDUwLDYgKzQ1Miw4IEBAIGRybV9hdG9taWNfY3J0Y19nZXRfcHJvcGVy dHkoc3RydWN0IGRybV9jcnRjICpjcnRjLAo+ID4gIAkJKnZhbCA9IHN0YXRlLT5hY3RpdmU7Cj4g PiAgCWVsc2UgaWYgKHByb3BlcnR5ID09IGNvbmZpZy0+cHJvcF9tb2RlX2lkKQo+ID4gIAkJKnZh bCA9IChzdGF0ZS0+bW9kZV9ibG9iKSA/IHN0YXRlLT5tb2RlX2Jsb2ItPmJhc2UuaWQgOiAwOwo+ ID4gKwllbHNlIGlmIChwcm9wZXJ0eSA9PSBjb25maWctPnByb3BfYmFja2dyb3VuZF9jb2xvcikK PiA+ICsJCSp2YWwgPSBzdGF0ZS0+YmFja2dyb3VuZF9jb2xvci52Owo+ID4gIAllbHNlIGlmIChj cnRjLT5mdW5jcy0+YXRvbWljX2dldF9wcm9wZXJ0eSkKPiA+ICAJCXJldHVybiBjcnRjLT5mdW5j cy0+YXRvbWljX2dldF9wcm9wZXJ0eShjcnRjLCBzdGF0ZSwgcHJvcGVydHksIHZhbCk7Cj4gPiAg CWVsc2UKPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2NydGMuYyBiL2RyaXZl cnMvZ3B1L2RybS9kcm1fY3J0Yy5jCj4gPiBpbmRleCBlNTQ2NjBhLi4xZTBkZDA5IDEwMDY0NAo+ ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9jcnRjLmMKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1 L2RybS9kcm1fY3J0Yy5jCj4gPiBAQCAtMzgwNyw2ICszODA3LDMwIEBAIHN0cnVjdCBkcm1fcHJv cGVydHkgKmRybV9wcm9wZXJ0eV9jcmVhdGVfYm9vbChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBp bnQgZmxhZ3MsCj4gPiAgRVhQT1JUX1NZTUJPTChkcm1fcHJvcGVydHlfY3JlYXRlX2Jvb2wpOwo+ ID4gIAo+ID4gIC8qKgo+ID4gKyAqIGRybV9wcm9wZXJ0eV9jcmVhdGVfcmdiYSAtIGNyZWF0ZSBh IG5ldyBSR0JBIHByb3BlcnR5IHR5cGUKPiA+ICsgKiBAZGV2OiBkcm0gZGV2aWNlCj4gPiArICog QGZsYWdzOiBmbGFncyBzcGVjaWZ5aW5nIHRoZSBwcm9wZXJ0eSB0eXBlCj4gPiArICogQG5hbWU6 IG5hbWUgb2YgdGhlIHByb3BlcnR5Cj4gPiArICoKPiA+ICsgKiBUaGlzIGNyZWF0ZXMgYSBuZXcg Z2VuZXJpYyBkcm0gcHJvcGVydHkgd2hpY2ggY2FuIHRoZW4gYmUgYXR0YWNoZWQgdG8gYSBkcm0K PiA+ICsgKiBvYmplY3Qgd2l0aCBkcm1fb2JqZWN0X2F0dGFjaF9wcm9wZXJ0eS4gVGhlIHJldHVy bmVkIHByb3BlcnR5IG9iamVjdCBtdXN0IGJlCj4gPiArICogZnJlZWQgd2l0aCBkcm1fcHJvcGVy dHlfZGVzdHJveS4KPiA+ICsgKgo+ID4gKyAqIFVzZXJzcGFjZSBzaG91bGQgdXNlIHRoZSBEUk1f UkdCQSgpIG1hY3JvIHRvIGJ1aWxkIHZhbHVlcyB3aXRoIHRoZSBwcm9wZXIKPiA+ICsgKiBiaXQg bGF5b3V0Lgo+ID4gKyAqCj4gPiArICogUmV0dXJuczoKPiA+ICsgKiBBIHBvaW50ZXIgdG8gdGhl IG5ld2x5IGNyZWF0ZWQgcHJvcGVydHkgb24gc3VjY2VzcywgTlVMTCBvbiBmYWlsdXJlLgo+ID4g KyAqLwo+ID4gK3N0cnVjdCBkcm1fcHJvcGVydHkgKmRybV9wcm9wZXJ0eV9jcmVhdGVfcmdiYShz dHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBpbnQgZmxhZ3MsCj4gPiArCQkJCQkgICAgICBjb25zdCBj aGFyICpuYW1lKQo+ID4gK3sKPiA+ICsJcmV0dXJuIGRybV9wcm9wZXJ0eV9jcmVhdGVfcmFuZ2Uo ZGV2LCBmbGFncywgbmFtZSwKPiA+ICsJCQkJCSAwLCBHRU5NQVNLX1VMTCg2MywgMCkpOwo+ID4g K30KPiA+ICtFWFBPUlRfU1lNQk9MKGRybV9wcm9wZXJ0eV9jcmVhdGVfcmdiYSk7Cj4gCj4gSSdt IG5vdCBzdXJlIEkgdW5kZXJzdGFuZCB3aHkgZHJtX3Byb3BlcnR5X2NyZWF0ZV9yZ2JhIHdhcyBh ZGRlZC4gIEl0J3MKPiBub3QgYmVpbmcgdXNlZC4gIE1heWJlIGlmIHRoZQo+IGRybV9tb2RlX2Ny ZWF0ZV9iYWNrZ3JvdW5kX2NvbG9yX3Byb3BlcnR5KCkgYmVsb3cgY2FsbGVkIHRoaXMgaW5zdGVh ZAo+IG9mIGNyZWF0ZV9yYW5nZSBkaXJlY3RseSwgd2UgY291bGQgdGhlbiBjaGFuZ2UgdGhlIHVu ZGVybHlpbmcgcHJvcGVydHkKPiB0eXBlIHVzZWQgZm9yIHJnYmEgd2l0aG91dCBoYXZpbmcgdG8g bG9jYXRlIGFsbCBwcm9wZXJ0aWVzIHRoYXQgYXJlCj4gc3VwcG9zZWQgdG8gYmUgb2YgdGhhdCB0 eXBlLiAgV2FzIHRoYXQgdGhlIGludGVudGlvbj8KClllYWgsIEkgbWVhbnQgdG8gdXNlIHRoaXMg Zm9yIHRoZSBiYWNrZ3JvdW5kX2NvbG9yX3Byb3BlcnR5IGZ1bmN0aW9uCmJlbG93LCBidXQgSSBn dWVzcyBJIGZvcmdvdCB0byBnbyBiYWNrIGFuZCBhY3R1YWxseSBtYWtlIHRoYXQgY2hhbmdlLgpU aGlzIGlzIG1vcmUganVzdCBhIGhlbHBlciBzbyB0aGF0IGRyaXZlcnMgdGhhdCBtYWtlIGRyaXZl ci1zcGVjaWZpYwpyZ2JhIHByb3BlcnRpZXMgd29uJ3QgaGF2ZSB0byB0aGluayBhYm91dCB3aGF0 IHRoZSBpbnRlcm5hbApyZXByZXNlbnRhdGlvbiByZWFsbHkgaXMgKHRoZSBzYW1lIHdheSBib29s ZWFuIHByb3BlcnRpZXMgYXJlIHJlYWxseQpqdXN0IGEgaGVscGVyIGZvciByYW5nZSBbMCwxXSBw cm9wZXJ0aWVzKS4KCj4gCj4gPiArCj4gPiArLyoqCj4gPiAgICogZHJtX3Byb3BlcnR5X2FkZF9l bnVtIC0gYWRkIGEgcG9zc2libGUgdmFsdWUgdG8gYW4gZW51bWVyYXRpb24gcHJvcGVydHkKPiA+ ICAgKiBAcHJvcGVydHk6IGVudW1lcmF0aW9uIHByb3BlcnR5IHRvIGNoYW5nZQo+ID4gICAqIEBp bmRleDogaW5kZXggb2YgdGhlIG5ldyBlbnVtZXJhdGlvbgo+ID4gQEAgLTU3NzgsNiArNTgwMiwx NSBAQCBzdHJ1Y3QgZHJtX3Byb3BlcnR5ICpkcm1fbW9kZV9jcmVhdGVfcm90YXRpb25fcHJvcGVy dHkoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiA+ICB9Cj4gPiAgRVhQT1JUX1NZTUJPTChkcm1f bW9kZV9jcmVhdGVfcm90YXRpb25fcHJvcGVydHkpOwo+ID4gIAo+ID4gK3N0cnVjdCBkcm1fcHJv cGVydHkKPiA+ICsqZHJtX21vZGVfY3JlYXRlX2JhY2tncm91bmRfY29sb3JfcHJvcGVydHkoc3Ry dWN0IGRybV9kZXZpY2UgKmRldikKPiA+ICt7Cj4gPiArCXJldHVybiBkcm1fcHJvcGVydHlfY3Jl YXRlX3JhbmdlKGRldiwgRFJNX01PREVfUFJPUF9BVE9NSUMsCj4gPiArCQkJCQkgImJhY2tncm91 bmRfY29sb3IiLAo+ID4gKwkJCQkJIDAsIEdFTk1BU0tfVUxMKDYzLCAwKSk7Cj4gPiArfQo+ID4g K0VYUE9SVF9TWU1CT0woZHJtX21vZGVfY3JlYXRlX2JhY2tncm91bmRfY29sb3JfcHJvcGVydHkp Owo+ID4gKwo+ID4gIC8qKgo+ID4gICAqIERPQzogVGlsZSBncm91cAo+ID4gICAqCj4gPiBkaWZm IC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX2NydGMuaCBiL2luY2x1ZGUvZHJtL2RybV9jcnRjLmgK PiA+IGluZGV4IDNmMGM2OTAuLjY0ZjNlNjIgMTAwNjQ0Cj4gPiAtLS0gYS9pbmNsdWRlL2RybS9k cm1fY3J0Yy5oCj4gPiArKysgYi9pbmNsdWRlL2RybS9kcm1fY3J0Yy5oCj4gPiBAQCAtMjUxLDYg KzI1MSw0NSBAQCBzdHJ1Y3QgZHJtX2JyaWRnZTsKPiA+ICBzdHJ1Y3QgZHJtX2F0b21pY19zdGF0 ZTsKPiA+ICAKPiA+ICAvKioKPiA+ICsgKiBkcm1fcmdiYV90IC0gUkdCQSBwcm9wZXJ0eSB2YWx1 ZSB0eXBlCj4gPiArICoKPiA+ICsgKiBTdHJ1Y3R1cmUgdG8gYWJzdHJhY3QgYXdheSB0aGUgcmVw cmVzZW50YXRpb24gb2YgUkdCQSB2YWx1ZXMgd2l0aCBwcmVjaXNpb24KPiA+ICsgKiB1cCB0byAx NiBiaXRzIHBlciBjb2xvciBjb21wb25lbnQuICBUaGlzIGlzIHByaW1hcmlseSBpbnRlbmRlZCBm b3IgdXNlIHdpdGgKPiA+ICsgKiBEUk0gcHJvcGVydGllcyB0aGF0IG5lZWQgdG8gdGFrZSBhIGNv bG9yIHZhbHVlIHNpbmNlIHdlIGRvbid0IHdhbnQgdXNlcnNwYWNlCj4gPiArICogdG8gaGF2ZSB0 byB3b3JyeSBhYm91dCB0aGUgYml0IGxheW91dCBleHBlY3RlZCBieSB0aGUgdW5kZXJseWluZyBo YXJkd2FyZS4KPiA+ICsgKgo+ID4gKyAqIFdlIHdyYXAgdGhlIHZhbHVlIGluIGEgc3RydWN0dXJl IGhlcmUgc28gdGhhdCB0aGUgY29tcGlsZXIgd2lsbCBmbGFnIGFueQo+ID4gKyAqIGFjY2lkZW50 YWwgYXR0ZW1wdHMgYnkgZHJpdmVyIGNvZGUgdG8gZGlyZWN0bHkgYXR0ZW1wdCBiaXR3aXNlIG9w ZXJhdGlvbnMKPiA+ICsgKiB0aGF0IGNvdWxkIHBvdGVudGlhbGx5IG1pc2ludGVycHJldCB0aGUg dmFsdWUuICBEcml2ZXJzIHNob3VsZCBpbnN0ZWFkIHVzZQo+ID4gKyAqIHRoZSBEUk1fUkdCQV97 UkVELEdSRUVOLEJMVUUsQUxQSEF9QklUUygpIG1hY3JvcyB0byBvYnRhaW4gdGhlIGNvbXBvbmVu dAo+ID4gKyAqIGJpdHMgYW5kIHRoZW4gYnVpbGQgdmFsdWVzIGluIHRoZSBmb3JtYXQgdGhlaXIg aGFyZHdhcmUgZXhwZWN0cy4KPiA+ICsgKi8KPiA+ICt0eXBlZGVmIHN0cnVjdCB7Cj4gPiArCXVp bnQ2NF90IHY7Cj4gPiArfSBkcm1fcmdiYV90Owo+ID4gKwo+ID4gK3N0YXRpYyBpbmxpbmUgdWlu dDE2X3QKPiA+ICtkcm1fcmdiYV9iaXRzKGRybV9yZ2JhX3QgYywgdW5zaWduZWQgY29tcHNoaWZ0 LCB1bnNpZ25lZCBiaXRzKSB7Cj4gPiArCXVpbnQ2NF90IHZhbDsKPiA+ICsKPiA+ICsJaWYgKFdB Uk5fT04oYml0cyA+IDE2KSkKPiA+ICsJCWJpdHMgPSAxNjsKPiA+ICsKPiA+ICsJdmFsID0gYy52 ICYgR0VOTUFTS19VTEwoY29tcHNoaWZ0ICsgMTUsIGNvbXBzaGlmdCk7Cj4gPiArCXJldHVybiB2 YWwgPj4gKGNvbXBzaGlmdCArIDE2IC0gYml0cyk7Cj4gPiArfQo+ID4gKwo+ID4gKy8qCj4gPiAr ICogTWFjcm9zIHRvIGFjY2VzcyB0aGUgaW5kaXZpZHVhbCBjb2xvciBjb21wb25lbnRzIG9mIGFu IFJHQkEgcHJvcGVydHkgdmFsdWUuCj4gPiArICogSWYgdGhlIHJlcXVlc3RlZCBudW1iZXIgb2Yg Yml0cyBpcyBsZXNzIHRoYW4gMTYsIG9ubHkgdGhlIG1vc3Qgc2lnbmlmaWNhbnQKPiA+ICsgKiBi aXRzIG9mIHRoZSBjb2xvciBjb21wb25lbnQgd2lsbCBiZSByZXR1cm5lZC4KPiA+ICsgKi8KPiA+ ICsjZGVmaW5lIERSTV9SR0JBX1JFREJJVFMoYywgYml0cykgICBkcm1fcmdiYV9iaXRzKGMsIDQ4 LCBiaXRzKQo+ID4gKyNkZWZpbmUgRFJNX1JHQkFfR1JFRU5CSVRTKGMsIGJpdHMpIGRybV9yZ2Jh X2JpdHMoYywgMzIsIGJpdHMpCj4gPiArI2RlZmluZSBEUk1fUkdCQV9CTFVFQklUUyhjLCBiaXRz KSAgZHJtX3JnYmFfYml0cyhjLCAxNiwgYml0cykKPiA+ICsjZGVmaW5lIERSTV9SR0JBX0FMUEhB QklUUyhjLCBiaXRzKSBkcm1fcmdiYV9iaXRzKGMsIDAsIGJpdHMpCj4gCj4gRG8gd2UgYWxzbyBu ZWVkIG1hY3JvcyB0aGF0IGRyaXZlcnMgY2FuIHVzZSB0byBjcmVhdGUgYSBSR0JBIHZhbHVlPwo+ IEkuRS4gbWF5YmUgd2hlbiBkb2luZyB0aGUgYXR0YWNoPwo+IAoKWWVhaCwgbWFrZXMgc2Vuc2U7 IHRoZSBtYWNybyBJIGhhdmUgaW4gbGliZHJtIHNob3VsZCBhbHNvIGJlIGF2YWlsYWJsZQppbiB0 aGUga2VybmVsLiAgSSdsbCBhZGQgdGhhdCBpbiB0aGUgbmV4dCB2ZXJzaW9uLgoKCk1hdHQKCgo+ ID4gKwo+ID4gKy8qKgo+ID4gICAqIHN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAtIG11dGFibGUgQ1JU QyBzdGF0ZQo+ID4gICAqIEBjcnRjOiBiYWNrcG9pbnRlciB0byB0aGUgQ1JUQwo+ID4gICAqIEBl bmFibGU6IHdoZXRoZXIgdGhlIENSVEMgc2hvdWxkIGJlIGVuYWJsZWQsIGdhdGVzIGFsbCBvdGhl ciBzdGF0ZQo+ID4gQEAgLTI2NCw2ICszMDMsNyBAQCBzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZTsK PiA+ICAgKiAJdXBkYXRlIHRvIGVuc3VyZSBmcmFtZWJ1ZmZlciBjbGVhbnVwIGlzbid0IGRvbmUg dG9vIGVhcmx5Cj4gPiAgICogQGFkanVzdGVkX21vZGU6IGZvciB1c2UgYnkgaGVscGVycyBhbmQg ZHJpdmVycyB0byBjb21wdXRlIGFkanVzdGVkIG1vZGUgdGltaW5ncwo+ID4gICAqIEBtb2RlOiBj dXJyZW50IG1vZGUgdGltaW5ncwo+ID4gKyAqIEBiYWNrZ3JvdW5kX2NvbG9yOiBiYWNrZ3JvdW5k IGNvbG9yIG9mIHJlZ2lvbnMgbm90IGNvdmVyZWQgYnkgcGxhbmVzCj4gPiAgICogQGV2ZW50OiBv cHRpb25hbCBwb2ludGVyIHRvIGEgRFJNIGV2ZW50IHRvIHNpZ25hbCB1cG9uIGNvbXBsZXRpb24g b2YgdGhlCj4gPiAgICogCXN0YXRlIHVwZGF0ZQo+ID4gICAqIEBzdGF0ZTogYmFja3BvaW50ZXIg dG8gZ2xvYmFsIGRybV9hdG9taWNfc3RhdGUKPiA+IEBAIC0zMDQsNiArMzQ0LDkgQEAgc3RydWN0 IGRybV9jcnRjX3N0YXRlIHsKPiA+ICAJLyogYmxvYiBwcm9wZXJ0eSB0byBleHBvc2UgY3VycmVu dCBtb2RlIHRvIGF0b21pYyB1c2Vyc3BhY2UgKi8KPiA+ICAJc3RydWN0IGRybV9wcm9wZXJ0eV9i bG9iICptb2RlX2Jsb2I7Cj4gPiAgCj4gPiArCS8qIENSVEMgYmFja2dyb3VuZCBjb2xvciAqLwo+ ID4gKwlkcm1fcmdiYV90IGJhY2tncm91bmRfY29sb3I7Cj4gPiArCj4gPiAgCXN0cnVjdCBkcm1f cGVuZGluZ192YmxhbmtfZXZlbnQgKmV2ZW50Owo+ID4gIAo+ID4gIAlzdHJ1Y3QgZHJtX2F0b21p Y19zdGF0ZSAqc3RhdGU7Cj4gPiBAQCAtMTExNSw2ICsxMTU4LDkgQEAgc3RydWN0IGRybV9tb2Rl X2NvbmZpZyB7Cj4gPiAgCXN0cnVjdCBkcm1fcHJvcGVydHkgKnByb3BfYWN0aXZlOwo+ID4gIAlz dHJ1Y3QgZHJtX3Byb3BlcnR5ICpwcm9wX21vZGVfaWQ7Cj4gPiAgCj4gPiArCS8qIGNydGMgcHJv cGVydGllcyAqLwo+ID4gKwlzdHJ1Y3QgZHJtX3Byb3BlcnR5ICpwcm9wX2JhY2tncm91bmRfY29s b3I7Cj4gPiArCj4gPiAgCS8qIERWSS1JIHByb3BlcnRpZXMgKi8KPiA+ICAJc3RydWN0IGRybV9w cm9wZXJ0eSAqZHZpX2lfc3ViY29ubmVjdG9yX3Byb3BlcnR5Owo+ID4gIAlzdHJ1Y3QgZHJtX3By b3BlcnR5ICpkdmlfaV9zZWxlY3Rfc3ViY29ubmVjdG9yX3Byb3BlcnR5Owo+ID4gQEAgLTEzNjUs NiArMTQxMSw4IEBAIHN0cnVjdCBkcm1fcHJvcGVydHkgKmRybV9wcm9wZXJ0eV9jcmVhdGVfb2Jq ZWN0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gPiAgCQkJCQkgaW50IGZsYWdzLCBjb25zdCBj aGFyICpuYW1lLCB1aW50MzJfdCB0eXBlKTsKPiA+ICBzdHJ1Y3QgZHJtX3Byb3BlcnR5ICpkcm1f cHJvcGVydHlfY3JlYXRlX2Jvb2woc3RydWN0IGRybV9kZXZpY2UgKmRldiwgaW50IGZsYWdzLAo+ ID4gIAkJCQkJIGNvbnN0IGNoYXIgKm5hbWUpOwo+ID4gK3N0cnVjdCBkcm1fcHJvcGVydHkgKmRy bV9wcm9wZXJ0eV9jcmVhdGVfcmdiYShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ID4gKwkJCQkJ ICAgICAgaW50IGZsYWdzLCBjb25zdCBjaGFyICpuYW1lKTsKPiA+ICBzdHJ1Y3QgZHJtX3Byb3Bl cnR5X2Jsb2IgKmRybV9wcm9wZXJ0eV9jcmVhdGVfYmxvYihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 LAo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHNpemVfdCBsZW5ndGgsCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgY29uc3Qgdm9pZCAqZGF0YSk7Cj4gPiBAQCAtMTQ5NSw2ICsxNTQzLDcg QEAgZXh0ZXJuIGludCBkcm1fZm9ybWF0X3ZlcnRfY2hyb21hX3N1YnNhbXBsaW5nKHVpbnQzMl90 IGZvcm1hdCk7Cj4gPiAgZXh0ZXJuIGNvbnN0IGNoYXIgKmRybV9nZXRfZm9ybWF0X25hbWUodWlu dDMyX3QgZm9ybWF0KTsKPiA+ICBleHRlcm4gc3RydWN0IGRybV9wcm9wZXJ0eSAqZHJtX21vZGVf Y3JlYXRlX3JvdGF0aW9uX3Byb3BlcnR5KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gPiAgCQkJ CQkJCSAgICAgIHVuc2lnbmVkIGludCBzdXBwb3J0ZWRfcm90YXRpb25zKTsKPiA+ICtleHRlcm4g c3RydWN0IGRybV9wcm9wZXJ0eSAqZHJtX21vZGVfY3JlYXRlX2JhY2tncm91bmRfY29sb3JfcHJv cGVydHkoc3RydWN0IGRybV9kZXZpY2UgKmRldik7Cj4gPiAgZXh0ZXJuIHVuc2lnbmVkIGludCBk cm1fcm90YXRpb25fc2ltcGxpZnkodW5zaWduZWQgaW50IHJvdGF0aW9uLAo+ID4gIAkJCQkJICB1 bnNpZ25lZCBpbnQgc3VwcG9ydGVkX3JvdGF0aW9ucyk7Cj4gPiAgCj4gCj4gCj4gCj4gLS0gCj4g LS0KPiBCb2IgUGFhdXdlICAgICAgICAgICAgICAgICAgCj4gQm9iLkouUGFhdXdlQGludGVsLmNv bQo+IElPVEcgLyBQRUQgU29mdHdhcmUgT3JnYW5pemF0aW9uCj4gSW50ZWwgQ29ycC4gIEZvbHNv bSwgQ0EKPiAoOTE2KSAzNTYtNjE5MyAgICAKPiAKCi0tIApNYXR0IFJvcGVyCkdyYXBoaWNzIFNv ZnR3YXJlIEVuZ2luZWVyCklvVEcgUGxhdGZvcm0gRW5hYmxpbmcgJiBEZXZlbG9wbWVudApJbnRl bCBDb3Jwb3JhdGlvbgooOTE2KSAzNTYtMjc5NQpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0 cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xp c3RpbmZvL2RyaS1kZXZlbAo=