From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Sharma, Shashank" Subject: Re: [PATCH v4 1/7] drm/i915: Add CRTC output format YCBCR 4:2:0 Date: Fri, 2 Feb 2018 11:38:07 +0530 Message-ID: References: <1517304963-27932-1-git-send-email-shashank.sharma@intel.com> <1517304963-27932-2-git-send-email-shashank.sharma@intel.com> <20180201190908.GT5453@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by gabe.freedesktop.org (Postfix) with ESMTPS id 43D9D6E10F for ; Fri, 2 Feb 2018 06:08:11 +0000 (UTC) In-Reply-To: <20180201190908.GT5453@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: =?UTF-8?B?VmlsbGUgU3lyasOkbMOk?= Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org VGhhbmtzIGZvciB0aGUgY29tbWVudHMsIG1pbmUgaW5saW5lLgoKUmVnYXJkcwpTaGFzaGFuawpP biAyLzIvMjAxOCAxMjozOSBBTSwgVmlsbGUgU3lyasOkbMOkIHdyb3RlOgo+IE9uIFR1ZSwgSmFu IDMwLCAyMDE4IGF0IDAzOjA1OjU3UE0gKzA1MzAsIFNoYXNoYW5rIFNoYXJtYSB3cm90ZToKPj4g RnJvbTogIlNoYXJtYSwgU2hhc2hhbmsiIDxzaGFzaGFuay5zaGFybWFAaW50ZWwuY29tPgo+Pgo+ PiBDdXJyZW50bHksIHdlIGFyZSB1c2luZyBhIGJvb2wgaW4gQ1JUQyBzdGF0ZSAoc3RhdGUtPnlj YmNyNDIwKSwKPj4gdG8gaW5kaWNhdGUgbW9kZXNldCwgdGhhdCB0aGUgb3V0cHV0IGZvcm1hdCBp cyBZQ0JDUiA0OjI6MC4gTm93IGluCj4+IG9yZGVyIHRvIHN1cHBvcnQgb3RoZXIgWUNCQ1IgZm9y bWF0cywgd2Ugd2lsbCBuZWVkIG1vcmUgc3VjaCBmbGFncy4KPj4KPj4gVGhlIGlkZWEgYmVoaW5k IHRoaXMgcGF0Y2ggaXMgdG8gcmVwbGFjZSB0aGlzIGJvb2wgd2l0aCBhbiBlbnVtLAo+PiBhbmQg cGx1ZyB0aGlzIGluIGluIHRoZSBleGlzdGluZyBZQ0JDUiA0OjI6MCBmcmFtZXdvcmsgaW4gc3Vj aCBhCj4+IHdheSB0aGF0IHRoaXMgY2FuIGJlIHJlLXVzZWQgZm9yIFlDQkNSIDQ6NDo0IGFuZCBv dGhlciBvdXRwdXQgZm9ybWF0cyB0b28uCj4+Cj4+IFRoaXMgcGF0Y2ggYWRkcyBhIG5ldyBlbnVt IGZvciBDUlRDIG91dHB1dCBmb3JtYXRzLCBhbmQgdGhlbiBwbHVncyBpdAo+PiBpbiB0aGUgZXhp c3RpbmcgbW9kZXNldCBmcmFtZXdvcmsuCj4+Cj4+IFYzOiBBZGRlZCB0aGlzIHBhdGNoIGluIHRo ZSBzZXJpZXMsIHRvIGFkZHJlc3MgcmV2aWV3IGNvbW1lbnRzIGZyb20KPj4gICAgICBzZWNvbmQg cGF0Y2hzZXQuCj4+IFY0OiBBZGRlZCByLWIgZnJvbSBNYWFydGVuIChvbiB2MykKPj4gICAgICBB ZGRyZXNzZWQgcmV2aWV3IGNvbW1lbnRzIGZyb20gVmlsbGU6Cj4+IAktIENoYW5nZSB0aGUgZW51 bSBuYW1lIHRvIGludGVsX291dHB1dF9mb3JtYXQgZnJvbSBjcnRjX291dHB1dF9mb3JtYXQuCj4+ IAktIFN0YXJ0IHRoZSBlbnVtIHZhbHVlIChJTlZBTElEKSBmcm9tIDAgaW5zdGFlZCBvZiAxLgo+ PiAgICAgICAgICAtIFNldCB0aGUgY3J0YydzIG91dHB1dF9mb3JtYXQgdG8gUkdCIGluIGVuY29k ZXIncyBjb21wdXRlX2NvbmZpZy4KPj4KPj4gQ2M6IFZpbGxlIFN5cmphbGEgPHZpbGxlLnN5cmph bGFAbGludXguaW50ZWwuY29tPgo+PiBDYzogTWFhcnRlbiBMYW5raG9yc3QgPG1hYXJ0ZW4ubGFu a2hvcnN0QGxpbnV4LmludGVsLmNvbT4KPj4gU2lnbmVkLW9mZi1ieTogU2hhc2hhbmsgU2hhcm1h IDxzaGFzaGFuay5zaGFybWFAaW50ZWwuY29tPgo+PiBSZXZpZXdlZC1ieTogTWFhcnRlbiBMYW5r aG9yc3QgPG1hYXJ0ZW4ubGFua2hvcnN0QGxpbnV4LmludGVsLmNvbT4KPj4gLS0tCj4+ICAgZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY29sb3IuYyAgIHwgIDIgKy0KPj4gICBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kZGkuYyAgICAgfCAgNCArKy0KPj4gICBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kaXNwbGF5LmMgfCA2NiArKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0t LS0tLS0KPj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCAgICAgfCAxMCArKysr LS0KPj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMgICAgfCAgNiArKy0tCj4+ ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcGFuZWwuYyAgIHwgIDIgKy0KPj4gICA2IGZp bGVzIGNoYW5nZWQsIDYxIGluc2VydGlvbnMoKyksIDI5IGRlbGV0aW9ucygtKQo+Pgo+PiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY29sb3IuYyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2NvbG9yLmMKPj4gaW5kZXggYWE2NmU5NS4uOTllMzJjYiAxMDA2NDQK Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY29sb3IuYwo+PiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jb2xvci5jCj4+IEBAIC0xNDEsNyArMTQxLDcgQEAgc3Rh dGljIHZvaWQgaTl4eF9sb2FkX2NzY19tYXRyaXgoc3RydWN0IGRybV9jcnRjX3N0YXRlICpjcnRj X3N0YXRlKQo+PiAgIAl1aW50MTZfdCBjb2VmZnNbOV0gPSB7IDAsIH07Cj4+ICAgCXN0cnVjdCBp bnRlbF9jcnRjX3N0YXRlICppbnRlbF9jcnRjX3N0YXRlID0gdG9faW50ZWxfY3J0Y19zdGF0ZShj cnRjX3N0YXRlKTsKPj4gICAKPj4gLQlpZiAoaW50ZWxfY3J0Y19zdGF0ZS0+eWNiY3I0MjApIHsK Pj4gKwlpZiAoaW50ZWxfY3J0Y19zdGF0ZS0+b3V0cHV0X2Zvcm1hdCA9PSBDUlRDX09VVFBVVF9Z Q0JDUjQyMCkgewo+PiAgIAkJaTl4eF9sb2FkX3ljYmNyX2NvbnZlcnNpb25fbWF0cml4KGludGVs X2NydGMpOwo+PiAgIAkJcmV0dXJuOwo+PiAgIAl9IGVsc2UgaWYgKGNydGNfc3RhdGUtPmN0bSkg ewo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYwo+PiBpbmRleCBlNTE1NTliLi5kNTY1ZTI4IDEw MDY0NAo+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYwo+PiArKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYwo+PiBAQCAtMTI2NCw3ICsxMjY0LDcgQEAg c3RhdGljIHZvaWQgZGRpX2RvdGNsb2NrX2dldChzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlw ZV9jb25maWcpCj4+ICAgCWVsc2UKPj4gICAJCWRvdGNsb2NrID0gcGlwZV9jb25maWctPnBvcnRf Y2xvY2s7Cj4+ICAgCj4+IC0JaWYgKHBpcGVfY29uZmlnLT55Y2JjcjQyMCkKPj4gKwlpZiAocGlw ZV9jb25maWctPm91dHB1dF9mb3JtYXQgPT0gQ1JUQ19PVVRQVVRfWUNCQ1I0MjApCj4+ICAgCQlk b3RjbG9jayAqPSAyOwo+PiAgIAo+PiAgIAlpZiAocGlwZV9jb25maWctPnBpeGVsX211bHRpcGxp ZXIpCj4+IEBAIC0yNzU5LDYgKzI3NTksOCBAQCBzdGF0aWMgYm9vbCBpbnRlbF9kZGlfY29tcHV0 ZV9jb25maWcoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4+ICAgCWlmIChwb3J0ID09 IFBPUlRfQSkKPj4gICAJCXBpcGVfY29uZmlnLT5jcHVfdHJhbnNjb2RlciA9IFRSQU5TQ09ERVJf RURQOwo+PiAgIAo+PiArCXBpcGVfY29uZmlnLT5vdXRwdXRfZm9ybWF0ID0gQ1JUQ19PVVRQVVRf UkdCOwo+IFdlIHNlZW0gdG8gYmUgbWlzc2luZyB0aGlzIGZvciBtb3N0IHBsYXRmb3Jtcy9lbmNv ZGVyIHR5cGVzLgpJIHRob3VnaHQgdGhpcyB3b3VsZCBiZSByZXF1aXJlZCBvbmx5IGZvciBEREkg aW50ZXJmYWNlcywgZG8geW91IHN1Z2dlc3QgCndlIHNob3VsZCBzZXQgdGhpcyBwZXIgZW5jb2Rl ciBiYXNpcyA/Cj4KPj4gKwo+PiAgIAlpZiAoaW50ZWxfY3J0Y19oYXNfdHlwZShwaXBlX2NvbmZp ZywgSU5URUxfT1VUUFVUX0hETUkpKQo+PiAgIAkJcmV0ID0gaW50ZWxfaGRtaV9jb21wdXRlX2Nv bmZpZyhlbmNvZGVyLCBwaXBlX2NvbmZpZywgY29ubl9zdGF0ZSk7Cj4+ICAgCWVsc2UKPj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+PiBpbmRleCA4M2RlNDNjLi44NzczMzZkIDEw MDY0NAo+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPj4gKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4+IEBAIC00NjUwLDcgKzQ2 NTAsOCBAQCBza2xfdXBkYXRlX3NjYWxlcihzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19z dGF0ZSwgYm9vbCBmb3JjZV9kZXRhY2gsCj4+ICAgCSAqLwo+PiAgIAluZWVkX3NjYWxpbmcgPSBz cmNfdyAhPSBkc3RfdyB8fCBzcmNfaCAhPSBkc3RfaDsKPj4gICAKPj4gLQlpZiAoY3J0Y19zdGF0 ZS0+eWNiY3I0MjAgJiYgc2NhbGVyX3VzZXIgPT0gU0tMX0NSVENfSU5ERVgpCj4+ICsJaWYgKGNy dGNfc3RhdGUtPm91dHB1dF9mb3JtYXQgPT0gQ1JUQ19PVVRQVVRfWUNCQ1I0MjAgJiYKPj4gKwkg ICAgc2NhbGVyX3VzZXIgPT0gU0tMX0NSVENfSU5ERVgpCj4+ICAgCQluZWVkX3NjYWxpbmcgPSB0 cnVlOwo+PiAgIAo+PiAgIAkvKgo+PiBAQCAtNjM2Miw3ICs2MzYzLDggQEAgc3RhdGljIGludCBp bnRlbF9jcnRjX2NvbXB1dGVfY29uZmlnKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjLAo+PiAgIAkJ cmV0dXJuIC1FSU5WQUw7Cj4+ICAgCX0KPj4gICAKPj4gLQlpZiAocGlwZV9jb25maWctPnljYmNy NDIwICYmIHBpcGVfY29uZmlnLT5iYXNlLmN0bSkgewo+PiArCWlmIChwaXBlX2NvbmZpZy0+b3V0 cHV0X2Zvcm1hdCA9PSBDUlRDX09VVFBVVF9ZQ0JDUjQyMCAmJgo+PiArCSAgICBwaXBlX2NvbmZp Zy0+YmFzZS5jdG0pIHsKPj4gICAJCS8qCj4+ICAgCQkgKiBUaGVyZSBpcyBvbmx5IG9uZSBwaXBl IENTQyB1bml0IHBlciBwaXBlLCBhbmQgd2UgbmVlZCB0aGF0Cj4+ICAgCQkgKiBmb3Igb3V0cHV0 IGNvbnZlcnNpb24gZnJvbSBSR0ItPllDQkNSLiBTbyBpZiBDVE0gaXMgYWxyZWFkeQo+PiBAQCAt ODE5MiwxMCArODE5NCwxMCBAQCBzdGF0aWMgdm9pZCBoYXN3ZWxsX3NldF9waXBlbWlzYyhzdHJ1 Y3QgZHJtX2NydGMgKmNydGMpCj4+ICAgCQlpZiAoaW50ZWxfY3J0Yy0+Y29uZmlnLT5kaXRoZXIp Cj4+ICAgCQkJdmFsIHw9IFBJUEVNSVNDX0RJVEhFUl9FTkFCTEUgfCBQSVBFTUlTQ19ESVRIRVJf VFlQRV9TUDsKPj4gICAKPj4gLQkJaWYgKGNvbmZpZy0+eWNiY3I0MjApIHsKPj4gLQkJCXZhbCB8 PSBQSVBFTUlTQ19PVVRQVVRfQ09MT1JTUEFDRV9ZVVYgfAo+PiAtCQkJCVBJUEVNSVNDX1lVVjQy MF9FTkFCTEUgfAo+PiAtCQkJCVBJUEVNSVNDX1lVVjQyMF9NT0RFX0ZVTExfQkxFTkQ7Cj4+ICsJ CWlmIChjb25maWctPm91dHB1dF9mb3JtYXQgPT0gQ1JUQ19PVVRQVVRfWUNCQ1I0MjApIHsKPj4g KwkJCXZhbCB8PSBQSVBFTUlTQ19PVVRQVVRfQ09MT1JTUEFDRV9ZVVY7Cj4+ICsJCQl2YWwgfD0g UElQRU1JU0NfWVVWNDIwX0VOQUJMRSB8Cj4+ICsJCQkgICAgICAgUElQRU1JU0NfWVVWNDIwX01P REVfRlVMTF9CTEVORDsKPiBXaHkgdHdvIHw9ID8KV2FubmEgbWFrZSBpdCBjbGVhciB0aGF0IGZp cnN0IHNldCBpcyBmb3IgYWxsIFlDQkNSIG91dHB1dHMoNDIwIGFuZCA0NDQpIAp3aGVyZWFzIG90 aGVyIHR3byBhcmUgZXhwbGljaXRseSBmb3IgNDIwLgo+PiAgIAkJfQo+PiAgIAo+PiAgIAkJSTkx NV9XUklURShQSVBFTUlTQyhpbnRlbF9jcnRjLT5waXBlKSwgdmFsKTsKPj4gQEAgLTkxNzEsNiAr OTE3MywxOSBAQCBzdGF0aWMgdm9pZCBoYXN3ZWxsX2dldF9kZGlfcG9ydF9zdGF0ZShzdHJ1Y3Qg aW50ZWxfY3J0YyAqY3J0YywKPj4gICAJfQo+PiAgIH0KPj4gICAKPj4gK3N0YXRpYyBjb25zdCBj aGFyICogY29uc3Qgb3V0cHV0X2Zvcm1hdF9zdHJbXSA9IHsKPj4gKwkiSW52YWxpZCIsCj4+ICsJ IlJHQiIsCj4+ICsJIllDQkNSNDoyOjAiLAo+PiArfTsKPj4gKwo+PiArc3RhdGljIGNvbnN0IGNo YXIgKm91dHB1dF9mb3JtYXRzKGVudW0gaW50ZWxfb3V0cHV0X2Zvcm1hdCBmb3JtYXQpCj4+ICt7 Cj4+ICsJaWYgKGZvcm1hdCA8IENSVENfT1VUUFVUX0lOVkFMSUQgfHwgZm9ybWF0ID4gQ1JUQ19P VVRQVVRfWUNCQ1I0MjApCj4+ICsJCWZvcm1hdCA9IENSVENfT1VUUFVUX0lOVkFMSUQ7Cj4+ICsJ cmV0dXJuIG91dHB1dF9mb3JtYXRfc3RyW2Zvcm1hdF07Cj4+ICt9Cj4+ICsKPj4gICBzdGF0aWMg Ym9vbCBoYXN3ZWxsX2dldF9waXBlX2NvbmZpZyhzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YywKPj4g ICAJCQkJICAgIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZykKPj4gICB7Cj4+ IEBAIC05MjExLDE5ICs5MjI2LDI4IEBAIHN0YXRpYyBib29sIGhhc3dlbGxfZ2V0X3BpcGVfY29u ZmlnKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjLAo+PiAgIAo+PiAgIAlpZiAoSVNfQlJPQURXRUxM KGRldl9wcml2KSB8fCBJTlRFTF9HRU4oZGV2X3ByaXYpID49IDkpIHsKPj4gICAJCXUzMiB0bXAg PSBJOTE1X1JFQUQoUElQRU1JU0MoY3J0Yy0+cGlwZSkpOwo+PiAtCQlib29sIGNscnNwYWNlX3l1 diA9IHRtcCAmIFBJUEVNSVNDX09VVFBVVF9DT0xPUlNQQUNFX1lVVjsKPj4gLQo+PiAtCQlpZiAo SVNfR0VNSU5JTEFLRShkZXZfcHJpdikgfHwgSU5URUxfR0VOKGRldl9wcml2KSA+PSAxMCkgewo+ PiAtCQkJYm9vbCBibGVuZF9tb2RlXzQyMCA9IHRtcCAmCj4+IC0JCQkJCSAgICAgIFBJUEVNSVND X1lVVjQyMF9NT0RFX0ZVTExfQkxFTkQ7Cj4+ICsJCWVudW0gaW50ZWxfb3V0cHV0X2Zvcm1hdCBv dXRwdXRfZm9ybWF0ID0gQ1JUQ19PVVRQVVRfUkdCOwo+PiArCj4+ICsJCWlmICh0bXAgJiBQSVBF TUlTQ19PVVRQVVRfQ09MT1JTUEFDRV9ZVVYpIHsKPj4gKwkJCWJvb2wgeWNiY3I0MjBfZW5hYmxl ZCA9IHRtcCAmIFBJUEVNSVNDX1lVVjQyMF9FTkFCTEU7Cj4+ICsJCQlib29sIGJsZW5kID0gdG1w ICYgUElQRU1JU0NfWVVWNDIwX01PREVfRlVMTF9CTEVORDsKPj4gKwo+PiArCQkJaWYgKHljYmNy NDIwX2VuYWJsZWQpIHsKPj4gKwkJCQkvKiBXZSBzdXBwb3J0IDQ6MjowIGluIGZ1bGwgYmxlbmQg bW9kZSBvbmx5ICovCj4+ICsJCQkJaWYgKCFibGVuZCkKPj4gKwkJCQkJb3V0cHV0X2Zvcm1hdCA9 IENSVENfT1VUUFVUX0lOVkFMSUQ7Cj4+ICsJCQkJZWxzZSBpZiAoIShJU19HRU1JTklMQUtFKGRl dl9wcml2KSB8fAo+PiArCQkJCQkgICBJTlRFTF9HRU4oZGV2X3ByaXYpID49IDEwKSkKPj4gKwkJ CQkJb3V0cHV0X2Zvcm1hdCA9IENSVENfT1VUUFVUX0lOVkFMSUQ7Cj4+ICsJCQkJZWxzZQo+PiAr CQkJCQlvdXRwdXRfZm9ybWF0ID0gQ1JUQ19PVVRQVVRfWUNCQ1I0MjA7Cj4+ICsJCQl9Cj4+ICAg Cj4+IC0JCQlwaXBlX2NvbmZpZy0+eWNiY3I0MjAgPSB0bXAgJiBQSVBFTUlTQ19ZVVY0MjBfRU5B QkxFOwo+PiAtCQkJaWYgKHBpcGVfY29uZmlnLT55Y2JjcjQyMCAhPSBjbHJzcGFjZV95dXYgfHwK Pj4gLQkJCSAgICBwaXBlX2NvbmZpZy0+eWNiY3I0MjAgIT0gYmxlbmRfbW9kZV80MjApCj4+IC0J CQkJRFJNX0RFQlVHX0tNUygiQmFkIDQ6MjowIG1vZGUgKCUwOHgpXG4iLCB0bXApOwo+PiAtCQl9 IGVsc2UgaWYgKGNscnNwYWNlX3l1dikgewo+PiAtCQkJRFJNX0RFQlVHX0tNUygiWUNiQ3IgNDoy OjAgVW5zdXBwb3J0ZWRcbiIpOwo+PiAgIAkJfQo+PiArCj4+ICsJCXBpcGVfY29uZmlnLT5vdXRw dXRfZm9ybWF0ID0gb3V0cHV0X2Zvcm1hdDsKPj4gKwkJRFJNX0RFQlVHX0tNUygiT3V0cHV0IGZv cm1hdCAlc1xuIiwKPj4gKwkJCQlvdXRwdXRfZm9ybWF0cyhvdXRwdXRfZm9ybWF0KSk7Cj4gVXNl bGVzcyBkZWJ1ZyBwcmludC4KSXRzIGEgX2ttcyBvbmx5LCBidXQgY2FuIGJlIHJlbW92ZWQgaWYg eW91IHRoaW5rIHNvLgotIFNoYXNoYW5rCj4+ICAgCX0KPj4gICAKPj4gICAJcG93ZXJfZG9tYWlu ID0gUE9XRVJfRE9NQUlOX1BJUEVfUEFORUxfRklUVEVSKGNydGMtPnBpcGUpOwo+PiBAQCAtMTA1 NzgsNiArMTA2MDIsOSBAQCBzdGF0aWMgdm9pZCBpbnRlbF9kdW1wX3BpcGVfY29uZmlnKHN0cnVj dCBpbnRlbF9jcnRjICpjcnRjLAo+PiAgIAlEUk1fREVCVUdfS01TKCJvdXRwdXRfdHlwZXM6ICVz ICgweCV4KVxuIiwKPj4gICAJCSAgICAgIGJ1ZiwgcGlwZV9jb25maWctPm91dHB1dF90eXBlcyk7 Cj4+ICAgCj4+ICsJRFJNX0RFQlVHX0tNUygib3V0cHV0IGZvcm1hdDogJXNcbiIsCj4+ICsJCW91 dHB1dF9mb3JtYXRzKHBpcGVfY29uZmlnLT5vdXRwdXRfZm9ybWF0KSk7Cj4+ICsKPj4gICAJRFJN X0RFQlVHX0tNUygiY3B1X3RyYW5zY29kZXI6ICVzLCBwaXBlIGJwcDogJWksIGRpdGhlcmluZzog JWlcbiIsCj4+ICAgCQkgICAgICB0cmFuc2NvZGVyX25hbWUocGlwZV9jb25maWctPmNwdV90cmFu c2NvZGVyKSwKPj4gICAJCSAgICAgIHBpcGVfY29uZmlnLT5waXBlX2JwcCwgcGlwZV9jb25maWct PmRpdGhlcik7Cj4+IEBAIC0xMDU4Nyw5ICsxMDYxNCw2IEBAIHN0YXRpYyB2b2lkIGludGVsX2R1 bXBfcGlwZV9jb25maWcoc3RydWN0IGludGVsX2NydGMgKmNydGMsCj4+ICAgCQkJCSAgICAgIHBp cGVfY29uZmlnLT5mZGlfbGFuZXMsCj4+ICAgCQkJCSAgICAgICZwaXBlX2NvbmZpZy0+ZmRpX21f bik7Cj4+ICAgCj4+IC0JaWYgKHBpcGVfY29uZmlnLT55Y2JjcjQyMCkKPj4gLQkJRFJNX0RFQlVH X0tNUygiWUNiQ3IgNDoyOjAgb3V0cHV0IGVuYWJsZWRcbiIpOwo+PiAtCj4+ICAgCWlmIChpbnRl bF9jcnRjX2hhc19kcF9lbmNvZGVyKHBpcGVfY29uZmlnKSkgewo+PiAgIAkJaW50ZWxfZHVtcF9t X25fY29uZmlnKHBpcGVfY29uZmlnLCAiZHAgbV9uIiwKPj4gICAJCQkJcGlwZV9jb25maWctPmxh bmVfY291bnQsICZwaXBlX2NvbmZpZy0+ZHBfbV9uKTsKPj4gQEAgLTExMTYzLDYgKzExMTg3LDcg QEAgaW50ZWxfcGlwZV9jb25maWdfY29tcGFyZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYsCj4+ICAgCVBJUEVfQ09ORl9DSEVDS19JKGJhc2UuYWRqdXN0ZWRfbW9kZS5jcnRjX3Zz eW5jX2VuZCk7Cj4+ICAgCj4+ICAgCVBJUEVfQ09ORl9DSEVDS19JKHBpeGVsX211bHRpcGxpZXIp Owo+PiArCVBJUEVfQ09ORl9DSEVDS19JKG91dHB1dF9mb3JtYXQpOwo+PiAgIAlQSVBFX0NPTkZf Q0hFQ0tfQk9PTChoYXNfaGRtaV9zaW5rKTsKPj4gICAJaWYgKChJTlRFTF9HRU4oZGV2X3ByaXYp IDwgOCAmJiAhSVNfSEFTV0VMTChkZXZfcHJpdikpIHx8Cj4+ICAgCSAgICBJU19WQUxMRVlWSUVX KGRldl9wcml2KSB8fCBJU19DSEVSUllWSUVXKGRldl9wcml2KSkKPj4gQEAgLTExMTcxLDcgKzEx MTk2LDYgQEAgaW50ZWxfcGlwZV9jb25maWdfY29tcGFyZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYsCj4+ICAgCVBJUEVfQ09ORl9DSEVDS19CT09MKGhkbWlfc2NyYW1ibGluZyk7 Cj4+ICAgCVBJUEVfQ09ORl9DSEVDS19CT09MKGhkbWlfaGlnaF90bWRzX2Nsb2NrX3JhdGlvKTsK Pj4gICAJUElQRV9DT05GX0NIRUNLX0JPT0xfSU5DT01QTEVURShoYXNfaW5mb2ZyYW1lKTsKPj4g LQlQSVBFX0NPTkZfQ0hFQ0tfQk9PTCh5Y2JjcjQyMCk7Cj4+ICAgCj4+ICAgCVBJUEVfQ09ORl9D SEVDS19CT09MX0lOQ09NUExFVEUoaGFzX2F1ZGlvKTsKPj4gICAKPj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZHJ2LmgKPj4gaW5kZXggM2NlZTU0Yi4uMzViZTc4ZSAxMDA2NDQKPj4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZHJ2LmgKPj4gQEAgLTY4Nyw2ICs2ODcsMTIgQEAgc3RydWN0IGludGVsX2NydGNfd21f c3RhdGUgewo+PiAgIAlib29sIG5lZWRfcG9zdHZibF91cGRhdGU7Cj4+ICAgfTsKPj4gICAKPj4g K2VudW0gaW50ZWxfb3V0cHV0X2Zvcm1hdCB7Cj4+ICsJQ1JUQ19PVVRQVVRfSU5WQUxJRCwKPj4g KwlDUlRDX09VVFBVVF9SR0IsCj4+ICsJQ1JUQ19PVVRQVVRfWUNCQ1I0MjAsCj4+ICt9Owo+PiAr Cj4+ICAgc3RydWN0IGludGVsX2NydGNfc3RhdGUgewo+PiAgIAlzdHJ1Y3QgZHJtX2NydGNfc3Rh dGUgYmFzZTsKPj4gICAKPj4gQEAgLTg3Myw4ICs4NzksOCBAQCBzdHJ1Y3QgaW50ZWxfY3J0Y19z dGF0ZSB7Cj4+ICAgCS8qIEhETUkgSGlnaCBUTURTIGNoYXIgcmF0ZSByYXRpbyAqLwo+PiAgIAli b29sIGhkbWlfaGlnaF90bWRzX2Nsb2NrX3JhdGlvOwo+PiAgIAo+PiAtCS8qIG91dHB1dCBmb3Jt YXQgaXMgWUNCQ1IgNDoyOjAgKi8KPj4gLQlib29sIHljYmNyNDIwOwo+PiArCS8qIE91dHB1dCBm b3JtYXQgUkdCL1lDQkNSIGV0YyAqLwo+PiArCWVudW0gaW50ZWxfb3V0cHV0X2Zvcm1hdCBvdXRw dXRfZm9ybWF0Owo+PiAgIH07Cj4+ICAgCj4+ICAgc3RydWN0IGludGVsX2NydGMgewo+PiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfaGRtaS5jCj4+IGluZGV4IDk3OGYyMmIuLjY3MDBlZDYgMTAwNjQ0Cj4+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkbWkuYwo+PiArKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMKPj4gQEAgLTQ3OSw3ICs0NzksNyBAQCBzdGF0aWMg dm9pZCBpbnRlbF9oZG1pX3NldF9hdmlfaW5mb2ZyYW1lKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5j b2RlciwKPj4gICAJCXJldHVybjsKPj4gICAJfQo+PiAgIAo+PiAtCWlmIChjcnRjX3N0YXRlLT55 Y2JjcjQyMCkKPj4gKwlpZiAoY3J0Y19zdGF0ZS0+b3V0cHV0X2Zvcm1hdCA9PSBDUlRDX09VVFBV VF9ZQ0JDUjQyMCkKPj4gICAJCWZyYW1lLmF2aS5jb2xvcnNwYWNlID0gSERNSV9DT0xPUlNQQUNF X1lVVjQyMDsKPj4gICAJZWxzZQo+PiAgIAkJZnJhbWUuYXZpLmNvbG9yc3BhY2UgPSBIRE1JX0NP TE9SU1BBQ0VfUkdCOwo+PiBAQCAtMTYxNSw3ICsxNjE1LDcgQEAgc3RhdGljIGJvb2wgaGRtaV8x MmJwY19wb3NzaWJsZShjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkK Pj4gICAJCWlmIChjb25uZWN0b3Jfc3RhdGUtPmNydGMgIT0gY3J0Y19zdGF0ZS0+YmFzZS5jcnRj KQo+PiAgIAkJCWNvbnRpbnVlOwo+PiAgIAo+PiAtCQlpZiAoY3J0Y19zdGF0ZS0+eWNiY3I0MjAp IHsKPj4gKwkJaWYgKGNydGNfc3RhdGUtPm91dHB1dF9mb3JtYXQgPT0gQ1JUQ19PVVRQVVRfWUNC Q1I0MjApIHsKPj4gICAJCQljb25zdCBzdHJ1Y3QgZHJtX2hkbWlfaW5mbyAqaGRtaSA9ICZpbmZv LT5oZG1pOwo+PiAgIAo+PiAgIAkJCWlmICghKGhkbWktPnk0MjBfZGNfbW9kZXMgJiBEUk1fRURJ RF9ZQ0JDUjQyMF9EQ18zNikpCj4+IEBAIC0xNjUwLDcgKzE2NTAsNyBAQCBpbnRlbF9oZG1pX3lj YmNyNDIwX2NvbmZpZyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+PiAgIAljb25m aWctPnBvcnRfY2xvY2sgLz0gMjsKPj4gICAJKmNsb2NrXzEyYnBjIC89IDI7Cj4+ICAgCSpjbG9j a184YnBjIC89IDI7Cj4+IC0JY29uZmlnLT55Y2JjcjQyMCA9IHRydWU7Cj4+ICsJY29uZmlnLT5v dXRwdXRfZm9ybWF0ID0gQ1JUQ19PVVRQVVRfWUNCQ1I0MjA7Cj4+ICAgCj4+ICAgCS8qIFlDQkNS IDQyMCBvdXRwdXQgY29udmVyc2lvbiBuZWVkcyBhIHNjYWxlciAqLwo+PiAgIAlpZiAoc2tsX3Vw ZGF0ZV9zY2FsZXJfY3J0Yyhjb25maWcpKSB7Cj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9wYW5lbC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcGFuZWwu Ywo+PiBpbmRleCBlNzAyYTY0Li4xNzAyNWJjIDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9wYW5lbC5jCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X3BhbmVsLmMKPj4gQEAgLTExMSw3ICsxMTEsNyBAQCBpbnRlbF9wY2hfcGFuZWxfZml0dGluZyhz dHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YywKPj4gICAJLyogTmF0aXZlIG1vZGVzIGRvbid0 IG5lZWQgZml0dGluZyAqLwo+PiAgIAlpZiAoYWRqdXN0ZWRfbW9kZS0+Y3J0Y19oZGlzcGxheSA9 PSBwaXBlX2NvbmZpZy0+cGlwZV9zcmNfdyAmJgo+PiAgIAkgICAgYWRqdXN0ZWRfbW9kZS0+Y3J0 Y192ZGlzcGxheSA9PSBwaXBlX2NvbmZpZy0+cGlwZV9zcmNfaCAmJgo+PiAtCSAgICAhcGlwZV9j b25maWctPnljYmNyNDIwKQo+PiArCSAgICBwaXBlX2NvbmZpZy0+b3V0cHV0X2Zvcm1hdCAhPSBD UlRDX09VVFBVVF9ZQ0JDUjQyMCkKPj4gICAJCWdvdG8gZG9uZTsKPj4gICAKPj4gICAJc3dpdGNo IChmaXR0aW5nX21vZGUpIHsKPj4gLS0gCj4+IDIuNy40CgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdm eEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFp bG1hbi9saXN0aW5mby9pbnRlbC1nZngK