From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville Syrjala Subject: [PATCH 09/18] drm/i915: Pass intel_encoder to infoframe functions Date: Thu, 20 Sep 2018 21:51:36 +0300 Message-ID: <20180920185145.1912-10-ville.syrjala@linux.intel.com> References: <20180920185145.1912-1-ville.syrjala@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180920185145.1912-1-ville.syrjala@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KCk1h a2UgbGlmZSBzaW1wbGVyIGJ5IHBhc3NpbmcgYXJvdW5kIGludGVsX2VuY29kZXIgaW5zdGVhZCBv Zgpkcm1fZW5jb2Rlci4KCkByMUAKaWRlbnRpZmllciBGID1+ICJpbmZvZnJhbWUiOwppZGVudGlm aWVyIEksIE07CkBACkYoCi0gc3RydWN0IGRybV9lbmNvZGVyICpJCisgc3RydWN0IGludGVsX2Vu Y29kZXIgKkkKICAsIC4uLikKewo8Li4uCigKLSBJLT5NCisgSS0+YmFzZS5NCnwKLSBJCisgJkkt PmJhc2UKKQouLi4+Cn0KCkByMkAKaWRlbnRpZmllciBGID1+ICJpbmZvZnJhbWUiOwppZGVudGlm aWVyIEk7CnR5cGUgVCwgU1Q7CkBAClNUIHsKLi4uCglUICgqRikoCi0JICAgICAgIHN0cnVjdCBk cm1fZW5jb2RlciAqSQorCSAgICAgICBzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcgoJICAg ICAgICwgLi4uKTsKLi4uCn07CgpAQAppZGVudGlmaWVyIHIxLkY7CmV4cHJlc3Npb24gRTsKQEAK RigKLSBFCisgdG9faW50ZWxfZW5jb2RlcihFKQogICwuLi4pCgpAQAppZGVudGlmaWVyIHIyLkY7 CmV4cHJlc3Npb24gRSwgWDsKQEAKKApYLkYoCi0gICBFCisgICB0b19pbnRlbF9lbmNvZGVyKEUp CiAgICAsLi4uKQp8ClgtPkYoCi0gICAgRQorICAgIHRvX2ludGVsX2VuY29kZXIoRSkKICAgICAs Li4uKQopCgpAQApleHByZXNzaW9uIEU7CkBACigKLSB0b19pbnRlbF9lbmNvZGVyKCZFLT5iYXNl KQorIEUKfAotIHRvX2ludGVsX2VuY29kZXIoJkUtPmJhc2UuYmFzZSkKKyAmRS0+YmFzZQopCgpA QAppZGVudGlmaWVyIEQsIE07CmV4cHJlc3Npb24gRTsKQEAKIEQgPSBlbmNfdG9fZGlnX3BvcnQo JkUtPmJhc2UpCjwuLi4KKAotIEQtPmJhc2UuTQorIEUtPk0KfAotICZELT5iYXNlCisgRQopCi4u Lj4KCkBACmlkZW50aWZpZXIgRDsKZXhwcmVzc2lvbiBFOwp0eXBlIFQ7CkBACi0gVCBEID0gZW5j X3RvX2RpZ19wb3J0KEUpOwouLi4gd2hlbiAhPSBECgpTaWduZWQtb2ZmLWJ5OiBWaWxsZSBTeXJq w6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2RkaS5jICB8ICAgNiArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZHJ2LmggIHwgICA2ICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMgfCAxMjkg KysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX3Bzci5jICB8ICAgMyArLQogNCBmaWxlcyBjaGFuZ2VkLCA3MSBpbnNlcnRpb25z KCspLCA3MyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kZGkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jCmluZGV4IGI2OTEw YzhiNGUwOC4uMDg2ZTNmOTQwNTg2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kZGkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYwpAQCAtMjk0 Nyw3ICsyOTQ3LDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfZGRpX3ByZV9lbmFibGVfaGRtaShzdHJ1 Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAogCWludGVsX2RkaV9lbmFibGVfcGlwZV9jbG9j ayhjcnRjX3N0YXRlKTsKIAotCWludGVsX2RpZ19wb3J0LT5zZXRfaW5mb2ZyYW1lcygmZW5jb2Rl ci0+YmFzZSwKKwlpbnRlbF9kaWdfcG9ydC0+c2V0X2luZm9mcmFtZXMoZW5jb2RlciwKIAkJCQkg ICAgICAgY3J0Y19zdGF0ZS0+aGFzX2luZm9mcmFtZSwKIAkJCQkgICAgICAgY3J0Y19zdGF0ZSwg Y29ubl9zdGF0ZSk7CiB9CkBAIC0zMDQ2LDcgKzMwNDYsNyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9k ZGlfcG9zdF9kaXNhYmxlX2hkbWkoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJc3Ry dWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqZGlnX3BvcnQgPSBlbmNfdG9fZGlnX3BvcnQoJmVuY29k ZXItPmJhc2UpOwogCXN0cnVjdCBpbnRlbF9oZG1pICppbnRlbF9oZG1pID0gJmRpZ19wb3J0LT5o ZG1pOwogCi0JZGlnX3BvcnQtPnNldF9pbmZvZnJhbWVzKCZlbmNvZGVyLT5iYXNlLCBmYWxzZSwK KwlkaWdfcG9ydC0+c2V0X2luZm9mcmFtZXMoZW5jb2RlciwgZmFsc2UsCiAJCQkJIG9sZF9jcnRj X3N0YXRlLCBvbGRfY29ubl9zdGF0ZSk7CiAKIAlpbnRlbF9kZGlfZGlzYWJsZV9waXBlX2Nsb2Nr KG9sZF9jcnRjX3N0YXRlKTsKQEAgLTMzOTAsNyArMzM5MCw3IEBAIHZvaWQgaW50ZWxfZGRpX2dl dF9jb25maWcoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJCXBpcGVfY29uZmlnLT5o YXNfaGRtaV9zaW5rID0gdHJ1ZTsKIAkJaW50ZWxfZGlnX3BvcnQgPSBlbmNfdG9fZGlnX3BvcnQo JmVuY29kZXItPmJhc2UpOwogCi0JCWlmIChpbnRlbF9kaWdfcG9ydC0+aW5mb2ZyYW1lX2VuYWJs ZWQoJmVuY29kZXItPmJhc2UsIHBpcGVfY29uZmlnKSkKKwkJaWYgKGludGVsX2RpZ19wb3J0LT5p bmZvZnJhbWVfZW5hYmxlZChlbmNvZGVyLCBwaXBlX2NvbmZpZykpCiAJCQlwaXBlX2NvbmZpZy0+ aGFzX2luZm9mcmFtZSA9IHRydWU7CiAKIAkJaWYgKCh0ZW1wICYgVFJBTlNfRERJX0hETUlfU0NS QU1CTElOR19NQVNLKSA9PQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAppbmRleCBiZjFjMzg3Mjhh NTkuLmUwZjNhNzlmYzc1ZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKQEAgLTExNzMsMTUg KzExNzMsMTUgQEAgc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCB7CiAJZW51bSBpbnRlbF9kaXNw bGF5X3Bvd2VyX2RvbWFpbiBkZGlfaW9fcG93ZXJfZG9tYWluOwogCWVudW0gdGNfcG9ydF90eXBl IHRjX3R5cGU7CiAKLQl2b2lkICgqd3JpdGVfaW5mb2ZyYW1lKShzdHJ1Y3QgZHJtX2VuY29kZXIg KmVuY29kZXIsCisJdm9pZCAoKndyaXRlX2luZm9mcmFtZSkoc3RydWN0IGludGVsX2VuY29kZXIg KmVuY29kZXIsCiAJCQkJY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUs CiAJCQkJdW5zaWduZWQgaW50IHR5cGUsCiAJCQkJY29uc3Qgdm9pZCAqZnJhbWUsIHNzaXplX3Qg bGVuKTsKLQl2b2lkICgqc2V0X2luZm9mcmFtZXMpKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2Rl ciwKKwl2b2lkICgqc2V0X2luZm9mcmFtZXMpKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVy LAogCQkJICAgICAgIGJvb2wgZW5hYmxlLAogCQkJICAgICAgIGNvbnN0IHN0cnVjdCBpbnRlbF9j cnRjX3N0YXRlICpjcnRjX3N0YXRlLAogCQkJICAgICAgIGNvbnN0IHN0cnVjdCBkcm1fY29ubmVj dG9yX3N0YXRlICpjb25uX3N0YXRlKTsKLQlib29sICgqaW5mb2ZyYW1lX2VuYWJsZWQpKHN0cnVj dCBkcm1fZW5jb2RlciAqZW5jb2RlciwKKwlib29sICgqaW5mb2ZyYW1lX2VuYWJsZWQpKHN0cnVj dCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCQkJCSAgY29uc3Qgc3RydWN0IGludGVsX2NydGNf c3RhdGUgKnBpcGVfY29uZmlnKTsKIH07CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2hkbWkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkbWkuYwppbmRl eCAzYjU2YWIyNTMxNzEuLjQ1NGY1NzAyNzVlOSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfaGRtaS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkbWku YwpAQCAtMTQ4LDE0ICsxNDgsMTMgQEAgaHN3X2RpcF9kYXRhX3JlZyhzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYsCiAJfQogfQogCi1zdGF0aWMgdm9pZCBnNHhfd3JpdGVfaW5mb2Zy YW1lKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciwKK3N0YXRpYyB2b2lkIGc0eF93cml0ZV9p bmZvZnJhbWUoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJCQkJY29uc3Qgc3RydWN0 IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCiAJCQkJdW5zaWduZWQgaW50IHR5cGUsCiAJ CQkJY29uc3Qgdm9pZCAqZnJhbWUsIHNzaXplX3QgbGVuKQogewogCWNvbnN0IHUzMiAqZGF0YSA9 IGZyYW1lOwotCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBlbmNvZGVyLT5kZXY7Ci0Jc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShkZXYpOworCXN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZW5jb2Rlci0+YmFzZS5kZXYpOwogCXUz MiB2YWwgPSBJOTE1X1JFQUQoVklERU9fRElQX0NUTCk7CiAJaW50IGk7CiAKQEAgLTE4NiwzMSAr MTg1LDI5IEBAIHN0YXRpYyB2b2lkIGc0eF93cml0ZV9pbmZvZnJhbWUoc3RydWN0IGRybV9lbmNv ZGVyICplbmNvZGVyLAogCVBPU1RJTkdfUkVBRChWSURFT19ESVBfQ1RMKTsKIH0KIAotc3RhdGlj IGJvb2wgZzR4X2luZm9mcmFtZV9lbmFibGVkKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciwK K3N0YXRpYyBib29sIGc0eF9pbmZvZnJhbWVfZW5hYmxlZChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAq ZW5jb2RlciwKIAkJCQkgIGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZp ZykKIHsKLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGVuY29k ZXItPmRldik7Ci0Jc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQgPSBl bmNfdG9fZGlnX3BvcnQoZW5jb2Rlcik7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2ID0gdG9faTkxNShlbmNvZGVyLT5iYXNlLmRldik7CiAJdTMyIHZhbCA9IEk5MTVfUkVBRChW SURFT19ESVBfQ1RMKTsKIAogCWlmICgodmFsICYgVklERU9fRElQX0VOQUJMRSkgPT0gMCkKIAkJ cmV0dXJuIGZhbHNlOwogCi0JaWYgKCh2YWwgJiBWSURFT19ESVBfUE9SVF9NQVNLKSAhPSBWSURF T19ESVBfUE9SVChpbnRlbF9kaWdfcG9ydC0+YmFzZS5wb3J0KSkKKwlpZiAoKHZhbCAmIFZJREVP X0RJUF9QT1JUX01BU0spICE9IFZJREVPX0RJUF9QT1JUKGVuY29kZXItPnBvcnQpKQogCQlyZXR1 cm4gZmFsc2U7CiAKIAlyZXR1cm4gdmFsICYgKFZJREVPX0RJUF9FTkFCTEVfQVZJIHwKIAkJICAg ICAgVklERU9fRElQX0VOQUJMRV9WRU5ET1IgfCBWSURFT19ESVBfRU5BQkxFX1NQRCk7CiB9CiAK LXN0YXRpYyB2b2lkIGlieF93cml0ZV9pbmZvZnJhbWUoc3RydWN0IGRybV9lbmNvZGVyICplbmNv ZGVyLAorc3RhdGljIHZvaWQgaWJ4X3dyaXRlX2luZm9mcmFtZShzdHJ1Y3QgaW50ZWxfZW5jb2Rl ciAqZW5jb2RlciwKIAkJCQljb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0 ZSwKIAkJCQl1bnNpZ25lZCBpbnQgdHlwZSwKIAkJCQljb25zdCB2b2lkICpmcmFtZSwgc3NpemVf dCBsZW4pCiB7CiAJY29uc3QgdTMyICpkYXRhID0gZnJhbWU7Ci0Jc3RydWN0IGRybV9kZXZpY2Ug KmRldiA9IGVuY29kZXItPmRldjsKLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYg PSB0b19pOTE1KGRldik7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9f aTkxNShlbmNvZGVyLT5iYXNlLmRldik7CiAJc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMg PSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPmJhc2UuY3J0Yyk7CiAJaTkxNV9yZWdfdCByZWcg PSBUVklERU9fRElQX0NUTChpbnRlbF9jcnRjLT5waXBlKTsKIAl1MzIgdmFsID0gSTkxNV9SRUFE KHJlZyk7CkBAIC0yNDMsMTEgKzI0MCwxMCBAQCBzdGF0aWMgdm9pZCBpYnhfd3JpdGVfaW5mb2Zy YW1lKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciwKIAlQT1NUSU5HX1JFQUQocmVnKTsKIH0K IAotc3RhdGljIGJvb2wgaWJ4X2luZm9mcmFtZV9lbmFibGVkKHN0cnVjdCBkcm1fZW5jb2RlciAq ZW5jb2RlciwKK3N0YXRpYyBib29sIGlieF9pbmZvZnJhbWVfZW5hYmxlZChzdHJ1Y3QgaW50ZWxf ZW5jb2RlciAqZW5jb2RlciwKIAkJCQkgIGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpw aXBlX2NvbmZpZykKIHsKLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19p OTE1KGVuY29kZXItPmRldik7Ci0Jc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGln X3BvcnQgPSBlbmNfdG9fZGlnX3BvcnQoZW5jb2Rlcik7CisJc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2ID0gdG9faTkxNShlbmNvZGVyLT5iYXNlLmRldik7CiAJZW51bSBwaXBlIHBp cGUgPSB0b19pbnRlbF9jcnRjKHBpcGVfY29uZmlnLT5iYXNlLmNydGMpLT5waXBlOwogCWk5MTVf cmVnX3QgcmVnID0gVFZJREVPX0RJUF9DVEwocGlwZSk7CiAJdTMyIHZhbCA9IEk5MTVfUkVBRChy ZWcpOwpAQCAtMjU1LDcgKzI1MSw3IEBAIHN0YXRpYyBib29sIGlieF9pbmZvZnJhbWVfZW5hYmxl ZChzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsCiAJaWYgKCh2YWwgJiBWSURFT19ESVBfRU5B QkxFKSA9PSAwKQogCQlyZXR1cm4gZmFsc2U7CiAKLQlpZiAoKHZhbCAmIFZJREVPX0RJUF9QT1JU X01BU0spICE9IFZJREVPX0RJUF9QT1JUKGludGVsX2RpZ19wb3J0LT5iYXNlLnBvcnQpKQorCWlm ICgodmFsICYgVklERU9fRElQX1BPUlRfTUFTSykgIT0gVklERU9fRElQX1BPUlQoZW5jb2Rlci0+ cG9ydCkpCiAJCXJldHVybiBmYWxzZTsKIAogCXJldHVybiB2YWwgJiAoVklERU9fRElQX0VOQUJM RV9BVkkgfApAQCAtMjYzLDE0ICsyNTksMTMgQEAgc3RhdGljIGJvb2wgaWJ4X2luZm9mcmFtZV9l bmFibGVkKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciwKIAkJICAgICAgVklERU9fRElQX0VO QUJMRV9TUEQgfCBWSURFT19ESVBfRU5BQkxFX0dDUCk7CiB9CiAKLXN0YXRpYyB2b2lkIGNwdF93 cml0ZV9pbmZvZnJhbWUoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLAorc3RhdGljIHZvaWQg Y3B0X3dyaXRlX2luZm9mcmFtZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAkJCQlj b25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKIAkJCQl1bnNpZ25lZCBp bnQgdHlwZSwKIAkJCQljb25zdCB2b2lkICpmcmFtZSwgc3NpemVfdCBsZW4pCiB7CiAJY29uc3Qg dTMyICpkYXRhID0gZnJhbWU7Ci0Jc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGVuY29kZXItPmRl djsKLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRldik7CisJ c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShlbmNvZGVyLT5iYXNl LmRldik7CiAJc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMgPSB0b19pbnRlbF9jcnRjKGNy dGNfc3RhdGUtPmJhc2UuY3J0Yyk7CiAJaTkxNV9yZWdfdCByZWcgPSBUVklERU9fRElQX0NUTChp bnRlbF9jcnRjLT5waXBlKTsKIAl1MzIgdmFsID0gSTkxNV9SRUFEKHJlZyk7CkBAIC0zMDYsMTAg KzMwMSwxMCBAQCBzdGF0aWMgdm9pZCBjcHRfd3JpdGVfaW5mb2ZyYW1lKHN0cnVjdCBkcm1fZW5j b2RlciAqZW5jb2RlciwKIAlQT1NUSU5HX1JFQUQocmVnKTsKIH0KIAotc3RhdGljIGJvb2wgY3B0 X2luZm9mcmFtZV9lbmFibGVkKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciwKK3N0YXRpYyBi b29sIGNwdF9pbmZvZnJhbWVfZW5hYmxlZChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwK IAkJCQkgIGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZykKIHsKLQlz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGVuY29kZXItPmRldik7 CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShlbmNvZGVyLT5i YXNlLmRldik7CiAJZW51bSBwaXBlIHBpcGUgPSB0b19pbnRlbF9jcnRjKHBpcGVfY29uZmlnLT5i YXNlLmNydGMpLT5waXBlOwogCXUzMiB2YWwgPSBJOTE1X1JFQUQoVFZJREVPX0RJUF9DVEwocGlw ZSkpOwogCkBAIC0zMjEsMTQgKzMxNiwxMyBAQCBzdGF0aWMgYm9vbCBjcHRfaW5mb2ZyYW1lX2Vu YWJsZWQoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLAogCQkgICAgICBWSURFT19ESVBfRU5B QkxFX1NQRCB8IFZJREVPX0RJUF9FTkFCTEVfR0NQKTsKIH0KIAotc3RhdGljIHZvaWQgdmx2X3dy aXRlX2luZm9mcmFtZShzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsCitzdGF0aWMgdm9pZCB2 bHZfd3JpdGVfaW5mb2ZyYW1lKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCQkJCWNv bnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAogCQkJCXVuc2lnbmVkIGlu dCB0eXBlLAogCQkJCWNvbnN0IHZvaWQgKmZyYW1lLCBzc2l6ZV90IGxlbikKIHsKIAljb25zdCB1 MzIgKmRhdGEgPSBmcmFtZTsKLQlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gZW5jb2Rlci0+ZGV2 OwotCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZGV2KTsKKwlz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGVuY29kZXItPmJhc2Uu ZGV2KTsKIAlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0 Y19zdGF0ZS0+YmFzZS5jcnRjKTsKIAlpOTE1X3JlZ190IHJlZyA9IFZMVl9UVklERU9fRElQX0NU TChpbnRlbF9jcnRjLT5waXBlKTsKIAl1MzIgdmFsID0gSTkxNV9SRUFEKHJlZyk7CkBAIC0zNjEs MTggKzM1NSwxNyBAQCBzdGF0aWMgdm9pZCB2bHZfd3JpdGVfaW5mb2ZyYW1lKHN0cnVjdCBkcm1f ZW5jb2RlciAqZW5jb2RlciwKIAlQT1NUSU5HX1JFQUQocmVnKTsKIH0KIAotc3RhdGljIGJvb2wg dmx2X2luZm9mcmFtZV9lbmFibGVkKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciwKK3N0YXRp YyBib29sIHZsdl9pbmZvZnJhbWVfZW5hYmxlZChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2Rl ciwKIAkJCQkgIGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZykKIHsK LQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGVuY29kZXItPmRl dik7Ci0Jc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQgPSBlbmNfdG9f ZGlnX3BvcnQoZW5jb2Rlcik7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0g dG9faTkxNShlbmNvZGVyLT5iYXNlLmRldik7CiAJZW51bSBwaXBlIHBpcGUgPSB0b19pbnRlbF9j cnRjKHBpcGVfY29uZmlnLT5iYXNlLmNydGMpLT5waXBlOwogCXUzMiB2YWwgPSBJOTE1X1JFQUQo VkxWX1RWSURFT19ESVBfQ1RMKHBpcGUpKTsKIAogCWlmICgodmFsICYgVklERU9fRElQX0VOQUJM RSkgPT0gMCkKIAkJcmV0dXJuIGZhbHNlOwogCi0JaWYgKCh2YWwgJiBWSURFT19ESVBfUE9SVF9N QVNLKSAhPSBWSURFT19ESVBfUE9SVChpbnRlbF9kaWdfcG9ydC0+YmFzZS5wb3J0KSkKKwlpZiAo KHZhbCAmIFZJREVPX0RJUF9QT1JUX01BU0spICE9IFZJREVPX0RJUF9QT1JUKGVuY29kZXItPnBv cnQpKQogCQlyZXR1cm4gZmFsc2U7CiAKIAlyZXR1cm4gdmFsICYgKFZJREVPX0RJUF9FTkFCTEVf QVZJIHwKQEAgLTM4MCwxNCArMzczLDEzIEBAIHN0YXRpYyBib29sIHZsdl9pbmZvZnJhbWVfZW5h YmxlZChzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsCiAJCSAgICAgIFZJREVPX0RJUF9FTkFC TEVfU1BEIHwgVklERU9fRElQX0VOQUJMRV9HQ1ApOwogfQogCi1zdGF0aWMgdm9pZCBoc3dfd3Jp dGVfaW5mb2ZyYW1lKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciwKK3N0YXRpYyB2b2lkIGhz d193cml0ZV9pbmZvZnJhbWUoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJCQkJY29u c3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCiAJCQkJdW5zaWduZWQgaW50 IHR5cGUsCiAJCQkJY29uc3Qgdm9pZCAqZnJhbWUsIHNzaXplX3QgbGVuKQogewogCWNvbnN0IHUz MiAqZGF0YSA9IGZyYW1lOwotCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBlbmNvZGVyLT5kZXY7 Ci0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShkZXYpOworCXN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZW5jb2Rlci0+YmFzZS5k ZXYpOwogCWVudW0gdHJhbnNjb2RlciBjcHVfdHJhbnNjb2RlciA9IGNydGNfc3RhdGUtPmNwdV90 cmFuc2NvZGVyOwogCWk5MTVfcmVnX3QgY3RsX3JlZyA9IEhTV19UVklERU9fRElQX0NUTChjcHVf dHJhbnNjb2Rlcik7CiAJaW50IGRhdGFfc2l6ZSA9IHR5cGUgPT0gRFBfU0RQX1ZTQyA/CkBAIC00 MTUsMTAgKzQwNywxMCBAQCBzdGF0aWMgdm9pZCBoc3dfd3JpdGVfaW5mb2ZyYW1lKHN0cnVjdCBk cm1fZW5jb2RlciAqZW5jb2RlciwKIAlQT1NUSU5HX1JFQUQoY3RsX3JlZyk7CiB9CiAKLXN0YXRp YyBib29sIGhzd19pbmZvZnJhbWVfZW5hYmxlZChzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIs CitzdGF0aWMgYm9vbCBoc3dfaW5mb2ZyYW1lX2VuYWJsZWQoc3RydWN0IGludGVsX2VuY29kZXIg KmVuY29kZXIsCiAJCQkJICBjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25m aWcpCiB7Ci0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShlbmNv ZGVyLT5kZXYpOworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUo ZW5jb2Rlci0+YmFzZS5kZXYpOwogCXUzMiB2YWwgPSBJOTE1X1JFQUQoSFNXX1RWSURFT19ESVBf Q1RMKHBpcGVfY29uZmlnLT5jcHVfdHJhbnNjb2RlcikpOwogCiAJcmV0dXJuIHZhbCAmIChWSURF T19ESVBfRU5BQkxFX1ZTQ19IU1cgfCBWSURFT19ESVBfRU5BQkxFX0FWSV9IU1cgfApAQCAtNDQz LDExICs0MzUsMTEgQEAgc3RhdGljIGJvb2wgaHN3X2luZm9mcmFtZV9lbmFibGVkKHN0cnVjdCBk cm1fZW5jb2RlciAqZW5jb2RlciwKICAqIHRyaWNrIHRoZW0gYnkgZ2l2aW5nIGFuIG9mZnNldCBp bnRvIHRoZSBidWZmZXIgYW5kIG1vdmluZyBiYWNrIHRoZSBoZWFkZXIKICAqIGJ5dGVzIGJ5IG9u ZS4KICAqLwotc3RhdGljIHZvaWQgaW50ZWxfd3JpdGVfaW5mb2ZyYW1lKHN0cnVjdCBkcm1fZW5j b2RlciAqZW5jb2RlciwKK3N0YXRpYyB2b2lkIGludGVsX3dyaXRlX2luZm9mcmFtZShzdHJ1Y3Qg aW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAkJCQkgIGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0 YXRlICpjcnRjX3N0YXRlLAogCQkJCSAgdW5pb24gaGRtaV9pbmZvZnJhbWUgKmZyYW1lKQogewot CXN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmludGVsX2RpZ19wb3J0ID0gZW5jX3RvX2RpZ19w b3J0KGVuY29kZXIpOworCXN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmludGVsX2RpZ19wb3J0 ID0gZW5jX3RvX2RpZ19wb3J0KCZlbmNvZGVyLT5iYXNlKTsKIAl1OCBidWZmZXJbVklERU9fRElQ X0RBVEFfU0laRV07CiAJc3NpemVfdCBsZW47CiAKQEAgLTQ2MSwxNCArNDUzLDE2IEBAIHN0YXRp YyB2b2lkIGludGVsX3dyaXRlX2luZm9mcmFtZShzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIs CiAJYnVmZmVyWzNdID0gMDsKIAlsZW4rKzsKIAotCWludGVsX2RpZ19wb3J0LT53cml0ZV9pbmZv ZnJhbWUoZW5jb2RlciwgY3J0Y19zdGF0ZSwgZnJhbWUtPmFueS50eXBlLCBidWZmZXIsIGxlbik7 CisJaW50ZWxfZGlnX3BvcnQtPndyaXRlX2luZm9mcmFtZShlbmNvZGVyLAorCQkJCQljcnRjX3N0 YXRlLAorCQkJCQlmcmFtZS0+YW55LnR5cGUsIGJ1ZmZlciwgbGVuKTsKIH0KIAotc3RhdGljIHZv aWQgaW50ZWxfaGRtaV9zZXRfYXZpX2luZm9mcmFtZShzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29k ZXIsCitzdGF0aWMgdm9pZCBpbnRlbF9oZG1pX3NldF9hdmlfaW5mb2ZyYW1lKHN0cnVjdCBpbnRl bF9lbmNvZGVyICplbmNvZGVyLAogCQkJCQkgY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUg KmNydGNfc3RhdGUsCiAJCQkJCSBjb25zdCBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqY29u bl9zdGF0ZSkKIHsKLQlzdHJ1Y3QgaW50ZWxfaGRtaSAqaW50ZWxfaGRtaSA9IGVuY190b19pbnRl bF9oZG1pKGVuY29kZXIpOworCXN0cnVjdCBpbnRlbF9oZG1pICppbnRlbF9oZG1pID0gZW5jX3Rv X2ludGVsX2hkbWkoJmVuY29kZXItPmJhc2UpOwogCWNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9t b2RlICphZGp1c3RlZF9tb2RlID0KIAkJJmNydGNfc3RhdGUtPmJhc2UuYWRqdXN0ZWRfbW9kZTsK IAlzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yID0gJmludGVsX2hkbWktPmF0dGFjaGVk X2Nvbm5lY3Rvci0+YmFzZTsKQEAgLTUwMCwxMCArNDk0LDExIEBAIHN0YXRpYyB2b2lkIGludGVs X2hkbWlfc2V0X2F2aV9pbmZvZnJhbWUoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLAogCQkJ CQkgICAgY29ubl9zdGF0ZSk7CiAKIAkvKiBUT0RPOiBoYW5kbGUgcGl4ZWwgcmVwZXRpdGlvbiBm b3IgWUNCQ1I0MjAgb3V0cHV0cyAqLwotCWludGVsX3dyaXRlX2luZm9mcmFtZShlbmNvZGVyLCBj cnRjX3N0YXRlLCAmZnJhbWUpOworCWludGVsX3dyaXRlX2luZm9mcmFtZShlbmNvZGVyLCBjcnRj X3N0YXRlLAorCQkJICAgICAgJmZyYW1lKTsKIH0KIAotc3RhdGljIHZvaWQgaW50ZWxfaGRtaV9z ZXRfc3BkX2luZm9mcmFtZShzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsCitzdGF0aWMgdm9p ZCBpbnRlbF9oZG1pX3NldF9zcGRfaW5mb2ZyYW1lKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNv ZGVyLAogCQkJCQkgY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiB7 CiAJdW5pb24gaGRtaV9pbmZvZnJhbWUgZnJhbWU7CkBAIC01MTcsMTEgKzUxMiwxMiBAQCBzdGF0 aWMgdm9pZCBpbnRlbF9oZG1pX3NldF9zcGRfaW5mb2ZyYW1lKHN0cnVjdCBkcm1fZW5jb2RlciAq ZW5jb2RlciwKIAogCWZyYW1lLnNwZC5zZGkgPSBIRE1JX1NQRF9TRElfUEM7CiAKLQlpbnRlbF93 cml0ZV9pbmZvZnJhbWUoZW5jb2RlciwgY3J0Y19zdGF0ZSwgJmZyYW1lKTsKKwlpbnRlbF93cml0 ZV9pbmZvZnJhbWUoZW5jb2RlciwgY3J0Y19zdGF0ZSwKKwkJCSAgICAgICZmcmFtZSk7CiB9CiAK IHN0YXRpYyB2b2lkCi1pbnRlbF9oZG1pX3NldF9oZG1pX2luZm9mcmFtZShzdHJ1Y3QgZHJtX2Vu Y29kZXIgKmVuY29kZXIsCitpbnRlbF9oZG1pX3NldF9oZG1pX2luZm9mcmFtZShzdHJ1Y3QgaW50 ZWxfZW5jb2RlciAqZW5jb2RlciwKIAkJCSAgICAgIGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0 YXRlICpjcnRjX3N0YXRlLAogCQkJICAgICAgY29uc3Qgc3RydWN0IGRybV9jb25uZWN0b3Jfc3Rh dGUgKmNvbm5fc3RhdGUpCiB7CkBAIC01MzQsMjAgKzUzMCwyMSBAQCBpbnRlbF9oZG1pX3NldF9o ZG1pX2luZm9mcmFtZShzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsCiAJaWYgKHJldCA8IDAp CiAJCXJldHVybjsKIAotCWludGVsX3dyaXRlX2luZm9mcmFtZShlbmNvZGVyLCBjcnRjX3N0YXRl LCAmZnJhbWUpOworCWludGVsX3dyaXRlX2luZm9mcmFtZShlbmNvZGVyLCBjcnRjX3N0YXRlLAor CQkJICAgICAgJmZyYW1lKTsKIH0KIAotc3RhdGljIHZvaWQgZzR4X3NldF9pbmZvZnJhbWVzKHN0 cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciwKK3N0YXRpYyB2b2lkIGc0eF9zZXRfaW5mb2ZyYW1l cyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAkJCSAgICAgICBib29sIGVuYWJsZSwK IAkJCSAgICAgICBjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKIAkJ CSAgICAgICBjb25zdCBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqY29ubl9zdGF0ZSkKIHsK LQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGVuY29kZXItPmRl dik7Ci0Jc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQgPSBlbmNfdG9f ZGlnX3BvcnQoZW5jb2Rlcik7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0g dG9faTkxNShlbmNvZGVyLT5iYXNlLmRldik7CisJc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAq aW50ZWxfZGlnX3BvcnQgPSBlbmNfdG9fZGlnX3BvcnQoJmVuY29kZXItPmJhc2UpOwogCXN0cnVj dCBpbnRlbF9oZG1pICppbnRlbF9oZG1pID0gJmludGVsX2RpZ19wb3J0LT5oZG1pOwogCWk5MTVf cmVnX3QgcmVnID0gVklERU9fRElQX0NUTDsKIAl1MzIgdmFsID0gSTkxNV9SRUFEKHJlZyk7Ci0J dTMyIHBvcnQgPSBWSURFT19ESVBfUE9SVChpbnRlbF9kaWdfcG9ydC0+YmFzZS5wb3J0KTsKKwl1 MzIgcG9ydCA9IFZJREVPX0RJUF9QT1JUKGVuY29kZXItPnBvcnQpOwogCiAJYXNzZXJ0X2hkbWlf cG9ydF9kaXNhYmxlZChpbnRlbF9oZG1pKTsKIApAQCAtNjU1LDExICs2NTIsMTEgQEAgc3RhdGlj IGJvb2wgZ2NwX2RlZmF1bHRfcGhhc2VfcG9zc2libGUoaW50IHBpcGVfYnBwLAogCQkgbW9kZS0+ Y3J0Y19odG90YWwvMiAlIHBpeGVsc19wZXJfZ3JvdXAgPT0gMCk7CiB9CiAKLXN0YXRpYyBib29s IGludGVsX2hkbWlfc2V0X2djcF9pbmZvZnJhbWUoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVy LAorc3RhdGljIGJvb2wgaW50ZWxfaGRtaV9zZXRfZ2NwX2luZm9mcmFtZShzdHJ1Y3QgaW50ZWxf ZW5jb2RlciAqZW5jb2RlciwKIAkJCQkJIGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpj cnRjX3N0YXRlLAogCQkJCQkgY29uc3Qgc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKmNvbm5f c3RhdGUpCiB7Ci0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShl bmNvZGVyLT5kZXYpOworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5 MTUoZW5jb2Rlci0+YmFzZS5kZXYpOwogCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50 ZWxfY3J0YyhjcnRjX3N0YXRlLT5iYXNlLmNydGMpOwogCWk5MTVfcmVnX3QgcmVnOwogCXUzMiB2 YWwgPSAwOwpAQCAtNjg3LDE4ICs2ODQsMTggQEAgc3RhdGljIGJvb2wgaW50ZWxfaGRtaV9zZXRf Z2NwX2luZm9mcmFtZShzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsCiAJcmV0dXJuIHZhbCAh PSAwOwogfQogCi1zdGF0aWMgdm9pZCBpYnhfc2V0X2luZm9mcmFtZXMoc3RydWN0IGRybV9lbmNv ZGVyICplbmNvZGVyLAorc3RhdGljIHZvaWQgaWJ4X3NldF9pbmZvZnJhbWVzKHN0cnVjdCBpbnRl bF9lbmNvZGVyICplbmNvZGVyLAogCQkJICAgICAgIGJvb2wgZW5hYmxlLAogCQkJICAgICAgIGNv bnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAogCQkJICAgICAgIGNvbnN0 IHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpjb25uX3N0YXRlKQogewotCXN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZW5jb2Rlci0+ZGV2KTsKKwlzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGVuY29kZXItPmJhc2UuZGV2KTsK IAlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0 ZS0+YmFzZS5jcnRjKTsKLQlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdfcG9y dCA9IGVuY190b19kaWdfcG9ydChlbmNvZGVyKTsKKwlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0 ICppbnRlbF9kaWdfcG9ydCA9IGVuY190b19kaWdfcG9ydCgmZW5jb2Rlci0+YmFzZSk7CiAJc3Ry dWN0IGludGVsX2hkbWkgKmludGVsX2hkbWkgPSAmaW50ZWxfZGlnX3BvcnQtPmhkbWk7CiAJaTkx NV9yZWdfdCByZWcgPSBUVklERU9fRElQX0NUTChpbnRlbF9jcnRjLT5waXBlKTsKIAl1MzIgdmFs ID0gSTkxNV9SRUFEKHJlZyk7Ci0JdTMyIHBvcnQgPSBWSURFT19ESVBfUE9SVChpbnRlbF9kaWdf cG9ydC0+YmFzZS5wb3J0KTsKKwl1MzIgcG9ydCA9IFZJREVPX0RJUF9QT1JUKGVuY29kZXItPnBv cnQpOwogCiAJYXNzZXJ0X2hkbWlfcG9ydF9kaXNhYmxlZChpbnRlbF9oZG1pKTsKIApAQCAtNzQw LDE0ICs3MzcsMTQgQEAgc3RhdGljIHZvaWQgaWJ4X3NldF9pbmZvZnJhbWVzKHN0cnVjdCBkcm1f ZW5jb2RlciAqZW5jb2RlciwKIAlpbnRlbF9oZG1pX3NldF9oZG1pX2luZm9mcmFtZShlbmNvZGVy LCBjcnRjX3N0YXRlLCBjb25uX3N0YXRlKTsKIH0KIAotc3RhdGljIHZvaWQgY3B0X3NldF9pbmZv ZnJhbWVzKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciwKK3N0YXRpYyB2b2lkIGNwdF9zZXRf aW5mb2ZyYW1lcyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAkJCSAgICAgICBib29s IGVuYWJsZSwKIAkJCSAgICAgICBjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19z dGF0ZSwKIAkJCSAgICAgICBjb25zdCBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqY29ubl9z dGF0ZSkKIHsKLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGVu Y29kZXItPmRldik7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkx NShlbmNvZGVyLT5iYXNlLmRldik7CiAJc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMgPSB0 b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPmJhc2UuY3J0Yyk7Ci0Jc3RydWN0IGludGVsX2hkbWkg KmludGVsX2hkbWkgPSBlbmNfdG9faW50ZWxfaGRtaShlbmNvZGVyKTsKKwlzdHJ1Y3QgaW50ZWxf aGRtaSAqaW50ZWxfaGRtaSA9IGVuY190b19pbnRlbF9oZG1pKCZlbmNvZGVyLT5iYXNlKTsKIAlp OTE1X3JlZ190IHJlZyA9IFRWSURFT19ESVBfQ1RMKGludGVsX2NydGMtPnBpcGUpOwogCXUzMiB2 YWwgPSBJOTE1X1JFQUQocmVnKTsKIApAQCAtNzgzLDE4ICs3ODAsMTcgQEAgc3RhdGljIHZvaWQg Y3B0X3NldF9pbmZvZnJhbWVzKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciwKIAlpbnRlbF9o ZG1pX3NldF9oZG1pX2luZm9mcmFtZShlbmNvZGVyLCBjcnRjX3N0YXRlLCBjb25uX3N0YXRlKTsK IH0KIAotc3RhdGljIHZvaWQgdmx2X3NldF9pbmZvZnJhbWVzKHN0cnVjdCBkcm1fZW5jb2RlciAq ZW5jb2RlciwKK3N0YXRpYyB2b2lkIHZsdl9zZXRfaW5mb2ZyYW1lcyhzdHJ1Y3QgaW50ZWxfZW5j b2RlciAqZW5jb2RlciwKIAkJCSAgICAgICBib29sIGVuYWJsZSwKIAkJCSAgICAgICBjb25zdCBz dHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKIAkJCSAgICAgICBjb25zdCBzdHJ1 Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqY29ubl9zdGF0ZSkKIHsKLQlzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGVuY29kZXItPmRldik7Ci0Jc3RydWN0IGludGVs X2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQgPSBlbmNfdG9fZGlnX3BvcnQoZW5jb2Rlcik7 CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShlbmNvZGVyLT5i YXNlLmRldik7CiAJc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMgPSB0b19pbnRlbF9jcnRj KGNydGNfc3RhdGUtPmJhc2UuY3J0Yyk7Ci0Jc3RydWN0IGludGVsX2hkbWkgKmludGVsX2hkbWkg PSBlbmNfdG9faW50ZWxfaGRtaShlbmNvZGVyKTsKKwlzdHJ1Y3QgaW50ZWxfaGRtaSAqaW50ZWxf aGRtaSA9IGVuY190b19pbnRlbF9oZG1pKCZlbmNvZGVyLT5iYXNlKTsKIAlpOTE1X3JlZ190IHJl ZyA9IFZMVl9UVklERU9fRElQX0NUTChpbnRlbF9jcnRjLT5waXBlKTsKIAl1MzIgdmFsID0gSTkx NV9SRUFEKHJlZyk7Ci0JdTMyIHBvcnQgPSBWSURFT19ESVBfUE9SVChpbnRlbF9kaWdfcG9ydC0+ YmFzZS5wb3J0KTsKKwl1MzIgcG9ydCA9IFZJREVPX0RJUF9QT1JUKGVuY29kZXItPnBvcnQpOwog CiAJYXNzZXJ0X2hkbWlfcG9ydF9kaXNhYmxlZChpbnRlbF9oZG1pKTsKIApAQCAtODM2LDEyICs4 MzIsMTIgQEAgc3RhdGljIHZvaWQgdmx2X3NldF9pbmZvZnJhbWVzKHN0cnVjdCBkcm1fZW5jb2Rl ciAqZW5jb2RlciwKIAlpbnRlbF9oZG1pX3NldF9oZG1pX2luZm9mcmFtZShlbmNvZGVyLCBjcnRj X3N0YXRlLCBjb25uX3N0YXRlKTsKIH0KIAotc3RhdGljIHZvaWQgaHN3X3NldF9pbmZvZnJhbWVz KHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciwKK3N0YXRpYyB2b2lkIGhzd19zZXRfaW5mb2Zy YW1lcyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAkJCSAgICAgICBib29sIGVuYWJs ZSwKIAkJCSAgICAgICBjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwK IAkJCSAgICAgICBjb25zdCBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqY29ubl9zdGF0ZSkK IHsKLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGVuY29kZXIt PmRldik7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShlbmNv ZGVyLT5iYXNlLmRldik7CiAJaTkxNV9yZWdfdCByZWcgPSBIU1dfVFZJREVPX0RJUF9DVEwoY3J0 Y19zdGF0ZS0+Y3B1X3RyYW5zY29kZXIpOwogCXUzMiB2YWwgPSBJOTE1X1JFQUQocmVnKTsKIApA QCAtMTIxNSw3ICsxMjExLDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfaGRtaV9nZXRfY29uZmlnKHN0 cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCWlmICh0bXAgJiBIRE1JX01PREVfU0VMRUNU X0hETUkpCiAJCXBpcGVfY29uZmlnLT5oYXNfaGRtaV9zaW5rID0gdHJ1ZTsKIAotCWlmIChpbnRl bF9kaWdfcG9ydC0+aW5mb2ZyYW1lX2VuYWJsZWQoJmVuY29kZXItPmJhc2UsIHBpcGVfY29uZmln KSkKKwlpZiAoaW50ZWxfZGlnX3BvcnQtPmluZm9mcmFtZV9lbmFibGVkKGVuY29kZXIsIHBpcGVf Y29uZmlnKSkKIAkJcGlwZV9jb25maWctPmhhc19pbmZvZnJhbWUgPSB0cnVlOwogCiAJaWYgKHRt cCAmIFNEVk9fQVVESU9fRU5BQkxFKQpAQCAtMTQzNiw3ICsxNDMyLDggQEAgc3RhdGljIHZvaWQg aW50ZWxfZGlzYWJsZV9oZG1pKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCQlpbnRl bF9zZXRfcGNoX2ZpZm9fdW5kZXJydW5fcmVwb3J0aW5nKGRldl9wcml2LCBQSVBFX0EsIHRydWUp OwogCX0KIAotCWludGVsX2RpZ19wb3J0LT5zZXRfaW5mb2ZyYW1lcygmZW5jb2Rlci0+YmFzZSwg ZmFsc2UsCisJaW50ZWxfZGlnX3BvcnQtPnNldF9pbmZvZnJhbWVzKGVuY29kZXIsCisJCQkJICAg ICAgIGZhbHNlLAogCQkJCSAgICAgICBvbGRfY3J0Y19zdGF0ZSwgb2xkX2Nvbm5fc3RhdGUpOwog CiAJaW50ZWxfZHBfZHVhbF9tb2RlX3NldF90bWRzX291dHB1dChpbnRlbF9oZG1pLCBmYWxzZSk7 CkBAIC0xOTcxLDcgKzE5NjgsNyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9oZG1pX3ByZV9lbmFibGUo c3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAKIAlpbnRlbF9oZG1pX3ByZXBhcmUoZW5j b2RlciwgcGlwZV9jb25maWcpOwogCi0JaW50ZWxfZGlnX3BvcnQtPnNldF9pbmZvZnJhbWVzKCZl bmNvZGVyLT5iYXNlLAorCWludGVsX2RpZ19wb3J0LT5zZXRfaW5mb2ZyYW1lcyhlbmNvZGVyLAog CQkJCSAgICAgICBwaXBlX2NvbmZpZy0+aGFzX2luZm9mcmFtZSwKIAkJCQkgICAgICAgcGlwZV9j b25maWcsIGNvbm5fc3RhdGUpOwogfQpAQCAtMTk4OSw3ICsxOTg2LDcgQEAgc3RhdGljIHZvaWQg dmx2X2hkbWlfcHJlX2VuYWJsZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAl2bHZf c2V0X3BoeV9zaWduYWxfbGV2ZWwoZW5jb2RlciwgMHgyYjI0NWY1ZiwgMHgwMDAwMjAwMCwgMHg1 NTc4YjgzYSwKIAkJCQkgMHgyYjI0Nzg3OCk7CiAKLQlkcG9ydC0+c2V0X2luZm9mcmFtZXMoJmVu Y29kZXItPmJhc2UsCisJZHBvcnQtPnNldF9pbmZvZnJhbWVzKGVuY29kZXIsCiAJCQkgICAgICBw aXBlX2NvbmZpZy0+aGFzX2luZm9mcmFtZSwKIAkJCSAgICAgIHBpcGVfY29uZmlnLCBjb25uX3N0 YXRlKTsKIApAQCAtMjA2MCw3ICsyMDU3LDcgQEAgc3RhdGljIHZvaWQgY2h2X2hkbWlfcHJlX2Vu YWJsZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAkvKiBVc2UgODAwbVYtMGRCICov CiAJY2h2X3NldF9waHlfc2lnbmFsX2xldmVsKGVuY29kZXIsIDEyOCwgMTAyLCBmYWxzZSk7CiAK LQlkcG9ydC0+c2V0X2luZm9mcmFtZXMoJmVuY29kZXItPmJhc2UsCisJZHBvcnQtPnNldF9pbmZv ZnJhbWVzKGVuY29kZXIsCiAJCQkgICAgICBwaXBlX2NvbmZpZy0+aGFzX2luZm9mcmFtZSwKIAkJ CSAgICAgIHBpcGVfY29uZmlnLCBjb25uX3N0YXRlKTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfcHNyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wc3Iu YwppbmRleCBiNjgzOGI1MjU1MDIuLjExZmRlZmFmNzcyOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfcHNyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf cHNyLmMKQEAgLTI5NCw3ICsyOTQsOCBAQCBzdGF0aWMgdm9pZCBpbnRlbF9wc3Jfc2V0dXBfdnNj KHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAsCiAJCXBzcl92c2Muc2RwX2hlYWRlci5IQjMgPSAw eDg7CiAJfQogCi0JaW50ZWxfZGlnX3BvcnQtPndyaXRlX2luZm9mcmFtZSgmaW50ZWxfZGlnX3Bv cnQtPmJhc2UuYmFzZSwgY3J0Y19zdGF0ZSwKKwlpbnRlbF9kaWdfcG9ydC0+d3JpdGVfaW5mb2Zy YW1lKCZpbnRlbF9kaWdfcG9ydC0+YmFzZSwKKwkJCQkJY3J0Y19zdGF0ZSwKIAkJCQkJRFBfU0RQ X1ZTQywgJnBzcl92c2MsIHNpemVvZihwc3JfdnNjKSk7CiB9CiAKLS0gCjIuMTYuNAoKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxp bmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJl ZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==