From mboxrd@z Thu Jan 1 00:00:00 1970 From: "james qian wang (Arm Technology China)" Subject: Re: [PATCH] drm/komeda: Adds output-color format/depth support Date: Tue, 24 Sep 2019 02:13:27 +0000 Message-ID: <20190924021313.GA15776@jamwan02-TSP300> References: <20190920094329.17513-1-lowry.li@arm.com> <20190923121604.jqi6ewln27yvdajw@DESKTOP-E1NTVVP.localdomain> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-eopbgr80080.outbound.protection.outlook.com [40.107.8.80]) by gabe.freedesktop.org (Postfix) with ESMTPS id A854589F82 for ; Tue, 24 Sep 2019 02:13:45 +0000 (UTC) In-Reply-To: <20190923121604.jqi6ewln27yvdajw@DESKTOP-E1NTVVP.localdomain> Content-Language: en-US Content-ID: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Brian Starkey Cc: nd , Mihail Atanassov , "airlied@linux.ie" , Liviu Dudau , "Jonathan Chai (Arm Technology China)" , "linux-kernel@vger.kernel.org" , "dri-devel@lists.freedesktop.org" , "Julien Yin (Arm Technology China)" , Ayan Halder , "seanpaul@chromium.org" , "Lowry Li (Arm Technology China)" List-Id: dri-devel@lists.freedesktop.org T24gTW9uLCBTZXAgMjMsIDIwMTkgYXQgMTI6MTY6MTJQTSArMDAwMCwgQnJpYW4gU3RhcmtleSB3 cm90ZToKPiBIaSBMb3dyeSwKPiAKPiBPbiBGcmksIFNlcCAyMCwgMjAxOSBhdCAwOTo0Mzo0N0FN ICswMDAwLCBMb3dyeSBMaSAoQXJtIFRlY2hub2xvZ3kgQ2hpbmEpIHdyb3RlOgo+ID4gRnJvbTog Ikxvd3J5IExpIChBcm0gVGVjaG5vbG9neSBDaGluYSkiIDxMb3dyeS5MaUBhcm0uY29tPgo+ID4g Cj4gPiBTZXRzIGNvbG9yX2RlcHRoIGFjY29yZGluZyB0byBjb25uZWN0b3ItPmJwYy4KPiA+IEFk ZHMgYSBuZXcgb3B0aW9uYWwgRFQgYXR0cmlidXRlICJjb2xvci1mb3JtYXQiIHRvIHJlcHJlc2Vu dCBhCj4gPiBwcmVmZXJyZWQgY29sb3IgZm9ybWF0cyBmb3IgYSBzcGVjaWZpYyBwaXBlbGluZSwg YW5kIHRoZSBzZWxlY3Qgb3JkZXIKPiA+IGlzOgo+ID4gCVlDUkNCNDIwID4gWUNSQ0I0MjIgPiBZ Q1JDQjQ0NCA+IFJHQjQ0NAo+ID4gVGhlIGNvbG9yLWZvcm1hdCBjYW4gYmUgYW55b25lIG9mIHRo ZXNlIDQgZm9ybWF0LCBvbmUgY29sb3ItZm9ybWF0IG5vdAo+ID4gb25seSByZXByZXNlbnQgb25l IGZvcm1hdCwgYnV0IGFsc28gaW5jbHVkZSB0aGUgbG93ZXIgZm9ybWF0cywgbGlrZQo+ID4gCj4g PiBjb2xvci1mb3JtYXQgICAgICAgICBwcmVmZXJyZWRfY29sb3JfZm9ybWF0cwo+ID4gWUNSQ0I0 MjAgICAgICAgIFlDUkNCNDIwID4gWUNSQ0I0MjIgPiBZQ1JDQjQ0NCA+IFJHQjQ0NAo+ID4gWUNS Q0I0MjIgICAgICAgIFlDUkNCNDIyID4gWUNSQ0I0NDQgPiBSR0I0NDQKPiA+IFlDUkNCNDQ0ICAg ICAgICBZQ1JDQjQ0NCA+IFJHQjQ0NAo+ID4gUkdCNDQ0ICAgICAgICAgIFJHQjQ0NAo+ID4gCj4g PiBUaGVuIHRoZSBmaW5hbCBjb2xvcl9mb3JtYXQgaXMgY2FsY3VsYXRlZCBieSAzIHN0ZXBzOgo+ ID4gMS4gY2FsY3VsYXRlIEhXIGF2YWlsYWJsZSBmb3JtYXRzLgo+ID4gICBhdmFpbF9mb3JtYXRz ID0gY29ubmVjdG9yX2NvbG9yX2Zvcm1hdHMgJiBpbXByb2MtPmNvbG9yX2Zvcm1hdHM7Cj4gPiAy LiBmaWx0ZXIgb3V0IHVuLXByZWZlcnJlZCBmb3JtYXQuCj4gPiAgIGF2YWlsX2Zvcm1hdHMgJj0g cHJlZmVycmVkX2NvbG9yX2Zvcm1hdHM7Cj4gPiAzLiBzZWxlY3QgdGhlIGZpbmFsIGZvcm1hdCBh Y2NvcmRpbmcgdG8gdGhlIHByZWZlcnJlZCBvcmRlci4KPiA+ICAgY29sb3JfZm9ybWF0ID0gQklU KF9fZmxzKGF2YWxfZm9ybWF0cykpOwo+IAo+IElzIHRoZXJlIGEgc3BlY2lmaWMgdXNlLWNhc2Ug Zm9yIHRoZSBEVCBwcm9wZXJ0eSBmb3Igc2VsZWN0aW5nIGNvbG9yCj4gZm9ybWF0PwoKSGkgQnJp YW46CgpTaW5jZSBvbmUgbW9uaXRvciBjYW4gc3VwcG9ydCBtdXRpcGxlIGNvbG9yLWZvcm1hdHMs IHRoaXMgRFQgcHJvcGVydHkKc3VwcGx5IGEgd2F5IGZvciB1c2VyIHRvIHNlbGVjdCBhIHNwZWNp ZmljIG9uZSBmcm9tIHRoaXMgc3VwcG9ydGVkCmNvbG9yLWZvcm1hdHMuCgo+IEkgdGhpbmsgaW4g Z2VuZXJhbCB0aGUgY29sb3IgZm9ybWF0IHNob3VsZCBiZSBkZXRlcm1pbmVkIGFjY29yZGluZyB0 bwo+IHRoZSBydWxlcyBpbiB0aGUgQ0VBIHNwZWMuIFRoZXJlJ3MgYWxzbyB0aGUgZHJtX21vZGVf aXNfNDIwX29ubHkoKQo+IGhlbHBlciB3ZSBjYW4gdXNlIHRvIGRldGVybWluZSBpZiBZQ0JDUjQy MCBtdXN0IGJlIHVzZWQuIEZvciB0aGUgY2FzZXMKPiB3aGVyZSBpdCdzIG9wdGlvbmFsLCBJIHRo aW5rIHdlIGNhbiBkZWZhdWx0IHRvIFJHQjQ0NC4KClllcywgVGhpcyBzZWxlY3Rpb24gZGVwZW5k cyBvbiB0aGUgcmVhbCBjb25uZWN0b3Igc3VwcG9ydGVkX2NvbG9yLWZvcm1hdHMsCkkgdGhpbmsg eW91IG1pc3VuZGVyc3RhbmQgdGhpcyBEVCwgdGhpcyBEVCBjb2xvci1mb3JtYXQgaXMgbm90IGZv cgpzcGVjaWZ5aW5nIGEgcmVhbCBvdXRwdXQgZm9ybWF0LiBidXQgYSB3YXkgb3Igc2VsZWN0IG9y ZGVyIGZvciBob3cgdG8Kc2VsZWN0IHRoZSBmaW5hbCBvdXRwdXQgZm9ybWF0IGZyb20gdGhlIG11 dGlwbGUgY29sb3ItZm9ybWF0cyBvZiBhIGNvbm5lY3Rvci4KCkxpa2UgdGhlIERUIGNvbG9yLWZv cm1hdCBpcyAiWUNSQ1I0MjAiLCBpdCBpbmRpY2F0ZXMgYSBzZWxlY3Qgb3JkZXI6CiAgWVVWNDIw ID4gWVVWNDIyID4gWVVWNDQ0ID4gUkdCNDQ0CgpXZSB1c2UgdGhpcyBvcmRlciB0byBzZWxlY3Qg dGhlIGZpbmFsIG91dHB1dC1mb3JtYXQuCgo+ID4gVGhlbiB0aGUgZmluYWwgY29sb3JfZm9ybWF0 IGlzIGNhbGN1bGF0ZWQgYnkgMyBzdGVwczoKPiA+IDEuIGNhbGN1bGF0ZSBIVyBhdmFpbGFibGUg Zm9ybWF0cy4KPiA+ICAgYXZhaWxfZm9ybWF0cyA9IGNvbm5lY3Rvcl9jb2xvcl9mb3JtYXRzICYg aW1wcm9jLT5jb2xvcl9mb3JtYXRzOwoKTk9URTogdGhpcyBjb25uZWN0b3JfY29sb3JfZm9ybWF0 cyBpcwpkcm1fY29ubmVjdG9yLT5kaXNwbGF5X2luZm8uY29sb3JfZm9ybWF0cy4KCj4gPiAyLiBm aWx0ZXIgb3V0IHVuLXByZWZlcnJlZCBmb3JtYXQuCj4gPiAgIGF2YWlsX2Zvcm1hdHMgJj0gcHJl ZmVycmVkX2NvbG9yX2Zvcm1hdHM7Cj4gPiAzLiBzZWxlY3QgdGhlIGZpbmFsIGZvcm1hdCBhY2Nv cmRpbmcgdG8gdGhlIHByZWZlcnJlZCBvcmRlci4KPiA+ICAgY29sb3JfZm9ybWF0ID0gQklUKF9f ZmxzKGF2YWxfZm9ybWF0cykpOwoKX19mbHMgaGVyZSBpcyB1c2VkIGZvciBzZWxlY3RpbmcgYXMg b3JkZXIuCgo+Cj4gVGhhbmtzLAo+IC1Ccmlhbgo+IAo+ID4gCj4gPiBDaGFuZ2VzIHNpbmNlIHYx Ogo+ID4gUmViYXNlZCB0byB0aGUgZHJtLW1pc2MtbmV4dCBicmFuY2guCj4gPiAKPiA+IFNpZ25l ZC1vZmYtYnk6IExvd3J5IExpIChBcm0gVGVjaG5vbG9neSBDaGluYSkgPGxvd3J5LmxpQGFybS5j b20+Cj4gPiAtLS0KPiA+ICAuLi4vYXJtL2Rpc3BsYXkva29tZWRhL2Q3MS9kNzFfY29tcG9uZW50 LmMgICAgfCAxNSArKysrKysrKy0KPiA+ICAuLi4vZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEv a29tZWRhX2NydGMuYyAgfCAyNyArKysrKysrKysrKysrKysrCj4gPiAgLi4uL2dwdS9kcm0vYXJt L2Rpc3BsYXkva29tZWRhL2tvbWVkYV9kZXYuYyAgIHwgMzIgKysrKysrKysrKysrKysrKysrLQo+ ID4gIC4uLi9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9rb21lZGFfa21zLmggICB8ICAyICsr Cj4gPiAgLi4uL2RybS9hcm0vZGlzcGxheS9rb21lZGEva29tZWRhX3BpcGVsaW5lLmggIHwgIDMg KysKPiA+ICAuLi4vZGlzcGxheS9rb21lZGEva29tZWRhX3BpcGVsaW5lX3N0YXRlLmMgICAgfCAz MSArKysrKysrKysrKysrKysrKysKPiA+ICAuLi4vYXJtL2Rpc3BsYXkva29tZWRhL2tvbWVkYV93 Yl9jb25uZWN0b3IuYyAgfCAgNSArKysKPiA+ICA3IGZpbGVzIGNoYW5nZWQsIDExMyBpbnNlcnRp b25zKCspLCAyIGRlbGV0aW9ucygtKQo+ID4gCj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9kNzEvZDcxX2NvbXBvbmVudC5jIGIvZHJpdmVycy9ncHUv ZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9kNzEvZDcxX2NvbXBvbmVudC5jCj4gPiBpbmRleCBjM2Qy OWMwYjA1MWIuLjdiMzc0YTNiOTExZSAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9h cm0vZGlzcGxheS9rb21lZGEvZDcxL2Q3MV9jb21wb25lbnQuYwo+ID4gKysrIGIvZHJpdmVycy9n cHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9kNzEvZDcxX2NvbXBvbmVudC5jCj4gPiBAQCAtOTQ0 LDEzICs5NDQsMjYgQEAgc3RhdGljIHZvaWQgZDcxX2ltcHJvY191cGRhdGUoc3RydWN0IGtvbWVk YV9jb21wb25lbnQgKmMsCj4gPiAgewo+ID4gIAlzdHJ1Y3Qga29tZWRhX2ltcHJvY19zdGF0ZSAq c3QgPSB0b19pbXByb2Nfc3Qoc3RhdGUpOwo+ID4gIAl1MzIgX19pb21lbSAqcmVnID0gYy0+cmVn Owo+ID4gLQl1MzIgaW5kZXg7Cj4gPiArCXUzMiBpbmRleCwgbWFzayA9IDAsIGN0cmwgPSAwOwo+ ID4gIAo+ID4gIAlmb3JfZWFjaF9jaGFuZ2VkX2lucHV0KHN0YXRlLCBpbmRleCkKPiA+ICAJCW1h bGlkcF93cml0ZTMyKHJlZywgQkxLX0lOUFVUX0lEMCArIGluZGV4ICogNCwKPiA+ICAJCQkgICAg ICAgdG9fZDcxX2lucHV0X2lkKHN0YXRlLCBpbmRleCkpOwo+ID4gIAo+ID4gIAltYWxpZHBfd3Jp dGUzMihyZWcsIEJMS19TSVpFLCBIVl9TSVpFKHN0LT5oc2l6ZSwgc3QtPnZzaXplKSk7Cj4gPiAr CW1hbGlkcF93cml0ZTMyKHJlZywgSVBTX0RFUFRILCBzdC0+Y29sb3JfZGVwdGgpOwo+ID4gKwo+ ID4gKwltYXNrIHw9IElQU19DVFJMX1lVViB8IElQU19DVFJMX0NIRDQyMiB8IElQU19DVFJMX0NI RDQyMDsKPiA+ICsKPiA+ICsJLyogY29uZmlnIGNvbG9yIGZvcm1hdCAqLwo+ID4gKwlpZiAoc3Qt PmNvbG9yX2Zvcm1hdCA9PSBEUk1fQ09MT1JfRk9STUFUX1lDUkNCNDIwKQo+ID4gKwkJY3RybCB8 PSBJUFNfQ1RSTF9ZVVYgfCBJUFNfQ1RSTF9DSEQ0MjIgfCBJUFNfQ1RSTF9DSEQ0MjA7Cj4gPiAr CWVsc2UgaWYgKHN0LT5jb2xvcl9mb3JtYXQgPT0gRFJNX0NPTE9SX0ZPUk1BVF9ZQ1JDQjQyMikK PiA+ICsJCWN0cmwgfD0gSVBTX0NUUkxfWVVWIHwgSVBTX0NUUkxfQ0hENDIyOwo+ID4gKwllbHNl IGlmIChzdC0+Y29sb3JfZm9ybWF0ID09IERSTV9DT0xPUl9GT1JNQVRfWUNSQ0I0NDQpCj4gPiAr CQljdHJsIHw9IElQU19DVFJMX1lVVjsKPiA+ICsKPiA+ICsJbWFsaWRwX3dyaXRlMzJfbWFzayhy ZWcsIEJMS19DT05UUk9MLCBtYXNrLCBjdHJsKTsKPiA+ICB9Cj4gPiAgCj4gPiAgc3RhdGljIHZv aWQgZDcxX2ltcHJvY19kdW1wKHN0cnVjdCBrb21lZGFfY29tcG9uZW50ICpjLCBzdHJ1Y3Qgc2Vx X2ZpbGUgKnNmKQo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9r b21lZGEva29tZWRhX2NydGMuYyBiL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEv a29tZWRhX2NydGMuYwo+ID4gaW5kZXggNjI0ZDI1N2RhMjBmLi4zOGQ1Y2IyMGU5MDggMTAwNjQ0 Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL2tvbWVkYV9jcnRj LmMKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEva29tZWRhX2Ny dGMuYwo+ID4gQEAgLTE4LDYgKzE4LDMzIEBACj4gPiAgI2luY2x1ZGUgImtvbWVkYV9kZXYuaCIK PiA+ICAjaW5jbHVkZSAia29tZWRhX2ttcy5oIgo+ID4gIAo+ID4gK3ZvaWQga29tZWRhX2NydGNf Z2V0X2NvbG9yX2NvbmZpZyhzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKmNydGNfc3QsCj4gPiArCQkJ CSAgdTMyICpjb2xvcl9kZXB0aHMsIHUzMiAqY29sb3JfZm9ybWF0cykKPiA+ICt7Cj4gPiArCXN0 cnVjdCBkcm1fY29ubmVjdG9yICpjb25uOwo+ID4gKwlzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0 ZSAqY29ubl9zdDsKPiA+ICsJdTMyIGNvbm5fY29sb3JfZm9ybWF0cyA9IH4wdTsKPiA+ICsJaW50 IGksIG1pbl9icGMgPSAzMSwgY29ubl9icGMgPSAwOwo+ID4gKwo+ID4gKwlmb3JfZWFjaF9uZXdf Y29ubmVjdG9yX2luX3N0YXRlKGNydGNfc3QtPnN0YXRlLCBjb25uLCBjb25uX3N0LCBpKSB7Cj4g PiArCQlpZiAoY29ubl9zdC0+Y3J0YyAhPSBjcnRjX3N0LT5jcnRjKQo+ID4gKwkJCWNvbnRpbnVl Owo+ID4gKwo+ID4gKwkJY29ubl9icGMgPSBjb25uLT5kaXNwbGF5X2luZm8uYnBjID8gY29ubi0+ ZGlzcGxheV9pbmZvLmJwYyA6IDg7Cj4gPiArCQljb25uX2NvbG9yX2Zvcm1hdHMgJj0gY29ubi0+ ZGlzcGxheV9pbmZvLmNvbG9yX2Zvcm1hdHM7Cj4gPiArCj4gPiArCQlpZiAoY29ubl9icGMgPCBt aW5fYnBjKQo+ID4gKwkJCW1pbl9icGMgPSBjb25uX2JwYzsKPiA+ICsJfQo+ID4gKwo+ID4gKwkv KiBjb25uZWN0b3IgZG9lc24ndCBjb25maWcgYW55IGNvbG9yX2Zvcm1hdCwgdXNlIFJHQjQ0NCBh cyBkZWZhdWx0ICovCj4gPiArCWlmIChjb25uX2NvbG9yX2Zvcm1hdHMgPT0gMCkKPiA+ICsJCWNv bm5fY29sb3JfZm9ybWF0cyA9IERSTV9DT0xPUl9GT1JNQVRfUkdCNDQ0Owo+ID4gKwo+ID4gKwkq Y29sb3JfZGVwdGhzID0gR0VOTUFTSyhjb25uX2JwYywgMCk7Cj4gPiArCSpjb2xvcl9mb3JtYXRz ID0gY29ubl9jb2xvcl9mb3JtYXRzOwo+ID4gK30KPiA+ICsKPiA+ICBzdGF0aWMgdm9pZCBrb21l ZGFfY3J0Y191cGRhdGVfY2xvY2tfcmF0aW8oc3RydWN0IGtvbWVkYV9jcnRjX3N0YXRlICprY3J0 Y19zdCkKPiA+ICB7Cj4gPiAgCXU2NCBweGxjbGssIGFjbGs7Cj4gPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9rb21lZGFfZGV2LmMgYi9kcml2ZXJzL2dw dS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL2tvbWVkYV9kZXYuYwo+ID4gaW5kZXggOWNiY2Q1NmU1 NGNkLi5iZWU0NjMzY2RkOWYgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rp c3BsYXkva29tZWRhL2tvbWVkYV9kZXYuYwo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FybS9k aXNwbGF5L2tvbWVkYS9rb21lZGFfZGV2LmMKPiA+IEBAIC0xMTMsMTIgKzExMywzNCBAQCBzdGF0 aWMgc3RydWN0IGF0dHJpYnV0ZV9ncm91cCBrb21lZGFfc3lzZnNfYXR0cl9ncm91cCA9IHsKPiA+ ICAJLmF0dHJzID0ga29tZWRhX3N5c2ZzX2VudHJpZXMsCj4gPiAgfTsKPiA+ICAKPiA+ICtzdGF0 aWMgaW50IHRvX2NvbG9yX2Zvcm1hdChjb25zdCBjaGFyICpzdHIpCj4gPiArewo+ID4gKwlpbnQg Zm9ybWF0Owo+ID4gKwo+ID4gKwlpZiAoIXN0cm5jbXAoc3RyLCAiUkdCNDQ0IiwgNykpIHsKPiA+ ICsJCWZvcm1hdCA9IERSTV9DT0xPUl9GT1JNQVRfUkdCNDQ0Owo+ID4gKwl9IGVsc2UgaWYgKCFz dHJuY21wKHN0ciwgIllDUkNCNDQ0IiwgOSkpIHsKPiA+ICsJCWZvcm1hdCA9IERSTV9DT0xPUl9G T1JNQVRfWUNSQ0I0NDQ7Cj4gPiArCX0gZWxzZSBpZiAoIXN0cm5jbXAoc3RyLCAiWUNSQ0I0MjIi LCA5KSkgewo+ID4gKwkJZm9ybWF0ID0gRFJNX0NPTE9SX0ZPUk1BVF9ZQ1JDQjQyMjsKPiA+ICsJ fSBlbHNlIGlmICghc3RybmNtcChzdHIsICJZQ1JDQjQyMCIsIDkpKSB7Cj4gPiArCQlmb3JtYXQg PSBEUk1fQ09MT1JfRk9STUFUX1lDUkNCNDIwOwo+ID4gKwl9IGVsc2Ugewo+ID4gKwkJRFJNX1dB Uk4oImludmFsaWQgY29sb3JfZm9ybWF0OiAlcywgcGxlYXNlIHNldCBpdCB0byBSR0I0NDQsIFlD UkNCNDQ0LCBZQ1JDQjQyMiBvciBZQ1JDQjQyMFxuIiwKPiA+ICsJCQkgc3RyKTsKPiA+ICsJCWZv cm1hdCA9IERSTV9DT0xPUl9GT1JNQVRfUkdCNDQ0Owo+ID4gKwl9Cj4gPiArCj4gPiArCXJldHVy biBmb3JtYXQ7Cj4gPiArfQo+ID4gKwo+ID4gIHN0YXRpYyBpbnQga29tZWRhX3BhcnNlX3BpcGVf ZHQoc3RydWN0IGtvbWVkYV9kZXYgKm1kZXYsIHN0cnVjdCBkZXZpY2Vfbm9kZSAqbnApCj4gPiAg ewo+ID4gIAlzdHJ1Y3Qga29tZWRhX3BpcGVsaW5lICpwaXBlOwo+ID4gIAlzdHJ1Y3QgY2xrICpj bGs7Cj4gPiAgCXUzMiBwaXBlX2lkOwo+ID4gLQlpbnQgcmV0ID0gMDsKPiA+ICsJaW50IHJldCA9 IDAsIGNvbG9yX2Zvcm1hdDsKPiA+ICsJY29uc3QgY2hhciAqc3RyOwo+ID4gIAo+ID4gIAlyZXQg PSBvZl9wcm9wZXJ0eV9yZWFkX3UzMihucCwgInJlZyIsICZwaXBlX2lkKTsKPiA+ICAJaWYgKHJl dCAhPSAwIHx8IHBpcGVfaWQgPj0gbWRldi0+bl9waXBlbGluZXMpCj4gPiBAQCAtMTMzLDYgKzE1 NSwxNCBAQCBzdGF0aWMgaW50IGtvbWVkYV9wYXJzZV9waXBlX2R0KHN0cnVjdCBrb21lZGFfZGV2 ICptZGV2LCBzdHJ1Y3QgZGV2aWNlX25vZGUgKm5wKQo+ID4gIAl9Cj4gPiAgCXBpcGUtPnB4bGNs ayA9IGNsazsKPiA+ICAKPiA+ICsJLyogZmV0Y2ggRFQgY29uZmlndXJlZCBjb2xvci1mb3JtYXQs IGlmIG5vdCBzZXQsIHVzZSBSR0I0NDQgKi8KPiA+ICsJaWYgKCFvZl9wcm9wZXJ0eV9yZWFkX3N0 cmluZyhucCwgImNvbG9yLWZvcm1hdCIsICZzdHIpKQo+ID4gKwkJY29sb3JfZm9ybWF0ID0gdG9f Y29sb3JfZm9ybWF0KHN0cik7Cj4gPiArCWVsc2UKPiA+ICsJCWNvbG9yX2Zvcm1hdCA9IERSTV9D T0xPUl9GT1JNQVRfUkdCNDQ0Owo+ID4gKwo+ID4gKwlwaXBlLT5pbXByb2MtPnByZWZlcnJlZF9j b2xvcl9mb3JtYXRzID0gKGNvbG9yX2Zvcm1hdCA8PCAxKSAtIDE7Cj4gPiArCj4gPiAgCS8qIGVu dW0gcG9ydHMgKi8KPiA+ICAJcGlwZS0+b2Zfb3V0cHV0X2xpbmtzWzBdID0KPiA+ICAJCW9mX2dy YXBoX2dldF9yZW1vdGVfbm9kZShucCwgS09NRURBX09GX1BPUlRfT1VUUFVULCAwKTsKPiA+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL2tvbWVkYV9rbXMu aCBiL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEva29tZWRhX2ttcy5oCj4gPiBp bmRleCA0NWM0OThlMTVlN2EuLjQ1NmYzYzQzNTcxOSAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMv Z3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEva29tZWRhX2ttcy5oCj4gPiArKysgYi9kcml2ZXJz L2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL2tvbWVkYV9rbXMuaAo+ID4gQEAgLTE2Niw2ICsx NjYsOCBAQCBzdGF0aWMgaW5saW5lIGJvb2wgaGFzX2ZsaXBfaCh1MzIgcm90KQo+ID4gIAkJcmV0 dXJuICEhKHJvdGF0aW9uICYgRFJNX01PREVfUkVGTEVDVF9YKTsKPiA+ICB9Cj4gPiAgCj4gPiAr dm9pZCBrb21lZGFfY3J0Y19nZXRfY29sb3JfY29uZmlnKHN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAq Y3J0Y19zdCwKPiA+ICsJCQkJICB1MzIgKmNvbG9yX2RlcHRocywgdTMyICpjb2xvcl9mb3JtYXRz KTsKPiA+ICB1bnNpZ25lZCBsb25nIGtvbWVkYV9jcnRjX2dldF9hY2xrKHN0cnVjdCBrb21lZGFf Y3J0Y19zdGF0ZSAqa2NydGNfc3QpOwo+ID4gIAo+ID4gIGludCBrb21lZGFfa21zX3NldHVwX2Ny dGNzKHN0cnVjdCBrb21lZGFfa21zX2RldiAqa21zLCBzdHJ1Y3Qga29tZWRhX2RldiAqbWRldik7 Cj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9rb21l ZGFfcGlwZWxpbmUuaCBiL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEva29tZWRh X3BpcGVsaW5lLmgKPiA+IGluZGV4IGE3YTg0ZTY2NTQ5ZC4uOTEwZDI3OWFlNDhkIDEwMDY0NAo+ ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9rb21lZGFfcGlwZWxp bmUuaAo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9rb21lZGFf cGlwZWxpbmUuaAo+ID4gQEAgLTMxNSw2ICszMTUsOCBAQCBzdHJ1Y3Qga29tZWRhX3NwbGl0dGVy X3N0YXRlIHsKPiA+ICBzdHJ1Y3Qga29tZWRhX2ltcHJvYyB7Cj4gPiAgCXN0cnVjdCBrb21lZGFf Y29tcG9uZW50IGJhc2U7Cj4gPiAgCXUzMiBzdXBwb3J0ZWRfY29sb3JfZm9ybWF0czsgIC8qIERS TV9SR0IvWVVWNDQ0L1lVVjQyMCovCj4gPiArCS8qIHRoZSBwcmVmZXJyZWQgb3JkZXIgaXMgZnJv bSBNU0IgdG8gTFNCIFlVVjQyMCAtLT4gUkdCNDQ0ICovCj4gPiArCXUzMiBwcmVmZXJyZWRfY29s b3JfZm9ybWF0czsKPiA+ICAJdTMyIHN1cHBvcnRlZF9jb2xvcl9kZXB0aHM7IC8qIEJJVCg4KSB8 IEJJVCgxMCkqLwo+ID4gIAl1OCBzdXBwb3J0c19kZWdhbW1hIDogMTsKPiA+ICAJdTggc3VwcG9y dHNfY3NjIDogMTsKPiA+IEBAIC0zMjMsNiArMzI1LDcgQEAgc3RydWN0IGtvbWVkYV9pbXByb2Mg ewo+ID4gIAo+ID4gIHN0cnVjdCBrb21lZGFfaW1wcm9jX3N0YXRlIHsKPiA+ICAJc3RydWN0IGtv bWVkYV9jb21wb25lbnRfc3RhdGUgYmFzZTsKPiA+ICsJdTggY29sb3JfZm9ybWF0LCBjb2xvcl9k ZXB0aDsKPiA+ICAJdTE2IGhzaXplLCB2c2l6ZTsKPiA+ICB9Owo+ID4gIAo+ID4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEva29tZWRhX3BpcGVsaW5lX3N0 YXRlLmMgYi9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL2tvbWVkYV9waXBlbGlu ZV9zdGF0ZS5jCj4gPiBpbmRleCBlYTI2YmM5YzJkMDAuLjU1MjY3MzFmNWEzMyAxMDA2NDQKPiA+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEva29tZWRhX3BpcGVsaW5l X3N0YXRlLmMKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEva29t ZWRhX3BpcGVsaW5lX3N0YXRlLmMKPiA+IEBAIC03NDMsNiArNzQzLDcgQEAga29tZWRhX2ltcHJv Y192YWxpZGF0ZShzdHJ1Y3Qga29tZWRhX2ltcHJvYyAqaW1wcm9jLAo+ID4gIAkJICAgICAgIHN0 cnVjdCBrb21lZGFfZGF0YV9mbG93X2NmZyAqZGZsb3cpCj4gPiAgewo+ID4gIAlzdHJ1Y3QgZHJt X2NydGMgKmNydGMgPSBrY3J0Y19zdC0+YmFzZS5jcnRjOwo+ID4gKwlzdHJ1Y3QgZHJtX2NydGNf c3RhdGUgKmNydGNfc3QgPSAma2NydGNfc3QtPmJhc2U7Cj4gPiAgCXN0cnVjdCBrb21lZGFfY29t cG9uZW50X3N0YXRlICpjX3N0Owo+ID4gIAlzdHJ1Y3Qga29tZWRhX2ltcHJvY19zdGF0ZSAqc3Q7 Cj4gPiAgCj4gPiBAQCAtNzU2LDYgKzc1NywzNiBAQCBrb21lZGFfaW1wcm9jX3ZhbGlkYXRlKHN0 cnVjdCBrb21lZGFfaW1wcm9jICppbXByb2MsCj4gPiAgCXN0LT5oc2l6ZSA9IGRmbG93LT5pbl93 Owo+ID4gIAlzdC0+dnNpemUgPSBkZmxvdy0+aW5faDsKPiA+ICAKPiA+ICsJaWYgKGRybV9hdG9t aWNfY3J0Y19uZWVkc19tb2Rlc2V0KGNydGNfc3QpKSB7Cj4gPiArCQl1MzIgb3V0cHV0X2RlcHRo cywgb3V0cHV0X2Zvcm1hdHM7Cj4gPiArCQl1MzIgYXZhaWxfZGVwdGhzLCBhdmFpbF9mb3JtYXRz Owo+ID4gKwo+ID4gKwkJa29tZWRhX2NydGNfZ2V0X2NvbG9yX2NvbmZpZyhjcnRjX3N0LCAmb3V0 cHV0X2RlcHRocywKPiA+ICsJCQkJCSAgICAgJm91dHB1dF9mb3JtYXRzKTsKPiA+ICsKPiA+ICsJ CWF2YWlsX2RlcHRocyA9IG91dHB1dF9kZXB0aHMgJiBpbXByb2MtPnN1cHBvcnRlZF9jb2xvcl9k ZXB0aHM7Cj4gPiArCQlpZiAoYXZhaWxfZGVwdGhzID09IDApIHsKPiA+ICsJCQlEUk1fREVCVUdf QVRPTUlDKCJObyBhdmFpbGFibGUgY29sb3IgZGVwdGhzLCBjb25uIGRlcHRoczogMHgleCAmIGRp c3BsYXk6IDB4JXhcbiIsCj4gPiArCQkJCQkgb3V0cHV0X2RlcHRocywKPiA+ICsJCQkJCSBpbXBy b2MtPnN1cHBvcnRlZF9jb2xvcl9kZXB0aHMpOwo+ID4gKwkJCXJldHVybiAtRUlOVkFMOwo+ID4g KwkJfQo+ID4gKwo+ID4gKwkJYXZhaWxfZm9ybWF0cyA9IG91dHB1dF9mb3JtYXRzICYKPiA+ICsJ CQkJaW1wcm9jLT5zdXBwb3J0ZWRfY29sb3JfZm9ybWF0cyAmCj4gPiArCQkJCWltcHJvYy0+cHJl ZmVycmVkX2NvbG9yX2Zvcm1hdHM7Cj4gPiArCQlpZiAoYXZhaWxfZm9ybWF0cyA9PSAwKSB7Cj4g PiArCQkJRFJNX0RFQlVHX0FUT01JQygiTm8gYXZhaWxhYmxlIGNvbG9yX2Zvcm1hdHMsIGNvbm4g Zm9ybWF0cyAweCV4ICYgZGlzcGxheTogMHgleCAmIHByZWZlcnJlZDogMHgleFxuIiwKPiA+ICsJ CQkJCSBvdXRwdXRfZm9ybWF0cywKPiA+ICsJCQkJCSBpbXByb2MtPnN1cHBvcnRlZF9jb2xvcl9m b3JtYXRzLAo+ID4gKwkJCQkJIGltcHJvYy0+cHJlZmVycmVkX2NvbG9yX2Zvcm1hdHMpOwo+ID4g KwkJCXJldHVybiAtRUlOVkFMOwo+ID4gKwkJfQo+ID4gKwo+ID4gKwkJc3QtPmNvbG9yX2RlcHRo ID0gX19mbHMoYXZhaWxfZGVwdGhzKTsKPiA+ICsJCXN0LT5jb2xvcl9mb3JtYXQgPSBCSVQoX19m bHMoYXZhaWxfZm9ybWF0cykpOwo+ID4gKwl9Cj4gPiArCj4gPiAgCWtvbWVkYV9jb21wb25lbnRf YWRkX2lucHV0KCZzdC0+YmFzZSwgJmRmbG93LT5pbnB1dCwgMCk7Cj4gPiAgCWtvbWVkYV9jb21w b25lbnRfc2V0X291dHB1dCgmZGZsb3ctPmlucHV0LCAmaW1wcm9jLT5iYXNlLCAwKTsKPiA+ICAK PiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL2tvbWVk YV93Yl9jb25uZWN0b3IuYyBiL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEva29t ZWRhX3diX2Nvbm5lY3Rvci5jCj4gPiBpbmRleCA2MTdlMWY3Yjg0NzIuLjQ5ZTU0NjliYTQ4ZSAx MDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEva29tZWRh X3diX2Nvbm5lY3Rvci5jCj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29t ZWRhL2tvbWVkYV93Yl9jb25uZWN0b3IuYwo+ID4gQEAgLTE0Miw2ICsxNDIsNyBAQCBzdGF0aWMg aW50IGtvbWVkYV93Yl9jb25uZWN0b3JfYWRkKHN0cnVjdCBrb21lZGFfa21zX2RldiAqa21zLAo+ ID4gIAlzdHJ1Y3Qga29tZWRhX2RldiAqbWRldiA9IGttcy0+YmFzZS5kZXZfcHJpdmF0ZTsKPiA+ ICAJc3RydWN0IGtvbWVkYV93Yl9jb25uZWN0b3IgKmt3Yl9jb25uOwo+ID4gIAlzdHJ1Y3QgZHJt X3dyaXRlYmFja19jb25uZWN0b3IgKndiX2Nvbm47Cj4gPiArCXN0cnVjdCBkcm1fZGlzcGxheV9p bmZvICppbmZvOwo+ID4gIAl1MzIgKmZvcm1hdHMsIG5fZm9ybWF0cyA9IDA7Cj4gPiAgCWludCBl cnI7Cj4gPiAgCj4gPiBAQCAtMTcxLDYgKzE3MiwxMCBAQCBzdGF0aWMgaW50IGtvbWVkYV93Yl9j b25uZWN0b3JfYWRkKHN0cnVjdCBrb21lZGFfa21zX2RldiAqa21zLAo+ID4gIAo+ID4gIAlkcm1f Y29ubmVjdG9yX2hlbHBlcl9hZGQoJndiX2Nvbm4tPmJhc2UsICZrb21lZGFfd2JfY29ubl9oZWxw ZXJfZnVuY3MpOwo+ID4gIAo+ID4gKwlpbmZvID0gJmt3Yl9jb25uLT5iYXNlLmJhc2UuZGlzcGxh eV9pbmZvOwo+ID4gKwlpbmZvLT5icGMgPSBfX2ZscyhrY3J0Yy0+bWFzdGVyLT5pbXByb2MtPnN1 cHBvcnRlZF9jb2xvcl9kZXB0aHMpOwo+ID4gKwlpbmZvLT5jb2xvcl9mb3JtYXRzID0ga2NydGMt Pm1hc3Rlci0+aW1wcm9jLT5zdXBwb3J0ZWRfY29sb3JfZm9ybWF0czsKPiA+ICsKPiA+ICAJa2Ny dGMtPndiX2Nvbm4gPSBrd2JfY29ubjsKPiA+ICAKPiA+ICAJcmV0dXJuIDA7Cj4gPiAtLSAKPiA+ IDIuMTcuMQo+ID4gCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9y ZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZl bA==