From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lucas De Marchi Subject: [PATCH v3 14/23] drm/i915/tgl: move DP_TP_* to transcoder Date: Fri, 23 Aug 2019 01:20:46 -0700 Message-ID: <20190823082055.5992-15-lucas.demarchi@intel.com> References: <20190823082055.5992-1-lucas.demarchi@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by gabe.freedesktop.org (Postfix) with ESMTPS id 65C5C6EC34 for ; Fri, 23 Aug 2019 08:54:11 +0000 (UTC) In-Reply-To: <20190823082055.5992-1-lucas.demarchi@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 R2VuIDEyIG9ud2FyZHMgbW92ZXMgdGhlIERQX1RQXyogcmVnaXN0ZXJzIHRvIGJlIHRyYW5zY29k ZXItYmFzZWQgcmF0aGVyCnRoYW4gcG9ydC1iYXNlZC4gVGhpcyBhZGQgdGhlIG5ldyByZWdpc3Rl ciBhZGRyZXNzIGFuZCBjaGFuZ2VzIHRoZQpmdW5jdGlvbnMgdGhhdCBhcmUgdXNlZCB3aXRoIERE SSBvbiBnZW4gMTIgdG8gdXNlIHRoZSBuZXcgcmVnaXN0ZXJzLiBPbgpNU1QgdGhlIG1hc3RlciB0 cmFuc2NvZGVyIGlzIHRoZSBvbmUgdG8gYmUgdXNlZC4KCkNjOiBSb2RyaWdvIFZpdmkgPHJvZHJp Z28udml2aUBpbnRlbC5jb20+CkNjOiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGlu dXguaW50ZWwuY29tPgpDYzogSm9zw6kgUm9iZXJ0byBkZSBTb3V6YSA8am9zZS5zb3V6YUBpbnRl bC5jb20+ClNpZ25lZC1vZmYtYnk6IEx1Y2FzIERlIE1hcmNoaSA8bHVjYXMuZGVtYXJjaGlAaW50 ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGRpLmMgICAg ICB8IDQyICsrKysrKysrLS0tLQogLi4uL2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheV90 eXBlcy5oICAgIHwgIDEgKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kcC5j ICAgICAgIHwgNjYgKysrKysrKysrKysrKysrKystLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlz cGxheS9pbnRlbF9kcC5oICAgICAgIHwgIDkgKysrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNw bGF5L2ludGVsX2RwX21zdC5jICAgfCAyMCArKysrLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfcmVnLmggICAgICAgICAgICAgICB8ICA0ICsrCiA2IGZpbGVzIGNoYW5nZWQsIDExOSBpbnNl cnRpb25zKCspLCAyMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9kaXNwbGF5L2ludGVsX2RkaS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9p bnRlbF9kZGkuYwppbmRleCBmNGNiNmJkNzQ0MjEuLjNlYjczZGJhZjlmZCAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kZGkuYworKysgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RkaS5jCkBAIC0zMTM2LDE3ICszMTM2LDIyIEBAIHN0 YXRpYyB2b2lkIGludGVsX2RkaV9lbmFibGVfZmVjKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNv ZGVyLAogCQkJCSBjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIHsK IAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGVuY29kZXItPmJh c2UuZGV2KTsKKwllbnVtIHRyYW5zY29kZXIgY3B1X3RyYW5zY29kZXIgPSBjcnRjX3N0YXRlLT5j cHVfdHJhbnNjb2RlcjsKIAllbnVtIHBvcnQgcG9ydCA9IGVuY29kZXItPnBvcnQ7CisJaTkxNV9y ZWdfdCBjdGwsIHN0YXR1czsKIAl1MzIgdmFsOwogCiAJaWYgKCFjcnRjX3N0YXRlLT5mZWNfZW5h YmxlKQogCQlyZXR1cm47CiAKLQl2YWwgPSBJOTE1X1JFQUQoRFBfVFBfQ1RMKHBvcnQpKTsKKwlj dGwgPSBpbnRlbF9kcF90cF9jdGxfcmVnKGRldl9wcml2LCBjcHVfdHJhbnNjb2RlciwgcG9ydCk7 CisJc3RhdHVzID0gaW50ZWxfZHBfdHBfc3RhdHVzX3JlZyhkZXZfcHJpdiwgY3B1X3RyYW5zY29k ZXIsIHBvcnQpOworCisJdmFsID0gSTkxNV9SRUFEKGN0bCk7CiAJdmFsIHw9IERQX1RQX0NUTF9G RUNfRU5BQkxFOwotCUk5MTVfV1JJVEUoRFBfVFBfQ1RMKHBvcnQpLCB2YWwpOworCUk5MTVfV1JJ VEUoY3RsLCB2YWwpOwogCi0JaWYgKGludGVsX2RlX3dhaXRfZm9yX3NldChkZXZfcHJpdiwgRFBf VFBfU1RBVFVTKHBvcnQpLAorCWlmIChpbnRlbF9kZV93YWl0X2Zvcl9zZXQoZGV2X3ByaXYsIHN0 YXR1cywKIAkJCQkgIERQX1RQX1NUQVRVU19GRUNfRU5BQkxFX0xJVkUsIDEpKQogCQlEUk1fRVJS T1IoIlRpbWVkIG91dCB3YWl0aW5nIGZvciBGRUMgRW5hYmxlIFN0YXR1c1xuIik7CiB9CkBAIC0z MTU1LDE2ICszMTYwLDE5IEBAIHN0YXRpYyB2b2lkIGludGVsX2RkaV9kaXNhYmxlX2ZlY19zdGF0 ZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAkJCQkJY29uc3Qgc3RydWN0IGludGVs X2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiB7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2ID0gdG9faTkxNShlbmNvZGVyLT5iYXNlLmRldik7CisJZW51bSB0cmFuc2NvZGVyIGNw dV90cmFuc2NvZGVyID0gY3J0Y19zdGF0ZS0+Y3B1X3RyYW5zY29kZXI7CiAJZW51bSBwb3J0IHBv cnQgPSBlbmNvZGVyLT5wb3J0OworCWk5MTVfcmVnX3QgY3RsOwogCXUzMiB2YWw7CiAKIAlpZiAo IWNydGNfc3RhdGUtPmZlY19lbmFibGUpCiAJCXJldHVybjsKIAotCXZhbCA9IEk5MTVfUkVBRChE UF9UUF9DVEwocG9ydCkpOworCWN0bCA9IGludGVsX2RwX3RwX2N0bF9yZWcoZGV2X3ByaXYsIGNw dV90cmFuc2NvZGVyLCBwb3J0KTsKKwl2YWwgPSBJOTE1X1JFQUQoY3RsKTsKIAl2YWwgJj0gfkRQ X1RQX0NUTF9GRUNfRU5BQkxFOwotCUk5MTVfV1JJVEUoRFBfVFBfQ1RMKHBvcnQpLCB2YWwpOwot CVBPU1RJTkdfUkVBRChEUF9UUF9DVEwocG9ydCkpOworCUk5MTVfV1JJVEUoY3RsLCB2YWwpOwor CVBPU1RJTkdfUkVBRChjdGwpOwogfQogCiBzdGF0aWMgdm9pZCBpbnRlbF9kZGlfcHJlX2VuYWJs ZV9kcChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKQEAgLTMzMjYsNyArMzMzNCw5IEBA IHN0YXRpYyB2b2lkIGludGVsX2Rpc2FibGVfZGRpX2J1ZihzdHJ1Y3QgaW50ZWxfZW5jb2RlciAq ZW5jb2RlciwKIAkJCQkgIGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRl KQogewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZW5jb2Rl ci0+YmFzZS5kZXYpOworCWVudW0gdHJhbnNjb2RlciBjcHVfdHJhbnNjb2RlciA9IGNydGNfc3Rh dGUtPmNwdV90cmFuc2NvZGVyOwogCWVudW0gcG9ydCBwb3J0ID0gZW5jb2Rlci0+cG9ydDsKKwlp OTE1X3JlZ190IGN0bDsKIAlib29sIHdhaXQgPSBmYWxzZTsKIAl1MzIgdmFsOwogCkBAIC0zMzM3 LDEwICszMzQ3LDExIEBAIHN0YXRpYyB2b2lkIGludGVsX2Rpc2FibGVfZGRpX2J1ZihzdHJ1Y3Qg aW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAkJd2FpdCA9IHRydWU7CiAJfQogCi0JdmFsID0gSTkx NV9SRUFEKERQX1RQX0NUTChwb3J0KSk7CisJY3RsID0gaW50ZWxfZHBfdHBfY3RsX3JlZyhkZXZf cHJpdiwgY3B1X3RyYW5zY29kZXIsIHBvcnQpOworCXZhbCA9IEk5MTVfUkVBRChjdGwpOwogCXZh bCAmPSB+KERQX1RQX0NUTF9FTkFCTEUgfCBEUF9UUF9DVExfTElOS19UUkFJTl9NQVNLKTsKIAl2 YWwgfD0gRFBfVFBfQ1RMX0xJTktfVFJBSU5fUEFUMTsKLQlJOTE1X1dSSVRFKERQX1RQX0NUTChw b3J0KSwgdmFsKTsKKwlJOTE1X1dSSVRFKGN0bCwgdmFsKTsKIAogCS8qIERpc2FibGUgRkVDIGlu IERQIFNpbmsgKi8KIAlpbnRlbF9kZGlfZGlzYWJsZV9mZWNfc3RhdGUoZW5jb2RlciwgY3J0Y19z dGF0ZSk7CkBAIC0zNzY1LDEwICszNzc2LDEzIEBAIHN0YXRpYyB2b2lkIGludGVsX2RkaV9wcmVw YXJlX2xpbmtfcmV0cmFpbihzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQogCXN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdiA9CiAJCXRvX2k5MTUoaW50ZWxfZGlnX3BvcnQtPmJhc2Uu YmFzZS5kZXYpOwogCWVudW0gcG9ydCBwb3J0ID0gaW50ZWxfZGlnX3BvcnQtPmJhc2UucG9ydDsK KwlpOTE1X3JlZ190IGN0bDsKIAl1MzIgdmFsOwogCWJvb2wgd2FpdCA9IGZhbHNlOworCWVudW0g dHJhbnNjb2RlciBjcHVfdHJhbnNjb2RlciA9IGludGVsX2RwX2dldF90cmFuc2NvZGVyKGludGVs X2RwKTsKIAotCWlmIChJOTE1X1JFQUQoRFBfVFBfQ1RMKHBvcnQpKSAmIERQX1RQX0NUTF9FTkFC TEUpIHsKKwljdGwgPSBpbnRlbF9kcF90cF9jdGxfcmVnKGRldl9wcml2LCBjcHVfdHJhbnNjb2Rl ciwgcG9ydCk7CisJaWYgKEk5MTVfUkVBRChjdGwpICYgRFBfVFBfQ1RMX0VOQUJMRSkgewogCQl2 YWwgPSBJOTE1X1JFQUQoRERJX0JVRl9DVEwocG9ydCkpOwogCQlpZiAodmFsICYgRERJX0JVRl9D VExfRU5BQkxFKSB7CiAJCQl2YWwgJj0gfkRESV9CVUZfQ1RMX0VOQUJMRTsKQEAgLTM3NzYsMTEg KzM3OTAsMTEgQEAgc3RhdGljIHZvaWQgaW50ZWxfZGRpX3ByZXBhcmVfbGlua19yZXRyYWluKHN0 cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCiAJCQl3YWl0ID0gdHJ1ZTsKIAkJfQogCi0JCXZhbCA9 IEk5MTVfUkVBRChEUF9UUF9DVEwocG9ydCkpOworCQl2YWwgPSBJOTE1X1JFQUQoY3RsKTsKIAkJ dmFsICY9IH4oRFBfVFBfQ1RMX0VOQUJMRSB8IERQX1RQX0NUTF9MSU5LX1RSQUlOX01BU0spOwog CQl2YWwgfD0gRFBfVFBfQ1RMX0xJTktfVFJBSU5fUEFUMTsKLQkJSTkxNV9XUklURShEUF9UUF9D VEwocG9ydCksIHZhbCk7Ci0JCVBPU1RJTkdfUkVBRChEUF9UUF9DVEwocG9ydCkpOworCQlJOTE1 X1dSSVRFKGN0bCwgdmFsKTsKKwkJUE9TVElOR19SRUFEKGN0bCk7CiAKIAkJaWYgKHdhaXQpCiAJ CQlpbnRlbF93YWl0X2RkaV9idWZfaWRsZShkZXZfcHJpdiwgcG9ydCk7CkBAIC0zNzk1LDggKzM4 MDksOCBAQCBzdGF0aWMgdm9pZCBpbnRlbF9kZGlfcHJlcGFyZV9saW5rX3JldHJhaW4oc3RydWN0 IGludGVsX2RwICppbnRlbF9kcCkKIAkJaWYgKGRybV9kcF9lbmhhbmNlZF9mcmFtZV9jYXAoaW50 ZWxfZHAtPmRwY2QpKQogCQkJdmFsIHw9IERQX1RQX0NUTF9FTkhBTkNFRF9GUkFNRV9FTkFCTEU7 CiAJfQotCUk5MTVfV1JJVEUoRFBfVFBfQ1RMKHBvcnQpLCB2YWwpOwotCVBPU1RJTkdfUkVBRChE UF9UUF9DVEwocG9ydCkpOworCUk5MTVfV1JJVEUoY3RsLCB2YWwpOworCVBPU1RJTkdfUkVBRChj dGwpOwogCiAJaW50ZWxfZHAtPkRQIHw9IERESV9CVUZfQ1RMX0VOQUJMRTsKIAlJOTE1X1dSSVRF KERESV9CVUZfQ1RMKHBvcnQpLCBpbnRlbF9kcC0+RFApOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5X3R5cGVzLmggYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXlfdHlwZXMuaAppbmRleCBkODRhNjY0NTlkYWYu LmE4N2ZhMDY5OTRhZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9p bnRlbF9kaXNwbGF5X3R5cGVzLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9p bnRlbF9kaXNwbGF5X3R5cGVzLmgKQEAgLTEyMTQsNiArMTIxNCw3IEBAIHN0cnVjdCBpbnRlbF9k cCB7CiAJYm9vbCBjYW5fbXN0OyAvKiB0aGlzIHBvcnQgc3VwcG9ydHMgbXN0ICovCiAJYm9vbCBp c19tc3Q7CiAJaW50IGFjdGl2ZV9tc3RfbGlua3M7CisJZW51bSB0cmFuc2NvZGVyIG1zdF9tYXN0 ZXJfdHJhbnM7IC8qIE9ubHkgdmFsaWQgb24gVEdMKyAqLwogCS8qIGNvbm5lY3RvciBkaXJlY3Rs eSBhdHRhY2hlZCAtIHdvbid0IGJlIHVzZSBmb3IgbW9kZXNldCBpbiBtc3Qgd29ybGQgKi8KIAlz dHJ1Y3QgaW50ZWxfY29ubmVjdG9yICphdHRhY2hlZF9jb25uZWN0b3I7CiAKZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZHAuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2Rpc3BsYXkvaW50ZWxfZHAuYwppbmRleCAyMzkwOGRhMWNkNWQuLjk0MzM5MmZhYWVh MiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kcC5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZHAuYwpAQCAtMzIwOSw2ICsz MjA5LDUxIEBAIHN0YXRpYyB2b2lkIGNodl9wb3N0X2Rpc2FibGVfZHAoc3RydWN0IGludGVsX2Vu Y29kZXIgKmVuY29kZXIsCiAJdmx2X2RwaW9fcHV0KGRldl9wcml2KTsKIH0KIAoraTkxNV9yZWdf dCBpbnRlbF9kcF90cF9jdGxfcmVnKGNvbnN0IHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdiwKKwkJCSAgICAgICBlbnVtIHRyYW5zY29kZXIgY3B1X3RyYW5zY29kZXIsCisJCQkgICAg ICAgZW51bSBwb3J0IHBvcnQpCit7CisJaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPj0gMTIpIHsK KwkJV0FSTl9PTihjcHVfdHJhbnNjb2RlciA9PSBUUkFOU0NPREVSX0lOVkFMSUQpOworCQlyZXR1 cm4gVEdMX0RQX1RQX0NUTChjcHVfdHJhbnNjb2Rlcik7CisJfSBlbHNlIHsKKwkJcmV0dXJuIERQ X1RQX0NUTChwb3J0KTsKKwl9Cit9CisKK2k5MTVfcmVnX3QgaW50ZWxfZHBfdHBfc3RhdHVzX3Jl Zyhjb25zdCBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCisJCQkJICBlbnVtIHRy YW5zY29kZXIgY3B1X3RyYW5zY29kZXIsCisJCQkJICBlbnVtIHBvcnQgcG9ydCkKK3sKKwlpZiAo SU5URUxfR0VOKGRldl9wcml2KSA+PSAxMikgeworCQlXQVJOX09OKGNwdV90cmFuc2NvZGVyID09 IFRSQU5TQ09ERVJfSU5WQUxJRCk7CisJCXJldHVybiBUR0xfRFBfVFBfU1RBVFVTKGNwdV90cmFu c2NvZGVyKTsKKwl9IGVsc2UgeworCQlyZXR1cm4gRFBfVFBfU1RBVFVTKHBvcnQpOworCX0KK30K KworLyoKKyAqIFJldHVybiB0aGUgdHJhbnNjb2RlciB0aGF0IHRoaXMgaW50ZWxfZHAgcG9ydCBp cyBkcml2ZW4uCisgKiBXaGVuIGluIE1TVCBtb2RlIGl0IHdpbGwgcmV0dXJuIHRoZSBtYXN0ZXIg dHJhbnNjb2RlciBvZiB0aGUgTVNUIHNvIGRvIG5vdAorICogdXNlIGl0IHdoZW4gcmVhZGluZyBv ciB3cml0aW5nIHJlZ2lzdGVycyBpbiB0aGUgc2xhdmUgdHJhbnNjb2RlcnMuCisgKi8KK2VudW0g dHJhbnNjb2RlciBpbnRlbF9kcF9nZXRfdHJhbnNjb2RlcihzdHJ1Y3QgaW50ZWxfZHAgKmludGVs X2RwKQoreworCXN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvcjsKKwlzdHJ1Y3QgZHJt X2Nvbm5lY3Rvcl9zdGF0ZSAqY29ubl9zdGF0ZTsKKwlzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAq Y3J0Y19zdGF0ZTsKKworCWlmIChpbnRlbF9kcC0+aXNfbXN0KQorCQlyZXR1cm4gaW50ZWxfZHAt Pm1zdF9tYXN0ZXJfdHJhbnM7CisKKwljb25uZWN0b3IgPSBpbnRlbF9kcC0+YXR0YWNoZWRfY29u bmVjdG9yOworCWNvbm5fc3RhdGUgPSBjb25uZWN0b3ItPmJhc2Uuc3RhdGU7CisJY3J0Y19zdGF0 ZSA9IHRvX2ludGVsX2NydGNfc3RhdGUoY29ubl9zdGF0ZS0+Y3J0Yy0+c3RhdGUpOworCisJcmV0 dXJuIGNydGNfc3RhdGUtPmNwdV90cmFuc2NvZGVyOworfQorCiBzdGF0aWMgdm9pZAogX2ludGVs X2RwX3NldF9saW5rX3RyYWluKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAsCiAJCQkgdTMyICpE UCwKQEAgLTMyMjQsOCArMzI2OSwxMyBAQCBfaW50ZWxfZHBfc2V0X2xpbmtfdHJhaW4oc3RydWN0 IGludGVsX2RwICppbnRlbF9kcCwKIAkJCSAgICAgIGRwX3RyYWluX3BhdCAmIHRyYWluX3BhdF9t YXNrKTsKIAogCWlmIChIQVNfRERJKGRldl9wcml2KSkgewotCQl1MzIgdGVtcCA9IEk5MTVfUkVB RChEUF9UUF9DVEwocG9ydCkpOworCQllbnVtIHRyYW5zY29kZXIgY3B1X3RyYW5zY29kZXI7CisJ CWk5MTVfcmVnX3QgY3RsOworCQl1MzIgdGVtcDsKIAorCQljcHVfdHJhbnNjb2RlciA9IGludGVs X2RwX2dldF90cmFuc2NvZGVyKGludGVsX2RwKTsKKwkJY3RsID0gaW50ZWxfZHBfdHBfY3RsX3Jl ZyhkZXZfcHJpdiwgY3B1X3RyYW5zY29kZXIsIHBvcnQpOworCQl0ZW1wID0gSTkxNV9SRUFEKGN0 bCk7CiAJCWlmIChkcF90cmFpbl9wYXQgJiBEUF9MSU5LX1NDUkFNQkxJTkdfRElTQUJMRSkKIAkJ CXRlbXAgfD0gRFBfVFBfQ1RMX1NDUkFNQkxFX0RJU0FCTEU7CiAJCWVsc2UKQEAgLTMyNTAsNyAr MzMwMCw3IEBAIF9pbnRlbF9kcF9zZXRfbGlua190cmFpbihzdHJ1Y3QgaW50ZWxfZHAgKmludGVs X2RwLAogCQkJdGVtcCB8PSBEUF9UUF9DVExfTElOS19UUkFJTl9QQVQ0OwogCQkJYnJlYWs7CiAJ CX0KLQkJSTkxNV9XUklURShEUF9UUF9DVEwocG9ydCksIHRlbXApOworCQlJOTE1X1dSSVRFKGN0 bCwgdGVtcCk7CiAKIAl9IGVsc2UgaWYgKChJU19JVllCUklER0UoZGV2X3ByaXYpICYmIHBvcnQg PT0gUE9SVF9BKSB8fAogCQkgICAoSEFTX1BDSF9DUFQoZGV2X3ByaXYpICYmIHBvcnQgIT0gUE9S VF9BKSkgewpAQCAtMzk0MywxNSArMzk5MywyMSBAQCB2b2lkIGludGVsX2RwX3NldF9pZGxlX2xp bmtfdHJhaW4oc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYgPSBkcF90b19pOTE1KGludGVsX2RwKTsKIAlzdHJ1Y3QgaW50ZWxfZGln aXRhbF9wb3J0ICppbnRlbF9kaWdfcG9ydCA9IGRwX3RvX2RpZ19wb3J0KGludGVsX2RwKTsKIAll bnVtIHBvcnQgcG9ydCA9IGludGVsX2RpZ19wb3J0LT5iYXNlLnBvcnQ7CisJZW51bSB0cmFuc2Nv ZGVyIGNwdV90cmFuc2NvZGVyOworCWk5MTVfcmVnX3QgY3RsLCBzdGF0dXM7CiAJdTMyIHZhbDsK IAogCWlmICghSEFTX0RESShkZXZfcHJpdikpCiAJCXJldHVybjsKIAotCXZhbCA9IEk5MTVfUkVB RChEUF9UUF9DVEwocG9ydCkpOworCWNwdV90cmFuc2NvZGVyID0gaW50ZWxfZHBfZ2V0X3RyYW5z Y29kZXIoaW50ZWxfZHApOworCWN0bCA9IGludGVsX2RwX3RwX2N0bF9yZWcoZGV2X3ByaXYsIGNw dV90cmFuc2NvZGVyLCBwb3J0KTsKKwlzdGF0dXMgPSBpbnRlbF9kcF90cF9zdGF0dXNfcmVnKGRl dl9wcml2LCBjcHVfdHJhbnNjb2RlciwgcG9ydCk7CisKKwl2YWwgPSBJOTE1X1JFQUQoY3RsKTsK IAl2YWwgJj0gfkRQX1RQX0NUTF9MSU5LX1RSQUlOX01BU0s7CiAJdmFsIHw9IERQX1RQX0NUTF9M SU5LX1RSQUlOX0lETEU7Ci0JSTkxNV9XUklURShEUF9UUF9DVEwocG9ydCksIHZhbCk7CisJSTkx NV9XUklURShjdGwsIHZhbCk7CiAKIAkvKgogCSAqIE9uIFBPUlRfQSB3ZSBjYW4gaGF2ZSBvbmx5 IGVEUCBpbiBTU1QgbW9kZS4gVGhlcmUgdGhlIG9ubHkgcmVhc29uCkBAIC0zOTYzLDcgKzQwMTks NyBAQCB2b2lkIGludGVsX2RwX3NldF9pZGxlX2xpbmtfdHJhaW4oc3RydWN0IGludGVsX2RwICpp bnRlbF9kcCkKIAlpZiAocG9ydCA9PSBQT1JUX0EpCiAJCXJldHVybjsKIAotCWlmIChpbnRlbF9k ZV93YWl0X2Zvcl9zZXQoZGV2X3ByaXYsIERQX1RQX1NUQVRVUyhwb3J0KSwKKwlpZiAoaW50ZWxf ZGVfd2FpdF9mb3Jfc2V0KGRldl9wcml2LCBzdGF0dXMsCiAJCQkJICBEUF9UUF9TVEFUVVNfSURM RV9ET05FLCAxKSkKIAkJRFJNX0VSUk9SKCJUaW1lZCBvdXQgd2FpdGluZyBmb3IgRFAgaWRsZSBw YXR0ZXJuc1xuIik7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5 L2ludGVsX2RwLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RwLmgKaW5k ZXggNjU3YmJiMWY1ZWQwLi4xMDcxMjliNWQ5YTMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2Rpc3BsYXkvaW50ZWxfZHAuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNw bGF5L2ludGVsX2RwLmgKQEAgLTExLDYgKzExLDcgQEAKICNpbmNsdWRlIDxkcm0vaTkxNV9kcm0u aD4KIAogI2luY2x1ZGUgImk5MTVfcmVnLmgiCisjaW5jbHVkZSAiaW50ZWxfZGlzcGxheS5oIgog CiBlbnVtIHBpcGU7CiBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZTsKQEAgLTExMyw2ICsxMTQs MTQgQEAgaW50IGludGVsX2RwX2xpbmtfcmVxdWlyZWQoaW50IHBpeGVsX2Nsb2NrLCBpbnQgYnBw KTsKIGludCBpbnRlbF9kcF9tYXhfZGF0YV9yYXRlKGludCBtYXhfbGlua19jbG9jaywgaW50IG1h eF9sYW5lcyk7CiBib29sIGludGVsX2RpZ2l0YWxfcG9ydF9jb25uZWN0ZWQoc3RydWN0IGludGVs X2VuY29kZXIgKmVuY29kZXIpOwogCitpOTE1X3JlZ190IGludGVsX2RwX3RwX2N0bF9yZWcoY29u c3Qgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAorCQkJICAgICAgIGVudW0gdHJh bnNjb2RlciBjcHVfdHJhbnNjb2RlciwKKwkJCSAgICAgICBlbnVtIHBvcnQgcG9ydCk7CitpOTE1 X3JlZ190IGludGVsX2RwX3RwX3N0YXR1c19yZWcoY29uc3Qgc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2LAorCQkJCSAgZW51bSB0cmFuc2NvZGVyIGNwdV90cmFuc2NvZGVyLAorCQkJ CSAgZW51bSBwb3J0IHBvcnQpOworZW51bSB0cmFuc2NvZGVyIGludGVsX2RwX2dldF90cmFuc2Nv ZGVyKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApOworCiBzdGF0aWMgaW5saW5lIHVuc2lnbmVk IGludCBpbnRlbF9kcF91bnVzZWRfbGFuZV9tYXNrKGludCBsYW5lX2NvdW50KQogewogCXJldHVy biB+KCgxIDw8IGxhbmVfY291bnQpIC0gMSkgJiAweGY7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RwX21zdC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv ZGlzcGxheS9pbnRlbF9kcF9tc3QuYwppbmRleCA4MDAyZGNhOWI3MzQuLjYzMGRiMmZhZGFjYSAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kcF9tc3QuYwor KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RwX21zdC5jCkBAIC0zNTQs OSArMzU0LDExIEBAIHN0YXRpYyB2b2lkIGludGVsX21zdF9wcmVfcGxsX2VuYWJsZV9kcChzdHJ1 Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpp bnRlbF9kaWdfcG9ydCA9IGludGVsX21zdC0+cHJpbWFyeTsKIAlzdHJ1Y3QgaW50ZWxfZHAgKmlu dGVsX2RwID0gJmludGVsX2RpZ19wb3J0LT5kcDsKIAotCWlmIChpbnRlbF9kcC0+YWN0aXZlX21z dF9saW5rcyA9PSAwKQorCWlmIChpbnRlbF9kcC0+YWN0aXZlX21zdF9saW5rcyA9PSAwKSB7CisJ CWludGVsX2RwLT5tc3RfbWFzdGVyX3RyYW5zID0gcGlwZV9jb25maWctPm1zdF9tYXN0ZXJfdHJh bnM7CiAJCWludGVsX2RpZ19wb3J0LT5iYXNlLnByZV9wbGxfZW5hYmxlKCZpbnRlbF9kaWdfcG9y dC0+YmFzZSwKIAkJCQkJCSAgICBwaXBlX2NvbmZpZywgTlVMTCk7CisJfQogfQogCiBzdGF0aWMg dm9pZCBpbnRlbF9tc3RfcG9zdF9wbGxfZGlzYWJsZV9kcChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAq ZW5jb2RlciwKQEAgLTM4NCw2ICszODYsNyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9tc3RfcHJlX2Vu YWJsZV9kcChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAllbnVtIHBvcnQgcG9ydCA9 IGludGVsX2RpZ19wb3J0LT5iYXNlLnBvcnQ7CiAJc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29u bmVjdG9yID0KIAkJdG9faW50ZWxfY29ubmVjdG9yKGNvbm5fc3RhdGUtPmNvbm5lY3Rvcik7CisJ aTkxNV9yZWdfdCBzdGF0dXM7CiAJaW50IHJldDsKIAl1MzIgdGVtcDsKIApAQCAtNDEyLDggKzQx NSwxMiBAQCBzdGF0aWMgdm9pZCBpbnRlbF9tc3RfcHJlX2VuYWJsZV9kcChzdHJ1Y3QgaW50ZWxf ZW5jb2RlciAqZW5jb2RlciwKIAkJRFJNX0VSUk9SKCJmYWlsZWQgdG8gYWxsb2NhdGUgdmNwaVxu Iik7CiAKIAlpbnRlbF9kcC0+YWN0aXZlX21zdF9saW5rcysrOwotCXRlbXAgPSBJOTE1X1JFQUQo RFBfVFBfU1RBVFVTKHBvcnQpKTsKLQlJOTE1X1dSSVRFKERQX1RQX1NUQVRVUyhwb3J0KSwgdGVt cCk7CisKKwlzdGF0dXMgPSBpbnRlbF9kcF90cF9zdGF0dXNfcmVnKGRldl9wcml2LAorCQkJCQlw aXBlX2NvbmZpZy0+bXN0X21hc3Rlcl90cmFucywKKwkJCQkJcG9ydCk7CisJdGVtcCA9IEk5MTVf UkVBRChzdGF0dXMpOworCUk5MTVfV1JJVEUoc3RhdHVzLCB0ZW1wKTsKIAogCXJldCA9IGRybV9k cF91cGRhdGVfcGF5bG9hZF9wYXJ0MSgmaW50ZWxfZHAtPm1zdF9tZ3IpOwogCkBAIC00MjksMTAg KzQzNiwxNSBAQCBzdGF0aWMgdm9pZCBpbnRlbF9tc3RfZW5hYmxlX2RwKHN0cnVjdCBpbnRlbF9l bmNvZGVyICplbmNvZGVyLAogCXN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAgPSAmaW50ZWxfZGln X3BvcnQtPmRwOwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUo ZW5jb2Rlci0+YmFzZS5kZXYpOwogCWVudW0gcG9ydCBwb3J0ID0gaW50ZWxfZGlnX3BvcnQtPmJh c2UucG9ydDsKKwlpOTE1X3JlZ190IHN0YXR1czsKIAogCURSTV9ERUJVR19LTVMoImFjdGl2ZSBs aW5rcyAlZFxuIiwgaW50ZWxfZHAtPmFjdGl2ZV9tc3RfbGlua3MpOwogCi0JaWYgKGludGVsX2Rl X3dhaXRfZm9yX3NldChkZXZfcHJpdiwgRFBfVFBfU1RBVFVTKHBvcnQpLAorCXN0YXR1cyA9IGlu dGVsX2RwX3RwX3N0YXR1c19yZWcoZGV2X3ByaXYsCisJCQkJCXBpcGVfY29uZmlnLT5tc3RfbWFz dGVyX3RyYW5zLAorCQkJCQlwb3J0KTsKKworCWlmIChpbnRlbF9kZV93YWl0X2Zvcl9zZXQoZGV2 X3ByaXYsIHN0YXR1cywKIAkJCQkgIERQX1RQX1NUQVRVU19BQ1RfU0VOVCwgMSkpCiAJCURSTV9F UlJPUigiVGltZWQgb3V0IHdhaXRpbmcgZm9yIEFDVCBzZW50XG4iKTsKIApkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfcmVnLmgKaW5kZXggYmZmOWVlMTkxODMyLi5mZmZhZWQwY2EzY2QgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9yZWcuaApAQCAtOTQ1NCw3ICs5NDU0LDkgQEAgZW51bSBza2xfcG93ZXJfZ2F0ZSB7CiAv KiBEaXNwbGF5UG9ydCBUcmFuc3BvcnQgQ29udHJvbCAqLwogI2RlZmluZSBfRFBfVFBfQ1RMX0EJ CQkweDY0MDQwCiAjZGVmaW5lIF9EUF9UUF9DVExfQgkJCTB4NjQxNDAKKyNkZWZpbmUgX1RHTF9E UF9UUF9DVExfQQkJMHg2MDU0MAogI2RlZmluZSBEUF9UUF9DVEwocG9ydCkgX01NSU9fUE9SVChw b3J0LCBfRFBfVFBfQ1RMX0EsIF9EUF9UUF9DVExfQikKKyNkZWZpbmUgVEdMX0RQX1RQX0NUTCh0 cmFuKSBfTU1JT19UUkFOUzIoKHRyYW4pLCBfVEdMX0RQX1RQX0NUTF9BKQogI2RlZmluZSAgRFBf VFBfQ1RMX0VOQUJMRQkJCSgxIDw8IDMxKQogI2RlZmluZSAgRFBfVFBfQ1RMX0ZFQ19FTkFCTEUJ CQkoMSA8PCAzMCkKICNkZWZpbmUgIERQX1RQX0NUTF9NT0RFX1NTVAkJCSgwIDw8IDI3KQpAQCAt OTQ3NCw3ICs5NDc2LDkgQEAgZW51bSBza2xfcG93ZXJfZ2F0ZSB7CiAvKiBEaXNwbGF5UG9ydCBU cmFuc3BvcnQgU3RhdHVzICovCiAjZGVmaW5lIF9EUF9UUF9TVEFUVVNfQQkJCTB4NjQwNDQKICNk ZWZpbmUgX0RQX1RQX1NUQVRVU19CCQkJMHg2NDE0NAorI2RlZmluZSBfVEdMX0RQX1RQX1NUQVRV U19BCQkweDYwNTQ0CiAjZGVmaW5lIERQX1RQX1NUQVRVUyhwb3J0KSBfTU1JT19QT1JUKHBvcnQs IF9EUF9UUF9TVEFUVVNfQSwgX0RQX1RQX1NUQVRVU19CKQorI2RlZmluZSBUR0xfRFBfVFBfU1RB VFVTKHRyYW4pIF9NTUlPX1RSQU5TMigodHJhbiksIF9UR0xfRFBfVFBfU1RBVFVTX0EpCiAjZGVm aW5lICBEUF9UUF9TVEFUVVNfRkVDX0VOQUJMRV9MSVZFCQkoMSA8PCAyOCkKICNkZWZpbmUgIERQ X1RQX1NUQVRVU19JRExFX0RPTkUJCQkoMSA8PCAyNSkKICNkZWZpbmUgIERQX1RQX1NUQVRVU19B Q1RfU0VOVAkJCSgxIDw8IDI0KQotLSAKMi4yMy4wCgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBs aXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1h bi9saXN0aW5mby9pbnRlbC1nZng=