From mboxrd@z Thu Jan 1 00:00:00 1970 From: Shashank Sharma Subject: [PATCH v12 2/8] drm/i915: Add CRTC output format YCBCR 4:2:0 Date: Fri, 12 Oct 2018 11:53:08 +0530 Message-ID: <1539325394-20788-2-git-send-email-shashank.sharma@intel.com> References: <1539325394-20788-1-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 mga04.intel.com (mga04.intel.com [192.55.52.120]) by gabe.freedesktop.org (Postfix) with ESMTPS id C69476E43F for ; Fri, 12 Oct 2018 06:16:16 +0000 (UTC) In-Reply-To: <1539325394-20788-1-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: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org RnJvbTogU2hhc2hhbmsgU2hhcm1hIDxzaGFzaGFuay5zaGFybWFAbGludXguaW50ZWwuY29tPgoK Q3VycmVudGx5LCB3ZSBhcmUgdXNpbmcgYSBib29sIGluIENSVEMgc3RhdGUgKHN0YXRlLT55Y2Jj cjQyMCksCnRvIGluZGljYXRlIG1vZGVzZXQsIHRoYXQgdGhlIG91dHB1dCBmb3JtYXQgaXMgWUNC Q1IgNDoyOjAuIE5vdyBpbgpvcmRlciB0byBzdXBwb3J0IG90aGVyIFlDQkNSIGZvcm1hdHMsIHdl IHdpbGwgbmVlZCBtb3JlIHN1Y2ggZmxhZ3MuCgpUaGlzIHBhdGNoIGFkZHMgYSBuZXcgZW51bSBw YXJhbWV0ZXIgZm9yIFlDQkNSIDQ6MjowIG91dHB1dHMsIGluIHRoZQpDUlRDIG91dHB1dCBmb3Jt YXRzIGFuZCB0aGVuIHBsdWdzIGl0IGR1cmluZyB0aGUgbW9kZXNldC4KClYzOiBBZGRlZCB0aGlz IHBhdGNoIGluIHRoZSBzZXJpZXMsIHRvIGFkZHJlc3MgcmV2aWV3IGNvbW1lbnRzIGZyb20KICAg IHNlY29uZCBwYXRjaHNldC4KVjQ6IEFkZGVkIHItYiBmcm9tIE1hYXJ0ZW4gKG9uIHYzKQogICAg QWRkcmVzc2VkIHJldmlldyBjb21tZW50cyBmcm9tIFZpbGxlOgogICAgICAgIC0gQ2hhbmdlIHRo ZSBlbnVtIG5hbWUgdG8gaW50ZWxfb3V0cHV0X2Zvcm1hdC4KICAgICAgICAtIFN0YXJ0IHRoZSBl bnVtIHZhbHVlIChJTlZBTElEKSBmcm9tIDAgaW5zdGFlZCBvZiAxLgogICAgICAgIC0gU2V0IHRo ZSBjcnRjJ3Mgb3V0cHV0X2Zvcm1hdCB0byBSR0IgaW4gZW5jb2RlcidzIGNvbXB1dGVfY29uZmln LgpWNTogQnJva2UgcHJldmlvdXMgcGF0Y2ggMSBpbnRvIHR3byBwYXJ0cywKICAgIC0gZmlyc3Qg cGF0Y2ggdG8gYWRkIENSVEMgb3V0cHV0IGZvcm1hdCBpbiBnZW5lcmFsCiAgICAtIHNlY29uZCBw YXRjaCAodGhpcyBvbmUpIHRvIGFkZCBZQ0JDUiA0OjI6MCBvdXRwdXQKICAgICAgZm9ybWF0IHNw ZWNpZmljYWxseS4KICAgIC0gVXNlIEFSUkFZX1NJWkUoZm9ybWF0X3N0cikgZm9yIG91dHB1dCBm b3JtYXQgdmFsaWRpdHkgY2hlY2sgKFZpbGxlKQpWNjogQWRkZWQgYSBzZXBhcmF0ZSBmdW5jdGlv biB0byBjYWxjdWxhdGUgY3J0Y19zdGF0ZS0+b3V0cHV0X2Zvcm1hdCwgYW5kCiAgICBjYWxsaW5n IGl0IGZyb20gdmFyaW91cyBnZXRfY29uZmlnIGZ1bmN0aW9uIChGaXggQ0kgYnVpbGQgd2Fybmlu ZykKVjc6IEZpeGVkIGNoZWNrcGF0Y2ggd2FybmluZ3MgZm9yIGFsaWdubWVudApWODogUmViYXNl ClY5OiBSZWJhc2UKVjEwOiBSZWJhc2UKVjExOiBBZGRyZXNzZWQgcmV2aWV3IGNvbW1lbnRzIGZy b20gVmlsbGU6CgktIENoYW5nZSBjaGVjayBmb3IgQ1JUQyBvdXRwdXQgZm9ybWF0IGZyb20gPiBB UlJBWV9TSVpFIHRvID49IEFSUkFZX1NJWkUuCgktIENoZWNrIGZvciB2YWx1ZXMgPCBJTlRFTF9P VVRQVVRfRk9STUFUX1JHQiBpcyB1bm5lY2Vzc2FyeS4KCS0gTm8gbmVlZCB0byBnZXQgQ1JUQyBZ Q0JDUiBjb25maWcsIGZvciBwcmUtQkRXIGZ1bmN0aW9ucy4KICAgIEFkZGVkIFZpbGxlJ3Mgci1i LgoKQ2M6IFZpbGxlIFN5cmphbGEgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgpDYzog TWFhcnRlbiBMYW5raG9yc3QgPG1hYXJ0ZW4ubGFua2hvcnN0QGxpbnV4LmludGVsLmNvbT4KU2ln bmVkLW9mZi1ieTogU2hhc2hhbmsgU2hhcm1hIDxzaGFzaGFuay5zaGFybWFAaW50ZWwuY29tPgpS ZXZpZXdlZC1ieTogTWFhcnRlbiBMYW5raG9yc3QgPG1hYXJ0ZW4ubGFua2hvcnN0QGxpbnV4Lmlu dGVsLmNvbT4KUmV2aWV3ZWQtYnk6IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51 eC5pbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY29sb3IuYyAgIHwg IDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jICAgICB8ICAyICstCiBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgfCA2NyArKysrKysrKysrKysrKysrKysr KystLS0tLS0tLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oICAgICB8 ICA0ICstLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jICAgIHwgIDYgKystLQog ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcGFuZWwuYyAgIHwgIDIgKy0KIDYgZmlsZXMgY2hh bmdlZCwgNDYgaW5zZXJ0aW9ucygrKSwgMzcgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY29sb3IuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2NvbG9yLmMKaW5kZXggYzZhN2JlYS4uYmY5ZDhmNiAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfY29sb3IuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9jb2xvci5jCkBAIC0xNDksNyArMTQ5LDcgQEAgc3RhdGljIHZvaWQgaWxrX2xvYWRfY3NjX21h dHJpeChzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiAJaWYgKElOVEVMX0dFTihk ZXZfcHJpdikgPj0gOCB8fCBJU19IQVNXRUxMKGRldl9wcml2KSkKIAkJbGltaXRlZF9jb2xvcl9y YW5nZSA9IGludGVsX2NydGNfc3RhdGUtPmxpbWl0ZWRfY29sb3JfcmFuZ2U7CiAKLQlpZiAoaW50 ZWxfY3J0Y19zdGF0ZS0+eWNiY3I0MjApIHsKKwlpZiAoaW50ZWxfY3J0Y19zdGF0ZS0+b3V0cHV0 X2Zvcm1hdCA9PSBJTlRFTF9PVVRQVVRfRk9STUFUX1lDQkNSNDIwKSB7CiAJCWlsa19sb2FkX3lj YmNyX2NvbnZlcnNpb25fbWF0cml4KGludGVsX2NydGMpOwogCQlyZXR1cm47CiAJfSBlbHNlIGlm IChjcnRjX3N0YXRlLT5jdG0pIHsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2RkaS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMKaW5kZXggNDc5NjBj OS4uN2Q4NjhmNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMK KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMKQEAgLTE1MTcsNyArMTUxNyw3 IEBAIHN0YXRpYyB2b2lkIGRkaV9kb3RjbG9ja19nZXQoc3RydWN0IGludGVsX2NydGNfc3RhdGUg KnBpcGVfY29uZmlnKQogCWVsc2UKIAkJZG90Y2xvY2sgPSBwaXBlX2NvbmZpZy0+cG9ydF9jbG9j azsKIAotCWlmIChwaXBlX2NvbmZpZy0+eWNiY3I0MjApCisJaWYgKHBpcGVfY29uZmlnLT5vdXRw dXRfZm9ybWF0ID09IElOVEVMX09VVFBVVF9GT1JNQVRfWUNCQ1I0MjApCiAJCWRvdGNsb2NrICo9 IDI7CiAKIAlpZiAocGlwZV9jb25maWctPnBpeGVsX211bHRpcGxpZXIpCmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kaXNwbGF5LmMKaW5kZXggN2U3NzQyYS4uYjVjNWRiYiAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2Rpc3BsYXkuYwpAQCAtNDgzOSw3ICs0ODM5LDggQEAgc2tsX3VwZGF0ZV9zY2Fs ZXIoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsIGJvb2wgZm9yY2VfZGV0YWNo LAogCQlpZiAocGl4ZWxfZm9ybWF0ID09IERSTV9GT1JNQVRfTlYxMikKIAkJCW5lZWRfc2NhbGlu ZyA9IHRydWU7CiAKLQlpZiAoY3J0Y19zdGF0ZS0+eWNiY3I0MjAgJiYgc2NhbGVyX3VzZXIgPT0g U0tMX0NSVENfSU5ERVgpCisJaWYgKGNydGNfc3RhdGUtPm91dHB1dF9mb3JtYXQgPT0gSU5URUxf T1VUUFVUX0ZPUk1BVF9ZQ0JDUjQyMCAmJgorCSAgICBzY2FsZXJfdXNlciA9PSBTS0xfQ1JUQ19J TkRFWCkKIAkJbmVlZF9zY2FsaW5nID0gdHJ1ZTsKIAogCS8qCkBAIC02NTkwLDcgKzY1OTEsOCBA QCBzdGF0aWMgaW50IGludGVsX2NydGNfY29tcHV0ZV9jb25maWcoc3RydWN0IGludGVsX2NydGMg KmNydGMsCiAJCXJldHVybiAtRUlOVkFMOwogCX0KIAotCWlmIChwaXBlX2NvbmZpZy0+eWNiY3I0 MjAgJiYgcGlwZV9jb25maWctPmJhc2UuY3RtKSB7CisJaWYgKHBpcGVfY29uZmlnLT5vdXRwdXRf Zm9ybWF0ID09IElOVEVMX09VVFBVVF9GT1JNQVRfWUNCQ1I0MjAgJiYKKwkgICAgcGlwZV9jb25m aWctPmJhc2UuY3RtKSB7CiAJCS8qCiAJCSAqIFRoZXJlIGlzIG9ubHkgb25lIHBpcGUgQ1NDIHVu aXQgcGVyIHBpcGUsIGFuZCB3ZSBuZWVkIHRoYXQKIAkJICogZm9yIG91dHB1dCBjb252ZXJzaW9u IGZyb20gUkdCLT5ZQ0JDUi4gU28gaWYgQ1RNIGlzIGFscmVhZHkKQEAgLTc3ODgsNiArNzc5MCwz NSBAQCBzdGF0aWMgdm9pZCBjaHZfY3J0Y19jbG9ja19nZXQoc3RydWN0IGludGVsX2NydGMgKmNy dGMsCiAJcGlwZV9jb25maWctPnBvcnRfY2xvY2sgPSBjaHZfY2FsY19kcGxsX3BhcmFtcyhyZWZj bGssICZjbG9jayk7CiB9CiAKK3N0YXRpYyB2b2lkIGludGVsX2dldF9jcnRjX3ljYmNyX2NvbmZp ZyhzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YywKKwkJCQkJc3RydWN0IGludGVsX2NydGNfc3RhdGUg KnBpcGVfY29uZmlnKQoreworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRv X2k5MTUoY3J0Yy0+YmFzZS5kZXYpOworCWVudW0gaW50ZWxfb3V0cHV0X2Zvcm1hdCBvdXRwdXQg PSBJTlRFTF9PVVRQVVRfRk9STUFUX1JHQjsKKworCWlmIChJU19CUk9BRFdFTEwoZGV2X3ByaXYp IHx8IElOVEVMX0dFTihkZXZfcHJpdikgPj0gOSkgeworCQl1MzIgdG1wID0gSTkxNV9SRUFEKFBJ UEVNSVNDKGNydGMtPnBpcGUpKTsKKworCQlpZiAodG1wICYgUElQRU1JU0NfT1VUUFVUX0NPTE9S U1BBQ0VfWVVWKSB7CisJCQlib29sIHljYmNyNDIwX2VuYWJsZWQgPSB0bXAgJiBQSVBFTUlTQ19Z VVY0MjBfRU5BQkxFOworCQkJYm9vbCBibGVuZCA9IHRtcCAmIFBJUEVNSVNDX1lVVjQyMF9NT0RF X0ZVTExfQkxFTkQ7CisKKwkJCWlmICh5Y2JjcjQyMF9lbmFibGVkKSB7CisJCQkJLyogV2Ugc3Vw cG9ydCA0OjI6MCBpbiBmdWxsIGJsZW5kIG1vZGUgb25seSAqLworCQkJCWlmICghYmxlbmQpCisJ CQkJCW91dHB1dCA9IElOVEVMX09VVFBVVF9GT1JNQVRfSU5WQUxJRDsKKwkJCQllbHNlIGlmICgh KElTX0dFTUlOSUxBS0UoZGV2X3ByaXYpIHx8CisJCQkJCSAgIElOVEVMX0dFTihkZXZfcHJpdikg Pj0gMTApKQorCQkJCQlvdXRwdXQgPSBJTlRFTF9PVVRQVVRfRk9STUFUX0lOVkFMSUQ7CisJCQkJ ZWxzZQorCQkJCQlvdXRwdXQgPSBJTlRFTF9PVVRQVVRfRk9STUFUX1lDQkNSNDIwOworCQkJfQor CQl9CisJfQorCisJcGlwZV9jb25maWctPm91dHB1dF9mb3JtYXQgPSBvdXRwdXQ7Cit9CisKIHN0 YXRpYyBib29sIGk5eHhfZ2V0X3BpcGVfY29uZmlnKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjLAog CQkJCSBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25maWcpCiB7CkBAIC04NDIyLDkg Kzg0NTMsOSBAQCBzdGF0aWMgdm9pZCBoYXN3ZWxsX3NldF9waXBlbWlzYyhjb25zdCBzdHJ1Y3Qg aW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIAkJaWYgKGNydGNfc3RhdGUtPmRpdGhlcikK IAkJCXZhbCB8PSBQSVBFTUlTQ19ESVRIRVJfRU5BQkxFIHwgUElQRU1JU0NfRElUSEVSX1RZUEVf U1A7CiAKLQkJaWYgKGNydGNfc3RhdGUtPnljYmNyNDIwKSB7Ci0JCQl2YWwgfD0gUElQRU1JU0Nf T1VUUFVUX0NPTE9SU1BBQ0VfWVVWIHwKLQkJCQlQSVBFTUlTQ19ZVVY0MjBfRU5BQkxFIHwKKwkJ aWYgKGNydGNfc3RhdGUtPm91dHB1dF9mb3JtYXQgPT0gSU5URUxfT1VUUFVUX0ZPUk1BVF9ZQ0JD UjQyMCkgeworCQkJdmFsIHw9IFBJUEVNSVNDX09VVFBVVF9DT0xPUlNQQUNFX1lVVjsKKwkJCXZh bCB8PSBQSVBFTUlTQ19ZVVY0MjBfRU5BQkxFIHwKIAkJCQlQSVBFTUlTQ19ZVVY0MjBfTU9ERV9G VUxMX0JMRU5EOwogCQl9CiAKQEAgLTk0ODUsMjggKzk1MTYsMTEgQEAgc3RhdGljIGJvb2wgaGFz d2VsbF9nZXRfcGlwZV9jb25maWcoc3RydWN0IGludGVsX2NydGMgKmNydGMsCiAJfQogCiAJaW50 ZWxfZ2V0X3BpcGVfc3JjX3NpemUoY3J0YywgcGlwZV9jb25maWcpOworCWludGVsX2dldF9jcnRj X3ljYmNyX2NvbmZpZyhjcnRjLCBwaXBlX2NvbmZpZyk7CiAKIAlwaXBlX2NvbmZpZy0+Z2FtbWFf bW9kZSA9CiAJCUk5MTVfUkVBRChHQU1NQV9NT0RFKGNydGMtPnBpcGUpKSAmIEdBTU1BX01PREVf TU9ERV9NQVNLOwogCi0JaWYgKElTX0JST0FEV0VMTChkZXZfcHJpdikgfHwgSU5URUxfR0VOKGRl dl9wcml2KSA+PSA5KSB7Ci0JCXUzMiB0bXAgPSBJOTE1X1JFQUQoUElQRU1JU0MoY3J0Yy0+cGlw ZSkpOwotCQlib29sIGNscnNwYWNlX3l1diA9IHRtcCAmIFBJUEVNSVNDX09VVFBVVF9DT0xPUlNQ QUNFX1lVVjsKLQotCQlpZiAoSVNfR0VNSU5JTEFLRShkZXZfcHJpdikgfHwgSU5URUxfR0VOKGRl dl9wcml2KSA+PSAxMCkgewotCQkJYm9vbCBibGVuZF9tb2RlXzQyMCA9IHRtcCAmCi0JCQkJCSAg ICAgIFBJUEVNSVNDX1lVVjQyMF9NT0RFX0ZVTExfQkxFTkQ7Ci0KLQkJCXBpcGVfY29uZmlnLT55 Y2JjcjQyMCA9IHRtcCAmIFBJUEVNSVNDX1lVVjQyMF9FTkFCTEU7Ci0JCQlpZiAocGlwZV9jb25m aWctPnljYmNyNDIwICE9IGNscnNwYWNlX3l1diB8fAotCQkJICAgIHBpcGVfY29uZmlnLT55Y2Jj cjQyMCAhPSBibGVuZF9tb2RlXzQyMCkKLQkJCQlEUk1fREVCVUdfS01TKCJCYWQgNDoyOjAgbW9k ZSAoJTA4eClcbiIsIHRtcCk7Ci0JCX0gZWxzZSBpZiAoY2xyc3BhY2VfeXV2KSB7Ci0JCQlEUk1f REVCVUdfS01TKCJZQ2JDciA0OjI6MCBVbnN1cHBvcnRlZFxuIik7Ci0JCX0KLQl9Ci0KLQlwaXBl X2NvbmZpZy0+b3V0cHV0X2Zvcm1hdCA9IElOVEVMX09VVFBVVF9GT1JNQVRfUkdCOwogCXBvd2Vy X2RvbWFpbiA9IFBPV0VSX0RPTUFJTl9QSVBFX1BBTkVMX0ZJVFRFUihjcnRjLT5waXBlKTsKIAlp ZiAoaW50ZWxfZGlzcGxheV9wb3dlcl9nZXRfaWZfZW5hYmxlZChkZXZfcHJpdiwgcG93ZXJfZG9t YWluKSkgewogCQlwb3dlcl9kb21haW5fbWFzayB8PSBCSVRfVUxMKHBvd2VyX2RvbWFpbik7CkBA IC0xMDkyNSwxMSArMTA5MzksMTIgQEAgc3RhdGljIHZvaWQgc25wcmludGZfb3V0cHV0X3R5cGVz KGNoYXIgKmJ1Ziwgc2l6ZV90IGxlbiwKIHN0YXRpYyBjb25zdCBjaGFyICogY29uc3Qgb3V0cHV0 X2Zvcm1hdF9zdHJbXSA9IHsKIAlbSU5URUxfT1VUUFVUX0ZPUk1BVF9JTlZBTElEXSA9ICJJbnZh bGlkIiwKIAlbSU5URUxfT1VUUFVUX0ZPUk1BVF9SR0JdID0gIlJHQiIsCisJW0lOVEVMX09VVFBV VF9GT1JNQVRfWUNCQ1I0MjBdID0gIllDQkNSNDoyOjAiLAogfTsKIAogc3RhdGljIGNvbnN0IGNo YXIgKm91dHB1dF9mb3JtYXRzKGVudW0gaW50ZWxfb3V0cHV0X2Zvcm1hdCBmb3JtYXQpCiB7Ci0J aWYgKGZvcm1hdCAhPSBJTlRFTF9PVVRQVVRfRk9STUFUX1JHQikKKwlpZiAoZm9ybWF0ID49IEFS UkFZX1NJWkUob3V0cHV0X2Zvcm1hdF9zdHIpKQogCQlmb3JtYXQgPSBJTlRFTF9PVVRQVVRfRk9S TUFUX0lOVkFMSUQ7CiAJcmV0dXJuIG91dHB1dF9mb3JtYXRfc3RyW2Zvcm1hdF07CiB9CkBAIC0x MDk2NSw5ICsxMDk4MCw2IEBAIHN0YXRpYyB2b2lkIGludGVsX2R1bXBfcGlwZV9jb25maWcoc3Ry dWN0IGludGVsX2NydGMgKmNydGMsCiAJCQkJICAgICAgcGlwZV9jb25maWctPmZkaV9sYW5lcywK IAkJCQkgICAgICAmcGlwZV9jb25maWctPmZkaV9tX24pOwogCi0JaWYgKHBpcGVfY29uZmlnLT55 Y2JjcjQyMCkKLQkJRFJNX0RFQlVHX0tNUygiWUNiQ3IgNDoyOjAgb3V0cHV0IGVuYWJsZWRcbiIp OwotCiAJaWYgKGludGVsX2NydGNfaGFzX2RwX2VuY29kZXIocGlwZV9jb25maWcpKSB7CiAJCWlu dGVsX2R1bXBfbV9uX2NvbmZpZyhwaXBlX2NvbmZpZywgImRwIG1fbiIsCiAJCQkJcGlwZV9jb25m aWctPmxhbmVfY291bnQsICZwaXBlX2NvbmZpZy0+ZHBfbV9uKTsKQEAgLTExNTU0LDcgKzExNTY2 LDYgQEAgaW50ZWxfcGlwZV9jb25maWdfY29tcGFyZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYsCiAJUElQRV9DT05GX0NIRUNLX0JPT0woaGRtaV9zY3JhbWJsaW5nKTsKIAlQSVBF X0NPTkZfQ0hFQ0tfQk9PTChoZG1pX2hpZ2hfdG1kc19jbG9ja19yYXRpbyk7CiAJUElQRV9DT05G X0NIRUNLX0JPT0xfSU5DT01QTEVURShoYXNfaW5mb2ZyYW1lKTsKLQlQSVBFX0NPTkZfQ0hFQ0tf Qk9PTCh5Y2JjcjQyMCk7CiAKIAlQSVBFX0NPTkZfQ0hFQ0tfQk9PTF9JTkNPTVBMRVRFKGhhc19h dWRpbyk7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKaW5kZXggZmY0NGZhZC4uMDE1MzBmYSAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKQEAgLTcxNSw2ICs3MTUsNyBAQCBzdHJ1Y3QgaW50 ZWxfY3J0Y193bV9zdGF0ZSB7CiBlbnVtIGludGVsX291dHB1dF9mb3JtYXQgewogCUlOVEVMX09V VFBVVF9GT1JNQVRfSU5WQUxJRCwKIAlJTlRFTF9PVVRQVVRfRk9STUFUX1JHQiwKKwlJTlRFTF9P VVRQVVRfRk9STUFUX1lDQkNSNDIwLAogfTsKIAogc3RydWN0IGludGVsX2NydGNfc3RhdGUgewpA QCAtOTA0LDkgKzkwNSw2IEBAIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlIHsKIAkvKiBIRE1JIEhp Z2ggVE1EUyBjaGFyIHJhdGUgcmF0aW8gKi8KIAlib29sIGhkbWlfaGlnaF90bWRzX2Nsb2NrX3Jh dGlvOwogCi0JLyogb3V0cHV0IGZvcm1hdCBpcyBZQ0JDUiA0OjI6MCAqLwotCWJvb2wgeWNiY3I0 MjA7Ci0KIAkvKiBPdXRwdXQgZm9ybWF0IFJHQi9ZQ0JDUiBldGMgKi8KIAllbnVtIGludGVsX291 dHB1dF9mb3JtYXQgb3V0cHV0X2Zvcm1hdDsKIH07CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9oZG1pLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMK aW5kZXggMjFiZTA3NC4uMzNlMWE5YSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfaGRtaS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkbWkuYwpAQCAt NDc4LDcgKzQ3OCw3IEBAIHN0YXRpYyB2b2lkIGludGVsX2hkbWlfc2V0X2F2aV9pbmZvZnJhbWUo c3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJCXJldHVybjsKIAl9CiAKLQlpZiAoY3J0 Y19zdGF0ZS0+eWNiY3I0MjApCisJaWYgKGNydGNfc3RhdGUtPm91dHB1dF9mb3JtYXQgPT0gSU5U RUxfT1VUUFVUX0ZPUk1BVF9ZQ0JDUjQyMCkKIAkJZnJhbWUuYXZpLmNvbG9yc3BhY2UgPSBIRE1J X0NPTE9SU1BBQ0VfWVVWNDIwOwogCWVsc2UKIAkJZnJhbWUuYXZpLmNvbG9yc3BhY2UgPSBIRE1J X0NPTE9SU1BBQ0VfUkdCOwpAQCAtMTYxOSw3ICsxNjE5LDcgQEAgc3RhdGljIGJvb2wgaGRtaV9k ZWVwX2NvbG9yX3Bvc3NpYmxlKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0 YXRlLAogCQlpZiAoY29ubmVjdG9yX3N0YXRlLT5jcnRjICE9IGNydGNfc3RhdGUtPmJhc2UuY3J0 YykKIAkJCWNvbnRpbnVlOwogCi0JCWlmIChjcnRjX3N0YXRlLT55Y2JjcjQyMCkgeworCQlpZiAo Y3J0Y19zdGF0ZS0+b3V0cHV0X2Zvcm1hdCA9PSBJTlRFTF9PVVRQVVRfRk9STUFUX1lDQkNSNDIw KSB7CiAJCQljb25zdCBzdHJ1Y3QgZHJtX2hkbWlfaW5mbyAqaGRtaSA9ICZpbmZvLT5oZG1pOwog CiAJCQlpZiAoYnBjID09IDEyICYmICEoaGRtaS0+eTQyMF9kY19tb2RlcyAmCkBAIC0xNjY0LDcg KzE2NjQsNyBAQCBpbnRlbF9oZG1pX3ljYmNyNDIwX2NvbmZpZyhzdHJ1Y3QgZHJtX2Nvbm5lY3Rv ciAqY29ubmVjdG9yLAogCSpjbG9ja18xMmJwYyAvPSAyOwogCSpjbG9ja18xMGJwYyAvPSAyOwog CSpjbG9ja184YnBjIC89IDI7Ci0JY29uZmlnLT55Y2JjcjQyMCA9IHRydWU7CisJY29uZmlnLT5v dXRwdXRfZm9ybWF0ID0gSU5URUxfT1VUUFVUX0ZPUk1BVF9ZQ0JDUjQyMDsKIAogCS8qIFlDQkNS IDQyMCBvdXRwdXQgY29udmVyc2lvbiBuZWVkcyBhIHNjYWxlciAqLwogCWlmIChza2xfdXBkYXRl X3NjYWxlcl9jcnRjKGNvbmZpZykpIHsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX3BhbmVsLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wYW5lbC5jCmluZGV4 IDdkZjliY2QuLjIwNTgyY2YgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X3BhbmVsLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcGFuZWwuYwpAQCAtMTEx LDcgKzExMSw3IEBAIGludGVsX3BjaF9wYW5lbF9maXR0aW5nKHN0cnVjdCBpbnRlbF9jcnRjICpp bnRlbF9jcnRjLAogCS8qIE5hdGl2ZSBtb2RlcyBkb24ndCBuZWVkIGZpdHRpbmcgKi8KIAlpZiAo YWRqdXN0ZWRfbW9kZS0+Y3J0Y19oZGlzcGxheSA9PSBwaXBlX2NvbmZpZy0+cGlwZV9zcmNfdyAm JgogCSAgICBhZGp1c3RlZF9tb2RlLT5jcnRjX3ZkaXNwbGF5ID09IHBpcGVfY29uZmlnLT5waXBl X3NyY19oICYmCi0JICAgICFwaXBlX2NvbmZpZy0+eWNiY3I0MjApCisJICAgIHBpcGVfY29uZmln LT5vdXRwdXRfZm9ybWF0ICE9IElOVEVMX09VVFBVVF9GT1JNQVRfWUNCQ1I0MjApCiAJCWdvdG8g ZG9uZTsKIAogCXN3aXRjaCAoZml0dGluZ19tb2RlKSB7Ci0tIAoyLjcuNAoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlz dApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0 b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==