From mboxrd@z Thu Jan 1 00:00:00 1970 From: Shashank Sharma Subject: [PATCH v10 2/8] drm/i915: Add CRTC output format YCBCR 4:2:0 Date: Tue, 14 Aug 2018 15:23:20 +0530 Message-ID: <1534240406-10534-3-git-send-email-shashank.sharma@intel.com> References: <1534240406-10534-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 mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTPS id 720CC89F99 for ; Tue, 14 Aug 2018 09:45:56 +0000 (UTC) In-Reply-To: <1534240406-10534-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 Q3VycmVudGx5LCB3ZSBhcmUgdXNpbmcgYSBib29sIGluIENSVEMgc3RhdGUgKHN0YXRlLT55Y2Jj cjQyMCksCnRvIGluZGljYXRlIG1vZGVzZXQsIHRoYXQgdGhlIG91dHB1dCBmb3JtYXQgaXMgWUNC Q1IgNDoyOjAuIE5vdyBpbgpvcmRlciB0byBzdXBwb3J0IG90aGVyIFlDQkNSIGZvcm1hdHMsIHdl IHdpbGwgbmVlZCBtb3JlIHN1Y2ggZmxhZ3MuCgpUaGlzIHBhdGNoIGFkZHMgYSBuZXcgZW51bSBw YXJhbWV0ZXIgZm9yIFlDQkNSIDQ6MjowIG91dHB1dHMsIGluIHRoZQpDUlRDIG91dHB1dCBmb3Jt YXRzIGFuZCB0aGVuIHBsdWdzIGl0IGR1cmluZyB0aGUgbW9kZXNldC4KClYzOiBBZGRlZCB0aGlz IHBhdGNoIGluIHRoZSBzZXJpZXMsIHRvIGFkZHJlc3MgcmV2aWV3IGNvbW1lbnRzIGZyb20KICAg IHNlY29uZCBwYXRjaHNldC4KVjQ6IEFkZGVkIHItYiBmcm9tIE1hYXJ0ZW4gKG9uIHYzKQogICAg QWRkcmVzc2VkIHJldmlldyBjb21tZW50cyBmcm9tIFZpbGxlOgogICAgICAgIC0gQ2hhbmdlIHRo ZSBlbnVtIG5hbWUgdG8gaW50ZWxfb3V0cHV0X2Zvcm1hdC4KICAgICAgICAtIFN0YXJ0IHRoZSBl bnVtIHZhbHVlIChJTlZBTElEKSBmcm9tIDAgaW5zdGFlZCBvZiAxLgogICAgICAgIC0gU2V0IHRo ZSBjcnRjJ3Mgb3V0cHV0X2Zvcm1hdCB0byBSR0IgaW4gZW5jb2RlcidzIGNvbXB1dGVfY29uZmln LgpWNTogQnJva2UgcHJldmlvdXMgcGF0Y2ggMSBpbnRvIHR3byBwYXJ0cywKICAgIC0gZmlyc3Qg cGF0Y2ggdG8gYWRkIENSVEMgb3V0cHV0IGZvcm1hdCBpbiBnZW5lcmFsCiAgICAtIHNlY29uZCBw YXRjaCAodGhpcyBvbmUpIHRvIGFkZCBZQ0JDUiA0OjI6MCBvdXRwdXQKICAgICAgZm9ybWF0IHNw ZWNpZmljYWxseS4KICAgIC0gVXNlIEFSUkFZX1NJWkUoZm9ybWF0X3N0cikgZm9yIG91dHB1dCBm b3JtYXQgdmFsaWRpdHkgY2hlY2sgKFZpbGxlKQpWNjogQWRkZWQgYSBzZXBhcmF0ZSBmdW5jdGlv biB0byBjYWxjdWxhdGUgY3J0Y19zdGF0ZS0+b3V0cHV0X2Zvcm1hdCwgYW5kCiAgICBjYWxsaW5n IGl0IGZyb20gdmFyaW91cyBnZXRfY29uZmlnIGZ1bmN0aW9uIChGaXggQ0kgYnVpbGQgd2Fybmlu ZykKVjc6IEZpeGVkIGNoZWNrcGF0Y2ggd2FybmluZ3MgZm9yIGFsaWdubWVudApWODogUmViYXNl ClY5OiBSZWJhc2UKVjEwOiBSZWJhc2UKCkNjOiBWaWxsZSBTeXJqYWxhIDx2aWxsZS5zeXJqYWxh QGxpbnV4LmludGVsLmNvbT4KQ2M6IE1hYXJ0ZW4gTGFua2hvcnN0IDxtYWFydGVuLmxhbmtob3Jz dEBsaW51eC5pbnRlbC5jb20+ClJldmlld2VkLWJ5OiBNYWFydGVuIExhbmtob3JzdCA8bWFhcnRl bi5sYW5raG9yc3RAbGludXguaW50ZWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBTaGFzaGFuayBTaGFy bWEgPHNoYXNoYW5rLnNoYXJtYUBpbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfY29sb3IuYyAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5j ICAgICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgfCA3MiAr KysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2Rydi5oICAgICB8ICA0ICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1p LmMgICAgfCAgNiArLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BhbmVsLmMgICB8ICAy ICstCiA2IGZpbGVzIGNoYW5nZWQsIDUwIGluc2VydGlvbnMoKyksIDM4IGRlbGV0aW9ucygtKQoK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NvbG9yLmMgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9jb2xvci5jCmluZGV4IGM2YTdiZWEuLmJmOWQ4ZjYgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NvbG9yLmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfY29sb3IuYwpAQCAtMTQ5LDcgKzE0OSw3IEBAIHN0YXRpYyB2b2lk IGlsa19sb2FkX2NzY19tYXRyaXgoc3RydWN0IGRybV9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQog CWlmIChJTlRFTF9HRU4oZGV2X3ByaXYpID49IDggfHwgSVNfSEFTV0VMTChkZXZfcHJpdikpCiAJ CWxpbWl0ZWRfY29sb3JfcmFuZ2UgPSBpbnRlbF9jcnRjX3N0YXRlLT5saW1pdGVkX2NvbG9yX3Jh bmdlOwogCi0JaWYgKGludGVsX2NydGNfc3RhdGUtPnljYmNyNDIwKSB7CisJaWYgKGludGVsX2Ny dGNfc3RhdGUtPm91dHB1dF9mb3JtYXQgPT0gSU5URUxfT1VUUFVUX0ZPUk1BVF9ZQ0JDUjQyMCkg ewogCQlpbGtfbG9hZF95Y2Jjcl9jb252ZXJzaW9uX21hdHJpeChpbnRlbF9jcnRjKTsKIAkJcmV0 dXJuOwogCX0gZWxzZSBpZiAoY3J0Y19zdGF0ZS0+Y3RtKSB7CmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rk aS5jCmluZGV4IDBhZGMwNDMuLmEwMzZmZTYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2RkaS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jCkBA IC0xNDQyLDcgKzE0NDIsNyBAQCBzdGF0aWMgdm9pZCBkZGlfZG90Y2xvY2tfZ2V0KHN0cnVjdCBp bnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZykKIAllbHNlCiAJCWRvdGNsb2NrID0gcGlwZV9j b25maWctPnBvcnRfY2xvY2s7CiAKLQlpZiAocGlwZV9jb25maWctPnljYmNyNDIwKQorCWlmIChw aXBlX2NvbmZpZy0+b3V0cHV0X2Zvcm1hdCA9PSBJTlRFTF9PVVRQVVRfRk9STUFUX1lDQkNSNDIw KQogCQlkb3RjbG9jayAqPSAyOwogCiAJaWYgKHBpcGVfY29uZmlnLT5waXhlbF9tdWx0aXBsaWVy KQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCmluZGV4IDVlNWJjMDYuLmUyYTFlNGYg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYworKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKQEAgLTQ4MTEsNyArNDgxMSw4IEBA IHNrbF91cGRhdGVfc2NhbGVyKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLCBi b29sIGZvcmNlX2RldGFjaCwKIAkJaWYgKHBpeGVsX2Zvcm1hdCA9PSBEUk1fRk9STUFUX05WMTIp CiAJCQluZWVkX3NjYWxpbmcgPSB0cnVlOwogCi0JaWYgKGNydGNfc3RhdGUtPnljYmNyNDIwICYm IHNjYWxlcl91c2VyID09IFNLTF9DUlRDX0lOREVYKQorCWlmIChjcnRjX3N0YXRlLT5vdXRwdXRf Zm9ybWF0ID09IElOVEVMX09VVFBVVF9GT1JNQVRfWUNCQ1I0MjAgJiYKKwkgICAgc2NhbGVyX3Vz ZXIgPT0gU0tMX0NSVENfSU5ERVgpCiAJCW5lZWRfc2NhbGluZyA9IHRydWU7CiAKIAkvKgpAQCAt NjYyMCw3ICs2NjIxLDggQEAgc3RhdGljIGludCBpbnRlbF9jcnRjX2NvbXB1dGVfY29uZmlnKHN0 cnVjdCBpbnRlbF9jcnRjICpjcnRjLAogCQlyZXR1cm4gLUVJTlZBTDsKIAl9CiAKLQlpZiAocGlw ZV9jb25maWctPnljYmNyNDIwICYmIHBpcGVfY29uZmlnLT5iYXNlLmN0bSkgeworCWlmIChwaXBl X2NvbmZpZy0+b3V0cHV0X2Zvcm1hdCA9PSBJTlRFTF9PVVRQVVRfRk9STUFUX1lDQkNSNDIwICYm CisJICAgIHBpcGVfY29uZmlnLT5iYXNlLmN0bSkgewogCQkvKgogCQkgKiBUaGVyZSBpcyBvbmx5 IG9uZSBwaXBlIENTQyB1bml0IHBlciBwaXBlLCBhbmQgd2UgbmVlZCB0aGF0CiAJCSAqIGZvciBv dXRwdXQgY29udmVyc2lvbiBmcm9tIFJHQi0+WUNCQ1IuIFNvIGlmIENUTSBpcyBhbHJlYWR5CkBA IC03ODE4LDYgKzc4MjAsMzUgQEAgc3RhdGljIHZvaWQgY2h2X2NydGNfY2xvY2tfZ2V0KHN0cnVj dCBpbnRlbF9jcnRjICpjcnRjLAogCXBpcGVfY29uZmlnLT5wb3J0X2Nsb2NrID0gY2h2X2NhbGNf ZHBsbF9wYXJhbXMocmVmY2xrLCAmY2xvY2spOwogfQogCitzdGF0aWMgdm9pZCBpbnRlbF9nZXRf Y3J0Y195Y2Jjcl9jb25maWcoc3RydWN0IGludGVsX2NydGMgKmNydGMsCisJCQkJCXN0cnVjdCBp bnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZykKK3sKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGMtPmJhc2UuZGV2KTsKKwllbnVtIGludGVsX291dHB1 dF9mb3JtYXQgb3V0cHV0ID0gSU5URUxfT1VUUFVUX0ZPUk1BVF9SR0I7CisKKwlpZiAoSVNfQlJP QURXRUxMKGRldl9wcml2KSB8fCBJTlRFTF9HRU4oZGV2X3ByaXYpID49IDkpIHsKKwkJdTMyIHRt cCA9IEk5MTVfUkVBRChQSVBFTUlTQyhjcnRjLT5waXBlKSk7CisKKwkJaWYgKHRtcCAmIFBJUEVN SVNDX09VVFBVVF9DT0xPUlNQQUNFX1lVVikgeworCQkJYm9vbCB5Y2JjcjQyMF9lbmFibGVkID0g dG1wICYgUElQRU1JU0NfWVVWNDIwX0VOQUJMRTsKKwkJCWJvb2wgYmxlbmQgPSB0bXAgJiBQSVBF TUlTQ19ZVVY0MjBfTU9ERV9GVUxMX0JMRU5EOworCisJCQlpZiAoeWNiY3I0MjBfZW5hYmxlZCkg eworCQkJCS8qIFdlIHN1cHBvcnQgNDoyOjAgaW4gZnVsbCBibGVuZCBtb2RlIG9ubHkgKi8KKwkJ CQlpZiAoIWJsZW5kKQorCQkJCQlvdXRwdXQgPSBJTlRFTF9PVVRQVVRfRk9STUFUX0lOVkFMSUQ7 CisJCQkJZWxzZSBpZiAoIShJU19HRU1JTklMQUtFKGRldl9wcml2KSB8fAorCQkJCQkgICBJTlRF TF9HRU4oZGV2X3ByaXYpID49IDEwKSkKKwkJCQkJb3V0cHV0ID0gSU5URUxfT1VUUFVUX0ZPUk1B VF9JTlZBTElEOworCQkJCWVsc2UKKwkJCQkJb3V0cHV0ID0gSU5URUxfT1VUUFVUX0ZPUk1BVF9Z Q0JDUjQyMDsKKwkJCX0KKwkJfQorCX0KKworCXBpcGVfY29uZmlnLT5vdXRwdXRfZm9ybWF0ID0g b3V0cHV0OworfQorCiBzdGF0aWMgYm9vbCBpOXh4X2dldF9waXBlX2NvbmZpZyhzdHJ1Y3QgaW50 ZWxfY3J0YyAqY3J0YywKIAkJCQkgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmln KQogewpAQCAtNzg2NSw2ICs3ODk2LDcgQEAgc3RhdGljIGJvb2wgaTl4eF9nZXRfcGlwZV9jb25m aWcoc3RydWN0IGludGVsX2NydGMgKmNydGMsCiAKIAlpbnRlbF9nZXRfcGlwZV90aW1pbmdzKGNy dGMsIHBpcGVfY29uZmlnKTsKIAlpbnRlbF9nZXRfcGlwZV9zcmNfc2l6ZShjcnRjLCBwaXBlX2Nv bmZpZyk7CisJaW50ZWxfZ2V0X2NydGNfeWNiY3JfY29uZmlnKGNydGMsIHBpcGVfY29uZmlnKTsK IAogCWk5eHhfZ2V0X3BmaXRfY29uZmlnKGNydGMsIHBpcGVfY29uZmlnKTsKIApAQCAtODQ1Miwx MCArODQ4NCwxMCBAQCBzdGF0aWMgdm9pZCBoYXN3ZWxsX3NldF9waXBlbWlzYyhzdHJ1Y3QgZHJt X2NydGMgKmNydGMpCiAJCWlmIChpbnRlbF9jcnRjLT5jb25maWctPmRpdGhlcikKIAkJCXZhbCB8 PSBQSVBFTUlTQ19ESVRIRVJfRU5BQkxFIHwgUElQRU1JU0NfRElUSEVSX1RZUEVfU1A7CiAKLQkJ aWYgKGNvbmZpZy0+eWNiY3I0MjApIHsKLQkJCXZhbCB8PSBQSVBFTUlTQ19PVVRQVVRfQ09MT1JT UEFDRV9ZVVYgfAotCQkJCVBJUEVNSVNDX1lVVjQyMF9FTkFCTEUgfAotCQkJCVBJUEVNSVNDX1lV VjQyMF9NT0RFX0ZVTExfQkxFTkQ7CisJCWlmIChjb25maWctPm91dHB1dF9mb3JtYXQgPT0gSU5U RUxfT1VUUFVUX0ZPUk1BVF9ZQ0JDUjQyMCkgeworCQkJdmFsIHw9IFBJUEVNSVNDX09VVFBVVF9D T0xPUlNQQUNFX1lVVjsKKwkJCXZhbCB8PSBQSVBFTUlTQ19ZVVY0MjBfRU5BQkxFIHwKKwkJCSAg ICAgICBQSVBFTUlTQ19ZVVY0MjBfTU9ERV9GVUxMX0JMRU5EOwogCQl9CiAKIAkJSTkxNV9XUklU RShQSVBFTUlTQyhpbnRlbF9jcnRjLT5waXBlKSwgdmFsKTsKQEAgLTg5NTMsNiArODk4NSw3IEBA IHN0YXRpYyBib29sIGlyb25sYWtlX2dldF9waXBlX2NvbmZpZyhzdHJ1Y3QgaW50ZWxfY3J0YyAq Y3J0YywKIAogCWludGVsX2dldF9waXBlX3RpbWluZ3MoY3J0YywgcGlwZV9jb25maWcpOwogCWlu dGVsX2dldF9waXBlX3NyY19zaXplKGNydGMsIHBpcGVfY29uZmlnKTsKKwlpbnRlbF9nZXRfY3J0 Y195Y2Jjcl9jb25maWcoY3J0YywgcGlwZV9jb25maWcpOwogCiAJaXJvbmxha2VfZ2V0X3BmaXRf Y29uZmlnKGNydGMsIHBpcGVfY29uZmlnKTsKIApAQCAtOTUxNCwyOCArOTU0NywxMSBAQCBzdGF0 aWMgYm9vbCBoYXN3ZWxsX2dldF9waXBlX2NvbmZpZyhzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YywK IAl9CiAKIAlpbnRlbF9nZXRfcGlwZV9zcmNfc2l6ZShjcnRjLCBwaXBlX2NvbmZpZyk7CisJaW50 ZWxfZ2V0X2NydGNfeWNiY3JfY29uZmlnKGNydGMsIHBpcGVfY29uZmlnKTsKIAogCXBpcGVfY29u ZmlnLT5nYW1tYV9tb2RlID0KIAkJSTkxNV9SRUFEKEdBTU1BX01PREUoY3J0Yy0+cGlwZSkpICYg R0FNTUFfTU9ERV9NT0RFX01BU0s7CiAKLQlpZiAoSVNfQlJPQURXRUxMKGRldl9wcml2KSB8fCBJ TlRFTF9HRU4oZGV2X3ByaXYpID49IDkpIHsKLQkJdTMyIHRtcCA9IEk5MTVfUkVBRChQSVBFTUlT QyhjcnRjLT5waXBlKSk7Ci0JCWJvb2wgY2xyc3BhY2VfeXV2ID0gdG1wICYgUElQRU1JU0NfT1VU UFVUX0NPTE9SU1BBQ0VfWVVWOwotCi0JCWlmIChJU19HRU1JTklMQUtFKGRldl9wcml2KSB8fCBJ TlRFTF9HRU4oZGV2X3ByaXYpID49IDEwKSB7Ci0JCQlib29sIGJsZW5kX21vZGVfNDIwID0gdG1w ICYKLQkJCQkJICAgICAgUElQRU1JU0NfWVVWNDIwX01PREVfRlVMTF9CTEVORDsKLQotCQkJcGlw ZV9jb25maWctPnljYmNyNDIwID0gdG1wICYgUElQRU1JU0NfWVVWNDIwX0VOQUJMRTsKLQkJCWlm IChwaXBlX2NvbmZpZy0+eWNiY3I0MjAgIT0gY2xyc3BhY2VfeXV2IHx8Ci0JCQkgICAgcGlwZV9j b25maWctPnljYmNyNDIwICE9IGJsZW5kX21vZGVfNDIwKQotCQkJCURSTV9ERUJVR19LTVMoIkJh ZCA0OjI6MCBtb2RlICglMDh4KVxuIiwgdG1wKTsKLQkJfSBlbHNlIGlmIChjbHJzcGFjZV95dXYp IHsKLQkJCURSTV9ERUJVR19LTVMoIllDYkNyIDQ6MjowIFVuc3VwcG9ydGVkXG4iKTsKLQkJfQot CX0KLQotCXBpcGVfY29uZmlnLT5vdXRwdXRfZm9ybWF0ID0gSU5URUxfT1VUUFVUX0ZPUk1BVF9S R0I7CiAJcG93ZXJfZG9tYWluID0gUE9XRVJfRE9NQUlOX1BJUEVfUEFORUxfRklUVEVSKGNydGMt PnBpcGUpOwogCWlmIChpbnRlbF9kaXNwbGF5X3Bvd2VyX2dldF9pZl9lbmFibGVkKGRldl9wcml2 LCBwb3dlcl9kb21haW4pKSB7CiAJCXBvd2VyX2RvbWFpbl9tYXNrIHw9IEJJVF9VTEwocG93ZXJf ZG9tYWluKTsKQEAgLTEwODg2LDExICsxMDkwMiwxMyBAQCBzdGF0aWMgdm9pZCBzbnByaW50Zl9v dXRwdXRfdHlwZXMoY2hhciAqYnVmLCBzaXplX3QgbGVuLAogc3RhdGljIGNvbnN0IGNoYXIgKiBj b25zdCBvdXRwdXRfZm9ybWF0X3N0cltdID0gewogCVtJTlRFTF9PVVRQVVRfRk9STUFUX0lOVkFM SURdID0gIkludmFsaWQiLAogCVtJTlRFTF9PVVRQVVRfRk9STUFUX1JHQl0gPSAiUkdCIiwKKwlb SU5URUxfT1VUUFVUX0ZPUk1BVF9ZQ0JDUjQyMF0gPSAiWUNCQ1I0OjI6MCIsCiB9OwogCiBzdGF0 aWMgY29uc3QgY2hhciAqb3V0cHV0X2Zvcm1hdHMoZW51bSBpbnRlbF9vdXRwdXRfZm9ybWF0IGZv cm1hdCkKIHsKLQlpZiAoZm9ybWF0ICE9IElOVEVMX09VVFBVVF9GT1JNQVRfUkdCKQorCWlmIChm b3JtYXQgPCBJTlRFTF9PVVRQVVRfRk9STUFUX1JHQiB8fAorCSAgICBmb3JtYXQgPiBBUlJBWV9T SVpFKG91dHB1dF9mb3JtYXRfc3RyKSkKIAkJZm9ybWF0ID0gSU5URUxfT1VUUFVUX0ZPUk1BVF9J TlZBTElEOwogCXJldHVybiBvdXRwdXRfZm9ybWF0X3N0cltmb3JtYXRdOwogfQpAQCAtMTA5MjYs OSArMTA5NDQsNiBAQCBzdGF0aWMgdm9pZCBpbnRlbF9kdW1wX3BpcGVfY29uZmlnKHN0cnVjdCBp bnRlbF9jcnRjICpjcnRjLAogCQkJCSAgICAgIHBpcGVfY29uZmlnLT5mZGlfbGFuZXMsCiAJCQkJ ICAgICAgJnBpcGVfY29uZmlnLT5mZGlfbV9uKTsKIAotCWlmIChwaXBlX2NvbmZpZy0+eWNiY3I0 MjApCi0JCURSTV9ERUJVR19LTVMoIllDYkNyIDQ6MjowIG91dHB1dCBlbmFibGVkXG4iKTsKLQog CWlmIChpbnRlbF9jcnRjX2hhc19kcF9lbmNvZGVyKHBpcGVfY29uZmlnKSkgewogCQlpbnRlbF9k dW1wX21fbl9jb25maWcocGlwZV9jb25maWcsICJkcCBtX24iLAogCQkJCXBpcGVfY29uZmlnLT5s YW5lX2NvdW50LCAmcGlwZV9jb25maWctPmRwX21fbik7CkBAIC0xMTUxNSw3ICsxMTUzMCw2IEBA IGludGVsX3BpcGVfY29uZmlnX2NvbXBhcmUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2LAogCVBJUEVfQ09ORl9DSEVDS19CT09MKGhkbWlfc2NyYW1ibGluZyk7CiAJUElQRV9DT05G X0NIRUNLX0JPT0woaGRtaV9oaWdoX3RtZHNfY2xvY2tfcmF0aW8pOwogCVBJUEVfQ09ORl9DSEVD S19CT09MX0lOQ09NUExFVEUoaGFzX2luZm9mcmFtZSk7Ci0JUElQRV9DT05GX0NIRUNLX0JPT0wo eWNiY3I0MjApOwogCiAJUElQRV9DT05GX0NIRUNLX0JPT0xfSU5DT01QTEVURShoYXNfYXVkaW8p OwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCmluZGV4IGY3MDQ3MjAuLmNjN2E0NmUgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2Rydi5oCkBAIC03MTEsNiArNzExLDcgQEAgc3RydWN0IGludGVsX2Ny dGNfd21fc3RhdGUgewogZW51bSBpbnRlbF9vdXRwdXRfZm9ybWF0IHsKIAlJTlRFTF9PVVRQVVRf Rk9STUFUX0lOVkFMSUQsCiAJSU5URUxfT1VUUFVUX0ZPUk1BVF9SR0IsCisJSU5URUxfT1VUUFVU X0ZPUk1BVF9ZQ0JDUjQyMCwKIH07CiAKIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlIHsKQEAgLTkw MCw5ICs5MDEsNiBAQCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSB7CiAJLyogSERNSSBIaWdoIFRN RFMgY2hhciByYXRlIHJhdGlvICovCiAJYm9vbCBoZG1pX2hpZ2hfdG1kc19jbG9ja19yYXRpbzsK IAotCS8qIG91dHB1dCBmb3JtYXQgaXMgWUNCQ1IgNDoyOjAgKi8KLQlib29sIHljYmNyNDIwOwot CiAJLyogT3V0cHV0IGZvcm1hdCBSR0IvWUNCQ1IgZXRjICovCiAJZW51bSBpbnRlbF9vdXRwdXRf Zm9ybWF0IG91dHB1dF9mb3JtYXQ7CiB9OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfaGRtaS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jCmluZGV4 IDg5OTNlNjYuLmYxMjU5YTkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2hkbWkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMKQEAgLTQ4Niw3 ICs0ODYsNyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9oZG1pX3NldF9hdmlfaW5mb2ZyYW1lKHN0cnVj dCBkcm1fZW5jb2RlciAqZW5jb2RlciwKIAkJcmV0dXJuOwogCX0KIAotCWlmIChjcnRjX3N0YXRl LT55Y2JjcjQyMCkKKwlpZiAoY3J0Y19zdGF0ZS0+b3V0cHV0X2Zvcm1hdCA9PSBJTlRFTF9PVVRQ VVRfRk9STUFUX1lDQkNSNDIwKQogCQlmcmFtZS5hdmkuY29sb3JzcGFjZSA9IEhETUlfQ09MT1JT UEFDRV9ZVVY0MjA7CiAJZWxzZQogCQlmcmFtZS5hdmkuY29sb3JzcGFjZSA9IEhETUlfQ09MT1JT UEFDRV9SR0I7CkBAIC0xNjIwLDcgKzE2MjAsNyBAQCBzdGF0aWMgYm9vbCBoZG1pX2RlZXBfY29s b3JfcG9zc2libGUoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCiAJ CWlmIChjb25uZWN0b3Jfc3RhdGUtPmNydGMgIT0gY3J0Y19zdGF0ZS0+YmFzZS5jcnRjKQogCQkJ Y29udGludWU7CiAKLQkJaWYgKGNydGNfc3RhdGUtPnljYmNyNDIwKSB7CisJCWlmIChjcnRjX3N0 YXRlLT5vdXRwdXRfZm9ybWF0ID09IElOVEVMX09VVFBVVF9GT1JNQVRfWUNCQ1I0MjApIHsKIAkJ CWNvbnN0IHN0cnVjdCBkcm1faGRtaV9pbmZvICpoZG1pID0gJmluZm8tPmhkbWk7CiAKIAkJCWlm IChicGMgPT0gMTIgJiYgIShoZG1pLT55NDIwX2RjX21vZGVzICYKQEAgLTE2NjUsNyArMTY2NSw3 IEBAIGludGVsX2hkbWlfeWNiY3I0MjBfY29uZmlnKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25u ZWN0b3IsCiAJKmNsb2NrXzEyYnBjIC89IDI7CiAJKmNsb2NrXzEwYnBjIC89IDI7CiAJKmNsb2Nr XzhicGMgLz0gMjsKLQljb25maWctPnljYmNyNDIwID0gdHJ1ZTsKKwljb25maWctPm91dHB1dF9m b3JtYXQgPSBJTlRFTF9PVVRQVVRfRk9STUFUX1lDQkNSNDIwOwogCiAJLyogWUNCQ1IgNDIwIG91 dHB1dCBjb252ZXJzaW9uIG5lZWRzIGEgc2NhbGVyICovCiAJaWYgKHNrbF91cGRhdGVfc2NhbGVy X2NydGMoY29uZmlnKSkgewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf cGFuZWwuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BhbmVsLmMKaW5kZXggNGE5ZjEz OS4uNWNjYTA0YSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcGFuZWwu YworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wYW5lbC5jCkBAIC0xMTEsNyArMTEx LDcgQEAgaW50ZWxfcGNoX3BhbmVsX2ZpdHRpbmcoc3RydWN0IGludGVsX2NydGMgKmludGVsX2Ny dGMsCiAJLyogTmF0aXZlIG1vZGVzIGRvbid0IG5lZWQgZml0dGluZyAqLwogCWlmIChhZGp1c3Rl ZF9tb2RlLT5jcnRjX2hkaXNwbGF5ID09IHBpcGVfY29uZmlnLT5waXBlX3NyY193ICYmCiAJICAg IGFkanVzdGVkX21vZGUtPmNydGNfdmRpc3BsYXkgPT0gcGlwZV9jb25maWctPnBpcGVfc3JjX2gg JiYKLQkgICAgIXBpcGVfY29uZmlnLT55Y2JjcjQyMCkKKwkgICAgcGlwZV9jb25maWctPm91dHB1 dF9mb3JtYXQgIT0gSU5URUxfT1VUUFVUX0ZPUk1BVF9ZQ0JDUjQyMCkKIAkJZ290byBkb25lOwog CiAJc3dpdGNoIChmaXR0aW5nX21vZGUpIHsKLS0gCjIuNy40CgpfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVs LWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcv bWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK