From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH v4 1/7] drm/i915: Add CRTC output format YCBCR 4:2:0 Date: Thu, 1 Feb 2018 21:09:08 +0200 Message-ID: <20180201190908.GT5453@intel.com> References: <1517304963-27932-1-git-send-email-shashank.sharma@intel.com> <1517304963-27932-2-git-send-email-shashank.sharma@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTPS id 65C4B6E0CC for ; Thu, 1 Feb 2018 19:09:12 +0000 (UTC) Content-Disposition: inline In-Reply-To: <1517304963-27932-2-git-send-email-shashank.sharma@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Shashank Sharma Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVHVlLCBKYW4gMzAsIDIwMTggYXQgMDM6MDU6NTdQTSArMDUzMCwgU2hhc2hhbmsgU2hhcm1h IHdyb3RlOgo+IEZyb206ICJTaGFybWEsIFNoYXNoYW5rIiA8c2hhc2hhbmsuc2hhcm1hQGludGVs LmNvbT4KPiAKPiBDdXJyZW50bHksIHdlIGFyZSB1c2luZyBhIGJvb2wgaW4gQ1JUQyBzdGF0ZSAo c3RhdGUtPnljYmNyNDIwKSwKPiB0byBpbmRpY2F0ZSBtb2Rlc2V0LCB0aGF0IHRoZSBvdXRwdXQg Zm9ybWF0IGlzIFlDQkNSIDQ6MjowLiBOb3cgaW4KPiBvcmRlciB0byBzdXBwb3J0IG90aGVyIFlD QkNSIGZvcm1hdHMsIHdlIHdpbGwgbmVlZCBtb3JlIHN1Y2ggZmxhZ3MuCj4gCj4gVGhlIGlkZWEg YmVoaW5kIHRoaXMgcGF0Y2ggaXMgdG8gcmVwbGFjZSB0aGlzIGJvb2wgd2l0aCBhbiBlbnVtLAo+ IGFuZCBwbHVnIHRoaXMgaW4gaW4gdGhlIGV4aXN0aW5nIFlDQkNSIDQ6MjowIGZyYW1ld29yayBp biBzdWNoIGEKPiB3YXkgdGhhdCB0aGlzIGNhbiBiZSByZS11c2VkIGZvciBZQ0JDUiA0OjQ6NCBh bmQgb3RoZXIgb3V0cHV0IGZvcm1hdHMgdG9vLgo+IAo+IFRoaXMgcGF0Y2ggYWRkcyBhIG5ldyBl bnVtIGZvciBDUlRDIG91dHB1dCBmb3JtYXRzLCBhbmQgdGhlbiBwbHVncyBpdAo+IGluIHRoZSBl eGlzdGluZyBtb2Rlc2V0IGZyYW1ld29yay4KPiAKPiBWMzogQWRkZWQgdGhpcyBwYXRjaCBpbiB0 aGUgc2VyaWVzLCB0byBhZGRyZXNzIHJldmlldyBjb21tZW50cyBmcm9tCj4gICAgIHNlY29uZCBw YXRjaHNldC4KPiBWNDogQWRkZWQgci1iIGZyb20gTWFhcnRlbiAob24gdjMpCj4gICAgIEFkZHJl c3NlZCByZXZpZXcgY29tbWVudHMgZnJvbSBWaWxsZToKPiAJLSBDaGFuZ2UgdGhlIGVudW0gbmFt ZSB0byBpbnRlbF9vdXRwdXRfZm9ybWF0IGZyb20gY3J0Y19vdXRwdXRfZm9ybWF0Lgo+IAktIFN0 YXJ0IHRoZSBlbnVtIHZhbHVlIChJTlZBTElEKSBmcm9tIDAgaW5zdGFlZCBvZiAxLgo+ICAgICAg ICAgLSBTZXQgdGhlIGNydGMncyBvdXRwdXRfZm9ybWF0IHRvIFJHQiBpbiBlbmNvZGVyJ3MgY29t cHV0ZV9jb25maWcuCj4gCj4gQ2M6IFZpbGxlIFN5cmphbGEgPHZpbGxlLnN5cmphbGFAbGludXgu aW50ZWwuY29tPgo+IENjOiBNYWFydGVuIExhbmtob3JzdCA8bWFhcnRlbi5sYW5raG9yc3RAbGlu dXguaW50ZWwuY29tPgo+IFNpZ25lZC1vZmYtYnk6IFNoYXNoYW5rIFNoYXJtYSA8c2hhc2hhbmsu c2hhcm1hQGludGVsLmNvbT4KPiBSZXZpZXdlZC1ieTogTWFhcnRlbiBMYW5raG9yc3QgPG1hYXJ0 ZW4ubGFua2hvcnN0QGxpbnV4LmludGVsLmNvbT4KPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfY29sb3IuYyAgIHwgIDIgKy0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZGRpLmMgICAgIHwgIDQgKystCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXku YyB8IDY2ICsrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLQo+ICBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kcnYuaCAgICAgfCAxMCArKysrLS0KPiAgZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfaGRtaS5jICAgIHwgIDYgKystLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9wYW5lbC5jICAgfCAgMiArLQo+ICA2IGZpbGVzIGNoYW5nZWQsIDYxIGluc2VydGlvbnMo KyksIDI5IGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9jb2xvci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY29sb3IuYwo+IGlu ZGV4IGFhNjZlOTUuLjk5ZTMyY2IgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfY29sb3IuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NvbG9yLmMK PiBAQCAtMTQxLDcgKzE0MSw3IEBAIHN0YXRpYyB2b2lkIGk5eHhfbG9hZF9jc2NfbWF0cml4KHN0 cnVjdCBkcm1fY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKPiAgCXVpbnQxNl90IGNvZWZmc1s5XSA9 IHsgMCwgfTsKPiAgCXN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICppbnRlbF9jcnRjX3N0YXRlID0g dG9faW50ZWxfY3J0Y19zdGF0ZShjcnRjX3N0YXRlKTsKPiAgCj4gLQlpZiAoaW50ZWxfY3J0Y19z dGF0ZS0+eWNiY3I0MjApIHsKPiArCWlmIChpbnRlbF9jcnRjX3N0YXRlLT5vdXRwdXRfZm9ybWF0 ID09IENSVENfT1VUUFVUX1lDQkNSNDIwKSB7Cj4gIAkJaTl4eF9sb2FkX3ljYmNyX2NvbnZlcnNp b25fbWF0cml4KGludGVsX2NydGMpOwo+ICAJCXJldHVybjsKPiAgCX0gZWxzZSBpZiAoY3J0Y19z dGF0ZS0+Y3RtKSB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rk aS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMKPiBpbmRleCBlNTE1NTliLi5k NTY1ZTI4IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jCj4g KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMKPiBAQCAtMTI2NCw3ICsxMjY0 LDcgQEAgc3RhdGljIHZvaWQgZGRpX2RvdGNsb2NrX2dldChzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0 ZSAqcGlwZV9jb25maWcpCj4gIAllbHNlCj4gIAkJZG90Y2xvY2sgPSBwaXBlX2NvbmZpZy0+cG9y dF9jbG9jazsKPiAgCj4gLQlpZiAocGlwZV9jb25maWctPnljYmNyNDIwKQo+ICsJaWYgKHBpcGVf Y29uZmlnLT5vdXRwdXRfZm9ybWF0ID09IENSVENfT1VUUFVUX1lDQkNSNDIwKQo+ICAJCWRvdGNs b2NrICo9IDI7Cj4gIAo+ICAJaWYgKHBpcGVfY29uZmlnLT5waXhlbF9tdWx0aXBsaWVyKQo+IEBA IC0yNzU5LDYgKzI3NTksOCBAQCBzdGF0aWMgYm9vbCBpbnRlbF9kZGlfY29tcHV0ZV9jb25maWco c3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gIAlpZiAocG9ydCA9PSBQT1JUX0EpCj4g IAkJcGlwZV9jb25maWctPmNwdV90cmFuc2NvZGVyID0gVFJBTlNDT0RFUl9FRFA7Cj4gIAo+ICsJ cGlwZV9jb25maWctPm91dHB1dF9mb3JtYXQgPSBDUlRDX09VVFBVVF9SR0I7CgpXZSBzZWVtIHRv IGJlIG1pc3NpbmcgdGhpcyBmb3IgbW9zdCBwbGF0Zm9ybXMvZW5jb2RlciB0eXBlcy4KCj4gKwo+ ICAJaWYgKGludGVsX2NydGNfaGFzX3R5cGUocGlwZV9jb25maWcsIElOVEVMX09VVFBVVF9IRE1J KSkKPiAgCQlyZXQgPSBpbnRlbF9oZG1pX2NvbXB1dGVfY29uZmlnKGVuY29kZXIsIHBpcGVfY29u ZmlnLCBjb25uX3N0YXRlKTsKPiAgCWVsc2UKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxh eS5jCj4gaW5kZXggODNkZTQzYy4uODc3MzM2ZCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kaXNwbGF5LmMKPiBAQCAtNDY1MCw3ICs0NjUwLDggQEAgc2tsX3VwZGF0ZV9zY2FsZXIoc3Ry dWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsIGJvb2wgZm9yY2VfZGV0YWNoLAo+ICAJ ICovCj4gIAluZWVkX3NjYWxpbmcgPSBzcmNfdyAhPSBkc3RfdyB8fCBzcmNfaCAhPSBkc3RfaDsK PiAgCj4gLQlpZiAoY3J0Y19zdGF0ZS0+eWNiY3I0MjAgJiYgc2NhbGVyX3VzZXIgPT0gU0tMX0NS VENfSU5ERVgpCj4gKwlpZiAoY3J0Y19zdGF0ZS0+b3V0cHV0X2Zvcm1hdCA9PSBDUlRDX09VVFBV VF9ZQ0JDUjQyMCAmJgo+ICsJICAgIHNjYWxlcl91c2VyID09IFNLTF9DUlRDX0lOREVYKQo+ICAJ CW5lZWRfc2NhbGluZyA9IHRydWU7Cj4gIAo+ICAJLyoKPiBAQCAtNjM2Miw3ICs2MzYzLDggQEAg c3RhdGljIGludCBpbnRlbF9jcnRjX2NvbXB1dGVfY29uZmlnKHN0cnVjdCBpbnRlbF9jcnRjICpj cnRjLAo+ICAJCXJldHVybiAtRUlOVkFMOwo+ICAJfQo+ICAKPiAtCWlmIChwaXBlX2NvbmZpZy0+ eWNiY3I0MjAgJiYgcGlwZV9jb25maWctPmJhc2UuY3RtKSB7Cj4gKwlpZiAocGlwZV9jb25maWct Pm91dHB1dF9mb3JtYXQgPT0gQ1JUQ19PVVRQVVRfWUNCQ1I0MjAgJiYKPiArCSAgICBwaXBlX2Nv bmZpZy0+YmFzZS5jdG0pIHsKPiAgCQkvKgo+ICAJCSAqIFRoZXJlIGlzIG9ubHkgb25lIHBpcGUg Q1NDIHVuaXQgcGVyIHBpcGUsIGFuZCB3ZSBuZWVkIHRoYXQKPiAgCQkgKiBmb3Igb3V0cHV0IGNv bnZlcnNpb24gZnJvbSBSR0ItPllDQkNSLiBTbyBpZiBDVE0gaXMgYWxyZWFkeQo+IEBAIC04MTky LDEwICs4MTk0LDEwIEBAIHN0YXRpYyB2b2lkIGhhc3dlbGxfc2V0X3BpcGVtaXNjKHN0cnVjdCBk cm1fY3J0YyAqY3J0YykKPiAgCQlpZiAoaW50ZWxfY3J0Yy0+Y29uZmlnLT5kaXRoZXIpCj4gIAkJ CXZhbCB8PSBQSVBFTUlTQ19ESVRIRVJfRU5BQkxFIHwgUElQRU1JU0NfRElUSEVSX1RZUEVfU1A7 Cj4gIAo+IC0JCWlmIChjb25maWctPnljYmNyNDIwKSB7Cj4gLQkJCXZhbCB8PSBQSVBFTUlTQ19P VVRQVVRfQ09MT1JTUEFDRV9ZVVYgfAo+IC0JCQkJUElQRU1JU0NfWVVWNDIwX0VOQUJMRSB8Cj4g LQkJCQlQSVBFTUlTQ19ZVVY0MjBfTU9ERV9GVUxMX0JMRU5EOwo+ICsJCWlmIChjb25maWctPm91 dHB1dF9mb3JtYXQgPT0gQ1JUQ19PVVRQVVRfWUNCQ1I0MjApIHsKPiArCQkJdmFsIHw9IFBJUEVN SVNDX09VVFBVVF9DT0xPUlNQQUNFX1lVVjsKPiArCQkJdmFsIHw9IFBJUEVNSVNDX1lVVjQyMF9F TkFCTEUgfAo+ICsJCQkgICAgICAgUElQRU1JU0NfWVVWNDIwX01PREVfRlVMTF9CTEVORDsKCldo eSB0d28gfD0gPwoKPiAgCQl9Cj4gIAo+ICAJCUk5MTVfV1JJVEUoUElQRU1JU0MoaW50ZWxfY3J0 Yy0+cGlwZSksIHZhbCk7Cj4gQEAgLTkxNzEsNiArOTE3MywxOSBAQCBzdGF0aWMgdm9pZCBoYXN3 ZWxsX2dldF9kZGlfcG9ydF9zdGF0ZShzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YywKPiAgCX0KPiAg fQo+ICAKPiArc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBvdXRwdXRfZm9ybWF0X3N0cltdID0g ewo+ICsJIkludmFsaWQiLAo+ICsJIlJHQiIsCj4gKwkiWUNCQ1I0OjI6MCIsCj4gK307Cj4gKwo+ ICtzdGF0aWMgY29uc3QgY2hhciAqb3V0cHV0X2Zvcm1hdHMoZW51bSBpbnRlbF9vdXRwdXRfZm9y bWF0IGZvcm1hdCkKPiArewo+ICsJaWYgKGZvcm1hdCA8IENSVENfT1VUUFVUX0lOVkFMSUQgfHwg Zm9ybWF0ID4gQ1JUQ19PVVRQVVRfWUNCQ1I0MjApCj4gKwkJZm9ybWF0ID0gQ1JUQ19PVVRQVVRf SU5WQUxJRDsKPiArCXJldHVybiBvdXRwdXRfZm9ybWF0X3N0cltmb3JtYXRdOwo+ICt9Cj4gKwo+ ICBzdGF0aWMgYm9vbCBoYXN3ZWxsX2dldF9waXBlX2NvbmZpZyhzdHJ1Y3QgaW50ZWxfY3J0YyAq Y3J0YywKPiAgCQkJCSAgICBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25maWcpCj4g IHsKPiBAQCAtOTIxMSwxOSArOTIyNiwyOCBAQCBzdGF0aWMgYm9vbCBoYXN3ZWxsX2dldF9waXBl X2NvbmZpZyhzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YywKPiAgCj4gIAlpZiAoSVNfQlJPQURXRUxM KGRldl9wcml2KSB8fCBJTlRFTF9HRU4oZGV2X3ByaXYpID49IDkpIHsKPiAgCQl1MzIgdG1wID0g STkxNV9SRUFEKFBJUEVNSVNDKGNydGMtPnBpcGUpKTsKPiAtCQlib29sIGNscnNwYWNlX3l1diA9 IHRtcCAmIFBJUEVNSVNDX09VVFBVVF9DT0xPUlNQQUNFX1lVVjsKPiAtCj4gLQkJaWYgKElTX0dF TUlOSUxBS0UoZGV2X3ByaXYpIHx8IElOVEVMX0dFTihkZXZfcHJpdikgPj0gMTApIHsKPiAtCQkJ Ym9vbCBibGVuZF9tb2RlXzQyMCA9IHRtcCAmCj4gLQkJCQkJICAgICAgUElQRU1JU0NfWVVWNDIw X01PREVfRlVMTF9CTEVORDsKPiArCQllbnVtIGludGVsX291dHB1dF9mb3JtYXQgb3V0cHV0X2Zv cm1hdCA9IENSVENfT1VUUFVUX1JHQjsKPiArCj4gKwkJaWYgKHRtcCAmIFBJUEVNSVNDX09VVFBV VF9DT0xPUlNQQUNFX1lVVikgewo+ICsJCQlib29sIHljYmNyNDIwX2VuYWJsZWQgPSB0bXAgJiBQ SVBFTUlTQ19ZVVY0MjBfRU5BQkxFOwo+ICsJCQlib29sIGJsZW5kID0gdG1wICYgUElQRU1JU0Nf WVVWNDIwX01PREVfRlVMTF9CTEVORDsKPiArCj4gKwkJCWlmICh5Y2JjcjQyMF9lbmFibGVkKSB7 Cj4gKwkJCQkvKiBXZSBzdXBwb3J0IDQ6MjowIGluIGZ1bGwgYmxlbmQgbW9kZSBvbmx5ICovCj4g KwkJCQlpZiAoIWJsZW5kKQo+ICsJCQkJCW91dHB1dF9mb3JtYXQgPSBDUlRDX09VVFBVVF9JTlZB TElEOwo+ICsJCQkJZWxzZSBpZiAoIShJU19HRU1JTklMQUtFKGRldl9wcml2KSB8fAo+ICsJCQkJ CSAgIElOVEVMX0dFTihkZXZfcHJpdikgPj0gMTApKQo+ICsJCQkJCW91dHB1dF9mb3JtYXQgPSBD UlRDX09VVFBVVF9JTlZBTElEOwo+ICsJCQkJZWxzZQo+ICsJCQkJCW91dHB1dF9mb3JtYXQgPSBD UlRDX09VVFBVVF9ZQ0JDUjQyMDsKPiArCQkJfQo+ICAKPiAtCQkJcGlwZV9jb25maWctPnljYmNy NDIwID0gdG1wICYgUElQRU1JU0NfWVVWNDIwX0VOQUJMRTsKPiAtCQkJaWYgKHBpcGVfY29uZmln LT55Y2JjcjQyMCAhPSBjbHJzcGFjZV95dXYgfHwKPiAtCQkJICAgIHBpcGVfY29uZmlnLT55Y2Jj cjQyMCAhPSBibGVuZF9tb2RlXzQyMCkKPiAtCQkJCURSTV9ERUJVR19LTVMoIkJhZCA0OjI6MCBt b2RlICglMDh4KVxuIiwgdG1wKTsKPiAtCQl9IGVsc2UgaWYgKGNscnNwYWNlX3l1dikgewo+IC0J CQlEUk1fREVCVUdfS01TKCJZQ2JDciA0OjI6MCBVbnN1cHBvcnRlZFxuIik7Cj4gIAkJfQo+ICsK PiArCQlwaXBlX2NvbmZpZy0+b3V0cHV0X2Zvcm1hdCA9IG91dHB1dF9mb3JtYXQ7Cj4gKwkJRFJN X0RFQlVHX0tNUygiT3V0cHV0IGZvcm1hdCAlc1xuIiwKPiArCQkJCW91dHB1dF9mb3JtYXRzKG91 dHB1dF9mb3JtYXQpKTsKClVzZWxlc3MgZGVidWcgcHJpbnQuCgo+ICAJfQo+ICAKPiAgCXBvd2Vy X2RvbWFpbiA9IFBPV0VSX0RPTUFJTl9QSVBFX1BBTkVMX0ZJVFRFUihjcnRjLT5waXBlKTsKPiBA QCAtMTA1NzgsNiArMTA2MDIsOSBAQCBzdGF0aWMgdm9pZCBpbnRlbF9kdW1wX3BpcGVfY29uZmln KHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjLAo+ICAJRFJNX0RFQlVHX0tNUygib3V0cHV0X3R5cGVz OiAlcyAoMHgleClcbiIsCj4gIAkJICAgICAgYnVmLCBwaXBlX2NvbmZpZy0+b3V0cHV0X3R5cGVz KTsKPiAgCj4gKwlEUk1fREVCVUdfS01TKCJvdXRwdXQgZm9ybWF0OiAlc1xuIiwKPiArCQlvdXRw dXRfZm9ybWF0cyhwaXBlX2NvbmZpZy0+b3V0cHV0X2Zvcm1hdCkpOwo+ICsKPiAgCURSTV9ERUJV R19LTVMoImNwdV90cmFuc2NvZGVyOiAlcywgcGlwZSBicHA6ICVpLCBkaXRoZXJpbmc6ICVpXG4i LAo+ICAJCSAgICAgIHRyYW5zY29kZXJfbmFtZShwaXBlX2NvbmZpZy0+Y3B1X3RyYW5zY29kZXIp LAo+ICAJCSAgICAgIHBpcGVfY29uZmlnLT5waXBlX2JwcCwgcGlwZV9jb25maWctPmRpdGhlcik7 Cj4gQEAgLTEwNTg3LDkgKzEwNjE0LDYgQEAgc3RhdGljIHZvaWQgaW50ZWxfZHVtcF9waXBlX2Nv bmZpZyhzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YywKPiAgCQkJCSAgICAgIHBpcGVfY29uZmlnLT5m ZGlfbGFuZXMsCj4gIAkJCQkgICAgICAmcGlwZV9jb25maWctPmZkaV9tX24pOwo+ICAKPiAtCWlm IChwaXBlX2NvbmZpZy0+eWNiY3I0MjApCj4gLQkJRFJNX0RFQlVHX0tNUygiWUNiQ3IgNDoyOjAg b3V0cHV0IGVuYWJsZWRcbiIpOwo+IC0KPiAgCWlmIChpbnRlbF9jcnRjX2hhc19kcF9lbmNvZGVy KHBpcGVfY29uZmlnKSkgewo+ICAJCWludGVsX2R1bXBfbV9uX2NvbmZpZyhwaXBlX2NvbmZpZywg ImRwIG1fbiIsCj4gIAkJCQlwaXBlX2NvbmZpZy0+bGFuZV9jb3VudCwgJnBpcGVfY29uZmlnLT5k cF9tX24pOwo+IEBAIC0xMTE2Myw2ICsxMTE4Nyw3IEBAIGludGVsX3BpcGVfY29uZmlnX2NvbXBh cmUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ICAJUElQRV9DT05GX0NIRUNL X0koYmFzZS5hZGp1c3RlZF9tb2RlLmNydGNfdnN5bmNfZW5kKTsKPiAgCj4gIAlQSVBFX0NPTkZf Q0hFQ0tfSShwaXhlbF9tdWx0aXBsaWVyKTsKPiArCVBJUEVfQ09ORl9DSEVDS19JKG91dHB1dF9m b3JtYXQpOwo+ICAJUElQRV9DT05GX0NIRUNLX0JPT0woaGFzX2hkbWlfc2luayk7Cj4gIAlpZiAo KElOVEVMX0dFTihkZXZfcHJpdikgPCA4ICYmICFJU19IQVNXRUxMKGRldl9wcml2KSkgfHwKPiAg CSAgICBJU19WQUxMRVlWSUVXKGRldl9wcml2KSB8fCBJU19DSEVSUllWSUVXKGRldl9wcml2KSkK PiBAQCAtMTExNzEsNyArMTExOTYsNiBAQCBpbnRlbF9waXBlX2NvbmZpZ19jb21wYXJlKHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiAgCVBJUEVfQ09ORl9DSEVDS19CT09MKGhk bWlfc2NyYW1ibGluZyk7Cj4gIAlQSVBFX0NPTkZfQ0hFQ0tfQk9PTChoZG1pX2hpZ2hfdG1kc19j bG9ja19yYXRpbyk7Cj4gIAlQSVBFX0NPTkZfQ0hFQ0tfQk9PTF9JTkNPTVBMRVRFKGhhc19pbmZv ZnJhbWUpOwo+IC0JUElQRV9DT05GX0NIRUNLX0JPT0woeWNiY3I0MjApOwo+ICAKPiAgCVBJUEVf Q09ORl9DSEVDS19CT09MX0lOQ09NUExFVEUoaGFzX2F1ZGlvKTsKPiAgCj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZHJ2LmgKPiBpbmRleCAzY2VlNTRiLi4zNWJlNzhlIDEwMDY0NAo+IC0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZHJ2LmgKPiBAQCAtNjg3LDYgKzY4NywxMiBAQCBzdHJ1Y3QgaW50ZWxfY3J0Y193bV9z dGF0ZSB7Cj4gIAlib29sIG5lZWRfcG9zdHZibF91cGRhdGU7Cj4gIH07Cj4gIAo+ICtlbnVtIGlu dGVsX291dHB1dF9mb3JtYXQgewo+ICsJQ1JUQ19PVVRQVVRfSU5WQUxJRCwKPiArCUNSVENfT1VU UFVUX1JHQiwKPiArCUNSVENfT1VUUFVUX1lDQkNSNDIwLAo+ICt9Owo+ICsKPiAgc3RydWN0IGlu dGVsX2NydGNfc3RhdGUgewo+ICAJc3RydWN0IGRybV9jcnRjX3N0YXRlIGJhc2U7Cj4gIAo+IEBA IC04NzMsOCArODc5LDggQEAgc3RydWN0IGludGVsX2NydGNfc3RhdGUgewo+ICAJLyogSERNSSBI aWdoIFRNRFMgY2hhciByYXRlIHJhdGlvICovCj4gIAlib29sIGhkbWlfaGlnaF90bWRzX2Nsb2Nr X3JhdGlvOwo+ICAKPiAtCS8qIG91dHB1dCBmb3JtYXQgaXMgWUNCQ1IgNDoyOjAgKi8KPiAtCWJv b2wgeWNiY3I0MjA7Cj4gKwkvKiBPdXRwdXQgZm9ybWF0IFJHQi9ZQ0JDUiBldGMgKi8KPiArCWVu dW0gaW50ZWxfb3V0cHV0X2Zvcm1hdCBvdXRwdXRfZm9ybWF0Owo+ICB9Owo+ICAKPiAgc3RydWN0 IGludGVsX2NydGMgewo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9o ZG1pLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMKPiBpbmRleCA5NzhmMjJi Li42NzAwZWQ2IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkbWku Ywo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkbWkuYwo+IEBAIC00NzksNyAr NDc5LDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfaGRtaV9zZXRfYXZpX2luZm9mcmFtZShzdHJ1Y3Qg ZHJtX2VuY29kZXIgKmVuY29kZXIsCj4gIAkJcmV0dXJuOwo+ICAJfQo+ICAKPiAtCWlmIChjcnRj X3N0YXRlLT55Y2JjcjQyMCkKPiArCWlmIChjcnRjX3N0YXRlLT5vdXRwdXRfZm9ybWF0ID09IENS VENfT1VUUFVUX1lDQkNSNDIwKQo+ICAJCWZyYW1lLmF2aS5jb2xvcnNwYWNlID0gSERNSV9DT0xP UlNQQUNFX1lVVjQyMDsKPiAgCWVsc2UKPiAgCQlmcmFtZS5hdmkuY29sb3JzcGFjZSA9IEhETUlf Q09MT1JTUEFDRV9SR0I7Cj4gQEAgLTE2MTUsNyArMTYxNSw3IEBAIHN0YXRpYyBib29sIGhkbWlf MTJicGNfcG9zc2libGUoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUp Cj4gIAkJaWYgKGNvbm5lY3Rvcl9zdGF0ZS0+Y3J0YyAhPSBjcnRjX3N0YXRlLT5iYXNlLmNydGMp Cj4gIAkJCWNvbnRpbnVlOwo+ICAKPiAtCQlpZiAoY3J0Y19zdGF0ZS0+eWNiY3I0MjApIHsKPiAr CQlpZiAoY3J0Y19zdGF0ZS0+b3V0cHV0X2Zvcm1hdCA9PSBDUlRDX09VVFBVVF9ZQ0JDUjQyMCkg ewo+ICAJCQljb25zdCBzdHJ1Y3QgZHJtX2hkbWlfaW5mbyAqaGRtaSA9ICZpbmZvLT5oZG1pOwo+ ICAKPiAgCQkJaWYgKCEoaGRtaS0+eTQyMF9kY19tb2RlcyAmIERSTV9FRElEX1lDQkNSNDIwX0RD XzM2KSkKPiBAQCAtMTY1MCw3ICsxNjUwLDcgQEAgaW50ZWxfaGRtaV95Y2JjcjQyMF9jb25maWco c3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKPiAgCWNvbmZpZy0+cG9ydF9jbG9jayAv PSAyOwo+ICAJKmNsb2NrXzEyYnBjIC89IDI7Cj4gIAkqY2xvY2tfOGJwYyAvPSAyOwo+IC0JY29u ZmlnLT55Y2JjcjQyMCA9IHRydWU7Cj4gKwljb25maWctPm91dHB1dF9mb3JtYXQgPSBDUlRDX09V VFBVVF9ZQ0JDUjQyMDsKPiAgCj4gIAkvKiBZQ0JDUiA0MjAgb3V0cHV0IGNvbnZlcnNpb24gbmVl ZHMgYSBzY2FsZXIgKi8KPiAgCWlmIChza2xfdXBkYXRlX3NjYWxlcl9jcnRjKGNvbmZpZykpIHsK PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcGFuZWwuYyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX3BhbmVsLmMKPiBpbmRleCBlNzAyYTY0Li4xNzAyNWJjIDEw MDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BhbmVsLmMKPiArKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wYW5lbC5jCj4gQEAgLTExMSw3ICsxMTEsNyBAQCBp bnRlbF9wY2hfcGFuZWxfZml0dGluZyhzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YywKPiAg CS8qIE5hdGl2ZSBtb2RlcyBkb24ndCBuZWVkIGZpdHRpbmcgKi8KPiAgCWlmIChhZGp1c3RlZF9t b2RlLT5jcnRjX2hkaXNwbGF5ID09IHBpcGVfY29uZmlnLT5waXBlX3NyY193ICYmCj4gIAkgICAg YWRqdXN0ZWRfbW9kZS0+Y3J0Y192ZGlzcGxheSA9PSBwaXBlX2NvbmZpZy0+cGlwZV9zcmNfaCAm Jgo+IC0JICAgICFwaXBlX2NvbmZpZy0+eWNiY3I0MjApCj4gKwkgICAgcGlwZV9jb25maWctPm91 dHB1dF9mb3JtYXQgIT0gQ1JUQ19PVVRQVVRfWUNCQ1I0MjApCj4gIAkJZ290byBkb25lOwo+ICAK PiAgCXN3aXRjaCAoZml0dGluZ19tb2RlKSB7Cj4gLS0gCj4gMi43LjQKCi0tIApWaWxsZSBTeXJq w6Rsw6QKSW50ZWwgT1RDCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9w Lm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVs LWdmeAo=