From mboxrd@z Thu Jan 1 00:00:00 1970 From: Imre Deak Subject: [PATCH 13/23] drm/i915: Fix the TypeC port mode sanitization during loading/resume Date: Tue, 4 Jun 2019 17:58:16 +0300 Message-ID: <20190604145826.16424-14-imre.deak@intel.com> References: <20190604145826.16424-1-imre.deak@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTPS id C29C889996 for ; Tue, 4 Jun 2019 14:59:35 +0000 (UTC) In-Reply-To: <20190604145826.16424-1-imre.deak@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: Paulo Zanoni List-Id: intel-gfx@lists.freedesktop.org Rm9yIHVzaW5nIHRoZSBjb3JyZWN0IEFVWCBwb3dlciBkb21haW5zIHdlIGhhdmUgdG8gc2FuaXRp emUgdGhlIFR5cGVDCnBvcnQgbW9kZSBlYXJseSwgc28gbW92ZSB0aGF0IGJlZm9yZSBlbmNvZGVy IHNhbml0aXphdGlvbi4gVG8gZG8gdGhpcwpwcm9wZXJseSByZWFkIG91dCB0aGUgYWN0dWFsIHBv cnQgbW9kZSBpbnN0ZWFkIG9mIGp1c3QgcmVseWluZyBvbiB0aGUKVkJUIGxlZ2FjeSBwb3J0IGZs YWcgKHdoaWNoIGNhbiBiZSBpbmNvcnJlY3QpLgoKV2UgYWxzbyB2ZXJpZnkgdGhhdCB0aGUgUEhZ IGlzIGNvbm5lY3RlZCBhcyBleHBlY3RlZCBpZiB0aGUgcG9ydCBpcwphY3RpdmUuIEluIGNhc2Ug dGhlIHBvcnQgaXMgaW5hY3RpdmUgd2UgY29ubmVjdCB0aGUgUEhZIGluIGNhc2Ugb2YgYQpsZWdh Y3kgcG9ydCAtIGFzIHdlIGRpZCBzbyBmYXIuIFRoZSBQSFkgd2lsbCBiZSBjb25uZWN0ZWQgZHVy aW5nCmRldGVjdGlvbiBmb3IgRFAtYWx0IG1vZGUgLSBhcyBpdCB3YXMgZG9uZSBzbyBmYXIuIEZv ciBUQlQtYWx0IG1vZGUKbm90aGluZyBuZWVkcyB0byBiZSBkb25lIHRvIGNvbm5lY3QgdGhlIFBI WS4KCkNjOiBKb3PDqSBSb2JlcnRvIGRlIFNvdXphIDxqb3NlLnNvdXphQGludGVsLmNvbT4KQ2M6 IFJvZHJpZ28gVml2aSA8cm9kcmlnby52aXZpQGludGVsLmNvbT4KQ2M6IFBhdWxvIFphbm9uaSA8 cGF1bG8uci56YW5vbmlAaW50ZWwuY29tPgpDYzogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJq YWxhQGxpbnV4LmludGVsLmNvbT4KU2lnbmVkLW9mZi1ieTogSW1yZSBEZWFrIDxpbXJlLmRlYWtA aW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jICAgICB8IDE2 ICstLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIHwgMTAgKysrKwog ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHBfbXN0LmggIHwgIDggKystCiBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF90Yy5jICAgICAgfCA4MyArKysrKysrKysrKysrKysrKysrKysrKysr KysrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF90Yy5oICAgICAgfCAgMiArCiA1IGZpbGVz IGNoYW5nZWQsIDEwMyBpbnNlcnRpb25zKCspLCAxNiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2RkaS5jCmluZGV4IGQyMzY4MzliZWUxOS4uMmJjM2I0ZjJjOWE1IDEwMDY0NAotLS0g YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kZGkuYwpAQCAtMzkxOCwxNyArMzkxOCw2IEBAIHN0YXRpYyB2b2lkIGludGVs X2RkaV9lbmNvZGVyX3N1c3BlbmQoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIpCiAJCWlj bF90Y19waHlfZGlzY29ubmVjdChkaWdfcG9ydCk7CiB9CiAKLXN0YXRpYyB2b2lkIGludGVsX2Rk aV9lbmNvZGVyX3Jlc2V0KHN0cnVjdCBkcm1fZW5jb2RlciAqZHJtX2VuY29kZXIpCi17Ci0Jc3Ry dWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqZGlnX3BvcnQgPSBlbmNfdG9fZGlnX3BvcnQoZHJtX2Vu Y29kZXIpOwotCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1ID0gdG9faTkxNShkcm1fZW5j b2Rlci0+ZGV2KTsKLQotCWlmIChpbnRlbF9wb3J0X2lzX3RjKGk5MTUsIGRpZ19wb3J0LT5iYXNl LnBvcnQpKQotCQlpbnRlbF9kaWdpdGFsX3BvcnRfY29ubmVjdGVkKCZkaWdfcG9ydC0+YmFzZSk7 Ci0KLQlpbnRlbF9kcF9lbmNvZGVyX3Jlc2V0KGRybV9lbmNvZGVyKTsKLX0KLQogc3RhdGljIHZv aWQgaW50ZWxfZGRpX2VuY29kZXJfZGVzdHJveShzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIp CiB7CiAJc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqZGlnX3BvcnQgPSBlbmNfdG9fZGlnX3Bv cnQoZW5jb2Rlcik7CkBAIC0zOTQ0LDcgKzM5MzMsNyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9kZGlf ZW5jb2Rlcl9kZXN0cm95KHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlcikKIH0KIAogc3RhdGlj IGNvbnN0IHN0cnVjdCBkcm1fZW5jb2Rlcl9mdW5jcyBpbnRlbF9kZGlfZnVuY3MgPSB7Ci0JLnJl c2V0ID0gaW50ZWxfZGRpX2VuY29kZXJfcmVzZXQsCisJLnJlc2V0ID0gaW50ZWxfZHBfZW5jb2Rl cl9yZXNldCwKIAkuZGVzdHJveSA9IGludGVsX2RkaV9lbmNvZGVyX2Rlc3Ryb3ksCiB9OwogCkBA IC00MzA5LDkgKzQyOTgsNiBAQCB2b2lkIGludGVsX2RkaV9pbml0KHN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdiwgZW51bSBwb3J0IHBvcnQpCiAKIAlpbnRlbF9pbmZvZnJhbWVfaW5p dChpbnRlbF9kaWdfcG9ydCk7CiAKLQlpZiAoaW50ZWxfcG9ydF9pc190YyhkZXZfcHJpdiwgcG9y dCkpCi0JCWludGVsX2RpZ2l0YWxfcG9ydF9jb25uZWN0ZWQoaW50ZWxfZW5jb2Rlcik7Ci0KIAly ZXR1cm47CiAKIGVycjoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rp c3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwppbmRleCAwZTQy NWE2ZWViZjMuLjkxZDE4Y2QwMzcxYyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZGlzcGxheS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXku YwpAQCAtNzUsNiArNzUsNyBAQAogI2luY2x1ZGUgImludGVsX3Nkdm8uaCIKICNpbmNsdWRlICJp bnRlbF9zaWRlYmFuZC5oIgogI2luY2x1ZGUgImludGVsX3Nwcml0ZS5oIgorI2luY2x1ZGUgImlu dGVsX3RjLmgiCiAjaW5jbHVkZSAiaW50ZWxfdHYuaCIKICNpbmNsdWRlICJpbnRlbF92ZHNjLmgi CiAKQEAgLTE2NjgzLDYgKzE2Njg0LDE1IEBAIGludGVsX21vZGVzZXRfc2V0dXBfaHdfc3RhdGUo c3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAlpbnRlbF9tb2Rlc2V0X3JlYWRvdXRfaHdfc3RhdGUo ZGV2KTsKIAogCS8qIEhXIHN0YXRlIGlzIHJlYWQgb3V0LCBub3cgd2UgbmVlZCB0byBzYW5pdGl6 ZSB0aGlzIG1lc3MuICovCisKKwkvKiBTYW5pdGl6ZSB0aGUgVHlwZUMgcG9ydCBtb2RlIHVwZnJv bnQsIGVuY29kZXJzIGRlcGVuZCBvbiB0aGlzICovCisJZm9yX2VhY2hfaW50ZWxfZW5jb2Rlcihk ZXYsIGVuY29kZXIpIHsKKwkJLyogV2UgbmVlZCB0byBzYW5pdGl6ZSBvbmx5IHRoZSBNU1QgcHJp bWFyeSBwb3J0LiAqLworCQlpZiAoZW5jb2Rlci0+dHlwZSAhPSBJTlRFTF9PVVRQVVRfRFBfTVNU ICYmCisJCSAgICBpbnRlbF9wb3J0X2lzX3RjKGRldl9wcml2LCBlbmNvZGVyLT5wb3J0KSkKKwkJ CWludGVsX3RjX3BvcnRfc2FuaXRpemUoZW5jX3RvX2RpZ19wb3J0KCZlbmNvZGVyLT5iYXNlKSk7 CisJfQorCiAJZ2V0X2VuY29kZXJfcG93ZXJfZG9tYWlucyhkZXZfcHJpdik7CiAKIAlpZiAoSEFT X1BDSF9JQlgoZGV2X3ByaXYpKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZHBfbXN0LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcF9tc3QuaAppbmRleCAx NDcwYzZlMDUxNGIuLjY3NTRjMjExMjA1YSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZHBfbXN0LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHBfbXN0 LmgKQEAgLTYsOSArNiwxNSBAQAogI2lmbmRlZiBfX0lOVEVMX0RQX01TVF9IX18KICNkZWZpbmUg X19JTlRFTF9EUF9NU1RfSF9fCiAKLXN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQ7CisjaW5jbHVk ZSAiaW50ZWxfZHJ2LmgiCiAKIGludCBpbnRlbF9kcF9tc3RfZW5jb2Rlcl9pbml0KHN0cnVjdCBp bnRlbF9kaWdpdGFsX3BvcnQgKmludGVsX2RpZ19wb3J0LCBpbnQgY29ubl9pZCk7CiB2b2lkIGlu dGVsX2RwX21zdF9lbmNvZGVyX2NsZWFudXAoc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50 ZWxfZGlnX3BvcnQpOworc3RhdGljIGlubGluZSBpbnQKK2ludGVsX2RwX21zdF9lbmNvZGVyX2Fj dGl2ZV9saW5rcyhzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdfcG9ydCkKK3sK KwlyZXR1cm4gaW50ZWxfZGlnX3BvcnQtPmRwLmFjdGl2ZV9tc3RfbGlua3M7Cit9CisKIAogI2Vu ZGlmIC8qIF9fSU5URUxfRFBfTVNUX0hfXyAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfdGMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3RjLmMKaW5kZXgg OTgzMmUyZGRiOTJlLi45ZWJmMjVkNzkzMWMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX3RjLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdGMuYwpAQCAt Myw2ICszLDcgQEAKICAqIENvcHlyaWdodCDCqSAyMDE5IEludGVsIENvcnBvcmF0aW9uCiAgKi8K ICNpbmNsdWRlICJpbnRlbF9kaXNwbGF5LmgiCisjaW5jbHVkZSAiaW50ZWxfZHBfbXN0LmgiCiAj aW5jbHVkZSAiaTkxNV9kcnYuaCIKICNpbmNsdWRlICJpbnRlbF90Yy5oIgogCkBAIC0xNjcsNiAr MTY4LDE1IEBAIHN0YXRpYyBib29sIGljbF90Y19waHlfc2V0X3NhZmVfbW9kZShzdHJ1Y3QgaW50 ZWxfZGlnaXRhbF9wb3J0ICpkaWdfcG9ydCwKIAlyZXR1cm4gdHJ1ZTsKIH0KIAorc3RhdGljIGJv b2wgaWNsX3RjX3BoeV9pc19pbl9zYWZlX21vZGUoc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAq ZGlnX3BvcnQpCit7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkx NShkaWdfcG9ydC0+YmFzZS5iYXNlLmRldik7CisJZW51bSB0Y19wb3J0IHRjX3BvcnQgPSBpbnRl bF9wb3J0X3RvX3RjKGRldl9wcml2LCBkaWdfcG9ydC0+YmFzZS5wb3J0KTsKKworCXJldHVybiAh KEk5MTVfUkVBRChQT1JUX1RYX0RGTEVYRFBDU1NTKSAmCisJCSBEUF9QSFlfTU9ERV9TVEFUVVNf Tk9UX1NBRkUodGNfcG9ydCkpOworfQorCiAvKgogICogVGhpcyBmdW5jdGlvbiBpbXBsZW1lbnRz IHRoZSBmaXJzdCBwYXJ0IG9mIHRoZSBDb25uZWN0IEZsb3cgZGVzY3JpYmVkIGJ5IG91cgogICog c3BlY2lmaWNhdGlvbiwgR2VuMTEgVHlwZUMgUHJvZ3JhbW1pbmcgY2hhcHRlci4gVGhlIHJlc3Qg b2YgdGhlIGZsb3cgKHJlYWRpbmcKQEAgLTI1MCw2ICsyNjAsNDkgQEAgdm9pZCBpY2xfdGNfcGh5 X2Rpc2Nvbm5lY3Qoc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqZGlnX3BvcnQpCiAJfQogfQog CitzdGF0aWMgYm9vbCBpY2xfdGNfcGh5X2lzX2Nvbm5lY3RlZChzdHJ1Y3QgaW50ZWxfZGlnaXRh bF9wb3J0ICpkaWdfcG9ydCkKK3sKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYg PSB0b19pOTE1KGRpZ19wb3J0LT5iYXNlLmJhc2UuZGV2KTsKKwllbnVtIHRjX3BvcnQgdGNfcG9y dCA9IGludGVsX3BvcnRfdG9fdGMoZGV2X3ByaXYsIGRpZ19wb3J0LT5iYXNlLnBvcnQpOworCisJ aWYgKCFpY2xfdGNfcGh5X3N0YXR1c19jb21wbGV0ZShkaWdfcG9ydCkpIHsKKwkJRFJNX0RFQlVH X0tNUygiUG9ydCAlczogUEhZIHN0YXR1cyBub3QgY29tcGxldGVcbiIsCisJCQkgICAgICB0Y19w b3J0X25hbWUoZGV2X3ByaXYsIHRjX3BvcnQpKTsKKwkJcmV0dXJuIGRpZ19wb3J0LT50Y19tb2Rl ID09IFRDX1BPUlRfVEJUX0FMVDsKKwl9CisKKwlpZiAoaWNsX3RjX3BoeV9pc19pbl9zYWZlX21v ZGUoZGlnX3BvcnQpKSB7CisJCURSTV9ERUJVR19LTVMoIlBvcnQgJXM6IFBIWSBzdGlsbCBpbiBz YWZlIG1vZGVcbiIsCisJCQkgICAgICB0Y19wb3J0X25hbWUoZGV2X3ByaXYsIHRjX3BvcnQpKTsK KworCQlyZXR1cm4gZmFsc2U7CisJfQorCisJcmV0dXJuIGRpZ19wb3J0LT50Y19tb2RlID09IFRD X1BPUlRfRFBfQUxUIHx8CisJICAgICAgIGRpZ19wb3J0LT50Y19tb2RlID09IFRDX1BPUlRfTEVH QUNZOworfQorCitzdGF0aWMgZW51bSB0Y19wb3J0X21vZGUKK2ludGVsX3RjX3BvcnRfZ2V0X2N1 cnJlbnRfbW9kZShzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpkaWdfcG9ydCkKK3sKKwl1MzIg bGl2ZV9zdGF0dXNfbWFzayA9IHRjX3BvcnRfbGl2ZV9zdGF0dXNfbWFzayhkaWdfcG9ydCk7CisJ Ym9vbCBpbl9zYWZlX21vZGUgPSBpY2xfdGNfcGh5X2lzX2luX3NhZmVfbW9kZShkaWdfcG9ydCk7 CisJZW51bSB0Y19wb3J0X21vZGUgbW9kZTsKKworCWlmIChpbl9zYWZlX21vZGUgfHwgV0FSTl9P TighaWNsX3RjX3BoeV9zdGF0dXNfY29tcGxldGUoZGlnX3BvcnQpKSkKKwkJcmV0dXJuIFRDX1BP UlRfVEJUX0FMVDsKKworCW1vZGUgPSBkaWdfcG9ydC0+dGNfbGVnYWN5X3BvcnQgPyBUQ19QT1JU X0xFR0FDWSA6IFRDX1BPUlRfRFBfQUxUOworCWlmIChsaXZlX3N0YXR1c19tYXNrKSB7CisJCWVu dW0gdGNfcG9ydF9tb2RlIGxpdmVfbW9kZSA9IGZscyhsaXZlX3N0YXR1c19tYXNrKSAtIDE7CisK KwkJaWYgKCFXQVJOX09OKGxpdmVfbW9kZSA9PSBUQ19QT1JUX1RCVF9BTFQpKQorCQkJbW9kZSA9 IGxpdmVfbW9kZTsKKwl9CisKKwlyZXR1cm4gbW9kZTsKK30KKwogc3RhdGljIGVudW0gdGNfcG9y dF9tb2RlCiBpbnRlbF90Y19wb3J0X2dldF90YXJnZXRfbW9kZShzdHJ1Y3QgaW50ZWxfZGlnaXRh bF9wb3J0ICpkaWdfcG9ydCkKIHsKQEAgLTI3OCw2ICszMzEsMzYgQEAgc3RhdGljIHZvaWQgaW50 ZWxfdGNfcG9ydF9yZXNldF9tb2RlKHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmRpZ19wb3J0 KQogCQkgICAgICB0Y19wb3J0X21vZGVfbmFtZShkaWdfcG9ydC0+dGNfbW9kZSkpOwogfQogCit2 b2lkIGludGVsX3RjX3BvcnRfc2FuaXRpemUoc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqZGln X3BvcnQpCit7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShk aWdfcG9ydC0+YmFzZS5iYXNlLmRldik7CisJc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIg PSAmZGlnX3BvcnQtPmJhc2U7CisJZW51bSB0Y19wb3J0IHRjX3BvcnQgPSBpbnRlbF9wb3J0X3Rv X3RjKGRldl9wcml2LCBlbmNvZGVyLT5wb3J0KTsKKwlpbnQgYWN0aXZlX2xpbmtzID0gMDsKKwor CWRpZ19wb3J0LT50Y19tb2RlID0gaW50ZWxfdGNfcG9ydF9nZXRfY3VycmVudF9tb2RlKGRpZ19w b3J0KTsKKwlpZiAoZGlnX3BvcnQtPmRwLmlzX21zdCkKKwkJYWN0aXZlX2xpbmtzID0gaW50ZWxf ZHBfbXN0X2VuY29kZXJfYWN0aXZlX2xpbmtzKGRpZ19wb3J0KTsKKwllbHNlIGlmIChlbmNvZGVy LT5iYXNlLmNydGMpCisJCWFjdGl2ZV9saW5rcyA9IHRvX2ludGVsX2NydGMoZW5jb2Rlci0+YmFz ZS5jcnRjKS0+YWN0aXZlOworCisJaWYgKGFjdGl2ZV9saW5rcykgeworCQlpZiAoIWljbF90Y19w aHlfaXNfY29ubmVjdGVkKGRpZ19wb3J0KSkKKwkJCURSTV9ERUJVR19EUklWRVIoIlBvcnQgJXM6 IFBIWSBkaXNjb25uZWN0ZWQgd2l0aCAlZCBhY3RpdmUgbGluayhzKVxuIiwKKwkJCQkJIHRjX3Bv cnRfbmFtZShkZXZfcHJpdiwgdGNfcG9ydCksCisJCQkJCSBhY3RpdmVfbGlua3MpOworCQlnb3Rv IG91dDsKKwl9CisKKwlpZiAoZGlnX3BvcnQtPnRjX2xlZ2FjeV9wb3J0KQorCQlpY2xfdGNfcGh5 X2Nvbm5lY3QoZGlnX3BvcnQpOworCitvdXQ6CisJRFJNX0RFQlVHX0RSSVZFUigiUG9ydCAlczog c2FuaXRpemUgbW9kZSAoJXMpXG4iLAorCQkJIHRjX3BvcnRfbmFtZShkZXZfcHJpdiwgdGNfcG9y dCksCisJCQkgdGNfcG9ydF9tb2RlX25hbWUoZGlnX3BvcnQtPnRjX21vZGUpKTsKK30KKwogc3Rh dGljIGJvb2wKIGludGVsX3RjX3BvcnRfbmVlZHNfcmVzZXQoc3RydWN0IGludGVsX2RpZ2l0YWxf cG9ydCAqZGlnX3BvcnQpCiB7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF90Yy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdGMuaAppbmRleCBlOTM3ZjUzMjY5 NTkuLjEwZjBmMGQ4MWVlNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf dGMuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF90Yy5oCkBAIC0xMSw0ICsxMSw2 IEBAIGJvb2wgaW50ZWxfdGNfcG9ydF9jb25uZWN0ZWQoc3RydWN0IGludGVsX2RpZ2l0YWxfcG9y dCAqZGlnX3BvcnQpOwogdTMyIGludGVsX3RjX3BvcnRfZ2V0X2xhbmVfaW5mbyhzdHJ1Y3QgaW50 ZWxfZGlnaXRhbF9wb3J0ICpkaWdfcG9ydCk7CiBpbnQgaW50ZWxfdGNfcG9ydF9maWFfbWF4X2xh bmVfY291bnQoc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqZGlnX3BvcnQpOwogCit2b2lkIGlu dGVsX3RjX3BvcnRfc2FuaXRpemUoc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqZGlnX3BvcnQp OworCiAjZW5kaWYgLyogX19JTlRFTF9UQ19IX18gKi8KLS0gCjIuMTcuMQoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlz dApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0 b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4