From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [PATCH v4 1/7] drm/i915: Add CRTC output format YCBCR 4:2:0 Date: Tue, 30 Jan 2018 12:23:58 +0200 Message-ID: <87po5rd4qp.fsf@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 mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTPS id 076386E8ED for ; Tue, 30 Jan 2018 10:18:47 +0000 (UTC) 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 , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVHVlLCAzMCBKYW4gMjAxOCwgU2hhc2hhbmsgU2hhcm1hIDxzaGFzaGFuay5zaGFybWFAaW50 ZWwuY29tPiB3cm90ZToKPiBGcm9tOiAiU2hhcm1hLCBTaGFzaGFuayIgPHNoYXNoYW5rLnNoYXJt YUBpbnRlbC5jb20+Cj4KPiBDdXJyZW50bHksIHdlIGFyZSB1c2luZyBhIGJvb2wgaW4gQ1JUQyBz dGF0ZSAoc3RhdGUtPnljYmNyNDIwKSwKPiB0byBpbmRpY2F0ZSBtb2Rlc2V0LCB0aGF0IHRoZSBv dXRwdXQgZm9ybWF0IGlzIFlDQkNSIDQ6MjowLiBOb3cgaW4KPiBvcmRlciB0byBzdXBwb3J0IG90 aGVyIFlDQkNSIGZvcm1hdHMsIHdlIHdpbGwgbmVlZCBtb3JlIHN1Y2ggZmxhZ3MuCj4KPiBUaGUg aWRlYSBiZWhpbmQgdGhpcyBwYXRjaCBpcyB0byByZXBsYWNlIHRoaXMgYm9vbCB3aXRoIGFuIGVu dW0sCj4gYW5kIHBsdWcgdGhpcyBpbiBpbiB0aGUgZXhpc3RpbmcgWUNCQ1IgNDoyOjAgZnJhbWV3 b3JrIGluIHN1Y2ggYQo+IHdheSB0aGF0IHRoaXMgY2FuIGJlIHJlLXVzZWQgZm9yIFlDQkNSIDQ6 NDo0IGFuZCBvdGhlciBvdXRwdXQgZm9ybWF0cyB0b28uCj4KPiBUaGlzIHBhdGNoIGFkZHMgYSBu ZXcgZW51bSBmb3IgQ1JUQyBvdXRwdXQgZm9ybWF0cywgYW5kIHRoZW4gcGx1Z3MgaXQKPiBpbiB0 aGUgZXhpc3RpbmcgbW9kZXNldCBmcmFtZXdvcmsuCj4KPiBWMzogQWRkZWQgdGhpcyBwYXRjaCBp biB0aGUgc2VyaWVzLCB0byBhZGRyZXNzIHJldmlldyBjb21tZW50cyBmcm9tCj4gICAgIHNlY29u ZCBwYXRjaHNldC4KPiBWNDogQWRkZWQgci1iIGZyb20gTWFhcnRlbiAob24gdjMpCj4gICAgIEFk ZHJlc3NlZCByZXZpZXcgY29tbWVudHMgZnJvbSBWaWxsZToKPiAJLSBDaGFuZ2UgdGhlIGVudW0g bmFtZSB0byBpbnRlbF9vdXRwdXRfZm9ybWF0IGZyb20gY3J0Y19vdXRwdXRfZm9ybWF0Lgo+IAkt IFN0YXJ0IHRoZSBlbnVtIHZhbHVlIChJTlZBTElEKSBmcm9tIDAgaW5zdGFlZCBvZiAxLgo+ICAg ICAgICAgLSBTZXQgdGhlIGNydGMncyBvdXRwdXRfZm9ybWF0IHRvIFJHQiBpbiBlbmNvZGVyJ3Mg Y29tcHV0ZV9jb25maWcuCj4KPiBDYzogVmlsbGUgU3lyamFsYSA8dmlsbGUuc3lyamFsYUBsaW51 eC5pbnRlbC5jb20+Cj4gQ2M6IE1hYXJ0ZW4gTGFua2hvcnN0IDxtYWFydGVuLmxhbmtob3JzdEBs aW51eC5pbnRlbC5jb20+Cj4gU2lnbmVkLW9mZi1ieTogU2hhc2hhbmsgU2hhcm1hIDxzaGFzaGFu ay5zaGFybWFAaW50ZWwuY29tPgo+IFJldmlld2VkLWJ5OiBNYWFydGVuIExhbmtob3JzdCA8bWFh cnRlbi5sYW5raG9yc3RAbGludXguaW50ZWwuY29tPgo+IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9jb2xvci5jICAgfCAgMiArLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kZGkuYyAgICAgfCAgNCArKy0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxh eS5jIHwgNjYgKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tCj4gIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2Rydi5oICAgICB8IDEwICsrKystLQo+ICBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9oZG1pLmMgICAgfCAgNiArKy0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX3BhbmVsLmMgICB8ICAyICstCj4gIDYgZmlsZXMgY2hhbmdlZCwgNjEgaW5zZXJ0aW9u cygrKSwgMjkgZGVsZXRpb25zKC0pCj4KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfY29sb3IuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NvbG9yLmMKPiBp bmRleCBhYTY2ZTk1Li45OWUzMmNiIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2NvbG9yLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jb2xvci5j Cj4gQEAgLTE0MSw3ICsxNDEsNyBAQCBzdGF0aWMgdm9pZCBpOXh4X2xvYWRfY3NjX21hdHJpeChz dHJ1Y3QgZHJtX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCj4gIAl1aW50MTZfdCBjb2VmZnNbOV0g PSB7IDAsIH07Cj4gIAlzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqaW50ZWxfY3J0Y19zdGF0ZSA9 IHRvX2ludGVsX2NydGNfc3RhdGUoY3J0Y19zdGF0ZSk7Cj4gIAo+IC0JaWYgKGludGVsX2NydGNf c3RhdGUtPnljYmNyNDIwKSB7Cj4gKwlpZiAoaW50ZWxfY3J0Y19zdGF0ZS0+b3V0cHV0X2Zvcm1h dCA9PSBDUlRDX09VVFBVVF9ZQ0JDUjQyMCkgewo+ICAJCWk5eHhfbG9hZF95Y2Jjcl9jb252ZXJz aW9uX21hdHJpeChpbnRlbF9jcnRjKTsKPiAgCQlyZXR1cm47Cj4gIAl9IGVsc2UgaWYgKGNydGNf c3RhdGUtPmN0bSkgewo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k ZGkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jCj4gaW5kZXggZTUxNTU5Yi4u ZDU2NWUyOCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYwo+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jCj4gQEAgLTEyNjQsNyArMTI2 NCw3IEBAIHN0YXRpYyB2b2lkIGRkaV9kb3RjbG9ja19nZXQoc3RydWN0IGludGVsX2NydGNfc3Rh dGUgKnBpcGVfY29uZmlnKQo+ICAJZWxzZQo+ICAJCWRvdGNsb2NrID0gcGlwZV9jb25maWctPnBv cnRfY2xvY2s7Cj4gIAo+IC0JaWYgKHBpcGVfY29uZmlnLT55Y2JjcjQyMCkKPiArCWlmIChwaXBl X2NvbmZpZy0+b3V0cHV0X2Zvcm1hdCA9PSBDUlRDX09VVFBVVF9ZQ0JDUjQyMCkKPiAgCQlkb3Rj bG9jayAqPSAyOwo+ICAKPiAgCWlmIChwaXBlX2NvbmZpZy0+cGl4ZWxfbXVsdGlwbGllcikKPiBA QCAtMjc1OSw2ICsyNzU5LDggQEAgc3RhdGljIGJvb2wgaW50ZWxfZGRpX2NvbXB1dGVfY29uZmln KHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ICAJaWYgKHBvcnQgPT0gUE9SVF9BKQo+ ICAJCXBpcGVfY29uZmlnLT5jcHVfdHJhbnNjb2RlciA9IFRSQU5TQ09ERVJfRURQOwo+ICAKPiAr CXBpcGVfY29uZmlnLT5vdXRwdXRfZm9ybWF0ID0gQ1JUQ19PVVRQVVRfUkdCOwo+ICsKPiAgCWlm IChpbnRlbF9jcnRjX2hhc190eXBlKHBpcGVfY29uZmlnLCBJTlRFTF9PVVRQVVRfSERNSSkpCj4g IAkJcmV0ID0gaW50ZWxfaGRtaV9jb21wdXRlX2NvbmZpZyhlbmNvZGVyLCBwaXBlX2NvbmZpZywg Y29ubl9zdGF0ZSk7Cj4gIAllbHNlCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+ IGluZGV4IDgzZGU0M2MuLjg3NzMzNmQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZGlzcGxheS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlz cGxheS5jCj4gQEAgLTQ2NTAsNyArNDY1MCw4IEBAIHNrbF91cGRhdGVfc2NhbGVyKHN0cnVjdCBp bnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLCBib29sIGZvcmNlX2RldGFjaCwKPiAgCSAqLwo+ ICAJbmVlZF9zY2FsaW5nID0gc3JjX3cgIT0gZHN0X3cgfHwgc3JjX2ggIT0gZHN0X2g7Cj4gIAo+ IC0JaWYgKGNydGNfc3RhdGUtPnljYmNyNDIwICYmIHNjYWxlcl91c2VyID09IFNLTF9DUlRDX0lO REVYKQo+ICsJaWYgKGNydGNfc3RhdGUtPm91dHB1dF9mb3JtYXQgPT0gQ1JUQ19PVVRQVVRfWUNC Q1I0MjAgJiYKPiArCSAgICBzY2FsZXJfdXNlciA9PSBTS0xfQ1JUQ19JTkRFWCkKPiAgCQluZWVk X3NjYWxpbmcgPSB0cnVlOwo+ICAKPiAgCS8qCj4gQEAgLTYzNjIsNyArNjM2Myw4IEBAIHN0YXRp YyBpbnQgaW50ZWxfY3J0Y19jb21wdXRlX2NvbmZpZyhzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YywK PiAgCQlyZXR1cm4gLUVJTlZBTDsKPiAgCX0KPiAgCj4gLQlpZiAocGlwZV9jb25maWctPnljYmNy NDIwICYmIHBpcGVfY29uZmlnLT5iYXNlLmN0bSkgewo+ICsJaWYgKHBpcGVfY29uZmlnLT5vdXRw dXRfZm9ybWF0ID09IENSVENfT1VUUFVUX1lDQkNSNDIwICYmCj4gKwkgICAgcGlwZV9jb25maWct PmJhc2UuY3RtKSB7Cj4gIAkJLyoKPiAgCQkgKiBUaGVyZSBpcyBvbmx5IG9uZSBwaXBlIENTQyB1 bml0IHBlciBwaXBlLCBhbmQgd2UgbmVlZCB0aGF0Cj4gIAkJICogZm9yIG91dHB1dCBjb252ZXJz aW9uIGZyb20gUkdCLT5ZQ0JDUi4gU28gaWYgQ1RNIGlzIGFscmVhZHkKPiBAQCAtODE5MiwxMCAr ODE5NCwxMCBAQCBzdGF0aWMgdm9pZCBoYXN3ZWxsX3NldF9waXBlbWlzYyhzdHJ1Y3QgZHJtX2Ny dGMgKmNydGMpCj4gIAkJaWYgKGludGVsX2NydGMtPmNvbmZpZy0+ZGl0aGVyKQo+ICAJCQl2YWwg fD0gUElQRU1JU0NfRElUSEVSX0VOQUJMRSB8IFBJUEVNSVNDX0RJVEhFUl9UWVBFX1NQOwo+ICAK PiAtCQlpZiAoY29uZmlnLT55Y2JjcjQyMCkgewo+IC0JCQl2YWwgfD0gUElQRU1JU0NfT1VUUFVU X0NPTE9SU1BBQ0VfWVVWIHwKPiAtCQkJCVBJUEVNSVNDX1lVVjQyMF9FTkFCTEUgfAo+IC0JCQkJ UElQRU1JU0NfWVVWNDIwX01PREVfRlVMTF9CTEVORDsKPiArCQlpZiAoY29uZmlnLT5vdXRwdXRf Zm9ybWF0ID09IENSVENfT1VUUFVUX1lDQkNSNDIwKSB7Cj4gKwkJCXZhbCB8PSBQSVBFTUlTQ19P VVRQVVRfQ09MT1JTUEFDRV9ZVVY7Cj4gKwkJCXZhbCB8PSBQSVBFTUlTQ19ZVVY0MjBfRU5BQkxF IHwKPiArCQkJICAgICAgIFBJUEVNSVNDX1lVVjQyMF9NT0RFX0ZVTExfQkxFTkQ7Cj4gIAkJfQo+ ICAKPiAgCQlJOTE1X1dSSVRFKFBJUEVNSVNDKGludGVsX2NydGMtPnBpcGUpLCB2YWwpOwo+IEBA IC05MTcxLDYgKzkxNzMsMTkgQEAgc3RhdGljIHZvaWQgaGFzd2VsbF9nZXRfZGRpX3BvcnRfc3Rh dGUoc3RydWN0IGludGVsX2NydGMgKmNydGMsCj4gIAl9Cj4gIH0KPiAgCj4gK3N0YXRpYyBjb25z dCBjaGFyICogY29uc3Qgb3V0cHV0X2Zvcm1hdF9zdHJbXSA9IHsKPiArCSJJbnZhbGlkIiwKPiAr CSJSR0IiLAo+ICsJIllDQkNSNDoyOjAiLAoKVGhpcyBzaG91bGQgcmVhbGx5IGJlOgoKCVtDUlRD X09VVFBVVF9JTlZBTElEXSA9ICJJbnZhbGlkIiwKCVtDUlRDX09VVFBVVF9SR0JdID0gIlJHQiIs CglbQ1JUQ19PVVRQVVRfWUNCQ1I0MjBdID0gIllDQkNSNDoyOjAiLAoKQlIsCkphbmkuCgo+ICt9 Owo+ICsKPiArc3RhdGljIGNvbnN0IGNoYXIgKm91dHB1dF9mb3JtYXRzKGVudW0gaW50ZWxfb3V0 cHV0X2Zvcm1hdCBmb3JtYXQpCj4gK3sKPiArCWlmIChmb3JtYXQgPCBDUlRDX09VVFBVVF9JTlZB TElEIHx8IGZvcm1hdCA+IENSVENfT1VUUFVUX1lDQkNSNDIwKQo+ICsJCWZvcm1hdCA9IENSVENf T1VUUFVUX0lOVkFMSUQ7Cj4gKwlyZXR1cm4gb3V0cHV0X2Zvcm1hdF9zdHJbZm9ybWF0XTsKPiAr fQo+ICsKPiAgc3RhdGljIGJvb2wgaGFzd2VsbF9nZXRfcGlwZV9jb25maWcoc3RydWN0IGludGVs X2NydGMgKmNydGMsCj4gIAkJCQkgICAgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29u ZmlnKQo+ICB7Cj4gQEAgLTkyMTEsMTkgKzkyMjYsMjggQEAgc3RhdGljIGJvb2wgaGFzd2VsbF9n ZXRfcGlwZV9jb25maWcoc3RydWN0IGludGVsX2NydGMgKmNydGMsCj4gIAo+ICAJaWYgKElTX0JS T0FEV0VMTChkZXZfcHJpdikgfHwgSU5URUxfR0VOKGRldl9wcml2KSA+PSA5KSB7Cj4gIAkJdTMy IHRtcCA9IEk5MTVfUkVBRChQSVBFTUlTQyhjcnRjLT5waXBlKSk7Cj4gLQkJYm9vbCBjbHJzcGFj ZV95dXYgPSB0bXAgJiBQSVBFTUlTQ19PVVRQVVRfQ09MT1JTUEFDRV9ZVVY7Cj4gLQo+IC0JCWlm IChJU19HRU1JTklMQUtFKGRldl9wcml2KSB8fCBJTlRFTF9HRU4oZGV2X3ByaXYpID49IDEwKSB7 Cj4gLQkJCWJvb2wgYmxlbmRfbW9kZV80MjAgPSB0bXAgJgo+IC0JCQkJCSAgICAgIFBJUEVNSVND X1lVVjQyMF9NT0RFX0ZVTExfQkxFTkQ7Cj4gKwkJZW51bSBpbnRlbF9vdXRwdXRfZm9ybWF0IG91 dHB1dF9mb3JtYXQgPSBDUlRDX09VVFBVVF9SR0I7Cj4gKwo+ICsJCWlmICh0bXAgJiBQSVBFTUlT Q19PVVRQVVRfQ09MT1JTUEFDRV9ZVVYpIHsKPiArCQkJYm9vbCB5Y2JjcjQyMF9lbmFibGVkID0g dG1wICYgUElQRU1JU0NfWVVWNDIwX0VOQUJMRTsKPiArCQkJYm9vbCBibGVuZCA9IHRtcCAmIFBJ UEVNSVNDX1lVVjQyMF9NT0RFX0ZVTExfQkxFTkQ7Cj4gKwo+ICsJCQlpZiAoeWNiY3I0MjBfZW5h YmxlZCkgewo+ICsJCQkJLyogV2Ugc3VwcG9ydCA0OjI6MCBpbiBmdWxsIGJsZW5kIG1vZGUgb25s eSAqLwo+ICsJCQkJaWYgKCFibGVuZCkKPiArCQkJCQlvdXRwdXRfZm9ybWF0ID0gQ1JUQ19PVVRQ VVRfSU5WQUxJRDsKPiArCQkJCWVsc2UgaWYgKCEoSVNfR0VNSU5JTEFLRShkZXZfcHJpdikgfHwK PiArCQkJCQkgICBJTlRFTF9HRU4oZGV2X3ByaXYpID49IDEwKSkKPiArCQkJCQlvdXRwdXRfZm9y bWF0ID0gQ1JUQ19PVVRQVVRfSU5WQUxJRDsKPiArCQkJCWVsc2UKPiArCQkJCQlvdXRwdXRfZm9y bWF0ID0gQ1JUQ19PVVRQVVRfWUNCQ1I0MjA7Cj4gKwkJCX0KPiAgCj4gLQkJCXBpcGVfY29uZmln LT55Y2JjcjQyMCA9IHRtcCAmIFBJUEVNSVNDX1lVVjQyMF9FTkFCTEU7Cj4gLQkJCWlmIChwaXBl X2NvbmZpZy0+eWNiY3I0MjAgIT0gY2xyc3BhY2VfeXV2IHx8Cj4gLQkJCSAgICBwaXBlX2NvbmZp Zy0+eWNiY3I0MjAgIT0gYmxlbmRfbW9kZV80MjApCj4gLQkJCQlEUk1fREVCVUdfS01TKCJCYWQg NDoyOjAgbW9kZSAoJTA4eClcbiIsIHRtcCk7Cj4gLQkJfSBlbHNlIGlmIChjbHJzcGFjZV95dXYp IHsKPiAtCQkJRFJNX0RFQlVHX0tNUygiWUNiQ3IgNDoyOjAgVW5zdXBwb3J0ZWRcbiIpOwo+ICAJ CX0KPiArCj4gKwkJcGlwZV9jb25maWctPm91dHB1dF9mb3JtYXQgPSBvdXRwdXRfZm9ybWF0Owo+ ICsJCURSTV9ERUJVR19LTVMoIk91dHB1dCBmb3JtYXQgJXNcbiIsCj4gKwkJCQlvdXRwdXRfZm9y bWF0cyhvdXRwdXRfZm9ybWF0KSk7Cj4gIAl9Cj4gIAo+ICAJcG93ZXJfZG9tYWluID0gUE9XRVJf RE9NQUlOX1BJUEVfUEFORUxfRklUVEVSKGNydGMtPnBpcGUpOwo+IEBAIC0xMDU3OCw2ICsxMDYw Miw5IEBAIHN0YXRpYyB2b2lkIGludGVsX2R1bXBfcGlwZV9jb25maWcoc3RydWN0IGludGVsX2Ny dGMgKmNydGMsCj4gIAlEUk1fREVCVUdfS01TKCJvdXRwdXRfdHlwZXM6ICVzICgweCV4KVxuIiwK PiAgCQkgICAgICBidWYsIHBpcGVfY29uZmlnLT5vdXRwdXRfdHlwZXMpOwo+ICAKPiArCURSTV9E RUJVR19LTVMoIm91dHB1dCBmb3JtYXQ6ICVzXG4iLAo+ICsJCW91dHB1dF9mb3JtYXRzKHBpcGVf Y29uZmlnLT5vdXRwdXRfZm9ybWF0KSk7Cj4gKwo+ICAJRFJNX0RFQlVHX0tNUygiY3B1X3RyYW5z Y29kZXI6ICVzLCBwaXBlIGJwcDogJWksIGRpdGhlcmluZzogJWlcbiIsCj4gIAkJICAgICAgdHJh bnNjb2Rlcl9uYW1lKHBpcGVfY29uZmlnLT5jcHVfdHJhbnNjb2RlciksCj4gIAkJICAgICAgcGlw ZV9jb25maWctPnBpcGVfYnBwLCBwaXBlX2NvbmZpZy0+ZGl0aGVyKTsKPiBAQCAtMTA1ODcsOSAr MTA2MTQsNiBAQCBzdGF0aWMgdm9pZCBpbnRlbF9kdW1wX3BpcGVfY29uZmlnKHN0cnVjdCBpbnRl bF9jcnRjICpjcnRjLAo+ICAJCQkJICAgICAgcGlwZV9jb25maWctPmZkaV9sYW5lcywKPiAgCQkJ CSAgICAgICZwaXBlX2NvbmZpZy0+ZmRpX21fbik7Cj4gIAo+IC0JaWYgKHBpcGVfY29uZmlnLT55 Y2JjcjQyMCkKPiAtCQlEUk1fREVCVUdfS01TKCJZQ2JDciA0OjI6MCBvdXRwdXQgZW5hYmxlZFxu Iik7Cj4gLQo+ICAJaWYgKGludGVsX2NydGNfaGFzX2RwX2VuY29kZXIocGlwZV9jb25maWcpKSB7 Cj4gIAkJaW50ZWxfZHVtcF9tX25fY29uZmlnKHBpcGVfY29uZmlnLCAiZHAgbV9uIiwKPiAgCQkJ CXBpcGVfY29uZmlnLT5sYW5lX2NvdW50LCAmcGlwZV9jb25maWctPmRwX21fbik7Cj4gQEAgLTEx MTYzLDYgKzExMTg3LDcgQEAgaW50ZWxfcGlwZV9jb25maWdfY29tcGFyZShzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gIAlQSVBFX0NPTkZfQ0hFQ0tfSShiYXNlLmFkanVzdGVk X21vZGUuY3J0Y192c3luY19lbmQpOwo+ICAKPiAgCVBJUEVfQ09ORl9DSEVDS19JKHBpeGVsX211 bHRpcGxpZXIpOwo+ICsJUElQRV9DT05GX0NIRUNLX0kob3V0cHV0X2Zvcm1hdCk7Cj4gIAlQSVBF X0NPTkZfQ0hFQ0tfQk9PTChoYXNfaGRtaV9zaW5rKTsKPiAgCWlmICgoSU5URUxfR0VOKGRldl9w cml2KSA8IDggJiYgIUlTX0hBU1dFTEwoZGV2X3ByaXYpKSB8fAo+ICAJICAgIElTX1ZBTExFWVZJ RVcoZGV2X3ByaXYpIHx8IElTX0NIRVJSWVZJRVcoZGV2X3ByaXYpKQo+IEBAIC0xMTE3MSw3ICsx MTE5Niw2IEBAIGludGVsX3BpcGVfY29uZmlnX2NvbXBhcmUoc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2LAo+ICAJUElQRV9DT05GX0NIRUNLX0JPT0woaGRtaV9zY3JhbWJsaW5nKTsK PiAgCVBJUEVfQ09ORl9DSEVDS19CT09MKGhkbWlfaGlnaF90bWRzX2Nsb2NrX3JhdGlvKTsKPiAg CVBJUEVfQ09ORl9DSEVDS19CT09MX0lOQ09NUExFVEUoaGFzX2luZm9mcmFtZSk7Cj4gLQlQSVBF X0NPTkZfQ0hFQ0tfQk9PTCh5Y2JjcjQyMCk7Cj4gIAo+ICAJUElQRV9DT05GX0NIRUNLX0JPT0xf SU5DT01QTEVURShoYXNfYXVkaW8pOwo+ICAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+IGlu ZGV4IDNjZWU1NGIuLjM1YmU3OGUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZHJ2LmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+IEBA IC02ODcsNiArNjg3LDEyIEBAIHN0cnVjdCBpbnRlbF9jcnRjX3dtX3N0YXRlIHsKPiAgCWJvb2wg bmVlZF9wb3N0dmJsX3VwZGF0ZTsKPiAgfTsKPiAgCj4gK2VudW0gaW50ZWxfb3V0cHV0X2Zvcm1h dCB7Cj4gKwlDUlRDX09VVFBVVF9JTlZBTElELAo+ICsJQ1JUQ19PVVRQVVRfUkdCLAo+ICsJQ1JU Q19PVVRQVVRfWUNCQ1I0MjAsCj4gK307Cj4gKwo+ICBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSB7 Cj4gIAlzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgYmFzZTsKPiAgCj4gQEAgLTg3Myw4ICs4NzksOCBA QCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSB7Cj4gIAkvKiBIRE1JIEhpZ2ggVE1EUyBjaGFyIHJh dGUgcmF0aW8gKi8KPiAgCWJvb2wgaGRtaV9oaWdoX3RtZHNfY2xvY2tfcmF0aW87Cj4gIAo+IC0J Lyogb3V0cHV0IGZvcm1hdCBpcyBZQ0JDUiA0OjI6MCAqLwo+IC0JYm9vbCB5Y2JjcjQyMDsKPiAr CS8qIE91dHB1dCBmb3JtYXQgUkdCL1lDQkNSIGV0YyAqLwo+ICsJZW51bSBpbnRlbF9vdXRwdXRf Zm9ybWF0IG91dHB1dF9mb3JtYXQ7Cj4gIH07Cj4gIAo+ICBzdHJ1Y3QgaW50ZWxfY3J0YyB7Cj4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkbWkuYyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2hkbWkuYwo+IGluZGV4IDk3OGYyMmIuLjY3MDBlZDYgMTAwNjQ0 Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jCj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jCj4gQEAgLTQ3OSw3ICs0NzksNyBAQCBzdGF0aWMg dm9pZCBpbnRlbF9oZG1pX3NldF9hdmlfaW5mb2ZyYW1lKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5j b2RlciwKPiAgCQlyZXR1cm47Cj4gIAl9Cj4gIAo+IC0JaWYgKGNydGNfc3RhdGUtPnljYmNyNDIw KQo+ICsJaWYgKGNydGNfc3RhdGUtPm91dHB1dF9mb3JtYXQgPT0gQ1JUQ19PVVRQVVRfWUNCQ1I0 MjApCj4gIAkJZnJhbWUuYXZpLmNvbG9yc3BhY2UgPSBIRE1JX0NPTE9SU1BBQ0VfWVVWNDIwOwo+ ICAJZWxzZQo+ICAJCWZyYW1lLmF2aS5jb2xvcnNwYWNlID0gSERNSV9DT0xPUlNQQUNFX1JHQjsK PiBAQCAtMTYxNSw3ICsxNjE1LDcgQEAgc3RhdGljIGJvb2wgaGRtaV8xMmJwY19wb3NzaWJsZShj b25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKPiAgCQlpZiAoY29ubmVj dG9yX3N0YXRlLT5jcnRjICE9IGNydGNfc3RhdGUtPmJhc2UuY3J0YykKPiAgCQkJY29udGludWU7 Cj4gIAo+IC0JCWlmIChjcnRjX3N0YXRlLT55Y2JjcjQyMCkgewo+ICsJCWlmIChjcnRjX3N0YXRl LT5vdXRwdXRfZm9ybWF0ID09IENSVENfT1VUUFVUX1lDQkNSNDIwKSB7Cj4gIAkJCWNvbnN0IHN0 cnVjdCBkcm1faGRtaV9pbmZvICpoZG1pID0gJmluZm8tPmhkbWk7Cj4gIAo+ICAJCQlpZiAoISho ZG1pLT55NDIwX2RjX21vZGVzICYgRFJNX0VESURfWUNCQ1I0MjBfRENfMzYpKQo+IEBAIC0xNjUw LDcgKzE2NTAsNyBAQCBpbnRlbF9oZG1pX3ljYmNyNDIwX2NvbmZpZyhzdHJ1Y3QgZHJtX2Nvbm5l Y3RvciAqY29ubmVjdG9yLAo+ICAJY29uZmlnLT5wb3J0X2Nsb2NrIC89IDI7Cj4gIAkqY2xvY2tf MTJicGMgLz0gMjsKPiAgCSpjbG9ja184YnBjIC89IDI7Cj4gLQljb25maWctPnljYmNyNDIwID0g dHJ1ZTsKPiArCWNvbmZpZy0+b3V0cHV0X2Zvcm1hdCA9IENSVENfT1VUUFVUX1lDQkNSNDIwOwo+ ICAKPiAgCS8qIFlDQkNSIDQyMCBvdXRwdXQgY29udmVyc2lvbiBuZWVkcyBhIHNjYWxlciAqLwo+ ICAJaWYgKHNrbF91cGRhdGVfc2NhbGVyX2NydGMoY29uZmlnKSkgewo+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wYW5lbC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfcGFuZWwuYwo+IGluZGV4IGU3MDJhNjQuLjE3MDI1YmMgMTAwNjQ0Cj4gLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcGFuZWwuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX3BhbmVsLmMKPiBAQCAtMTExLDcgKzExMSw3IEBAIGludGVsX3BjaF9wYW5lbF9m aXR0aW5nKHN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjLAo+ICAJLyogTmF0aXZlIG1vZGVz IGRvbid0IG5lZWQgZml0dGluZyAqLwo+ICAJaWYgKGFkanVzdGVkX21vZGUtPmNydGNfaGRpc3Bs YXkgPT0gcGlwZV9jb25maWctPnBpcGVfc3JjX3cgJiYKPiAgCSAgICBhZGp1c3RlZF9tb2RlLT5j cnRjX3ZkaXNwbGF5ID09IHBpcGVfY29uZmlnLT5waXBlX3NyY19oICYmCj4gLQkgICAgIXBpcGVf Y29uZmlnLT55Y2JjcjQyMCkKPiArCSAgICBwaXBlX2NvbmZpZy0+b3V0cHV0X2Zvcm1hdCAhPSBD UlRDX09VVFBVVF9ZQ0JDUjQyMCkKPiAgCQlnb3RvIGRvbmU7Cj4gIAo+ICAJc3dpdGNoIChmaXR0 aW5nX21vZGUpIHsKCi0tIApKYW5pIE5pa3VsYSwgSW50ZWwgT3BlbiBTb3VyY2UgVGVjaG5vbG9n eSBDZW50ZXIKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K SW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0 dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==