From mboxrd@z Thu Jan 1 00:00:00 1970 From: Liviu Dudau Subject: Re: [PATCH v4 1/2] drm: Add per-plane pixel blend mode property Date: Wed, 15 Aug 2018 11:10:48 +0100 Message-ID: <20180815101048.GI907@e110455-lin.cambridge.arm.com> References: <1534314933-23182-1-git-send-email-lowry.li@arm.com> <1534314933-23182-2-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 foss.arm.com (foss.arm.com [217.140.101.70]) by gabe.freedesktop.org (Postfix) with ESMTP id 9811B6E33B for ; Wed, 15 Aug 2018 10:10:50 +0000 (UTC) Content-Disposition: inline In-Reply-To: <1534314933-23182-2-git-send-email-lowry.li@arm.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Lowry Li Cc: airlied@linux.ie, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, emil.l.velikov@gmail.com, seanpaul@chromium.org, malidp@foss.arm.com, daniel.vetter@intel.com, nd@arm.com List-Id: dri-devel@lists.freedesktop.org T24gV2VkLCBBdWcgMTUsIDIwMTggYXQgMDI6MzU6MzJQTSArMDgwMCwgTG93cnkgTGkgd3JvdGU6 Cj4gUGl4ZWwgYmxlbmQgbW9kZXMgcmVwcmVzZW50IHRoZSBhbHBoYSBibGVuZGluZyBlcXVhdGlv bgo+IHNlbGVjdGlvbiwgZGVzY3JpYmluZyBob3cgdGhlIHBpeGVscyBmcm9tIHRoZSBjdXJyZW50 Cj4gcGxhbmUgYXJlIGNvbXBvc2l0ZWQgd2l0aCB0aGUgYmFja2dyb3VuZC4KPiAKPiBBZGRzIGEg cGl4ZWxfYmxlbmRfbW9kZSB0byBkcm1fcGxhbmVfc3RhdGUgYW5kIGEKPiBibGVuZF9tb2RlX3By b3BlcnR5IHRvIGRybV9wbGFuZSwgYW5kIHJlbGF0ZWQgc3VwcG9ydAo+IGZ1bmN0aW9ucy4KPiAK PiBEZWZpbmVzIHRocmVlIGJsZW5kIG1vZGVzIGluIGRybV9ibGVuZC5oLgo+IAo+IENoYW5nZXMg c2luY2UgdjE6Cj4gIC0gTW92ZXMgdGhlIGJsZW5kaW5nIGVxdWF0aW9uIGludG8gdGhlIERPQyBj b21tZW50Cj4gIC0gUmVmaW5lcyB0aGUgY29tbWVudHMgb2YgZHJtX3BsYW5lX2NyZWF0ZV9ibGVu ZF9tb2RlX3Byb3BlcnR5IHRvIG5vdAo+ICAgIGVudW1lcmF0ZSB0aGUgI2RlZmluZXMsIGJ1dCBp bnN0ZWFkIHRoZSBzdHJpbmcgdmFsdWVzCj4gIC0gVXNlcyBmZy4qIGluc3RlYWQgb2YgcGl4ZWwu KiBhbmQgcGxhbmVfYWxwaGEgaW5zdGVhZCBvZiBwbGFuZS5hbHBoYQo+IENoYW5nZXMgc2luY2Ug djI6Cj4gIC0gUmVmaW5lcyB0aGUgY29tbWVudHMgb2YgZHJtX3BsYW5lX2NyZWF0ZV9ibGVuZF9t b2RlX3Byb3BlcnR5Ogo+ICAgICAgIDEpIFB1dHMgdGhlIGRlc2NyaXB0aW9ucyAoYWZ0ZXIgdGhl ICI6Iikgb24gYSBuZXcgbGluZQo+ICAgICAgIDIpIEFkZHMgZXhwbGFpbmluZyB3aHkgQHN1cHBv cnRlZF9tb2RlcyBuZWVkIFBSRU1VTCBhcyBkZWZhdWx0Cj4gQ2hhbmdlcyBzaW5jZSB2MzoKPiAg LSBSZWZpbmVzIGRybV9wbGFuZV9jcmVhdGVfYmxlbmRfbW9kZV9wcm9wZXJ0eSgpLiBkcm1fcHJv cGVydHlfYWRkX2VudW0oKQo+ICAgIGNhbiBjYWxjdWxhdGUgdGhlIGluZGV4IGl0c2VsZiBqdXN0 IGZpbmUsIHNvIG5vIHBvaW50IGluIGhhdmluZyB0aGUKPiAgICBjYWxsZXIgcGFzcyBpdCBpbi4K PiAgLSBTaW5jZSB0aGUgY3VycmVudCBEUk0gYXNzdW1wdGlvbiBpcyB0aGF0IGFscGhhIGlzIHBy ZW11bHRpcGxpZWQKPiAgICBhcyBkZWZhdWx0LCBkZWZpbmUgRFJNX01PREVfQkxFTkRfUFJFTVVM VEkgYXMgMCB3aWxsIGJlIGJldHRlci4KPiAgLSBSZWZpbmVzIHNvbWUgY29tbWVudHMuCj4gCj4g U2lnbmVkLW9mZi1ieTogTG93cnkgTGkgPGxvd3J5LmxpQGFybS5jb20+CgpMb29rcyBnb29kIHRv IG1lIQoKUmV2aWV3ZWQtYnk6IExpdml1IER1ZGF1IDxsaXZpdS5kdWRhdUBhcm0uY29tPgoKVGhh bmtzLApMaXZpdQoKPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMuYyAgICAgICAg fCAgIDQgKysKPiAgZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfaGVscGVyLmMgfCAgIDEgKwo+ ICBkcml2ZXJzL2dwdS9kcm0vZHJtX2JsZW5kLmMgICAgICAgICB8IDEyNiArKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysKPiAgaW5jbHVkZS9kcm0vZHJtX2JsZW5kLmggICAgICAg ICAgICAgfCAgIDYgKysKPiAgaW5jbHVkZS9kcm0vZHJtX3BsYW5lLmggICAgICAgICAgICAgfCAg IDIgKwo+ICA1IGZpbGVzIGNoYW5nZWQsIDEzOSBpbnNlcnRpb25zKCspCj4gCj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0 b21pYy5jCj4gaW5kZXggM2ViMDYxZS4uZDA0NzhhYiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vZHJtX2F0b21pYy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMuYwo+ IEBAIC04OTUsNiArODk1LDggQEAgc3RhdGljIGludCBkcm1fYXRvbWljX3BsYW5lX3NldF9wcm9w ZXJ0eShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKPiAgCQlzdGF0ZS0+c3JjX2ggPSB2YWw7Cj4g IAl9IGVsc2UgaWYgKHByb3BlcnR5ID09IHBsYW5lLT5hbHBoYV9wcm9wZXJ0eSkgewo+ICAJCXN0 YXRlLT5hbHBoYSA9IHZhbDsKPiArCX0gZWxzZSBpZiAocHJvcGVydHkgPT0gcGxhbmUtPmJsZW5k X21vZGVfcHJvcGVydHkpIHsKPiArCQlzdGF0ZS0+cGl4ZWxfYmxlbmRfbW9kZSA9IHZhbDsKPiAg CX0gZWxzZSBpZiAocHJvcGVydHkgPT0gcGxhbmUtPnJvdGF0aW9uX3Byb3BlcnR5KSB7Cj4gIAkJ aWYgKCFpc19wb3dlcl9vZl8yKHZhbCAmIERSTV9NT0RFX1JPVEFURV9NQVNLKSkgewo+ICAJCQlE Uk1fREVCVUdfQVRPTUlDKCJbUExBTkU6JWQ6JXNdIGJhZCByb3RhdGlvbiBiaXRtYXNrOiAweCVs bHhcbiIsCj4gQEAgLTk2OCw2ICs5NzAsOCBAQCBzdGF0aWMgaW50IGRybV9hdG9taWNfcGxhbmVf c2V0X3Byb3BlcnR5KHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAo+ICAJCSp2YWwgPSBzdGF0ZS0+ c3JjX2g7Cj4gIAl9IGVsc2UgaWYgKHByb3BlcnR5ID09IHBsYW5lLT5hbHBoYV9wcm9wZXJ0eSkg ewo+ICAJCSp2YWwgPSBzdGF0ZS0+YWxwaGE7Cj4gKwl9IGVsc2UgaWYgKHByb3BlcnR5ID09IHBs YW5lLT5ibGVuZF9tb2RlX3Byb3BlcnR5KSB7Cj4gKwkJKnZhbCA9IHN0YXRlLT5waXhlbF9ibGVu ZF9tb2RlOwo+ICAJfSBlbHNlIGlmIChwcm9wZXJ0eSA9PSBwbGFuZS0+cm90YXRpb25fcHJvcGVy dHkpIHsKPiAgCQkqdmFsID0gc3RhdGUtPnJvdGF0aW9uOwo+ICAJfSBlbHNlIGlmIChwcm9wZXJ0 eSA9PSBwbGFuZS0+enBvc19wcm9wZXJ0eSkgewo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vZHJtX2F0b21pY19oZWxwZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBl ci5jCj4gaW5kZXggNmRkNTAzNi4uNTYzYWYwOSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9k cm0vZHJtX2F0b21pY19oZWxwZXIuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWlj X2hlbHBlci5jCj4gQEAgLTM1NjksNiArMzU2OSw3IEBAIHZvaWQgX19kcm1fYXRvbWljX2hlbHBl cl9wbGFuZV9yZXNldChzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKPiAgCS8qIFJlc2V0IHRoZSBh bHBoYSB2YWx1ZSB0byBmdWxseSBvcGFxdWUgaWYgaXQgbWF0dGVycyAqLwo+ICAJaWYgKHBsYW5l LT5hbHBoYV9wcm9wZXJ0eSkKPiAgCQlzdGF0ZS0+YWxwaGEgPSBwbGFuZS0+YWxwaGFfcHJvcGVy dHktPnZhbHVlc1sxXTsKPiArCXBsYW5lLT5zdGF0ZS0+cGl4ZWxfYmxlbmRfbW9kZSA9IERSTV9N T0RFX0JMRU5EX1BSRU1VTFRJOwo+ICAKPiAgCXBsYW5lLT5zdGF0ZSA9IHN0YXRlOwo+ICB9Cj4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYmxlbmQuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9kcm1fYmxlbmQuYwo+IGluZGV4IGExNmE3NGQuLjI0MDE2YzkgMTAwNjQ0Cj4gLS0tIGEvZHJp dmVycy9ncHUvZHJtL2RybV9ibGVuZC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9ibGVu ZC5jCj4gQEAgLTEwNyw2ICsxMDcsNTIgQEAKPiAgICoJcGxhbmVzLiBXaXRob3V0IHRoaXMgcHJv cGVydHkgdGhlIHByaW1hcnkgcGxhbmUgaXMgYWx3YXlzIGJlbG93IHRoZSBjdXJzb3IKPiAgICoJ cGxhbmUsIGFuZCBvcmRlcmluZyBiZXR3ZWVuIGFsbCBvdGhlciBwbGFuZXMgaXMgdW5kZWZpbmVk Lgo+ICAgKgo+ICsgKiBwaXhlbCBibGVuZCBtb2RlOgo+ICsgKglQaXhlbCBibGVuZCBtb2RlIGlz IHNldCB1cCB3aXRoIGRybV9wbGFuZV9jcmVhdGVfYmxlbmRfbW9kZV9wcm9wZXJ0eSgpLgo+ICsg KglJdCBhZGRzIGEgYmxlbmQgbW9kZSBmb3IgYWxwaGEgYmxlbmRpbmcgZXF1YXRpb24gc2VsZWN0 aW9uLCBkZXNjcmliaW5nCj4gKyAqCWhvdyB0aGUgcGl4ZWxzIGZyb20gdGhlIGN1cnJlbnQgcGxh bmUgYXJlIGNvbXBvc2l0ZWQgd2l0aCB0aGUKPiArICoJYmFja2dyb3VuZC4KPiArICoKPiArICoJ IFRocmVlIGFscGhhIGJsZW5kaW5nIGVxdWF0aW9ucyBhcmUgZGVmaW5lZDoKPiArICoKPiArICoJ ICJOb25lIjoKPiArICoJCSBCbGVuZCBmb3JtdWxhIHRoYXQgaWdub3JlcyB0aGUgcGl4ZWwgYWxw aGE6Ogo+ICsgKgo+ICsgKgkJCSBvdXQucmdiID0gcGxhbmVfYWxwaGEgKiBmZy5yZ2IgKwo+ICsg KgkJCQkgKDEgLSBwbGFuZV9hbHBoYSkgKiBiZy5yZ2IKPiArICoKPiArICoJICJQcmUtbXVsdGlw bGllZCI6Cj4gKyAqCQkgQmxlbmQgZm9ybXVsYSB0aGF0IGFzc3VtZXMgdGhlIHBpeGVsIGNvbG9y IHZhbHVlcwo+ICsgKgkJIGhhdmUgYmVlbiBhbHJlYWR5IHByZS1tdWx0aXBsaWVkIHdpdGggdGhl IGFscGhhCj4gKyAqCQkgY2hhbm5lbCB2YWx1ZXM6Ogo+ICsgKgo+ICsgKgkJCSBvdXQucmdiID0g cGxhbmVfYWxwaGEgKiBmZy5yZ2IgKwo+ICsgKgkJCQkgKDEgLSAocGxhbmVfYWxwaGEgKiBmZy5h bHBoYSkpICogYmcucmdiCj4gKyAqCj4gKyAqCSAiQ292ZXJhZ2UiOgo+ICsgKgkJIEJsZW5kIGZv cm11bGEgdGhhdCBhc3N1bWVzIHRoZSBwaXhlbCBjb2xvciB2YWx1ZXMgaGF2ZSBub3QKPiArICoJ CSBiZWVuIHByZS1tdWx0aXBsaWVkIGFuZCB3aWxsIGRvIHNvIHdoZW4gYmxlbmRpbmcgdGhlbSB0 byB0aGUKPiArICoJCSBiYWNrZ3JvdW5kIGNvbG9yIHZhbHVlczo6Cj4gKyAqCj4gKyAqCQkJIG91 dC5yZ2IgPSBwbGFuZV9hbHBoYSAqIGZnLmFscGhhICogZmcucmdiICsKPiArICoJCQkJICgxIC0g KHBsYW5lX2FscGhhICogZmcuYWxwaGEpKSAqIGJnLnJnYgo+ICsgKgo+ICsgKgkgVXNpbmcgdGhl IGZvbGxvd2luZyBzeW1ib2xzOgo+ICsgKgo+ICsgKgkgImZnLnJnYiI6Cj4gKyAqCQkgRWFjaCBv ZiB0aGUgUkdCIGNvbXBvbmVudCB2YWx1ZXMgZnJvbSB0aGUgcGxhbmUncyBwaXhlbAo+ICsgKgkg ImZnLmFscGhhIjoKPiArICoJCSBBbHBoYSBjb21wb25lbnQgdmFsdWUgZnJvbSB0aGUgcGxhbmUn cyBwaXhlbC4gSWYgdGhlIHBsYW5lJ3MKPiArICoJCSBwaXhlbCBmb3JtYXQgaGFzIG5vIGFscGhh IGNvbXBvbmVudCwgdGhlbiB0aGlzIGlzIGFzc3VtZWQgdG8gYmUKPiArICoJCSAxLjAuIEluIHRo ZXNlIGNhc2VzLCB0aGlzIHByb3BlcnR5IGhhcyBubyBlZmZlY3QsIGFzIGFsbCB0aHJlZQo+ICsg KgkJIGVxdWF0aW9ucyBiZWNvbWUgZXF1aXZhbGVudC4KPiArICoJICJiZy5yZ2IiOgo+ICsgKgkJ IEVhY2ggb2YgdGhlIFJHQiBjb21wb25lbnQgdmFsdWVzIGZyb20gdGhlIGJhY2tncm91bmQKPiAr ICoJICJwbGFuZV9hbHBoYSI6Cj4gKyAqCQkgUGxhbmUgYWxwaGEgdmFsdWUgc2V0IGJ5IHRoZSBw bGFuZSAiYWxwaGEiIHByb3BlcnR5LiBJZiB0aGUKPiArICoJCSBwbGFuZSBkb2VzIG5vdCBleHBv c2UgdGhlICJhbHBoYSIgcHJvcGVydHksIHRoZW4gdGhpcyBpcwo+ICsgKgkJIGFzc3VtZWQgdG8g YmUgMS4wCj4gKyAqCj4gICAqIE5vdGUgdGhhdCBhbGwgdGhlIHByb3BlcnR5IGV4dGVuc2lvbnMg ZGVzY3JpYmVkIGhlcmUgYXBwbHkgZWl0aGVyIHRvIHRoZQo+ICAgKiBwbGFuZSBvciB0aGUgQ1JU QyAoZS5nLiBmb3IgdGhlIGJhY2tncm91bmQgY29sb3IsIHdoaWNoIGN1cnJlbnRseSBpcyBub3QK PiAgICogZXhwb3NlZCBhbmQgYXNzdW1lZCB0byBiZSBibGFjaykuCj4gQEAgLTQ0OCwzICs0OTQs ODMgQEAgaW50IGRybV9hdG9taWNfbm9ybWFsaXplX3pwb3Moc3RydWN0IGRybV9kZXZpY2UgKmRl diwKPiAgCXJldHVybiAwOwo+ICB9Cj4gIEVYUE9SVF9TWU1CT0woZHJtX2F0b21pY19ub3JtYWxp emVfenBvcyk7Cj4gKwo+ICsvKioKPiArICogZHJtX3BsYW5lX2NyZWF0ZV9ibGVuZF9tb2RlX3By b3BlcnR5IC0gY3JlYXRlIGEgbmV3IGJsZW5kIG1vZGUgcHJvcGVydHkKPiArICogQHBsYW5lOiBk cm0gcGxhbmUKPiArICogQHN1cHBvcnRlZF9tb2RlczogYml0bWFzayBvZiBzdXBwb3J0ZWQgbW9k ZXMsIG11c3QgaW5jbHVkZQo+ICsgKgkJICAgICBCSVQoRFJNX01PREVfQkxFTkRfUFJFTVVMVEkp LiBDdXJyZW50IERSTSBhc3N1bXB0aW9uIGlzCj4gKyAqCQkgICAgIHRoYXQgYWxwaGEgaXMgcHJl bXVsdGlwbGllZCwgYW5kIG9sZCB1c2Vyc3BhY2UgY2FuIGJyZWFrIGlmCj4gKyAqCQkgICAgIHRo ZSBwcm9wZXJ0eSBkZWZhdWx0cyB0byBhbnl0aGluZyBlbHNlLgo+ICsgKgo+ICsgKiBUaGlzIGNy ZWF0ZXMgYSBuZXcgcHJvcGVydHkgZGVzY3JpYmluZyB0aGUgYmxlbmQgbW9kZS4KPiArICoKPiAr ICogVGhlIHByb3BlcnR5IGV4cG9zZWQgdG8gdXNlcnNwYWNlIGlzIGFuIGVudW1lcmF0aW9uIHBy b3BlcnR5IChzZWUKPiArICogZHJtX3Byb3BlcnR5X2NyZWF0ZV9lbnVtKCkpIGNhbGxlZCAicGl4 ZWwgYmxlbmQgbW9kZSIgYW5kIGhhcyB0aGUKPiArICogZm9sbG93aW5nIGVudW1lcmF0aW9uIHZh bHVlczoKPiArICoKPiArICogIk5vbmUiOgo+ICsgKglCbGVuZCBmb3JtdWxhIHRoYXQgaWdub3Jl cyB0aGUgcGl4ZWwgYWxwaGEuCj4gKyAqCj4gKyAqICJQcmUtbXVsdGlwbGllZCI6Cj4gKyAqCUJs ZW5kIGZvcm11bGEgdGhhdCBhc3N1bWVzIHRoZSBwaXhlbCBjb2xvciB2YWx1ZXMgaGF2ZSBiZWVu IGFscmVhZHkKPiArICoJcHJlLW11bHRpcGxpZWQgd2l0aCB0aGUgYWxwaGEgY2hhbm5lbCB2YWx1 ZXMuCj4gKyAqCj4gKyAqICJDb3ZlcmFnZSI6Cj4gKyAqCUJsZW5kIGZvcm11bGEgdGhhdCBhc3N1 bWVzIHRoZSBwaXhlbCBjb2xvciB2YWx1ZXMgaGF2ZSBub3QgYmVlbgo+ICsgKglwcmUtbXVsdGlw bGllZCBhbmQgd2lsbCBkbyBzbyB3aGVuIGJsZW5kaW5nIHRoZW0gdG8gdGhlIGJhY2tncm91bmQg Y29sb3IKPiArICoJdmFsdWVzLgo+ICsgKgo+ICsgKiBSRVRVUk5TOgo+ICsgKiBaZXJvIGZvciBz dWNjZXNzIG9yIC1lcnJubwo+ICsgKi8KPiAraW50IGRybV9wbGFuZV9jcmVhdGVfYmxlbmRfbW9k ZV9wcm9wZXJ0eShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKPiArCQkJCQkgdW5zaWduZWQgaW50 IHN1cHBvcnRlZF9tb2RlcykKPiArewo+ICsJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IHBsYW5l LT5kZXY7Cj4gKwlzdHJ1Y3QgZHJtX3Byb3BlcnR5ICpwcm9wOwo+ICsJc3RhdGljIGNvbnN0IHN0 cnVjdCBkcm1fcHJvcF9lbnVtX2xpc3QgcHJvcHNbXSA9IHsKPiArCQl7IERSTV9NT0RFX0JMRU5E X1BJWEVMX05PTkUsICJOb25lIiB9LAo+ICsJCXsgRFJNX01PREVfQkxFTkRfUFJFTVVMVEksICJQ cmUtbXVsdGlwbGllZCIgfSwKPiArCQl7IERSTV9NT0RFX0JMRU5EX0NPVkVSQUdFLCAiQ292ZXJh Z2UiIH0sCj4gKwl9Owo+ICsJdW5zaWduZWQgaW50IHZhbGlkX21vZGVfbWFzayA9IEJJVChEUk1f TU9ERV9CTEVORF9QSVhFTF9OT05FKSB8Cj4gKwkJCQkgICAgICAgQklUKERSTV9NT0RFX0JMRU5E X1BSRU1VTFRJKSAgIHwKPiArCQkJCSAgICAgICBCSVQoRFJNX01PREVfQkxFTkRfQ09WRVJBR0Up Owo+ICsJaW50IGk7Cj4gKwo+ICsJaWYgKFdBUk5fT04oKHN1cHBvcnRlZF9tb2RlcyAmIH52YWxp ZF9tb2RlX21hc2spIHx8Cj4gKwkJICAgICgoc3VwcG9ydGVkX21vZGVzICYgQklUKERSTV9NT0RF X0JMRU5EX1BSRU1VTFRJKSkgPT0gMCkpKQo+ICsJCXJldHVybiAtRUlOVkFMOwo+ICsKPiArCXBy b3AgPSBkcm1fcHJvcGVydHlfY3JlYXRlKGRldiwgRFJNX01PREVfUFJPUF9FTlVNLAo+ICsJCQkJ ICAgInBpeGVsIGJsZW5kIG1vZGUiLAo+ICsJCQkJICAgaHdlaWdodDMyKHN1cHBvcnRlZF9tb2Rl cykpOwo+ICsJaWYgKCFwcm9wKQo+ICsJCXJldHVybiAtRU5PTUVNOwo+ICsKPiArCWZvciAoaSA9 IDA7IGkgPCBBUlJBWV9TSVpFKHByb3BzKTsgaSsrKSB7Cj4gKwkJaW50IHJldDsKPiArCj4gKwkJ aWYgKCEoQklUKHByb3BzW2ldLnR5cGUpICYgc3VwcG9ydGVkX21vZGVzKSkKPiArCQkJY29udGlu dWU7Cj4gKwo+ICsJCXJldCA9IGRybV9wcm9wZXJ0eV9hZGRfZW51bShwcm9wLCBwcm9wc1tpXS50 eXBlLAo+ICsJCQkJCSAgICBwcm9wc1tpXS5uYW1lKTsKPiArCj4gKwkJaWYgKHJldCkgewo+ICsJ CQlkcm1fcHJvcGVydHlfZGVzdHJveShkZXYsIHByb3ApOwo+ICsKPiArCQkJcmV0dXJuIHJldDsK PiArCQl9Cj4gKwl9Cj4gKwo+ICsJZHJtX29iamVjdF9hdHRhY2hfcHJvcGVydHkoJnBsYW5lLT5i YXNlLCBwcm9wLCBEUk1fTU9ERV9CTEVORF9QUkVNVUxUSSk7Cj4gKwlwbGFuZS0+YmxlbmRfbW9k ZV9wcm9wZXJ0eSA9IHByb3A7Cj4gKwo+ICsJaWYgKHBsYW5lLT5zdGF0ZSkKPiArCQlwbGFuZS0+ c3RhdGUtPnBpeGVsX2JsZW5kX21vZGUgPSBEUk1fTU9ERV9CTEVORF9QUkVNVUxUSTsKPiArCj4g KwlyZXR1cm4gMDsKPiArfQo+ICtFWFBPUlRfU1lNQk9MKGRybV9wbGFuZV9jcmVhdGVfYmxlbmRf bW9kZV9wcm9wZXJ0eSk7Cj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9ibGVuZC5oIGIv aW5jbHVkZS9kcm0vZHJtX2JsZW5kLmgKPiBpbmRleCAzMzBjNTYxLi44OGJkZmVjIDEwMDY0NAo+ IC0tLSBhL2luY2x1ZGUvZHJtL2RybV9ibGVuZC5oCj4gKysrIGIvaW5jbHVkZS9kcm0vZHJtX2Js ZW5kLmgKPiBAQCAtMjcsNiArMjcsMTAgQEAKPiAgI2luY2x1ZGUgPGxpbnV4L2N0eXBlLmg+Cj4g ICNpbmNsdWRlIDxkcm0vZHJtX21vZGUuaD4KPiAgCj4gKyNkZWZpbmUgRFJNX01PREVfQkxFTkRf UFJFTVVMVEkJCTAKPiArI2RlZmluZSBEUk1fTU9ERV9CTEVORF9DT1ZFUkFHRQkJMQo+ICsjZGVm aW5lIERSTV9NT0RFX0JMRU5EX1BJWEVMX05PTkUJMgo+ICsKPiAgc3RydWN0IGRybV9kZXZpY2U7 Cj4gIHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlOwo+ICBzdHJ1Y3QgZHJtX3BsYW5lOwo+IEBAIC01 Miw0ICs1Niw2IEBAIGludCBkcm1fcGxhbmVfY3JlYXRlX3pwb3NfaW1tdXRhYmxlX3Byb3BlcnR5 KHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAo+ICAJCQkJCSAgICAgdW5zaWduZWQgaW50IHpwb3Mp Owo+ICBpbnQgZHJtX2F0b21pY19ub3JtYWxpemVfenBvcyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 LAo+ICAJCQkgICAgICBzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpOwo+ICtpbnQgZHJt X3BsYW5lX2NyZWF0ZV9ibGVuZF9tb2RlX3Byb3BlcnR5KHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5l LAo+ICsJCQkJCSB1bnNpZ25lZCBpbnQgc3VwcG9ydGVkX21vZGVzKTsKPiAgI2VuZGlmCj4gZGlm ZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9wbGFuZS5oIGIvaW5jbHVkZS9kcm0vZHJtX3BsYW5l LmgKPiBpbmRleCA4YTE1MmRjLi5jNTI2MTRhIDEwMDY0NAo+IC0tLSBhL2luY2x1ZGUvZHJtL2Ry bV9wbGFuZS5oCj4gKysrIGIvaW5jbHVkZS9kcm0vZHJtX3BsYW5lLmgKPiBAQCAtMTE3LDYgKzEx Nyw3IEBAIHN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgewo+ICAJICogZGV0YWlscy4KPiAgCSAqLwo+ ICAJdTE2IGFscGhhOwo+ICsJdWludDE2X3QgcGl4ZWxfYmxlbmRfbW9kZTsKPiAgCj4gIAkvKioK PiAgCSAqIEByb3RhdGlvbjoKPiBAQCAtNjU5LDYgKzY2MCw3IEBAIHN0cnVjdCBkcm1fcGxhbmUg ewo+ICAJICogZHJtX3BsYW5lX2NyZWF0ZV9yb3RhdGlvbl9wcm9wZXJ0eSgpLgo+ICAJICovCj4g IAlzdHJ1Y3QgZHJtX3Byb3BlcnR5ICpyb3RhdGlvbl9wcm9wZXJ0eTsKPiArCXN0cnVjdCBkcm1f cHJvcGVydHkgKmJsZW5kX21vZGVfcHJvcGVydHk7Cj4gIAo+ICAJLyoqCj4gIAkgKiBAY29sb3Jf ZW5jb2RpbmdfcHJvcGVydHk6Cj4gLS0gCj4gMS45LjEKPiAKCi0tIAo9PT09PT09PT09PT09PT09 PT09PQp8IEkgd291bGQgbGlrZSB0byB8CnwgZml4IHRoZSB3b3JsZCwgIHwKfCBidXQgdGhleSdy ZSBub3QgfAp8IGdpdmluZyBtZSB0aGUgICB8CiBcIHNvdXJjZSBjb2RlISAgLwogIC0tLS0tLS0t LS0tLS0tLQogICAgwq9cXyjjg4QpXy/CrwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5m cmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0 aW5mby9kcmktZGV2ZWwK