From mboxrd@z Thu Jan 1 00:00:00 1970 From: Anshuman Gupta Subject: [PATCH v2 05/10] drm/i915/tgl:Added helper function to prefer dc3co over dc5. Date: Wed, 17 Jul 2019 15:58:00 +0530 Message-ID: <20190717102804.27202-6-anshuman.gupta@intel.com> References: <20190717102804.27202-1-anshuman.gupta@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by gabe.freedesktop.org (Postfix) with ESMTPS id 3551089F61 for ; Wed, 17 Jul 2019 10:32:28 +0000 (UTC) In-Reply-To: <20190717102804.27202-1-anshuman.gupta@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 Cc: jani.nikula@intel.com List-Id: intel-gfx@lists.freedesktop.org VGhpcyBwYXRjaCBjaGVjayBpZiBpdCBpcyBvbmx5IGVkcCBkaXNwbGF5IGNvbm5lY3RlZCBhbmQK Y3J0YyBoYXMgcHNyMiBjYXBhYmlsaXR5LCB0aGVuIGl0IHNldHMgdGhlIHByZWZlcl9kYzNjbyBm bGFnIHRvCnRydWUuIEl0IGFsc28gZW5hYmxlIERDM0NPIFBTUjIgdHJhbnNjb2RlciBlYXJseSBl eGl0bGluZSBldmVudAppbiBoYXN3ZWxsX2NydGNfZW5hYmxlKCkgZnVuY3Rpb24uCgpUT0RPOiBC LiBTcGVjcyBzYXlzIGRjM2NvIHNob3VsZCBiZSBhbGxvdyBvbmx5IGluIHZpZGVvIHBsYXliYWNr CmNhc2UsIGN1cnJlbnRseSBkcml2ZXIgZG9lc24ndCBkaWZmZXJlbnRpYXRlIGJldHdlZW4gdmlk ZW8gcGxheWJhY2sKYW5kIGEgbm9ybWFsIGZsaXAuClVzZXIgc3BhY2Ugd2lsbCBiZSB0aGUgYmVz dCB0byBqdWRnZSBpZiBpdCBpcyBWUEIgY2FzZQpvdGhlcndpc2Ugd2UgbmVlZCB0byBoYXZlIHRo YXQgaW50ZWxsaWdlbmNlIGluIGRyaXZlci4KCkNjOiBqYW5pLm5pa3VsYUBpbnRlbC5jb20KQ2M6 IGltcmUuZGVha0BpbnRlbC5jb20KQ2M6IGFuaW1lc2gubWFubmFAaW50ZWwuY29tClNpZ25lZC1v ZmYtYnk6IEFuc2h1bWFuIEd1cHRhIDxhbnNodW1hbi5ndXB0YUBpbnRlbC5jb20+Ci0tLQogZHJp dmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5LmMgIHwgIDUgKwogLi4uL2Ry bS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheV9wb3dlci5jICAgIHwgOTMgKysrKysrKysrKysr KysrKysrKwogLi4uL2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheV9wb3dlci5oICAgIHwg IDUgKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCAgICAgICAgICAgICAgIHwgIDEg KwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYyAgICAgICAgICAgICAgIHwgIDIgKy0K IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmggICAgICAgICAgICAgICB8ICAyICsKIDYg ZmlsZXMgY2hhbmdlZCwgMTA3IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5jCmluZGV4IDhhYjZhZWY0YTY3 Yy4uZmYyODY1ZTk0YzRjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5 L2ludGVsX2Rpc3BsYXkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVs X2Rpc3BsYXkuYwpAQCAtNjQ0Nyw2ICs2NDQ3LDkgQEAgc3RhdGljIHZvaWQgaGFzd2VsbF9jcnRj X2VuYWJsZShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25maWcsCiAKIAlpZiAoV0FS Tl9PTihpbnRlbF9jcnRjLT5hY3RpdmUpKQogCQlyZXR1cm47CisJLyogRW5hYmxlIFBTUjIgdHJh bnNjb2RlciBleGl0IGxpbmUgKi8KKwlpZiAocGlwZV9jb25maWctPmhhc19wc3IyICYmIGRldl9w cml2LT5jc3IucHJlZmVyX2RjM2NvKQorCQl0Z2xfZW5hYmxlX3BzcjJfdHJhbnNjb2Rlcl9leGl0 bGluZShwaXBlX2NvbmZpZyk7CiAKIAlpbnRlbF9lbmNvZGVyc19wcmVfcGxsX2VuYWJsZShpbnRl bF9jcnRjLCBwaXBlX2NvbmZpZywgc3RhdGUpOwogCkBAIC0xMzY2Nyw2ICsxMzY3MCw4IEBAIHN0 YXRpYyBpbnQgaW50ZWxfYXRvbWljX2NoZWNrKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJCQkJ ICAgICAgICJbbW9kZXNldF0iIDogIltmYXN0c2V0XSIpOwogCX0KIAorCXRnbF9wcmVmZXJfZGMz Y29fb3Zlcl9kYzVfY2hlY2soZGV2X3ByaXYsIHN0YXRlKTsKKwogCXJldHVybiAwOwogCiAgZmFp bDoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxh eV9wb3dlci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5X3Bv d2VyLmMKaW5kZXggMWJkNTk1OWMxZGJiLi42MmQ2OGUyMWQ1ZmEgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheV9wb3dlci5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheV9wb3dlci5jCkBAIC0xOCw2ICsx OCw3IEBACiAjaW5jbHVkZSAiaW50ZWxfaG90cGx1Zy5oIgogI2luY2x1ZGUgImludGVsX3NpZGVi YW5kLmgiCiAjaW5jbHVkZSAiaW50ZWxfdGMuaCIKKyNpbmNsdWRlICJpbnRlbF9wbS5oIgogCiBi b29sIGludGVsX2Rpc3BsYXlfcG93ZXJfd2VsbF9pc19lbmFibGVkKHN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdiwKIAkJCQkJIGVudW0gaTkxNV9wb3dlcl93ZWxsX2lkIHBvd2VyX3dl bGxfaWQpOwpAQCAtNzg4LDYgKzc4OSw5OCBAQCBzdGF0aWMgdm9pZCBnZW45X3NldF9kY19zdGF0 ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIHUzMiBzdGF0ZSkKIAlkZXZfcHJp di0+Y3NyLmRjX3N0YXRlID0gdmFsICYgbWFzazsKIH0KIAordm9pZCB0Z2xfZW5hYmxlX3BzcjJf dHJhbnNjb2Rlcl9leGl0bGluZShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAgKmNzdGF0ZSkKK3sK Kwl1MzIgbGluZXRpbWVfdXMsIHZhbCwgZXhpdF9zY2FubGluZXM7CisJdTMyIGNydGNfdmRpc3Bs YXkgPSBjc3RhdGUtPmJhc2UuYWRqdXN0ZWRfbW9kZS5jcnRjX3ZkaXNwbGF5OworCXN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY3N0YXRlLT5iYXNlLmNydGMtPmRl dik7CisKKwlpZiAoV0FSTl9PTihjc3RhdGUtPmNwdV90cmFuc2NvZGVyICE9IFRSQU5TQ09ERVJf QSkpCisJCXJldHVybjsKKworCWxpbmV0aW1lX3VzID0gZml4ZWQxNl90b191MzJfcm91bmRfdXAo aW50ZWxfZ2V0X2xpbmV0aW1lX3VzKGNzdGF0ZSkpOworCWlmIChXQVJOX09OKCFsaW5ldGltZV91 cykpCisJCXJldHVybjsKKwkvKgorCSAqIERDM0NPIEV4aXQgdGltZSAyMDB1cyBCLlNwZWMgNDkx OTYKKwkgKiBQU1IyIHRyYW5zY29kZXIgRWFybHkgRXhpdCBzY2FubGluZXMgPSBST1VORFVQKDIw MCAvIGxpbmUgdGltZSkgKyAxCisJICogRXhpdCBsaW5lIGV2ZW50IG5lZWQgdG8gcHJvZ3JhbSBh Ym92ZSBjYWxjdWxhdGVkIHNjYW4gbGluZXMgYmVmb3JlCisJICogbmV4dCBWQkxBTksuCisJICov CisJZXhpdF9zY2FubGluZXMgPSBESVZfUk9VTkRfVVAoMjAwLCBsaW5ldGltZV91cykgKyAxOwor CWlmIChXQVJOX09OKGV4aXRfc2NhbmxpbmVzID4gY3J0Y192ZGlzcGxheSkpCisJCXJldHVybjsK KworCWV4aXRfc2NhbmxpbmVzID0gY3J0Y192ZGlzcGxheSAtIGV4aXRfc2NhbmxpbmVzOworCWV4 aXRfc2NhbmxpbmVzIDw8PSBFWElUTElORV9TSElGVDsKKwl2YWwgPSBJOTE1X1JFQUQoRVhJVExJ TkUoY3N0YXRlLT5jcHVfdHJhbnNjb2RlcikpOworCXZhbCAmPSB+KEVYSVRMSU5FX01BU0sgfCBF WElUTElORV9FTkFCTEUpOworCXZhbCB8PSBleGl0X3NjYW5saW5lczsKKwl2YWwgfD0gRVhJVExJ TkVfRU5BQkxFOworCUk5MTVfV1JJVEUoRVhJVExJTkUoY3N0YXRlLT5jcHVfdHJhbnNjb2Rlciks IHZhbCk7Cit9CisKK3N0YXRpYyBib29sIHRnbF9pc19vbmx5X2VkcF9jb25uZWN0ZWQoc3RydWN0 IGludGVsX2NydGNfc3RhdGUgICpjcnRjX3N0YXRlKQoreworCXN0cnVjdCBkcm1fYXRvbWljX3N0 YXRlICpzdGF0ZSA9IGNydGNfc3RhdGUtPmJhc2Uuc3RhdGU7CisJc3RydWN0IGludGVsX2NydGMg KmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPmJhc2UuY3J0Yyk7CisJc3RydWN0IGRy bV9jb25uZWN0b3IgKmNvbm5lY3RvciwgKmVkcF9jb25uZWN0b3IgPSBOVUxMOworCXN0cnVjdCBk cm1fY29ubmVjdG9yX3N0YXRlICpjb25uZWN0b3Jfc3RhdGU7CisJaW50IGk7CisKKwlmb3JfZWFj aF9uZXdfY29ubmVjdG9yX2luX3N0YXRlKHN0YXRlLCBjb25uZWN0b3IsIGNvbm5lY3Rvcl9zdGF0 ZSwgaSkgeworCQlpZiAoY29ubmVjdG9yX3N0YXRlLT5jcnRjICE9ICZjcnRjLT5iYXNlKQorCQkJ Y29udGludWU7CisKKwkJaWYgKGNvbm5lY3Rvci0+c3RhdHVzID09IGNvbm5lY3Rvcl9zdGF0dXNf Y29ubmVjdGVkICYmCisJCSAgICBjb25uZWN0b3ItPmNvbm5lY3Rvcl90eXBlICE9IERSTV9NT0RF X0NPTk5FQ1RPUl9lRFApCisJCQlyZXR1cm4gZmFsc2U7CisJCWVsc2UgaWYgKGNvbm5lY3Rvci0+ Y29ubmVjdG9yX3R5cGUgPT0gRFJNX01PREVfQ09OTkVDVE9SX2VEUCAmJgorCQkJIGNvbm5lY3Rv ci0+c3RhdHVzID09IGNvbm5lY3Rvcl9zdGF0dXNfY29ubmVjdGVkKQorCQkJZWRwX2Nvbm5lY3Rv ciA9IGNvbm5lY3RvcjsKKwl9CisKKwlpZiAoZWRwX2Nvbm5lY3RvcikKKwkJcmV0dXJuIHRydWU7 CisKKwlyZXR1cm4gZmFsc2U7Cit9CisKKy8qCisgKiB0Z2xfcHJlZmVyX2RjM2NvX292ZXJfZGM1 X2NoZWNrIGNoZWNrIHdoZXRoZXIgaXQgaXMgd29ydGggdG8gY2hvb3NlCisgKiBEQzNDTyBvdmVy IERDNS4gQ3VycmVudGx5IGl0IGp1c3QgY2hlY2sgY3J0YyBwc3IyIGNhcGViaWx0eSBhbmQgb25s eQorICogZWRwIGRpc3BsYXkgc2hvdWxkIGJlIGNvbm5lY3RlZC4KKyAqIFRPRE86IFByZWZlciBE QzNDTyBvdmVyIERDNSBvbmx5IGluIHZpZGVvIHBsYXliYWNrLgorICovCit2b2lkIHRnbF9wcmVm ZXJfZGMzY29fb3Zlcl9kYzVfY2hlY2soc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 LAorCQkJCSAgICAgc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAqc3RhdGUpCit7CisJc3RydWN0 IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGU7CisJc3RydWN0IGludGVsX2NydGMgKmNydGM7 CisJaW50IGk7CisKKwlkZXZfcHJpdi0+Y3NyLnByZWZlcl9kYzNjbyA9IGZhbHNlOworCisJaWYg KCFJU19USUdFUkxBS0UoZGV2X3ByaXYpKQorCQlyZXR1cm47CisKKwlmb3JfZWFjaF9uZXdfaW50 ZWxfY3J0Y19pbl9zdGF0ZShzdGF0ZSwgY3J0YywgY3J0Y19zdGF0ZSwgaSkgeworCQlpZiAoIWNy dGNfc3RhdGUtPmhhc19wc3IyICYmIGNydGNfc3RhdGUtPmJhc2UuYWN0aXZlKSB7CisJCQlkZXZf cHJpdi0+Y3NyLnByZWZlcl9kYzNjbyA9IGZhbHNlOworCQkJcmV0dXJuOworCQl9IGVsc2UgaWYg KGNydGNfc3RhdGUtPmhhc19wc3IyKSB7CisJCQlpZiAodGdsX2lzX29ubHlfZWRwX2Nvbm5lY3Rl ZChjcnRjX3N0YXRlKSAmJgorCQkJICAgIGNydGNfc3RhdGUtPmJhc2UuYWN0aXZlKSB7CisJCQkJ ZGV2X3ByaXYtPmNzci5wcmVmZXJfZGMzY28gPSB0cnVlOworCQkJCWNvbnRpbnVlOworCQkJfSBl bHNlIHsKKwkJCQlkZXZfcHJpdi0+Y3NyLnByZWZlcl9kYzNjbyA9IGZhbHNlOworCQkJCXJldHVy bjsKKwkJCX0KKwkJfQorCX0KK30KKwogc3RhdGljIHZvaWQgdGdsX2FsbG93X2RjM2NvKHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIHsKIAlnZW45X3NldF9kY19zdGF0ZShkZXZf cHJpdiwgRENfU1RBVEVfRU5fREMzQ08pOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5X3Bvd2VyLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9k aXNwbGF5L2ludGVsX2Rpc3BsYXlfcG93ZXIuaAppbmRleCBlYmIzOTdlMzMwZWEuLjkzZWUwOGRl N2IwNiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNw bGF5X3Bvd2VyLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNw bGF5X3Bvd2VyLmgKQEAgLTEyLDYgKzEyLDggQEAKIAogc3RydWN0IGRybV9pOTE1X3ByaXZhdGU7 CiBzdHJ1Y3QgaW50ZWxfZW5jb2RlcjsKK3N0cnVjdCBpbnRlbF9jcnRjX3N0YXRlOworc3RydWN0 IGludGVsX2F0b21pY19zdGF0ZTsKIAogZW51bSBpbnRlbF9kaXNwbGF5X3Bvd2VyX2RvbWFpbiB7 CiAJUE9XRVJfRE9NQUlOX0RJU1BMQVlfQ09SRSwKQEAgLTI1Miw2ICsyNTQsOSBAQCB2b2lkIGhz d19lbmFibGVfcGM4KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7CiB2b2lkIGhz d19kaXNhYmxlX3BjOChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwogdm9pZCBi eHRfZGlzcGxheV9jb3JlX2luaXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCBi b29sIHJlc3VtZSk7CiB2b2lkIGJ4dF9kaXNwbGF5X2NvcmVfdW5pbml0KHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdik7Cit2b2lkIHRnbF9wcmVmZXJfZGMzY29fb3Zlcl9kYzVfY2hl Y2soc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAorCQkJCSAgICAgc3RydWN0IGlu dGVsX2F0b21pY19zdGF0ZSAqc3RhdGUpOwordm9pZCB0Z2xfZW5hYmxlX3BzcjJfdHJhbnNjb2Rl cl9leGl0bGluZShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAgKmNzdGF0ZSk7CiAKIGNvbnN0IGNo YXIgKgogaW50ZWxfZGlzcGxheV9wb3dlcl9kb21haW5fc3RyKHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICppOTE1LApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKaW5kZXggMzdkMDdhOTFiMzg1Li40ZjQ0 NDcxOGNkMWYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaApAQCAtMzU5LDYgKzM1OSw3IEBAIHN0 cnVjdCBpbnRlbF9jc3IgewogCXUzMiBkY19zdGF0ZTsKIAl1MzIgYWxsb3dlZF9kY19tYXNrOwog CWludGVsX3dha2VyZWZfdCB3YWtlcmVmOworCWJvb2wgcHJlZmVyX2RjM2NvOwogfTsKIAogZW51 bSBpOTE1X2NhY2hlX2xldmVsIHsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX3BtLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jCmluZGV4IDBjZWNlYTIy ODU0Ni4uYjFjZTBhNDQzNzYxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9wbS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMKQEAgLTQ1ODMsNyAr NDU4Myw3IEBAIHNrbF93bV9tZXRob2QyKHUzMiBwaXhlbF9yYXRlLCB1MzIgcGlwZV9odG90YWws IHUzMiBsYXRlbmN5LAogCXJldHVybiByZXQ7CiB9CiAKLXN0YXRpYyB1aW50X2ZpeGVkXzE2XzE2 X3QKK3VpbnRfZml4ZWRfMTZfMTZfdAogaW50ZWxfZ2V0X2xpbmV0aW1lX3VzKGNvbnN0IHN0cnVj dCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQogewogCXUzMiBwaXhlbF9yYXRlOwpkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uaCBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX3BtLmgKaW5kZXggZTM1NzNlMWUxNmUzLi40NTRlOTJjMDZkZmYgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmgKKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfcG0uaApAQCAtOCw2ICs4LDcgQEAKIAogI2luY2x1ZGUgPGxpbnV4L3R5 cGVzLmg+CiAKKyNpbmNsdWRlICJpOTE1X2Rydi5oIgogI2luY2x1ZGUgImk5MTVfcmVnLmgiCiAK IHN0cnVjdCBkcm1fZGV2aWNlOwpAQCAtNzYsNiArNzcsNyBAQCB1NjQgaW50ZWxfcmM2X3Jlc2lk ZW5jeV9ucyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIGk5MTVfcmVnX3QgcmVn KTsKIHU2NCBpbnRlbF9yYzZfcmVzaWRlbmN5X3VzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdiwgaTkxNV9yZWdfdCByZWcpOwogCiB1MzIgaW50ZWxfZ2V0X2NhZ2Yoc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCB1MzIgcnBzdGF0MSk7Cit1aW50X2ZpeGVkXzE2XzE2 X3QgaW50ZWxfZ2V0X2xpbmV0aW1lX3VzKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpj c3RhdGUpOwogCiB1bnNpZ25lZCBsb25nIGk5MTVfY2hpcHNldF92YWwoc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2KTsKIHVuc2lnbmVkIGxvbmcgaTkxNV9tY2hfdmFsKHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7Ci0tIAoyLjIxLjAKCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50 ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeA==