From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: Re: [RFC PATCH] drm: Add per-plane pixel blend mode property Date: Thu, 17 May 2018 10:05:35 +0200 Message-ID: <9e753dbc-1e58-6ac2-cd0e-4c02ab387c5f@linux.intel.com> References: <1525775676-32158-1-git-send-email-lowry.li@arm.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by gabe.freedesktop.org (Postfix) with ESMTPS id AFAF76E6B5 for ; Thu, 17 May 2018 08:05:39 +0000 (UTC) In-Reply-To: <1525775676-32158-1-git-send-email-lowry.li@arm.com> Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Lowry Li , liviu.dudau@arm.com Cc: airlied@linux.ie, daniel.vetter@intel.com, nd@arm.com, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org T3AgMDgtMDUtMTggb20gMTI6MzQgc2NocmVlZiBMb3dyeSBMaToKPiBQaXhlbCBibGVuZCBtb2Rl cyByZXByZXNlbnQgdGhlIGFscGhhIGJsZW5kaW5nIGVxdWF0aW9uCj4gc2VsZWN0aW9uLCBkZXNj cmliaW5nIGhvdyB0aGUgcGl4ZWxzIGZyb20gdGhlIGN1cnJlbnQKPiBwbGFuZSBhcmUgY29tcG9z aXRlZCB3aXRoIHRoZSBiYWNrZ3JvdW5kLgo+Cj4gQWRkIGEgcGl4ZWxfYmxlbmRfbW9kZSB0byBk cm1fcGxhbmVfc3RhdGUgYW5kIGEKPiBibGVuZF9tb2RlX3Byb3BlcnR5IHRvIGRybV9wbGFuZSwg YW5kIHJlbGF0ZWQgc3VwcG9ydAo+IGZ1bmN0aW9ucy4KPgo+IERlZmluZXMgdGhyZWUgYmxlbmQg bW9kZXMgaW4gZHJtX2JsZW5kLmguCj4KPiBTaWduZWQtb2ZmLWJ5OiBMb3dyeSBMaSA8bG93cnku bGlAYXJtLmNvbT4KPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMuYyAgICAgICAg fCAgNCArKwo+ICBkcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19oZWxwZXIuYyB8ICAxICsKPiAg ZHJpdmVycy9ncHUvZHJtL2RybV9ibGVuZC5jICAgICAgICAgfCA5NSArKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrCj4gIGluY2x1ZGUvZHJtL2RybV9ibGVuZC5oICAgICAgICAg ICAgIHwgIDYgKysrCj4gIGluY2x1ZGUvZHJtL2RybV9wbGFuZS5oICAgICAgICAgICAgIHwgIDcg KysrCj4gIDUgZmlsZXMgY2hhbmdlZCwgMTEzIGluc2VydGlvbnMoKykKPgo+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9t aWMuYwo+IGluZGV4IGE1NjczMTAuLjBiYjZkZTEgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2RybV9hdG9taWMuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljLmMKPiBA QCAtNzY0LDYgKzc2NCw4IEBAIGludCBkcm1fYXRvbWljX3BsYW5lX3NldF9wcm9wZXJ0eShzdHJ1 Y3QgZHJtX3BsYW5lICpwbGFuZSwKPiAgCQlzdGF0ZS0+c3JjX3cgPSB2YWw7Cj4gIAl9IGVsc2Ug aWYgKHByb3BlcnR5ID09IGNvbmZpZy0+cHJvcF9zcmNfaCkgewo+ICAJCXN0YXRlLT5zcmNfaCA9 IHZhbDsKPiArCX0gZWxzZSBpZiAocHJvcGVydHkgPT0gcGxhbmUtPmJsZW5kX21vZGVfcHJvcGVy dHkpIHsKPiArCQlzdGF0ZS0+cGl4ZWxfYmxlbmRfbW9kZSA9IHZhbDsKPiAgCX0gZWxzZSBpZiAo cHJvcGVydHkgPT0gcGxhbmUtPnJvdGF0aW9uX3Byb3BlcnR5KSB7Cj4gIAkJaWYgKCFpc19wb3dl cl9vZl8yKHZhbCAmIERSTV9ST1RBVEVfTUFTSykpCj4gIAkJCXJldHVybiAtRUlOVkFMOwo+IEBA IC04MjYsNiArODI4LDggQEAgaW50IGRybV9hdG9taWNfcGxhbmVfc2V0X3Byb3BlcnR5KHN0cnVj dCBkcm1fcGxhbmUgKnBsYW5lLAo+ICAJCSp2YWwgPSBzdGF0ZS0+c3JjX3c7Cj4gIAl9IGVsc2Ug aWYgKHByb3BlcnR5ID09IGNvbmZpZy0+cHJvcF9zcmNfaCkgewo+ICAJCSp2YWwgPSBzdGF0ZS0+ c3JjX2g7Cj4gKwl9IGVsc2UgaWYgKHByb3BlcnR5ID09IHBsYW5lLT5ibGVuZF9tb2RlX3Byb3Bl cnR5KSB7Cj4gKwkJKnZhbCA9IHN0YXRlLT5waXhlbF9ibGVuZF9tb2RlOwo+ICAJfSBlbHNlIGlm IChwcm9wZXJ0eSA9PSBwbGFuZS0+cm90YXRpb25fcHJvcGVydHkpIHsKPiAgCQkqdmFsID0gc3Rh dGUtPnJvdGF0aW9uOwo+ICAJfSBlbHNlIGlmIChwcm9wZXJ0eSA9PSBwbGFuZS0+enBvc19wcm9w ZXJ0eSkgewo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19oZWxwZXIu YyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBlci5jCj4gaW5kZXggMDFkOTM2Yi4u ZTQzNzdmZCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19oZWxwZXIu Ywo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBlci5jCj4gQEAgLTMxMzMs NiArMzEzMyw3IEBAIHZvaWQgZHJtX2F0b21pY19oZWxwZXJfcGxhbmVfcmVzZXQoc3RydWN0IGRy bV9wbGFuZSAqcGxhbmUpCj4gIAlpZiAocGxhbmUtPnN0YXRlKSB7Cj4gIAkJcGxhbmUtPnN0YXRl LT5wbGFuZSA9IHBsYW5lOwo+ICAJCXBsYW5lLT5zdGF0ZS0+cm90YXRpb24gPSBEUk1fUk9UQVRF XzA7Cj4gKwkJcGxhbmUtPnN0YXRlLT5waXhlbF9ibGVuZF9tb2RlID0gRFJNX01PREVfQkxFTkRf UFJFTVVMVEk7Cj4gIAl9Cj4gIH0KPiAgRVhQT1JUX1NZTUJPTChkcm1fYXRvbWljX2hlbHBlcl9w bGFuZV9yZXNldCk7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYmxlbmQuYyBi L2RyaXZlcnMvZ3B1L2RybS9kcm1fYmxlbmQuYwo+IGluZGV4IDY2NWFhZmMuLmJiOTM4ZGUgMTAw NjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9ibGVuZC5jCj4gKysrIGIvZHJpdmVycy9n cHUvZHJtL2RybV9ibGVuZC5jCj4gQEAgLTk4LDYgKzk4LDEyIEBACj4gICAqICAgcGxhbmVzLiBX aXRob3V0IHRoaXMgcHJvcGVydHkgdGhlIHByaW1hcnkgcGxhbmUgaXMgYWx3YXlzIGJlbG93IHRo ZSBjdXJzb3IKPiAgICogICBwbGFuZSwgYW5kIG9yZGVyaW5nIGJldHdlZW4gYWxsIG90aGVyIHBs YW5lcyBpcyB1bmRlZmluZWQuCj4gICAqCj4gKyAqIHBpeGVsIGJsZW5kIG1vZGU6Cj4gKyAqCVBp eGVsIGJsZW5kIG1vZGUgaXMgc2V0IHVwIHdpdGggZHJtX3BsYW5lX2NyZWF0ZV9ibGVuZF9tb2Rl X3Byb3BlcnR5KCkuCj4gKyAqCUl0IGFkZHMgYSBibGVuZCBtb2RlIGZvciBhbHBoYSBibGVuZGlu ZyBlcXVhdGlvbiBzZWxlY3Rpb24sIGRlc2NyaWJpbmcKPiArICoJaG93IHRoZSBwaXhlbHMgZnJv bSB0aGUgY3VycmVudCBwbGFuZSBhcmUgY29tcG9zaXRlZCB3aXRoIHRoZQo+ICsgKgliYWNrZ3Jv dW5kLgo+ICsgKgo+ICAgKiBOb3RlIHRoYXQgYWxsIHRoZSBwcm9wZXJ0eSBleHRlbnNpb25zIGRl c2NyaWJlZCBoZXJlIGFwcGx5IGVpdGhlciB0byB0aGUKPiAgICogcGxhbmUgb3IgdGhlIENSVEMg KGUuZy4gZm9yIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLCB3aGljaCBjdXJyZW50bHkgaXMgbm90Cj4g ICAqIGV4cG9zZWQgYW5kIGFzc3VtZWQgdG8gYmUgYmxhY2spLgo+IEBAIC00MDUsMyArNDExLDky IEBAIGludCBkcm1fYXRvbWljX25vcm1hbGl6ZV96cG9zKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYs Cj4gIAlyZXR1cm4gMDsKPiAgfQo+ICBFWFBPUlRfU1lNQk9MKGRybV9hdG9taWNfbm9ybWFsaXpl X3pwb3MpOwo+ICsKPiArLyoqCj4gKyAqIGRybV9wbGFuZV9jcmVhdGVfYmxlbmRfbW9kZV9wcm9w ZXJ0eSAtIGNyZWF0ZSBhIG5ldyBibGVuZCBtb2RlIHByb3BlcnR5Cj4gKyAqIEBwbGFuZTogZHJt IHBsYW5lCj4gKyAqIEBzdXBwb3J0ZWRfbW9kZXM6IGJpdG1hc2sgb2Ygc3VwcG9ydGVkIG1vZGVz LCBtdXN0IGluY2x1ZGUKPiArICoJCSAgICAgQklUKERSTV9NT0RFX0JMRU5EX1BSRU1VTFRJKQo+ ICsgKgo+ICsgKiBUaGlzIGNyZWF0ZXMgYSBuZXcgcHJvcGVydHkgZGVzY3JpYmluZyB0aGUgYmxl bmQgbW9kZS4KPiArICoKPiArICogVGhlIHByb3BlcnR5IGV4cG9zZWQgdG8gdXNlcnNwYWNlIGlz IGFuIGVudW1lcmF0aW9uIHByb3BlcnR5IChzZWUKPiArICogZHJtX3Byb3BlcnR5X2NyZWF0ZV9l bnVtKCkpIGNhbGxlZCAicGl4ZWwgYmxlbmQgbW9kZSIgYW5kIGhhcyB0aGUKPiArICogZm9sbG93 aW5nIGVudW1lcmF0aW9uIHZhbHVlczoKPiArICoKPiArICogRFJNX01PREVfQkxFTkRfUElYRUxf Tk9ORTogQmxlbmQgZm9ybXVsYSB0aGF0IGlnbm9yZXMgdGhlIHBpeGVsIGFscGhhLgo+ICsgKgki Tm9uZSIKPiArICoJb3V0LnJnYiA9IHBsYW5lLmFscGhhICogcGl4ZWwucmdiICsgKDEgLSBwbGFu ZS5hbHBoYSkgKiBiZy5yZ2IKPiArICoKPiArICogRFJNX01PREVfQkxFTkRfUFJFTVVMVEk6IEJs ZW5kIGZvcm11bGEgdGhhdCBhc3N1bWVzIHRoZSBwaXhlbCBjb2xvciB2YWx1ZXMKPiArICoJCQkg ICAgaGF2ZSBiZWVuIGFscmVhZHkgcHJlLW11bHRpcGxpZWQgd2l0aCB0aGUgYWxwaGEKPiArICoJ CQkgICAgY2hhbm5lbCB2YWx1ZXMuCj4gKyAqCSJQcmUtbXVsdGlwbGllZCIKPiArICoJb3V0LnJn YiA9IHBsYW5lLmFscGhhICogcGl4ZWwucmdiICsKPiArICoJICAgICAgKDEgLSAocGxhbmUuYWxw aGEgKiBwaXhlbC5hbHBoYSkpICogYmcucmdiCj4gKyAqCj4gKyAqIERSTV9NT0RFX0JMRU5EX0NP VkVSQUdFOiBCbGVuZCBmb3JtdWxhIHRoYXQgYXNzdW1lcyB0aGUgcGl4ZWwgY29sb3IgdmFsdWVz Cj4gKyAqCQkJICAgIGhhdmUgbm90IGJlZW4gcHJlLW11bHRpcGxpZWQgYW5kIHdpbGwgZG8gc28g d2hlbgo+ICsgKgkJCSAgICBibGVuZGluZyB0aGVtIHRvIHRoZSBiYWNrZ3JvdW5kIGNvbG9yIHZh bHVlcy4KPiArICoJIkNvdmVyYWdlIgo+ICsgKglvdXQucmdiID0gcGxhbmUuYWxwaGEgKiBwaXhl bC5hbHBoYSAqIHBpeGVsLnJnYiArCj4gKyAqCSAgICAgICgxIC0gKHBsYW5lLmFscGhhICogcGl4 ZWwuYWxwaGEpKSAqIGJnLnJnYgo+ICsgKgo+ICsgKiBUaGlzIHByb3BlcnR5IGhhcyBubyBlZmZl Y3Qgb24gZm9ybWF0cyB3aXRoIG5vIHBpeGVsIGFscGhhLCBhcyBwaXhlbC5hbHBoYQo+ICsgKiBp cyBhc3N1bWVkIHRvIGJlIDEuMC4gSWYgdGhlIHBsYW5lIGRvZXMgbm90IGV4cG9zZSB0aGUgImFs cGhhIiBwcm9wZXJ0eSwgdGhlbgo+ICsgKiBwbGFuZS5hbHBoYSBpcyBhc3N1bWVkIHRvIGJlIDEu MCwgb3RoZXJ3aXNlLCBpdCBpcyB0aGUgdmFsdWUgb2YgdGhlICJhbHBoYSIKPiArICogcHJvcGVy dHkuCj4gKyAqCj4gKyAqIFJFVFVSTlM6Cj4gKyAqIFplcm8gZm9yIHN1Y2Nlc3Mgb3IgLWVycm5v Cj4gKyAqLwo+ICtpbnQgZHJtX3BsYW5lX2NyZWF0ZV9ibGVuZF9tb2RlX3Byb3BlcnR5KHN0cnVj dCBkcm1fcGxhbmUgKnBsYW5lLAo+ICsJCQkJCSB1bnNpZ25lZCBpbnQgc3VwcG9ydGVkX21vZGVz KQo+ICt7Cj4gKwlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gcGxhbmUtPmRldjsKPiArCXN0cnVj dCBkcm1fcHJvcGVydHkgKnByb3A7Cj4gKwlzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9wcm9wX2Vu dW1fbGlzdCBwcm9wc1tdID0gewo+ICsJCXsgRFJNX01PREVfQkxFTkRfUElYRUxfTk9ORSwgIk5v bmUiIH0sCj4gKwkJeyBEUk1fTU9ERV9CTEVORF9QUkVNVUxUSSwgIlByZS1tdWx0aXBsaWVkIiB9 LAo+ICsJCXsgRFJNX01PREVfQkxFTkRfQ09WRVJBR0UsICJDb3ZlcmFnZSIgfSwKPiArCX07Cj4g Kwl1bnNpZ25lZCBpbnQgdmFsaWRfbW9kZV9tYXNrID0gQklUKERSTV9NT0RFX0JMRU5EX1BJWEVM X05PTkUpIHwKPiArCQkJCSAgICAgICBCSVQoRFJNX01PREVfQkxFTkRfUFJFTVVMVEkpICAgfAo+ ICsJCQkJICAgICAgIEJJVChEUk1fTU9ERV9CTEVORF9DT1ZFUkFHRSk7Cj4gKwlpbnQgaSwgaiA9 IDA7Cj4gKwo+ICsJaWYgKFdBUk5fT04oKHN1cHBvcnRlZF9tb2RlcyAmIH52YWxpZF9tb2RlX21h c2spIHx8Cj4gKwkJICAgICgoc3VwcG9ydGVkX21vZGVzICYgQklUKERSTV9NT0RFX0JMRU5EX1BS RU1VTFRJKSkgPT0gMCkpKQo+ICsJCXJldHVybiAtRUlOVkFMOwo+ICsKPiArCXByb3AgPSBkcm1f cHJvcGVydHlfY3JlYXRlKGRldiwgRFJNX01PREVfUFJPUF9FTlVNLAo+ICsJCQkJICAgInBpeGVs IGJsZW5kIG1vZGUiLAo+ICsJCQkJICAgaHdlaWdodDMyKHN1cHBvcnRlZF9tb2RlcykpOwoKSnVz dCBhIHNtYWxsIG5pdHBpY2s6IGFsbCBvdGhlciBjcnRjIHByb3BlcnRpZXMgYXBwZWFyIHRvIHVz ZSB1cHBlciBjYXNlCmFuZCB1bmRlcnNjb3JlcyBpbnN0ZWFkIG9mIHNwYWNlcyBhbmQgbG93ZXJj YXNlIGZvciB0aGUgcHJvcGVydHkgbmFtZS4KRm9yIHRoZSB2YWx1ZSBuYW1lcyBJIHdvdWxkIGlt YWdpbmUgaXQncyBmaW5lLCBidXQgcHJvYmFibHkgYmVzdCB0byBiZQpjb25zaXN0ZW50IGZvciB0 aGUgbmFtZS4KCjopCgpBbGwgaW4gYWxsIHdpdGggdGhlIHJldmlldyBjb21tZW50cyBmcm9tIHRo ZSBvdGhlcnMgYWRkcmVzc2VkLCBJIHRoaW5rIHRoaXMgbG9va3MgZ29vZC4KCn5NYWFydGVuCgo+ ICsJaWYgKCFwcm9wKQo+ICsJCXJldHVybiAtRU5PTUVNOwo+ICsKPiArCWZvciAoaSA9IDA7IGkg PCBBUlJBWV9TSVpFKHByb3BzKTsgaSsrKSB7Cj4gKwkJaW50IHJldDsKPiArCj4gKwkJaWYgKCEo QklUKHByb3BzW2ldLnR5cGUpICYgc3VwcG9ydGVkX21vZGVzKSkKPiArCQkJY29udGludWU7Cj4g Kwo+ICsJCXJldCA9IGRybV9wcm9wZXJ0eV9hZGRfZW51bShwcm9wLCBqKyssIHByb3BzW2ldLnR5 cGUsCj4gKwkJCQkJICAgIHByb3BzW2ldLm5hbWUpOwo+ICsKPiArCQlpZiAocmV0KSB7Cj4gKwkJ CWRybV9wcm9wZXJ0eV9kZXN0cm95KGRldiwgcHJvcCk7Cj4gKwo+ICsJCQlyZXR1cm4gcmV0Owo+ ICsJCX0KPiArCX0KPiArCj4gKwlkcm1fb2JqZWN0X2F0dGFjaF9wcm9wZXJ0eSgmcGxhbmUtPmJh c2UsIHByb3AsIERSTV9NT0RFX0JMRU5EX1BSRU1VTFRJKTsKPiArCXBsYW5lLT5ibGVuZF9tb2Rl X3Byb3BlcnR5ID0gcHJvcDsKPiArCj4gKwlpZiAocGxhbmUtPnN0YXRlKQo+ICsJCXBsYW5lLT5z dGF0ZS0+cGl4ZWxfYmxlbmRfbW9kZSA9IERSTV9NT0RFX0JMRU5EX1BSRU1VTFRJOwo+ICsKPiAr CXJldHVybiAwOwo+ICt9Cj4gK0VYUE9SVF9TWU1CT0woZHJtX3BsYW5lX2NyZWF0ZV9ibGVuZF9t b2RlX3Byb3BlcnR5KTsKPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX2JsZW5kLmggYi9p bmNsdWRlL2RybS9kcm1fYmxlbmQuaAo+IGluZGV4IDEzMjIxY2YuLjZiZjk1YTQgMTAwNjQ0Cj4g LS0tIGEvaW5jbHVkZS9kcm0vZHJtX2JsZW5kLmgKPiArKysgYi9pbmNsdWRlL2RybS9kcm1fYmxl bmQuaAo+IEBAIC0yNiw2ICsyNiwxMCBAQAo+ICAjaW5jbHVkZSA8bGludXgvbGlzdC5oPgo+ICAj aW5jbHVkZSA8bGludXgvY3R5cGUuaD4KPiAgCj4gKyNkZWZpbmUgRFJNX01PREVfQkxFTkRfUElY RUxfTk9ORQkwCj4gKyNkZWZpbmUgRFJNX01PREVfQkxFTkRfUFJFTVVMVEkJCTEKPiArI2RlZmlu ZSBEUk1fTU9ERV9CTEVORF9DT1ZFUkFHRQkJMgo+ICsKPiAgc3RydWN0IGRybV9kZXZpY2U7Cj4g IHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlOwpTZWVtcyBpbiBnZW5lcmFsIHdoZW4gc3VjaCB2YWx1 ZXMgYXJlIGRlZmluZWQsIHRoZXkncmUgcHV0IGluc2lkZSB1YXBpL2RybS9kcm1fbW9kZS5oIDop Cgo+IEBAIC02NSw0ICs2OSw2IEBAIGludCBkcm1fcGxhbmVfY3JlYXRlX3pwb3NfaW1tdXRhYmxl X3Byb3BlcnR5KHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAo+ICAJCQkJCSAgICAgdW5zaWduZWQg aW50IHpwb3MpOwo+ICBpbnQgZHJtX2F0b21pY19ub3JtYWxpemVfenBvcyhzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2LAo+ICAJCQkgICAgICBzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpOwo+ ICtpbnQgZHJtX3BsYW5lX2NyZWF0ZV9ibGVuZF9tb2RlX3Byb3BlcnR5KHN0cnVjdCBkcm1fcGxh bmUgKnBsYW5lLAo+ICsJCQkJCSB1bnNpZ25lZCBpbnQgc3VwcG9ydGVkX21vZGVzKTsKPiAgI2Vu ZGlmCj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9wbGFuZS5oIGIvaW5jbHVkZS9kcm0v ZHJtX3BsYW5lLmgKPiBpbmRleCAyMDg2N2I0Li5mOWNiZmVlIDEwMDY0NAo+IC0tLSBhL2luY2x1 ZGUvZHJtL2RybV9wbGFuZS5oCj4gKysrIGIvaW5jbHVkZS9kcm0vZHJtX3BsYW5lLmgKPiBAQCAt NDEsNiArNDEsOCBAQAo+ICAgKglwbGFuZSAoaW4gMTYuMTYpCj4gICAqIEBzcmNfdzogd2lkdGgg b2YgdmlzaWJsZSBwb3J0aW9uIG9mIHBsYW5lIChpbiAxNi4xNikKPiAgICogQHNyY19oOiBoZWln aHQgb2YgdmlzaWJsZSBwb3J0aW9uIG9mIHBsYW5lIChpbiAxNi4xNikKPiArICogQHBpeGVsX2Js ZW5kX21vZGU6IGhvdyB0aGUgcGxhbmUncyBmcmFtZWJ1ZmZlciBhbHBoYSBjaGFubmVsIGlzIHVz ZWQgd2hlbgo+ICsgKglibGVuZGluZyB3aXRoIHRoZSBiYWNrZ3JvdW5kIGNvbG91ci4KPiAgICog QHJvdGF0aW9uOiByb3RhdGlvbiBvZiB0aGUgcGxhbmUKPiAgICogQHpwb3M6IHByaW9yaXR5IG9m IHRoZSBnaXZlbiBwbGFuZSBvbiBjcnRjIChvcHRpb25hbCkKPiAgICoJTm90ZSB0aGF0IG11bHRp cGxlIGFjdGl2ZSBwbGFuZXMgb24gdGhlIHNhbWUgY3J0YyBjYW4gaGF2ZSBhbiBpZGVudGljYWwK PiBAQCAtMTA0LDYgKzEwNiw5IEBAIHN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgewo+ICAJdWludDMy X3Qgc3JjX3gsIHNyY195Owo+ICAJdWludDMyX3Qgc3JjX2gsIHNyY193Owo+ICAKPiArCS8qIFBs YW5lIHBpeGVsIGJsZW5kIG1vZGUgKi8KPiArCXVpbnQxNl90IHBpeGVsX2JsZW5kX21vZGU7Cj4g Kwo+ICAJLyogUGxhbmUgcm90YXRpb24gKi8KPiAgCXVuc2lnbmVkIGludCByb3RhdGlvbjsKPiAg Cj4gQEAgLTQ1OSw2ICs0NjQsNyBAQCBlbnVtIGRybV9wbGFuZV90eXBlIHsKPiAgICogQHN0YXRl OiBjdXJyZW50IGF0b21pYyBzdGF0ZSBmb3IgdGhpcyBwbGFuZQo+ICAgKiBAenBvc19wcm9wZXJ0 eTogenBvcyBwcm9wZXJ0eSBmb3IgdGhpcyBwbGFuZQo+ICAgKiBAcm90YXRpb25fcHJvcGVydHk6 IHJvdGF0aW9uIHByb3BlcnR5IGZvciB0aGlzIHBsYW5lCj4gKyAqIEBibGVuZF9tb2RlX3Byb3Bl cnR5OiBibGVuZCBtb2RlIHByb3BlcnR5IGZvciB0aGlzIHBsYW5lCj4gICAqIEBoZWxwZXJfcHJp dmF0ZTogbWlkLWxheWVyIHByaXZhdGUgZGF0YQo+ICAgKi8KPiAgc3RydWN0IGRybV9wbGFuZSB7 Cj4gQEAgLTUwNiw2ICs1MTIsNyBAQCBzdHJ1Y3QgZHJtX3BsYW5lIHsKPiAgCj4gIAlzdHJ1Y3Qg ZHJtX3Byb3BlcnR5ICp6cG9zX3Byb3BlcnR5Owo+ICAJc3RydWN0IGRybV9wcm9wZXJ0eSAqcm90 YXRpb25fcHJvcGVydHk7Cj4gKwlzdHJ1Y3QgZHJtX3Byb3BlcnR5ICpibGVuZF9tb2RlX3Byb3Bl cnR5Owo+ICB9Owo+ICAKPiAgI2RlZmluZSBvYmpfdG9fcGxhbmUoeCkgY29udGFpbmVyX29mKHgs IHN0cnVjdCBkcm1fcGxhbmUsIGJhc2UpCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMu ZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlz dGluZm8vZHJpLWRldmVsCg==