From mboxrd@z Thu Jan 1 00:00:00 1970 From: Archit Taneja Subject: [PATCH 04/24] drm/msm/mdp5: Start using mdp5_hw_mixer Date: Thu, 23 Mar 2017 15:57:57 +0530 Message-ID: <20170323102817.15017-5-architt@codeaurora.org> References: <20170323102817.15017-1-architt@codeaurora.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20170323102817.15017-1-architt@codeaurora.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: robdclark@gmail.com Cc: linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org List-Id: linux-arm-msm@vger.kernel.org VXNlIHRoZSBtZHA1X2h3X21peGVyIHN0cnVjdCBpbiB0aGUgbWRwNV9jcnRjIGFuZCBtZHA1X2N0 bCBpbnN0ZWFkIG9mCnVzaW5nIHRoZSBMTSBpbmRleC4KCkxpa2UgYmVmb3JlLCB0aGUgTGF5ZXIg TWl4ZXJzIGFyZSBhc3NpZ25lZCBzdGF0aWNhbGx5IHRvIHRoZSBDUlRDcy4KVGhlIGh3bWl4ZXIo cykgd2lsbCBsYXRlciBiZSBkeW5hbWljYWxseSBhc3NpZ25lZCB0byBDUlRDcy4KCkZvciBub3cs IGlnbm9yZSB0aGUgaHdtaXhlcnMgdGhhdCBjYW4gb25seSBkbyBXQi4KClNpZ25lZC1vZmYtYnk6 IEFyY2hpdCBUYW5lamEgPGFyY2hpdHRAY29kZWF1cm9yYS5vcmc+Ci0tLQogZHJpdmVycy9ncHUv ZHJtL21zbS9tZHAvbWRwNS9tZHA1X2NtZF9lbmNvZGVyLmMgfCAgOSArKysrLS0KIGRyaXZlcnMv Z3B1L2RybS9tc20vbWRwL21kcDUvbWRwNV9jcnRjLmMgICAgICAgIHwgNDIgKysrKysrKysrKysr KysrLS0tLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL21zbS9tZHAvbWRwNS9tZHA1X2N0bC5jICAg ICAgICAgfCAzOCArKysrKysrKysrKy0tLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vbXNtL21k cC9tZHA1L21kcDVfY3RsLmggICAgICAgICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vbXNtL21k cC9tZHA1L21kcDVfZW5jb2Rlci5jICAgICB8ICA0ICstLQogZHJpdmVycy9ncHUvZHJtL21zbS9t ZHAvbWRwNS9tZHA1X2ttcy5jICAgICAgICAgfCAgNiArKystCiBkcml2ZXJzL2dwdS9kcm0vbXNt L21kcC9tZHA1L21kcDVfa21zLmggICAgICAgICB8ICA0ICstLQogZHJpdmVycy9ncHUvZHJtL21z bS9tZHAvbWRwNS9tZHA1X21peGVyLmMgICAgICAgfCAgNCArKysKIDggZmlsZXMgY2hhbmdlZCwg NjYgaW5zZXJ0aW9ucygrKSwgNDMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL21zbS9tZHAvbWRwNS9tZHA1X2NtZF9lbmNvZGVyLmMgYi9kcml2ZXJzL2dwdS9kcm0v bXNtL21kcC9tZHA1L21kcDVfY21kX2VuY29kZXIuYwppbmRleCBkZjFjOGFkZWMzZjMuLjJlNmNl YWZiZDNlMiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9tZHAvbWRwNS9tZHA1X2Nt ZF9lbmNvZGVyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9tZHAvbWRwNS9tZHA1X2NtZF9l bmNvZGVyLmMKQEAgLTUxLDcgKzUxLDggQEAgc3RhdGljIGludCBwaW5ncG9uZ190ZWFyY2hlY2tf c2V0dXAoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLAogCXN0cnVjdCBkZXZpY2UgKmRldiA9 IGVuY29kZXItPmRldi0+ZGV2OwogCXUzMiB0b3RhbF9saW5lc194MTAwLCB2Y2xrc19saW5lLCBj Zmc7CiAJbG9uZyB2c3luY19jbGtfc3BlZWQ7Ci0JaW50IHBwX2lkID0gR0VUX1BJTkdfUE9OR19J RChtZHA1X2NydGNfZ2V0X2xtKGVuY29kZXItPmNydGMpKTsKKwlzdHJ1Y3QgbWRwNV9od19taXhl ciAqbWl4ZXIgPSBtZHA1X2NydGNfZ2V0X21peGVyKGVuY29kZXItPmNydGMpOworCWludCBwcF9p ZCA9IEdFVF9QSU5HX1BPTkdfSUQobWl4ZXItPmxtKTsKIAogCWlmIChJU19FUlJfT1JfTlVMTCht ZHA1X2ttcy0+dnN5bmNfY2xrKSkgewogCQlkZXZfZXJyKGRldiwgInZzeW5jX2NsayBpcyBub3Qg aW5pdGlhbGl6ZWRcbiIpOwpAQCAtOTQsNyArOTUsOCBAQCBzdGF0aWMgaW50IHBpbmdwb25nX3Rl YXJjaGVja19zZXR1cChzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsCiBzdGF0aWMgaW50IHBp bmdwb25nX3RlYXJjaGVja19lbmFibGUoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyKQogewog CXN0cnVjdCBtZHA1X2ttcyAqbWRwNV9rbXMgPSBnZXRfa21zKGVuY29kZXIpOwotCWludCBwcF9p ZCA9IEdFVF9QSU5HX1BPTkdfSUQobWRwNV9jcnRjX2dldF9sbShlbmNvZGVyLT5jcnRjKSk7CisJ c3RydWN0IG1kcDVfaHdfbWl4ZXIgKm1peGVyID0gbWRwNV9jcnRjX2dldF9taXhlcihlbmNvZGVy LT5jcnRjKTsKKwlpbnQgcHBfaWQgPSBHRVRfUElOR19QT05HX0lEKG1peGVyLT5sbSk7CiAJaW50 IHJldDsKIAogCXJldCA9IGNsa19zZXRfcmF0ZShtZHA1X2ttcy0+dnN5bmNfY2xrLApAQCAtMTE5 LDcgKzEyMSw4IEBAIHN0YXRpYyBpbnQgcGluZ3BvbmdfdGVhcmNoZWNrX2VuYWJsZShzdHJ1Y3Qg ZHJtX2VuY29kZXIgKmVuY29kZXIpCiBzdGF0aWMgdm9pZCBwaW5ncG9uZ190ZWFyY2hlY2tfZGlz YWJsZShzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIpCiB7CiAJc3RydWN0IG1kcDVfa21zICpt ZHA1X2ttcyA9IGdldF9rbXMoZW5jb2Rlcik7Ci0JaW50IHBwX2lkID0gR0VUX1BJTkdfUE9OR19J RChtZHA1X2NydGNfZ2V0X2xtKGVuY29kZXItPmNydGMpKTsKKwlzdHJ1Y3QgbWRwNV9od19taXhl ciAqbWl4ZXIgPSBtZHA1X2NydGNfZ2V0X21peGVyKGVuY29kZXItPmNydGMpOworCWludCBwcF9p ZCA9IEdFVF9QSU5HX1BPTkdfSUQobWl4ZXItPmxtKTsKIAogCW1kcDVfd3JpdGUobWRwNV9rbXMs IFJFR19NRFA1X1BQX1RFQVJfQ0hFQ0tfRU4ocHBfaWQpLCAwKTsKIAljbGtfZGlzYWJsZV91bnBy ZXBhcmUobWRwNV9rbXMtPnZzeW5jX2Nsayk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v bXNtL21kcC9tZHA1L21kcDVfY3J0Yy5jIGIvZHJpdmVycy9ncHUvZHJtL21zbS9tZHAvbWRwNS9t ZHA1X2NydGMuYwppbmRleCBkMGM4YjM4Yjk2Y2UuLjA5Zjk0N2ZjODFiOSAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL21zbS9tZHAvbWRwNS9tZHA1X2NydGMuYworKysgYi9kcml2ZXJzL2dw dS9kcm0vbXNtL21kcC9tZHA1L21kcDVfY3J0Yy5jCkBAIC0zMiwxMCArMzIsOCBAQCBzdHJ1Y3Qg bWRwNV9jcnRjIHsKIAlpbnQgaWQ7CiAJYm9vbCBlbmFibGVkOwogCi0JLyogbGF5ZXIgbWl4ZXIg dXNlZCBmb3IgdGhpcyBDUlRDICgrIGl0cyBsb2NrKTogKi8KLSNkZWZpbmUgR0VUX0xNX0lEKGNy dGNfaWQpCSgoY3J0Y19pZCA9PSAzKSA/IDUgOiBjcnRjX2lkKQotCWludCBsbTsKLQlzcGlubG9j a190IGxtX2xvY2s7CS8qIHByb3RlY3QgUkVHX01EUDVfTE1fKiByZWdpc3RlcnMgKi8KKwlzdHJ1 Y3QgbWRwNV9od19taXhlciAqbWl4ZXI7CisJc3BpbmxvY2tfdCBsbV9sb2NrOyAgICAgLyogcHJv dGVjdCBSRUdfTURQNV9MTV8qIHJlZ2lzdGVycyAqLwogCiAJLyogQ1RMIHVzZWQgZm9yIHRoaXMg Q1JUQzogKi8KIAlzdHJ1Y3QgbWRwNV9jdGwgKmN0bDsKQEAgLTExMSw2ICsxMDksNyBAQCBzdGF0 aWMgdTMyIGNydGNfZmx1c2goc3RydWN0IGRybV9jcnRjICpjcnRjLCB1MzIgZmx1c2hfbWFzaykK IHN0YXRpYyB1MzIgY3J0Y19mbHVzaF9hbGwoc3RydWN0IGRybV9jcnRjICpjcnRjKQogewogCXN0 cnVjdCBtZHA1X2NydGMgKm1kcDVfY3J0YyA9IHRvX21kcDVfY3J0YyhjcnRjKTsKKwlzdHJ1Y3Qg bWRwNV9od19taXhlciAqbWl4ZXI7CiAJc3RydWN0IGRybV9wbGFuZSAqcGxhbmU7CiAJdWludDMy X3QgZmx1c2hfbWFzayA9IDA7CiAKQEAgLTEyMiw3ICsxMjEsOCBAQCBzdGF0aWMgdTMyIGNydGNf Zmx1c2hfYWxsKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKIAkJZmx1c2hfbWFzayB8PSBtZHA1X3Bs YW5lX2dldF9mbHVzaChwbGFuZSk7CiAJfQogCi0JZmx1c2hfbWFzayB8PSBtZHBfY3RsX2ZsdXNo X21hc2tfbG0obWRwNV9jcnRjLT5sbSk7CisJbWl4ZXIgPSBtZHA1X2NydGMtPm1peGVyOworCWZs dXNoX21hc2sgfD0gbWRwX2N0bF9mbHVzaF9tYXNrX2xtKG1peGVyLT5sbSk7CiAKIAlyZXR1cm4g Y3J0Y19mbHVzaChjcnRjLCBmbHVzaF9tYXNrKTsKIH0KQEAgLTIwNyw3ICsyMDcsOCBAQCBzdGF0 aWMgdm9pZCBibGVuZF9zZXR1cChzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCiAJY29uc3Qgc3RydWN0 IG1kcDVfY2ZnX2h3ICpod19jZmc7CiAJc3RydWN0IG1kcDVfcGxhbmVfc3RhdGUgKnBzdGF0ZSwg KnBzdGF0ZXNbU1RBR0VfTUFYICsgMV0gPSB7TlVMTH07CiAJY29uc3Qgc3RydWN0IG1kcF9mb3Jt YXQgKmZvcm1hdDsKLQl1aW50MzJfdCBsbSA9IG1kcDVfY3J0Yy0+bG07CisJc3RydWN0IG1kcDVf aHdfbWl4ZXIgKm1peGVyID0gbWRwNV9jcnRjLT5taXhlcjsKKwl1aW50MzJfdCBsbSA9IG1peGVy LT5sbTsKIAl1aW50MzJfdCBibGVuZF9vcCwgZmdfYWxwaGEsIGJnX2FscGhhLCBjdGxfYmxlbmRf ZmxhZ3MgPSAwOwogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAJZW51bSBtZHA1X3BpcGUgc3RhZ2Vb U1RBR0VfTUFYICsgMV0gPSB7IFNTUFBfTk9ORSB9OwpAQCAtMzA4LDYgKzMwOSw4IEBAIHN0YXRp YyB2b2lkIG1kcDVfY3J0Y19tb2RlX3NldF9ub2ZiKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKIHsK IAlzdHJ1Y3QgbWRwNV9jcnRjICptZHA1X2NydGMgPSB0b19tZHA1X2NydGMoY3J0Yyk7CiAJc3Ry dWN0IG1kcDVfa21zICptZHA1X2ttcyA9IGdldF9rbXMoY3J0Yyk7CisJc3RydWN0IG1kcDVfaHdf bWl4ZXIgKm1peGVyID0gbWRwNV9jcnRjLT5taXhlcjsKKwl1aW50MzJfdCBsbSA9IG1peGVyLT5s bTsKIAl1bnNpZ25lZCBsb25nIGZsYWdzOwogCXN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2Rl OwogCkBAIC0zMjYsNyArMzI5LDcgQEAgc3RhdGljIHZvaWQgbWRwNV9jcnRjX21vZGVfc2V0X25v ZmIoc3RydWN0IGRybV9jcnRjICpjcnRjKQogCQkJbW9kZS0+dHlwZSwgbW9kZS0+ZmxhZ3MpOwog CiAJc3Bpbl9sb2NrX2lycXNhdmUoJm1kcDVfY3J0Yy0+bG1fbG9jaywgZmxhZ3MpOwotCW1kcDVf d3JpdGUobWRwNV9rbXMsIFJFR19NRFA1X0xNX09VVF9TSVpFKG1kcDVfY3J0Yy0+bG0pLAorCW1k cDVfd3JpdGUobWRwNV9rbXMsIFJFR19NRFA1X0xNX09VVF9TSVpFKGxtKSwKIAkJCU1EUDVfTE1f T1VUX1NJWkVfV0lEVEgobW9kZS0+aGRpc3BsYXkpIHwKIAkJCU1EUDVfTE1fT1VUX1NJWkVfSEVJ R0hUKG1vZGUtPnZkaXNwbGF5KSk7CiAJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmbWRwNV9jcnRj LT5sbV9sb2NrLCBmbGFncyk7CkBAIC01NjEsNyArNTY0LDcgQEAgc3RhdGljIGludCBtZHA1X2Ny dGNfY3Vyc29yX3NldChzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCiAJaWYgKHJldCkKIAkJcmV0dXJu IC1FSU5WQUw7CiAKLQlsbSA9IG1kcDVfY3J0Yy0+bG07CisJbG0gPSBtZHA1X2NydGMtPm1peGVy LT5sbTsKIAlzdHJpZGUgPSB3aWR0aCAqIGRybV9mb3JtYXRfcGxhbmVfY3BwKERSTV9GT1JNQVRf QVJHQjg4ODgsIDApOwogCiAJc3Bpbl9sb2NrX2lycXNhdmUoJm1kcDVfY3J0Yy0+Y3Vyc29yLmxv Y2ssIGZsYWdzKTsKQEAgLTYxMyw2ICs2MTYsNyBAQCBzdGF0aWMgaW50IG1kcDVfY3J0Y19jdXJz b3JfbW92ZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMsIGludCB4LCBpbnQgeSkKIHsKIAlzdHJ1Y3Qg bWRwNV9rbXMgKm1kcDVfa21zID0gZ2V0X2ttcyhjcnRjKTsKIAlzdHJ1Y3QgbWRwNV9jcnRjICpt ZHA1X2NydGMgPSB0b19tZHA1X2NydGMoY3J0Yyk7CisJdWludDMyX3QgbG0gPSBtZHA1X2NydGMt Pm1peGVyLT5sbTsKIAl1aW50MzJfdCBmbHVzaF9tYXNrID0gbWRwX2N0bF9mbHVzaF9tYXNrX2N1 cnNvcigwKTsKIAl1aW50MzJfdCByb2lfdzsKIAl1aW50MzJfdCByb2lfaDsKQEAgLTYyOCwxMCAr NjMyLDEwIEBAIHN0YXRpYyBpbnQgbWRwNV9jcnRjX2N1cnNvcl9tb3ZlKHN0cnVjdCBkcm1fY3J0 YyAqY3J0YywgaW50IHgsIGludCB5KQogCWdldF9yb2koY3J0YywgJnJvaV93LCAmcm9pX2gpOwog CiAJc3Bpbl9sb2NrX2lycXNhdmUoJm1kcDVfY3J0Yy0+Y3Vyc29yLmxvY2ssIGZsYWdzKTsKLQlt ZHA1X3dyaXRlKG1kcDVfa21zLCBSRUdfTURQNV9MTV9DVVJTT1JfU0laRShtZHA1X2NydGMtPmxt KSwKKwltZHA1X3dyaXRlKG1kcDVfa21zLCBSRUdfTURQNV9MTV9DVVJTT1JfU0laRShsbSksCiAJ CQlNRFA1X0xNX0NVUlNPUl9TSVpFX1JPSV9IKHJvaV9oKSB8CiAJCQlNRFA1X0xNX0NVUlNPUl9T SVpFX1JPSV9XKHJvaV93KSk7Ci0JbWRwNV93cml0ZShtZHA1X2ttcywgUkVHX01EUDVfTE1fQ1VS U09SX1NUQVJUX1hZKG1kcDVfY3J0Yy0+bG0pLAorCW1kcDVfd3JpdGUobWRwNV9rbXMsIFJFR19N RFA1X0xNX0NVUlNPUl9TVEFSVF9YWShsbSksCiAJCQlNRFA1X0xNX0NVUlNPUl9TVEFSVF9YWV9Z X1NUQVJUKHkpIHwKIAkJCU1EUDVfTE1fQ1VSU09SX1NUQVJUX1hZX1hfU1RBUlQoeCkpOwogCXNw aW5fdW5sb2NrX2lycXJlc3RvcmUoJm1kcDVfY3J0Yy0+Y3Vyc29yLmxvY2ssIGZsYWdzKTsKQEAg LTcxNSw3ICs3MTksOCBAQCBzdGF0aWMgdm9pZCBtZHA1X2NydGNfd2FpdF9mb3JfcHBfZG9uZShz dHJ1Y3QgZHJtX2NydGMgKmNydGMpCiAJcmV0ID0gd2FpdF9mb3JfY29tcGxldGlvbl90aW1lb3V0 KCZtZHA1X2NydGMtPnBwX2NvbXBsZXRpb24sCiAJCQkJCQltc2Vjc190b19qaWZmaWVzKDUwKSk7 CiAJaWYgKHJldCA9PSAwKQotCQlkZXZfd2FybihkZXYtPmRldiwgInBwIGRvbmUgdGltZSBvdXQs IGxtPSVkXG4iLCBtZHA1X2NydGMtPmxtKTsKKwkJZGV2X3dhcm4oZGV2LT5kZXYsICJwcCBkb25l IHRpbWUgb3V0LCBsbT0lZFxuIiwKKwkJCSBtZHA1X2NydGMtPm1peGVyLT5sbSk7CiB9CiAKIHN0 YXRpYyB2b2lkIG1kcDVfY3J0Y193YWl0X2Zvcl9mbHVzaF9kb25lKHN0cnVjdCBkcm1fY3J0YyAq Y3J0YykKQEAgLTc1NSw3ICs3NjAsOCBAQCB2b2lkIG1kcDVfY3J0Y19zZXRfcGlwZWxpbmUoc3Ry dWN0IGRybV9jcnRjICpjcnRjLAogewogCXN0cnVjdCBtZHA1X2NydGMgKm1kcDVfY3J0YyA9IHRv X21kcDVfY3J0YyhjcnRjKTsKIAlzdHJ1Y3QgbWRwNV9rbXMgKm1kcDVfa21zID0gZ2V0X2ttcyhj cnRjKTsKLQlpbnQgbG0gPSBtZHA1X2NydGNfZ2V0X2xtKGNydGMpOworCXN0cnVjdCBtZHA1X2h3 X21peGVyICptaXhlciA9IG1kcDVfY3J0Yy0+bWl4ZXI7CisJdWludDMyX3QgbG0gPSBtaXhlci0+ bG07CiAKIAkvKiBub3cgdGhhdCB3ZSBrbm93IHdoYXQgaXJxJ3Mgd2Ugd2FudDogKi8KIAltZHA1 X2NydGMtPmVyci5pcnFtYXNrID0gaW50ZjJlcnIoaW50Zi0+bnVtKTsKQEAgLTc3NSw3ICs3ODEs NyBAQCB2b2lkIG1kcDVfY3J0Y19zZXRfcGlwZWxpbmUoc3RydWN0IGRybV9jcnRjICpjcnRjLAog CW1kcF9pcnFfdXBkYXRlKCZtZHA1X2ttcy0+YmFzZSk7CiAKIAltZHA1X2NydGMtPmN0bCA9IGN0 bDsKLQltZHA1X2N0bF9zZXRfcGlwZWxpbmUoY3RsLCBpbnRmLCBsbSk7CisJbWRwNV9jdGxfc2V0 X3BpcGVsaW5lKGN0bCwgaW50ZiwgbWl4ZXIpOwogfQogCiBzdHJ1Y3QgbWRwNV9jdGwgKm1kcDVf Y3J0Y19nZXRfY3RsKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKQEAgLTc4NSwxMCArNzkxLDExIEBA IHN0cnVjdCBtZHA1X2N0bCAqbWRwNV9jcnRjX2dldF9jdGwoc3RydWN0IGRybV9jcnRjICpjcnRj KQogCXJldHVybiBtZHA1X2NydGMtPmN0bDsKIH0KIAotaW50IG1kcDVfY3J0Y19nZXRfbG0oc3Ry dWN0IGRybV9jcnRjICpjcnRjKQorc3RydWN0IG1kcDVfaHdfbWl4ZXIgKm1kcDVfY3J0Y19nZXRf bWl4ZXIoc3RydWN0IGRybV9jcnRjICpjcnRjKQogewogCXN0cnVjdCBtZHA1X2NydGMgKm1kcDVf Y3J0YyA9IHRvX21kcDVfY3J0YyhjcnRjKTsKLQlyZXR1cm4gV0FSTl9PTighY3J0YykgPyAtRUlO VkFMIDogbWRwNV9jcnRjLT5sbTsKKwlyZXR1cm4gV0FSTl9PTighY3J0YykgfHwgV0FSTl9PTigh bWRwNV9jcnRjLT5taXhlcikgPworCQlFUlJfUFRSKC1FSU5WQUwpIDogbWRwNV9jcnRjLT5taXhl cjsKIH0KIAogdm9pZCBtZHA1X2NydGNfd2FpdF9mb3JfY29tbWl0X2RvbmUoc3RydWN0IGRybV9j cnRjICpjcnRjKQpAQCAtODA4LDYgKzgxNSw3IEBAIHN0cnVjdCBkcm1fY3J0YyAqbWRwNV9jcnRj X2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIHsKIAlzdHJ1Y3QgZHJtX2NydGMgKmNydGMg PSBOVUxMOwogCXN0cnVjdCBtZHA1X2NydGMgKm1kcDVfY3J0YzsKKwlzdHJ1Y3QgbWRwNV9rbXMg Km1kcDVfa21zOwogCiAJbWRwNV9jcnRjID0ga3phbGxvYyhzaXplb2YoKm1kcDVfY3J0YyksIEdG UF9LRVJORUwpOwogCWlmICghbWRwNV9jcnRjKQpAQCAtODE2LDcgKzgyNCw2IEBAIHN0cnVjdCBk cm1fY3J0YyAqbWRwNV9jcnRjX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAljcnRjID0g Jm1kcDVfY3J0Yy0+YmFzZTsKIAogCW1kcDVfY3J0Yy0+aWQgPSBpZDsKLQltZHA1X2NydGMtPmxt ID0gR0VUX0xNX0lEKGlkKTsKIAogCXNwaW5fbG9ja19pbml0KCZtZHA1X2NydGMtPmxtX2xvY2sp OwogCXNwaW5fbG9ja19pbml0KCZtZHA1X2NydGMtPmN1cnNvci5sb2NrKTsKQEAgLTgzOCw1ICs4 NDUsOCBAQCBzdHJ1Y3QgZHJtX2NydGMgKm1kcDVfY3J0Y19pbml0KHN0cnVjdCBkcm1fZGV2aWNl ICpkZXYsCiAJZHJtX2NydGNfaGVscGVyX2FkZChjcnRjLCAmbWRwNV9jcnRjX2hlbHBlcl9mdW5j cyk7CiAJcGxhbmUtPmNydGMgPSBjcnRjOwogCisJbWRwNV9rbXMgPSBnZXRfa21zKGNydGMpOwor CW1kcDVfY3J0Yy0+bWl4ZXIgPSBtZHA1X2ttcy0+aHdtaXhlcnNbaWRdOworCiAJcmV0dXJuIGNy dGM7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL21kcC9tZHA1L21kcDVfY3Rs LmMgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL21kcC9tZHA1L21kcDVfY3RsLmMKaW5kZXggOGI5M2Y3 ZTEzMjAwLi5mYTRmMjdhMWE1NTEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vbWRw L21kcDUvbWRwNV9jdGwuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL21kcC9tZHA1L21kcDVf Y3RsLmMKQEAgLTQzLDcgKzQzLDcgQEAgc3RydWN0IG1kcDVfY3RsIHsKIAlzdHJ1Y3QgbWRwNV9j dGxfbWFuYWdlciAqY3RsbTsKIAogCXUzMiBpZDsKLQlpbnQgbG07CisJc3RydWN0IG1kcDVfaHdf bWl4ZXIgKm1peGVyOwogCiAJLyogQ1RMIHN0YXR1cyBiaXRtYXNrICovCiAJdTMyIHN0YXR1czsK QEAgLTE3NCw4ICsxNzQsOCBAQCBzdGF0aWMgdm9pZCBzZXRfY3RsX29wKHN0cnVjdCBtZHA1X2N0 bCAqY3RsLCBzdHJ1Y3QgbWRwNV9pbnRlcmZhY2UgKmludGYpCiAJc3Bpbl91bmxvY2tfaXJxcmVz dG9yZSgmY3RsLT5od19sb2NrLCBmbGFncyk7CiB9CiAKLWludCBtZHA1X2N0bF9zZXRfcGlwZWxp bmUoc3RydWN0IG1kcDVfY3RsICpjdGwsCi0JCXN0cnVjdCBtZHA1X2ludGVyZmFjZSAqaW50Ziwg aW50IGxtKQoraW50IG1kcDVfY3RsX3NldF9waXBlbGluZShzdHJ1Y3QgbWRwNV9jdGwgKmN0bCwg c3RydWN0IG1kcDVfaW50ZXJmYWNlICppbnRmLAorCQkJICBzdHJ1Y3QgbWRwNV9od19taXhlciAq bWl4ZXIpCiB7CiAJc3RydWN0IG1kcDVfY3RsX21hbmFnZXIgKmN0bF9tZ3IgPSBjdGwtPmN0bG07 CiAJc3RydWN0IG1kcDVfa21zICptZHA1X2ttcyA9IGdldF9rbXMoY3RsX21ncik7CkBAIC0xODcs MTEgKzE4NywxMSBAQCBpbnQgbWRwNV9jdGxfc2V0X3BpcGVsaW5lKHN0cnVjdCBtZHA1X2N0bCAq Y3RsLAogCQlyZXR1cm4gLUVJTlZBTDsKIAl9CiAKLQljdGwtPmxtID0gbG07CisJY3RsLT5taXhl ciA9IG1peGVyOwogCiAJbWVtY3B5KCZjdGwtPnBpcGVsaW5lLmludGYsIGludGYsIHNpemVvZigq aW50ZikpOwogCi0JY3RsLT5waXBlbGluZS5zdGFydF9tYXNrID0gbWRwX2N0bF9mbHVzaF9tYXNr X2xtKGN0bC0+bG0pIHwKKwljdGwtPnBpcGVsaW5lLnN0YXJ0X21hc2sgPSBtZHBfY3RsX2ZsdXNo X21hc2tfbG0obWl4ZXItPmxtKSB8CiAJCQkJICAgbWRwX2N0bF9mbHVzaF9tYXNrX2VuY29kZXIo aW50Zik7CiAKIAkvKiBWaXJ0dWFsIGludGVyZmFjZXMgbmVlZCBub3Qgc2V0IGEgZGlzcGxheSBp bnRmIChlLmcuOiBXcml0ZWJhY2spICovCkBAIC0yNDEsNyArMjQxLDcgQEAgc3RhdGljIHZvaWQg cmVmaWxsX3N0YXJ0X21hc2soc3RydWN0IG1kcDVfY3RsICpjdGwpCiAJc3RydWN0IG9wX21vZGUg KnBpcGVsaW5lID0gJmN0bC0+cGlwZWxpbmU7CiAJc3RydWN0IG1kcDVfaW50ZXJmYWNlICppbnRm ID0gJmN0bC0+cGlwZWxpbmUuaW50ZjsKIAotCXBpcGVsaW5lLT5zdGFydF9tYXNrID0gbWRwX2N0 bF9mbHVzaF9tYXNrX2xtKGN0bC0+bG0pOworCXBpcGVsaW5lLT5zdGFydF9tYXNrID0gbWRwX2N0 bF9mbHVzaF9tYXNrX2xtKGN0bC0+bWl4ZXItPmxtKTsKIAogCS8qCiAJICogV3JpdGViYWNrIGVu Y29kZXIgbmVlZHMgdG8gcHJvZ3JhbSAmIGZsdXNoCkBAIC0yODUsMjQgKzI4NSwyNCBAQCBpbnQg bWRwNV9jdGxfc2V0X2N1cnNvcihzdHJ1Y3QgbWRwNV9jdGwgKmN0bCwgaW50IGN1cnNvcl9pZCwg Ym9vbCBlbmFibGUpCiAJc3RydWN0IG1kcDVfY3RsX21hbmFnZXIgKmN0bF9tZ3IgPSBjdGwtPmN0 bG07CiAJdW5zaWduZWQgbG9uZyBmbGFnczsKIAl1MzIgYmxlbmRfY2ZnOwotCWludCBsbSA9IGN0 bC0+bG07CisJc3RydWN0IG1kcDVfaHdfbWl4ZXIgKm1peGVyID0gY3RsLT5taXhlcjsKIAotCWlm ICh1bmxpa2VseShXQVJOX09OKGxtIDwgMCkpKSB7Ci0JCWRldl9lcnIoY3RsX21nci0+ZGV2LT5k ZXYsICJDVEwgJWQgY2Fubm90IGZpbmQgTE06ICVkIiwKLQkJCQljdGwtPmlkLCBsbSk7CisJaWYg KHVubGlrZWx5KFdBUk5fT04oIW1peGVyKSkpIHsKKwkJZGV2X2VycihjdGxfbWdyLT5kZXYtPmRl diwgIkNUTCAlZCBjYW5ub3QgZmluZCBMTSIsCisJCQljdGwtPmlkKTsKIAkJcmV0dXJuIC1FSU5W QUw7CiAJfQogCiAJc3Bpbl9sb2NrX2lycXNhdmUoJmN0bC0+aHdfbG9jaywgZmxhZ3MpOwogCi0J YmxlbmRfY2ZnID0gY3RsX3JlYWQoY3RsLCBSRUdfTURQNV9DVExfTEFZRVJfUkVHKGN0bC0+aWQs IGxtKSk7CisJYmxlbmRfY2ZnID0gY3RsX3JlYWQoY3RsLCBSRUdfTURQNV9DVExfTEFZRVJfUkVH KGN0bC0+aWQsIG1peGVyLT5sbSkpOwogCiAJaWYgKGVuYWJsZSkKIAkJYmxlbmRfY2ZnIHw9ICBN RFA1X0NUTF9MQVlFUl9SRUdfQ1VSU09SX09VVDsKIAllbHNlCiAJCWJsZW5kX2NmZyAmPSB+TURQ NV9DVExfTEFZRVJfUkVHX0NVUlNPUl9PVVQ7CiAKLQljdGxfd3JpdGUoY3RsLCBSRUdfTURQNV9D VExfTEFZRVJfUkVHKGN0bC0+aWQsIGxtKSwgYmxlbmRfY2ZnKTsKKwljdGxfd3JpdGUoY3RsLCBS RUdfTURQNV9DVExfTEFZRVJfUkVHKGN0bC0+aWQsIG1peGVyLT5sbSksIGJsZW5kX2NmZyk7CiAJ Y3RsLT5jdXJzb3Jfb24gPSBlbmFibGU7CiAKIAlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZjdGwt Pmh3X2xvY2ssIGZsYWdzKTsKQEAgLTM1OCw2ICszNTgsNyBAQCBzdGF0aWMgdTMyIG1kcF9jdGxf YmxlbmRfZXh0X21hc2soZW51bSBtZHA1X3BpcGUgcGlwZSwKIGludCBtZHA1X2N0bF9ibGVuZChz dHJ1Y3QgbWRwNV9jdGwgKmN0bCwgZW51bSBtZHA1X3BpcGUgKnN0YWdlLCB1MzIgc3RhZ2VfY250 LAogCQkgICB1MzIgY3RsX2JsZW5kX29wX2ZsYWdzKQogeworCXN0cnVjdCBtZHA1X2h3X21peGVy ICptaXhlciA9IGN0bC0+bWl4ZXI7CiAJdW5zaWduZWQgbG9uZyBmbGFnczsKIAl1MzIgYmxlbmRf Y2ZnID0gMCwgYmxlbmRfZXh0X2NmZyA9IDA7CiAJaW50IGksIHN0YXJ0X3N0YWdlOwpAQCAtMzc4 LDEzICszNzksMTQgQEAgaW50IG1kcDVfY3RsX2JsZW5kKHN0cnVjdCBtZHA1X2N0bCAqY3RsLCBl bnVtIG1kcDVfcGlwZSAqc3RhZ2UsIHUzMiBzdGFnZV9jbnQsCiAJaWYgKGN0bC0+Y3Vyc29yX29u KQogCQlibGVuZF9jZmcgfD0gIE1EUDVfQ1RMX0xBWUVSX1JFR19DVVJTT1JfT1VUOwogCi0JY3Rs X3dyaXRlKGN0bCwgUkVHX01EUDVfQ1RMX0xBWUVSX1JFRyhjdGwtPmlkLCBjdGwtPmxtKSwgYmxl bmRfY2ZnKTsKLQljdGxfd3JpdGUoY3RsLCBSRUdfTURQNV9DVExfTEFZRVJfRVhUX1JFRyhjdGwt PmlkLCBjdGwtPmxtKSwgYmxlbmRfZXh0X2NmZyk7CisJY3RsX3dyaXRlKGN0bCwgUkVHX01EUDVf Q1RMX0xBWUVSX1JFRyhjdGwtPmlkLCBtaXhlci0+bG0pLCBibGVuZF9jZmcpOworCWN0bF93cml0 ZShjdGwsIFJFR19NRFA1X0NUTF9MQVlFUl9FWFRfUkVHKGN0bC0+aWQsIG1peGVyLT5sbSksCisJ CSAgYmxlbmRfZXh0X2NmZyk7CiAJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmY3RsLT5od19sb2Nr LCBmbGFncyk7CiAKLQljdGwtPnBlbmRpbmdfY3RsX3RyaWdnZXIgPSBtZHBfY3RsX2ZsdXNoX21h c2tfbG0oY3RsLT5sbSk7CisJY3RsLT5wZW5kaW5nX2N0bF90cmlnZ2VyID0gbWRwX2N0bF9mbHVz aF9tYXNrX2xtKG1peGVyLT5sbSk7CiAKLQlEQkcoImxtJWQ6IGJsZW5kIGNvbmZpZyA9IDB4JTA4 eC4gZXh0X2NmZyA9IDB4JTA4eCIsIGN0bC0+bG0sCisJREJHKCJsbSVkOiBibGVuZCBjb25maWcg PSAweCUwOHguIGV4dF9jZmcgPSAweCUwOHgiLCBtaXhlci0+bG0sCiAJCWJsZW5kX2NmZywgYmxl bmRfZXh0X2NmZyk7CiAKIAlyZXR1cm4gMDsKQEAgLTQ1Miw3ICs0NTQsNyBAQCBzdGF0aWMgdTMy IGZpeF9zd19mbHVzaChzdHJ1Y3QgbWRwNV9jdGwgKmN0bCwgdTMyIGZsdXNoX21hc2spCiAKIAkv KiBmb3Igc29tZSB0YXJnZXRzLCBjdXJzb3IgYml0IGlzIHRoZSBzYW1lIGFzIExNIGJpdCAqLwog CWlmIChCSVRfTkVFRFNfU1dfRklYKE1EUDVfQ1RMX0ZMVVNIX0NVUlNPUl8wKSkKLQkJc3dfbWFz ayB8PSBtZHBfY3RsX2ZsdXNoX21hc2tfbG0oY3RsLT5sbSk7CisJCXN3X21hc2sgfD0gbWRwX2N0 bF9mbHVzaF9tYXNrX2xtKGN0bC0+bWl4ZXItPmxtKTsKIAogCXJldHVybiBzd19tYXNrOwogfQpA QCAtNjIwLDcgKzYyMiw3IEBAIHN0cnVjdCBtZHA1X2N0bCAqbWRwNV9jdGxtX3JlcXVlc3Qoc3Ry dWN0IG1kcDVfY3RsX21hbmFnZXIgKmN0bF9tZ3IsCiBmb3VuZDoKIAljdGwgPSAmY3RsX21nci0+ Y3Rsc1tjXTsKIAljdGwtPnBpcGVsaW5lLmludGYubnVtID0gaW50Zl9udW07Ci0JY3RsLT5sbSA9 IC0xOworCWN0bC0+bWl4ZXIgPSBOVUxMOwogCWN0bC0+c3RhdHVzIHw9IENUTF9TVEFUX0JVU1k7 CiAJY3RsLT5wZW5kaW5nX2N0bF90cmlnZ2VyID0gMDsKIAlEQkcoIkNUTCAlZCBhbGxvY2F0ZWQi LCBjdGwtPmlkKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vbWRwL21kcDUvbWRw NV9jdGwuaCBiL2RyaXZlcnMvZ3B1L2RybS9tc20vbWRwL21kcDUvbWRwNV9jdGwuaAppbmRleCBm ZGEwMGQzM2U0ZGIuLjg4MmM5ZDJiZTM2NSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21z bS9tZHAvbWRwNS9tZHA1X2N0bC5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vbWRwL21kcDUv bWRwNV9jdGwuaApAQCAtMzgsNyArMzgsNyBAQCBpbnQgbWRwNV9jdGxfZ2V0X2N0bF9pZChzdHJ1 Y3QgbWRwNV9jdGwgKmN0bCk7CiAKIHN0cnVjdCBtZHA1X2ludGVyZmFjZTsKIGludCBtZHA1X2N0 bF9zZXRfcGlwZWxpbmUoc3RydWN0IG1kcDVfY3RsICpjdGwsIHN0cnVjdCBtZHA1X2ludGVyZmFj ZSAqaW50ZiwKLQkJCQlpbnQgbG0pOworCQkJICBzdHJ1Y3QgbWRwNV9od19taXhlciAqbG0pOwog aW50IG1kcDVfY3RsX3NldF9lbmNvZGVyX3N0YXRlKHN0cnVjdCBtZHA1X2N0bCAqY3RsLCBib29s IGVuYWJsZWQpOwogCiBpbnQgbWRwNV9jdGxfc2V0X2N1cnNvcihzdHJ1Y3QgbWRwNV9jdGwgKmN0 bCwgaW50IGN1cnNvcl9pZCwgYm9vbCBlbmFibGUpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL21zbS9tZHAvbWRwNS9tZHA1X2VuY29kZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vbWRw L21kcDUvbWRwNV9lbmNvZGVyLmMKaW5kZXggODBmYTQ4MmFlOGVkLi42OGQwNDhmMDQwZjAgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vbWRwL21kcDUvbWRwNV9lbmNvZGVyLmMKKysr IGIvZHJpdmVycy9ncHUvZHJtL21zbS9tZHAvbWRwNS9tZHA1X2VuY29kZXIuYwpAQCAtMjE1LDcg KzIxNSw3IEBAIHN0YXRpYyB2b2lkIG1kcDVfdmlkX2VuY29kZXJfZGlzYWJsZShzdHJ1Y3QgZHJt X2VuY29kZXIgKmVuY29kZXIpCiAJc3RydWN0IG1kcDVfZW5jb2RlciAqbWRwNV9lbmNvZGVyID0g dG9fbWRwNV9lbmNvZGVyKGVuY29kZXIpOwogCXN0cnVjdCBtZHA1X2ttcyAqbWRwNV9rbXMgPSBn ZXRfa21zKGVuY29kZXIpOwogCXN0cnVjdCBtZHA1X2N0bCAqY3RsID0gbWRwNV9lbmNvZGVyLT5j dGw7Ci0JaW50IGxtID0gbWRwNV9jcnRjX2dldF9sbShlbmNvZGVyLT5jcnRjKTsKKwlzdHJ1Y3Qg bWRwNV9od19taXhlciAqbWl4ZXIgPSBtZHA1X2NydGNfZ2V0X21peGVyKGVuY29kZXItPmNydGMp OwogCXN0cnVjdCBtZHA1X2ludGVyZmFjZSAqaW50ZiA9ICZtZHA1X2VuY29kZXItPmludGY7CiAJ aW50IGludGZuID0gbWRwNV9lbmNvZGVyLT5pbnRmLm51bTsKIAl1bnNpZ25lZCBsb25nIGZsYWdz OwpAQCAtMjM4LDcgKzIzOCw3IEBAIHN0YXRpYyB2b2lkIG1kcDVfdmlkX2VuY29kZXJfZGlzYWJs ZShzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIpCiAJICogdGhlIHNldHRpbmdzIGNoYW5nZXMg Zm9yIHRoZSBuZXcgbW9kZXNldCAobGlrZSBuZXcKIAkgKiBzY2Fub3V0IGJ1ZmZlcikgZG9uJ3Qg bGF0Y2ggcHJvcGVybHkuLgogCSAqLwotCW1kcF9pcnFfd2FpdCgmbWRwNV9rbXMtPmJhc2UsIGlu dGYydmJsYW5rKGxtLCBpbnRmKSk7CisJbWRwX2lycV93YWl0KCZtZHA1X2ttcy0+YmFzZSwgaW50 ZjJ2YmxhbmsobWl4ZXItPmxtLCBpbnRmKSk7CiAKIAlic19zZXQobWRwNV9lbmNvZGVyLCAwKTsK IApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9tZHAvbWRwNS9tZHA1X2ttcy5jIGIv ZHJpdmVycy9ncHUvZHJtL21zbS9tZHAvbWRwNS9tZHA1X2ttcy5jCmluZGV4IGM1NWJhNmU4Mzg3 Yy4uMWM2ZmJlN2JjMGFlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL21kcC9tZHA1 L21kcDVfa21zLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9tZHAvbWRwNS9tZHA1X2ttcy5j CkBAIC00NjUsNyArNDY1LDcgQEAgc3RhdGljIGludCBtb2Rlc2V0X2luaXQoc3RydWN0IG1kcDVf a21zICptZHA1X2ttcykKIAkgKiB0aGUgTURQNSBpbnRlcmZhY2VzKSB0aGFuIHRoZSBudW1iZXIg b2YgbGF5ZXIgbWl4ZXJzIHByZXNlbnQgaW4gSFcsCiAJICogYnV0IGxldCdzIGJlIHNhZmUgaGVy ZSBhbnl3YXkKIAkgKi8KLQludW1fY3J0Y3MgPSBtaW4ocHJpdi0+bnVtX2VuY29kZXJzLCBtZHA1 X2NmZy0+bG0uY291bnQpOworCW51bV9jcnRjcyA9IG1pbihwcml2LT5udW1fZW5jb2RlcnMsIG1k cDVfa21zLT5udW1faHdtaXhlcnMpOwogCiAJLyoKIAkgKiBDb25zdHJ1Y3QgcGxhbmVzIGVxdWFs aW5nIHRoZSBudW1iZXIgb2YgaHcgcGlwZXMsIGFuZCBDUlRDcyBmb3IgdGhlCkBAIC04OTAsNiAr ODkwLDEwIEBAIHN0YXRpYyBpbnQgaHdtaXhlcl9pbml0KHN0cnVjdCBtZHA1X2ttcyAqbWRwNV9r bXMpCiAJCQlyZXR1cm4gcmV0OwogCQl9CiAKKwkJLyogRG9uJ3QgY3JlYXRlIExNcyBjb25uZWN0 ZWQgdG8gV0IgZm9yIG5vdyAqLworCQlpZiAoIW1peGVyKQorCQkJY29udGludWU7CisKIAkJbWl4 ZXItPmlkeCA9IG1kcDVfa21zLT5udW1faHdtaXhlcnM7CiAJCW1kcDVfa21zLT5od21peGVyc1tt ZHA1X2ttcy0+bnVtX2h3bWl4ZXJzKytdID0gbWl4ZXI7CiAJfQpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL21zbS9tZHAvbWRwNS9tZHA1X2ttcy5oIGIvZHJpdmVycy9ncHUvZHJtL21zbS9t ZHAvbWRwNS9tZHA1X2ttcy5oCmluZGV4IGYzYTNiNzY3ZTM1Yy4uNDA2ZTc4MzkwZTc0IDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL21kcC9tZHA1L21kcDVfa21zLmgKKysrIGIvZHJp dmVycy9ncHUvZHJtL21zbS9tZHAvbWRwNS9tZHA1X2ttcy5oCkBAIC0yMyw5ICsyMyw5IEBACiAj aW5jbHVkZSAibWRwL21kcF9rbXMuaCIKICNpbmNsdWRlICJtZHA1X2NmZy5oIgkvKiBtdXN0IGJl IGluY2x1ZGVkIGJlZm9yZSBtZHA1LnhtbC5oICovCiAjaW5jbHVkZSAibWRwNS54bWwuaCIKLSNp bmNsdWRlICJtZHA1X2N0bC5oIgogI2luY2x1ZGUgIm1kcDVfcGlwZS5oIgogI2luY2x1ZGUgIm1k cDVfbWl4ZXIuaCIKKyNpbmNsdWRlICJtZHA1X2N0bC5oIgogI2luY2x1ZGUgIm1kcDVfc21wLmgi CiAKIHN0cnVjdCBtZHA1X3N0YXRlOwpAQCAtMjU5LDcgKzI1OSw3IEBAIHN0cnVjdCBkcm1fcGxh bmUgKm1kcDVfcGxhbmVfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogc3RydWN0IG1kcDVf Y3RsICptZHA1X2NydGNfZ2V0X2N0bChzdHJ1Y3QgZHJtX2NydGMgKmNydGMpOwogdWludDMyX3Qg bWRwNV9jcnRjX3ZibGFuayhzdHJ1Y3QgZHJtX2NydGMgKmNydGMpOwogCi1pbnQgbWRwNV9jcnRj X2dldF9sbShzdHJ1Y3QgZHJtX2NydGMgKmNydGMpOworc3RydWN0IG1kcDVfaHdfbWl4ZXIgKm1k cDVfY3J0Y19nZXRfbWl4ZXIoc3RydWN0IGRybV9jcnRjICpjcnRjKTsKIHZvaWQgbWRwNV9jcnRj X3NldF9waXBlbGluZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCiAJCXN0cnVjdCBtZHA1X2ludGVy ZmFjZSAqaW50Ziwgc3RydWN0IG1kcDVfY3RsICpjdGwpOwogdm9pZCBtZHA1X2NydGNfd2FpdF9m b3JfY29tbWl0X2RvbmUoc3RydWN0IGRybV9jcnRjICpjcnRjKTsKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9tc20vbWRwL21kcDUvbWRwNV9taXhlci5jIGIvZHJpdmVycy9ncHUvZHJtL21z bS9tZHAvbWRwNS9tZHA1X21peGVyLmMKaW5kZXggZGQzOGYwYmMyNDk0Li4wMzJkYzBhOTYzOGYg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vbWRwL21kcDUvbWRwNV9taXhlci5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vbWRwL21kcDUvbWRwNV9taXhlci5jCkBAIC0yOSw2ICsy OSwxMCBAQCBzdHJ1Y3QgbWRwNV9od19taXhlciAqbWRwNV9taXhlcl9pbml0KGNvbnN0IHN0cnVj dCBtZHA1X2xtX2luc3RhbmNlICpsbSkKIHsKIAlzdHJ1Y3QgbWRwNV9od19taXhlciAqbWl4ZXI7 CiAKKwkvKiBpZ25vcmUgV0IgYm91bmQgbWl4ZXJzIGZvciBub3cgKi8KKwlpZiAobG0tPmNhcHMg JiBNRFBfTE1fQ0FQX1dCKQorCQlyZXR1cm4gTlVMTDsKKwogCW1peGVyID0ga3phbGxvYyhzaXpl b2YoKm1peGVyKSwgR0ZQX0tFUk5FTCk7CiAJaWYgKCFtaXhlcikKIAkJcmV0dXJuIEVSUl9QVFIo LUVOT01FTSk7Ci0tIApUaGUgUXVhbGNvbW0gSW5ub3ZhdGlvbiBDZW50ZXIsIEluYy4gaXMgYSBt ZW1iZXIgb2YgdGhlIENvZGUgQXVyb3JhIEZvcnVtLApob3N0ZWQgYnkgVGhlIExpbnV4IEZvdW5k YXRpb24KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRy aS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRw czovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=