From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sravanthi Kollukuduru Subject: [PATCH 1/3] drm/msm/dpu: clean up references of DPU custom bus scaling Date: Mon, 8 Oct 2018 14:57:28 +0530 Message-ID: <20181008092730.1199-2-skolluku@codeaurora.org> References: <20181008092730.1199-1-skolluku@codeaurora.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20181008092730.1199-1-skolluku-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: freedreno-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "Freedreno" To: dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, linux-arm-msm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, freedreno-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org Cc: sean-p7yTbzM4H96eqtR555YLDQ@public.gmane.org, robdclark-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org, seanpaul-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org, Sravanthi Kollukuduru List-Id: devicetree@vger.kernel.org U2luY2UgdGhlIHVwc3RyZWFtIGludGVyY29ubmVjdCBidXMgZnJhbWV3b3JrIGhhcyBsYW5kZWQK dXBzdHJlYW0sIHRoZSBleGlzdGluZyByZWZlcmVuY2VzIG9mIGN1c3RvbSBidXMgc2NhbGluZwpu ZWVkcyB0byBiZSBjbGVhbmVkIHVwLgoKU2lnbmVkLW9mZi1ieTogU3JhdmFudGhpIEtvbGx1a3Vk dXJ1IDxza29sbHVrdUBjb2RlYXVyb3JhLm9yZz4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vbXNtL2Rp c3AvZHB1MS9kcHVfY29yZV9wZXJmLmMgICAgfCAxNTcgKysrKysrKysrKy0tLS0tLS0tLS0tLS0K IGRyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9jb3JlX3BlcmYuaCAgICB8ICAgNCAr LQogZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2NydGMuYyAgICAgICAgIHwgICAx IC0KIGRyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9wb3dlcl9oYW5kbGUuYyB8ICA0 NyArKy0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfcG93ZXJfaGFuZGxl LmggfCAgNjggLS0tLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X3Ry YWNlLmggICAgICAgIHwgIDIxICstLQogNiBmaWxlcyBjaGFuZ2VkLCA4MyBpbnNlcnRpb25zKCsp LCAyMTUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNw L2RwdTEvZHB1X2NvcmVfcGVyZi5jIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1 X2NvcmVfcGVyZi5jCmluZGV4IDQxYzUxOTFmOTA1Ni4uNGVlNmYwZGQxNGY3IDEwMDY0NAotLS0g YS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfY29yZV9wZXJmLmMKKysrIGIvZHJp dmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2NvcmVfcGVyZi5jCkBAIC05MCw3ICs5MCw2 IEBAIHN0YXRpYyB2b2lkIF9kcHVfY29yZV9wZXJmX2NhbGNfY3J0YyhzdHJ1Y3QgZHB1X2ttcyAq a21zLAogCQlzdHJ1Y3QgZHB1X2NvcmVfcGVyZl9wYXJhbXMgKnBlcmYpCiB7CiAJc3RydWN0IGRw dV9jcnRjX3N0YXRlICpkcHVfY3N0YXRlOwotCWludCBpOwogCiAJaWYgKCFrbXMgfHwgIWttcy0+ Y2F0YWxvZyB8fCAhY3J0YyB8fCAhc3RhdGUgfHwgIXBlcmYpIHsKIAkJRFBVX0VSUk9SKCJpbnZh bGlkIHBhcmFtZXRlcnNcbiIpOwpAQCAtMTAxLDM1ICsxMDAsMjQgQEAgc3RhdGljIHZvaWQgX2Rw dV9jb3JlX3BlcmZfY2FsY19jcnRjKHN0cnVjdCBkcHVfa21zICprbXMsCiAJbWVtc2V0KHBlcmYs IDAsIHNpemVvZihzdHJ1Y3QgZHB1X2NvcmVfcGVyZl9wYXJhbXMpKTsKIAogCWlmICghZHB1X2Nz dGF0ZS0+YndfY29udHJvbCkgewotCQlmb3IgKGkgPSAwOyBpIDwgRFBVX1BPV0VSX0hBTkRMRV9E QlVTX0lEX01BWDsgaSsrKSB7Ci0JCQlwZXJmLT5id19jdGxbaV0gPSBrbXMtPmNhdGFsb2ctPnBl cmYubWF4X2J3X2hpZ2ggKgorCQlwZXJmLT5id19jdGwgPSBrbXMtPmNhdGFsb2ctPnBlcmYubWF4 X2J3X2hpZ2ggKgogCQkJCQkxMDAwVUxMOwotCQkJcGVyZi0+bWF4X3Blcl9waXBlX2liW2ldID0g cGVyZi0+YndfY3RsW2ldOwotCQl9CisJCXBlcmYtPm1heF9wZXJfcGlwZV9pYiA9IHBlcmYtPmJ3 X2N0bDsKIAkJcGVyZi0+Y29yZV9jbGtfcmF0ZSA9IGttcy0+cGVyZi5tYXhfY29yZV9jbGtfcmF0 ZTsKIAl9IGVsc2UgaWYgKGttcy0+cGVyZi5wZXJmX3R1bmUubW9kZSA9PSBEUFVfUEVSRl9NT0RF X01JTklNVU0pIHsKLQkJZm9yIChpID0gMDsgaSA8IERQVV9QT1dFUl9IQU5ETEVfREJVU19JRF9N QVg7IGkrKykgewotCQkJcGVyZi0+YndfY3RsW2ldID0gMDsKLQkJCXBlcmYtPm1heF9wZXJfcGlw ZV9pYltpXSA9IDA7Ci0JCX0KKwkJcGVyZi0+YndfY3RsID0gMDsKKwkJcGVyZi0+bWF4X3Blcl9w aXBlX2liID0gMDsKIAkJcGVyZi0+Y29yZV9jbGtfcmF0ZSA9IDA7CiAJfSBlbHNlIGlmIChrbXMt PnBlcmYucGVyZl90dW5lLm1vZGUgPT0gRFBVX1BFUkZfTU9ERV9GSVhFRCkgewotCQlmb3IgKGkg PSAwOyBpIDwgRFBVX1BPV0VSX0hBTkRMRV9EQlVTX0lEX01BWDsgaSsrKSB7Ci0JCQlwZXJmLT5i d19jdGxbaV0gPSBrbXMtPnBlcmYuZml4X2NvcmVfYWJfdm90ZTsKLQkJCXBlcmYtPm1heF9wZXJf cGlwZV9pYltpXSA9IGttcy0+cGVyZi5maXhfY29yZV9pYl92b3RlOwotCQl9CisJCXBlcmYtPmJ3 X2N0bCA9IGttcy0+cGVyZi5maXhfY29yZV9hYl92b3RlOworCQlwZXJmLT5tYXhfcGVyX3BpcGVf aWIgPSBrbXMtPnBlcmYuZml4X2NvcmVfaWJfdm90ZTsKIAkJcGVyZi0+Y29yZV9jbGtfcmF0ZSA9 IGttcy0+cGVyZi5maXhfY29yZV9jbGtfcmF0ZTsKIAl9CiAKIAlEUFVfREVCVUcoCi0JCSJjcnRj PSVkIGNsa19yYXRlPSVsbHUgY29yZV9pYj0lbGx1IGNvcmVfYWI9JWxsdSBsbGNjX2liPSVsbHUg bGxjY19hYj0lbGx1IG1lbV9pYj0lbGx1IG1lbV9hYj0lbGx1XG4iLAorCQkiY3J0Yz0lZCBjbGtf cmF0ZT0lbGx1IGNvcmVfaWI9JWxsdSBjb3JlX2FiPSVsbHVcbiIsCiAJCQljcnRjLT5iYXNlLmlk LCBwZXJmLT5jb3JlX2Nsa19yYXRlLAotCQkJcGVyZi0+bWF4X3Blcl9waXBlX2liW0RQVV9QT1dF Ul9IQU5ETEVfREJVU19JRF9NTk9DXSwKLQkJCXBlcmYtPmJ3X2N0bFtEUFVfUE9XRVJfSEFORExF X0RCVVNfSURfTU5PQ10sCi0JCQlwZXJmLT5tYXhfcGVyX3BpcGVfaWJbRFBVX1BPV0VSX0hBTkRM RV9EQlVTX0lEX0xMQ0NdLAotCQkJcGVyZi0+YndfY3RsW0RQVV9QT1dFUl9IQU5ETEVfREJVU19J RF9MTENDXSwKLQkJCXBlcmYtPm1heF9wZXJfcGlwZV9pYltEUFVfUE9XRVJfSEFORExFX0RCVVNf SURfRUJJXSwKLQkJCXBlcmYtPmJ3X2N0bFtEUFVfUE9XRVJfSEFORExFX0RCVVNfSURfRUJJXSk7 CisJCQlwZXJmLT5tYXhfcGVyX3BpcGVfaWIsIHBlcmYtPmJ3X2N0bCk7CiB9CiAKIGludCBkcHVf Y29yZV9wZXJmX2NydGNfY2hlY2soc3RydWN0IGRybV9jcnRjICpjcnRjLApAQCAtMTQyLDcgKzEz MCw2IEBAIGludCBkcHVfY29yZV9wZXJmX2NydGNfY2hlY2soc3RydWN0IGRybV9jcnRjICpjcnRj LAogCXN0cnVjdCBkcHVfY3J0Y19zdGF0ZSAqZHB1X2NzdGF0ZTsKIAlzdHJ1Y3QgZHJtX2NydGMg KnRtcF9jcnRjOwogCXN0cnVjdCBkcHVfa21zICprbXM7Ci0JaW50IGk7CiAKIAlpZiAoIWNydGMg fHwgIXN0YXRlKSB7CiAJCURQVV9FUlJPUigiaW52YWxpZCBjcnRjXG4iKTsKQEAgLTE2NCwzMSAr MTUxLDI4IEBAIGludCBkcHVfY29yZV9wZXJmX2NydGNfY2hlY2soc3RydWN0IGRybV9jcnRjICpj cnRjLAogCS8qIG9idGFpbiBuZXcgdmFsdWVzICovCiAJX2RwdV9jb3JlX3BlcmZfY2FsY19jcnRj KGttcywgY3J0Yywgc3RhdGUsICZkcHVfY3N0YXRlLT5uZXdfcGVyZik7CiAKLQlmb3IgKGkgPSBE UFVfUE9XRVJfSEFORExFX0RCVVNfSURfTU5PQzsKLQkJCWkgPCBEUFVfUE9XRVJfSEFORExFX0RC VVNfSURfTUFYOyBpKyspIHsKLQkJYndfc3VtX29mX2ludGZzID0gZHB1X2NzdGF0ZS0+bmV3X3Bl cmYuYndfY3RsW2ldOwotCQljdXJyX2NsaWVudF90eXBlID0gZHB1X2NydGNfZ2V0X2NsaWVudF90 eXBlKGNydGMpOworCWJ3X3N1bV9vZl9pbnRmcyA9IGRwdV9jc3RhdGUtPm5ld19wZXJmLmJ3X2N0 bDsKKwljdXJyX2NsaWVudF90eXBlID0gZHB1X2NydGNfZ2V0X2NsaWVudF90eXBlKGNydGMpOwog Ci0JCWRybV9mb3JfZWFjaF9jcnRjKHRtcF9jcnRjLCBjcnRjLT5kZXYpIHsKLQkJCWlmIChfZHB1 X2NvcmVfcGVyZl9jcnRjX2lzX3Bvd2VyX29uKHRtcF9jcnRjKSAmJgotCQkJICAgIChkcHVfY3J0 Y19nZXRfY2xpZW50X3R5cGUodG1wX2NydGMpID09Ci0JCQkJCSAgICBjdXJyX2NsaWVudF90eXBl KSAmJgotCQkJICAgICh0bXBfY3J0YyAhPSBjcnRjKSkgewotCQkJCXN0cnVjdCBkcHVfY3J0Y19z dGF0ZSAqdG1wX2NzdGF0ZSA9Ci0JCQkJCXRvX2RwdV9jcnRjX3N0YXRlKHRtcF9jcnRjLT5zdGF0 ZSk7Ci0KLQkJCQlEUFVfREVCVUcoImNydGM6JWQgYnc6JWxsdSBjdHJsOiVkXG4iLAotCQkJCQl0 bXBfY3J0Yy0+YmFzZS5pZCwKLQkJCQkJdG1wX2NzdGF0ZS0+bmV3X3BlcmYuYndfY3RsW2ldLAot CQkJCQl0bXBfY3N0YXRlLT5id19jb250cm9sKTsKLQkJCQkvKgotCQkJCSAqIEZvciBidyBjaGVj ayBvbmx5IHVzZSB0aGUgYncgaWYgdGhlCi0JCQkJICogYXRvbWljIHByb3BlcnR5IGhhcyBiZWVu IGFscmVhZHkgc2V0Ci0JCQkJICovCi0JCQkJaWYgKHRtcF9jc3RhdGUtPmJ3X2NvbnRyb2wpCi0J CQkJCWJ3X3N1bV9vZl9pbnRmcyArPQotCQkJCQkJdG1wX2NzdGF0ZS0+bmV3X3BlcmYuYndfY3Rs W2ldOwotCQkJfQorCWRybV9mb3JfZWFjaF9jcnRjKHRtcF9jcnRjLCBjcnRjLT5kZXYpIHsKKwkJ aWYgKF9kcHVfY29yZV9wZXJmX2NydGNfaXNfcG93ZXJfb24odG1wX2NydGMpICYmCisJCSAgICAo ZHB1X2NydGNfZ2V0X2NsaWVudF90eXBlKHRtcF9jcnRjKSA9PQorCQkJCSAgICBjdXJyX2NsaWVu dF90eXBlKSAmJgorCQkgICAgKHRtcF9jcnRjICE9IGNydGMpKSB7CisJCQlzdHJ1Y3QgZHB1X2Ny dGNfc3RhdGUgKnRtcF9jc3RhdGUgPQorCQkJCXRvX2RwdV9jcnRjX3N0YXRlKHRtcF9jcnRjLT5z dGF0ZSk7CisKKwkJCURQVV9ERUJVRygiY3J0YzolZCBidzolbGx1IGN0cmw6JWRcbiIsCisJCQkJ dG1wX2NydGMtPmJhc2UuaWQsCisJCQkJdG1wX2NzdGF0ZS0+bmV3X3BlcmYuYndfY3RsLAorCQkJ CXRtcF9jc3RhdGUtPmJ3X2NvbnRyb2wpOworCQkJLyoKKwkJCSAqIEZvciBidyBjaGVjayBvbmx5 IHVzZSB0aGUgYncgaWYgdGhlCisJCQkgKiBhdG9taWMgcHJvcGVydHkgaGFzIGJlZW4gYWxyZWFk eSBzZXQKKwkJCSAqLworCQkJaWYgKHRtcF9jc3RhdGUtPmJ3X2NvbnRyb2wpCisJCQkJYndfc3Vt X29mX2ludGZzICs9CisJCQkJCXRtcF9jc3RhdGUtPm5ld19wZXJmLmJ3X2N0bDsKIAkJfQogCiAJ CS8qIGNvbnZlcnQgYmFuZHdpZHRoIHRvIGtiICovCkBAIC0yMTksOSArMjAzLDkgQEAgaW50IGRw dV9jb3JlX3BlcmZfY3J0Y19jaGVjayhzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCiB9CiAKIHN0YXRp YyBpbnQgX2RwdV9jb3JlX3BlcmZfY3J0Y191cGRhdGVfYnVzKHN0cnVjdCBkcHVfa21zICprbXMs Ci0JCXN0cnVjdCBkcm1fY3J0YyAqY3J0YywgdTMyIGJ1c19pZCkKKwkJc3RydWN0IGRybV9jcnRj ICpjcnRjKQogewotCXN0cnVjdCBkcHVfY29yZV9wZXJmX3BhcmFtcyBwZXJmID0geyB7IDAgfSB9 OworCXN0cnVjdCBkcHVfY29yZV9wZXJmX3BhcmFtcyBwZXJmID0geyAwIH07CiAJZW51bSBkcHVf Y3J0Y19jbGllbnRfdHlwZSBjdXJyX2NsaWVudF90eXBlCiAJCQkJCT0gZHB1X2NydGNfZ2V0X2Ns aWVudF90eXBlKGNydGMpOwogCXN0cnVjdCBkcm1fY3J0YyAqdG1wX2NydGM7CkBAIC0yMzQsMTMg KzIxOCwxMiBAQCBzdGF0aWMgaW50IF9kcHVfY29yZV9wZXJmX2NydGNfdXBkYXRlX2J1cyhzdHJ1 Y3QgZHB1X2ttcyAqa21zLAogCQkJCWRwdV9jcnRjX2dldF9jbGllbnRfdHlwZSh0bXBfY3J0Yykp IHsKIAkJCWRwdV9jc3RhdGUgPSB0b19kcHVfY3J0Y19zdGF0ZSh0bXBfY3J0Yy0+c3RhdGUpOwog Ci0JCQlwZXJmLm1heF9wZXJfcGlwZV9pYltidXNfaWRdID0KLQkJCQltYXgocGVyZi5tYXhfcGVy X3BpcGVfaWJbYnVzX2lkXSwKLQkJCQlkcHVfY3N0YXRlLT5uZXdfcGVyZi5tYXhfcGVyX3BpcGVf aWJbYnVzX2lkXSk7CisJCQlwZXJmLm1heF9wZXJfcGlwZV9pYiA9CisJCQkJbWF4KHBlcmYubWF4 X3Blcl9waXBlX2liLAorCQkJCWRwdV9jc3RhdGUtPm5ld19wZXJmLm1heF9wZXJfcGlwZV9pYik7 CiAKLQkJCURQVV9ERUJVRygiY3J0Yz0lZCBidXNfaWQ9JWQgYnc9JWxsdVxuIiwKLQkJCQl0bXBf Y3J0Yy0+YmFzZS5pZCwgYnVzX2lkLAotCQkJCWRwdV9jc3RhdGUtPm5ld19wZXJmLmJ3X2N0bFti dXNfaWRdKTsKKwkJCURQVV9ERUJVRygiY3J0Yz0lZCBidz0lbGx1XG4iLAorCQkJCXRtcF9jcnRj LT5iYXNlLmlkLCBkcHVfY3N0YXRlLT5uZXdfcGVyZi5id19jdGwpOwogCQl9CiAJfQogCXJldHVy biByZXQ7CkBAIC0yNjAsNyArMjQzLDYgQEAgdm9pZCBkcHVfY29yZV9wZXJmX2NydGNfcmVsZWFz ZV9idyhzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCiAJc3RydWN0IGRwdV9jcnRjICpkcHVfY3J0YzsK IAlzdHJ1Y3QgZHB1X2NydGNfc3RhdGUgKmRwdV9jc3RhdGU7CiAJc3RydWN0IGRwdV9rbXMgKmtt czsKLQlpbnQgaTsKIAogCWlmICghY3J0YykgewogCQlEUFVfRVJST1IoImludmFsaWQgY3J0Y1xu Iik7CkBAIC0yOTYsMTAgKzI3OCw4IEBAIHZvaWQgZHB1X2NvcmVfcGVyZl9jcnRjX3JlbGVhc2Vf Yncoc3RydWN0IGRybV9jcnRjICpjcnRjKQogCWlmIChrbXMtPnBlcmYuZW5hYmxlX2J3X3JlbGVh c2UpIHsKIAkJdHJhY2VfZHB1X2NtZF9yZWxlYXNlX2J3KGNydGMtPmJhc2UuaWQpOwogCQlEUFVf REVCVUcoIlJlbGVhc2UgQlcgY3J0Yz0lZFxuIiwgY3J0Yy0+YmFzZS5pZCk7Ci0JCWZvciAoaSA9 IDA7IGkgPCBEUFVfUE9XRVJfSEFORExFX0RCVVNfSURfTUFYOyBpKyspIHsKLQkJCWRwdV9jcnRj LT5jdXJfcGVyZi5id19jdGxbaV0gPSAwOwotCQkJX2RwdV9jb3JlX3BlcmZfY3J0Y191cGRhdGVf YnVzKGttcywgY3J0YywgaSk7Ci0JCX0KKwkJZHB1X2NydGMtPmN1cl9wZXJmLmJ3X2N0bCA9IDA7 CisJCV9kcHVfY29yZV9wZXJmX2NydGNfdXBkYXRlX2J1cyhrbXMsIGNydGMpOwogCX0KIH0KIApA QCAtMzQyLDExICszMjIsMTAgQEAgaW50IGRwdV9jb3JlX3BlcmZfY3J0Y191cGRhdGUoc3RydWN0 IGRybV9jcnRjICpjcnRjLAogCQlpbnQgcGFyYW1zX2NoYW5nZWQsIGJvb2wgc3RvcF9yZXEpCiB7 CiAJc3RydWN0IGRwdV9jb3JlX3BlcmZfcGFyYW1zICpuZXcsICpvbGQ7Ci0JaW50IHVwZGF0ZV9i dXMgPSAwLCB1cGRhdGVfY2xrID0gMDsKKwlib29sIHVwZGF0ZV9idXMgPSBmYWxzZSwgdXBkYXRl X2NsayA9IGZhbHNlOwogCXU2NCBjbGtfcmF0ZSA9IDA7CiAJc3RydWN0IGRwdV9jcnRjICpkcHVf Y3J0YzsKIAlzdHJ1Y3QgZHB1X2NydGNfc3RhdGUgKmRwdV9jc3RhdGU7Ci0JaW50IGk7CiAJc3Ry dWN0IG1zbV9kcm1fcHJpdmF0ZSAqcHJpdjsKIAlzdHJ1Y3QgZHB1X2ttcyAqa21zOwogCWludCBy ZXQ7CkBAIC0zNzMsNyArMzUyLDYgQEAgaW50IGRwdV9jb3JlX3BlcmZfY3J0Y191cGRhdGUoc3Ry dWN0IGRybV9jcnRjICpjcnRjLAogCW5ldyA9ICZkcHVfY3N0YXRlLT5uZXdfcGVyZjsKIAogCWlm IChfZHB1X2NvcmVfcGVyZl9jcnRjX2lzX3Bvd2VyX29uKGNydGMpICYmICFzdG9wX3JlcSkgewot CQlmb3IgKGkgPSAwOyBpIDwgRFBVX1BPV0VSX0hBTkRMRV9EQlVTX0lEX01BWDsgaSsrKSB7CiAJ CQkvKgogCQkJICogY2FzZXMgZm9yIGJ1cyBiYW5kd2lkdGggdXBkYXRlLgogCQkJICogMS4gbmV3 IGJhbmR3aWR0aCB2b3RlIC0gImFiIG9yIGliIHZvdGUiIGlzIGhpZ2hlcgpAQCAtMzgxLDIzICsz NTksMjIgQEAgaW50IGRwdV9jb3JlX3BlcmZfY3J0Y191cGRhdGUoc3RydWN0IGRybV9jcnRjICpj cnRjLAogCQkJICogMi4gbmV3IGJhbmR3aWR0aCB2b3RlIC0gImFiIG9yIGliIHZvdGUiIGlzIGxv d2VyCiAJCQkgKiAgICB0aGFuIGN1cnJlbnQgdm90ZSBhdCBlbmQgb2YgY29tbWl0IG9yIHN0b3Au CiAJCQkgKi8KLQkJCWlmICgocGFyYW1zX2NoYW5nZWQgJiYgKChuZXctPmJ3X2N0bFtpXSA+Ci0J CQkJCQlvbGQtPmJ3X2N0bFtpXSkgfHwKLQkJCQkgIChuZXctPm1heF9wZXJfcGlwZV9pYltpXSA+ Ci0JCQkJCQlvbGQtPm1heF9wZXJfcGlwZV9pYltpXSkpKSB8fAotCQkJICAgICghcGFyYW1zX2No YW5nZWQgJiYgKChuZXctPmJ3X2N0bFtpXSA8Ci0JCQkJCQlvbGQtPmJ3X2N0bFtpXSkgfHwKLQkJ CQkgIChuZXctPm1heF9wZXJfcGlwZV9pYltpXSA8Ci0JCQkJCQlvbGQtPm1heF9wZXJfcGlwZV9p YltpXSkpKSkgeworCQkJaWYgKChwYXJhbXNfY2hhbmdlZCAmJiAoKG5ldy0+YndfY3RsID4KKwkJ CQkJCW9sZC0+YndfY3RsKSB8fAorCQkJCSAgKG5ldy0+bWF4X3Blcl9waXBlX2liID4KKwkJCQkJ CW9sZC0+bWF4X3Blcl9waXBlX2liKSkpIHx8CisJCQkgICAgKCFwYXJhbXNfY2hhbmdlZCAmJiAo KG5ldy0+YndfY3RsIDwKKwkJCQkJCW9sZC0+YndfY3RsKSB8fAorCQkJCSAgKG5ldy0+bWF4X3Bl cl9waXBlX2liIDwKKwkJCQkJCW9sZC0+bWF4X3Blcl9waXBlX2liKSkpKSB7CiAJCQkJRFBVX0RF QlVHKAogCQkJCQkiY3J0Yz0lZCBwPSVkIG5ld19idz0lbGx1LG9sZF9idz0lbGx1XG4iLAogCQkJ CQljcnRjLT5iYXNlLmlkLCBwYXJhbXNfY2hhbmdlZCwKLQkJCQkJbmV3LT5id19jdGxbaV0sIG9s ZC0+YndfY3RsW2ldKTsKLQkJCQlvbGQtPmJ3X2N0bFtpXSA9IG5ldy0+YndfY3RsW2ldOwotCQkJ CW9sZC0+bWF4X3Blcl9waXBlX2liW2ldID0KLQkJCQkJCW5ldy0+bWF4X3Blcl9waXBlX2liW2ld OwotCQkJCXVwZGF0ZV9idXMgfD0gQklUKGkpOwotCQkJfQorCQkJCQluZXctPmJ3X2N0bCwgb2xk LT5id19jdGwpOworCQkJCW9sZC0+YndfY3RsID0gbmV3LT5id19jdGw7CisJCQkJb2xkLT5tYXhf cGVyX3BpcGVfaWIgPQorCQkJCQkJbmV3LT5tYXhfcGVyX3BpcGVfaWI7CisJCQkJdXBkYXRlX2J1 cyA9IHRydWU7CiAJCX0KIAogCQlpZiAoKHBhcmFtc19jaGFuZ2VkICYmCkBAIC00MDUsMzAgKzM4 MiwyNiBAQCBpbnQgZHB1X2NvcmVfcGVyZl9jcnRjX3VwZGF0ZShzdHJ1Y3QgZHJtX2NydGMgKmNy dGMsCiAJCQkJKCFwYXJhbXNfY2hhbmdlZCAmJgogCQkJCShuZXctPmNvcmVfY2xrX3JhdGUgPCBv bGQtPmNvcmVfY2xrX3JhdGUpKSkgewogCQkJb2xkLT5jb3JlX2Nsa19yYXRlID0gbmV3LT5jb3Jl X2Nsa19yYXRlOwotCQkJdXBkYXRlX2NsayA9IDE7CisJCQl1cGRhdGVfY2xrID0gdHJ1ZTsKIAkJ fQogCX0gZWxzZSB7CiAJCURQVV9ERUJVRygiY3J0Yz0lZCBkaXNhYmxlXG4iLCBjcnRjLT5iYXNl LmlkKTsKIAkJbWVtc2V0KG9sZCwgMCwgc2l6ZW9mKCpvbGQpKTsKIAkJbWVtc2V0KG5ldywgMCwg c2l6ZW9mKCpuZXcpKTsKLQkJdXBkYXRlX2J1cyA9IH4wOwotCQl1cGRhdGVfY2xrID0gMTsKKwkJ dXBkYXRlX2J1cyA9IHRydWU7CisJCXVwZGF0ZV9jbGsgPSB0cnVlOwogCX0KKwogCXRyYWNlX2Rw dV9wZXJmX2NydGNfdXBkYXRlKGNydGMtPmJhc2UuaWQsCi0JCQkJbmV3LT5id19jdGxbRFBVX1BP V0VSX0hBTkRMRV9EQlVTX0lEX01OT0NdLAotCQkJCW5ldy0+YndfY3RsW0RQVV9QT1dFUl9IQU5E TEVfREJVU19JRF9MTENDXSwKLQkJCQluZXctPmJ3X2N0bFtEUFVfUE9XRVJfSEFORExFX0RCVVNf SURfRUJJXSwKLQkJCQluZXctPmNvcmVfY2xrX3JhdGUsIHN0b3BfcmVxLAotCQkJCXVwZGF0ZV9i dXMsIHVwZGF0ZV9jbGspOwotCi0JZm9yIChpID0gMDsgaSA8IERQVV9QT1dFUl9IQU5ETEVfREJV U19JRF9NQVg7IGkrKykgewotCQlpZiAodXBkYXRlX2J1cyAmIEJJVChpKSkgewotCQkJcmV0ID0g X2RwdV9jb3JlX3BlcmZfY3J0Y191cGRhdGVfYnVzKGttcywgY3J0YywgaSk7Ci0JCQlpZiAocmV0 KSB7Ci0JCQkJRFBVX0VSUk9SKCJjcnRjLSVkOiBmYWlsZWQgdG8gdXBkYXRlIGJ3IHZvdGUgZm9y IGJ1cy0lZFxuIiwKLQkJCQkJICBjcnRjLT5iYXNlLmlkLCBpKTsKLQkJCQlyZXR1cm4gcmV0Owot CQkJfQorCQkJCW5ldy0+YndfY3RsLCBuZXctPmNvcmVfY2xrX3JhdGUsCisJCQkJc3RvcF9yZXEs IHVwZGF0ZV9idXMsIHVwZGF0ZV9jbGspOworCisJaWYgKHVwZGF0ZV9idXMpIHsKKwkJcmV0ID0g X2RwdV9jb3JlX3BlcmZfY3J0Y191cGRhdGVfYnVzKGttcywgY3J0Yyk7CisJCWlmIChyZXQpIHsK KwkJCURQVV9FUlJPUigiY3J0Yy0lZDogZmFpbGVkIHRvIHVwZGF0ZSBidXMgYncgdm90ZVxuIiwK KwkJCQkgIGNydGMtPmJhc2UuaWQpOworCQkJcmV0dXJuIHJldDsKIAkJfQogCX0KIApkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2NvcmVfcGVyZi5oIGIvZHJp dmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2NvcmVfcGVyZi5oCmluZGV4IGZiY2JlMGM3 NTI3YS4uMGZiMjc2OTI5ZGM1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3Av ZHB1MS9kcHVfY29yZV9wZXJmLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEv ZHB1X2NvcmVfcGVyZi5oCkBAIC0zMCw4ICszMCw4IEBACiAgKiBAY29yZV9jbGtfcmF0ZTogY29y ZSBjbG9jayByYXRlIHJlcXVlc3QKICAqLwogc3RydWN0IGRwdV9jb3JlX3BlcmZfcGFyYW1zIHsK LQl1NjQgbWF4X3Blcl9waXBlX2liW0RQVV9QT1dFUl9IQU5ETEVfREJVU19JRF9NQVhdOwotCXU2 NCBid19jdGxbRFBVX1BPV0VSX0hBTkRMRV9EQlVTX0lEX01BWF07CisJdTY0IG1heF9wZXJfcGlw ZV9pYjsKKwl1NjQgYndfY3RsOwogCXU2NCBjb3JlX2Nsa19yYXRlOwogfTsKIApkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2NydGMuYyBiL2RyaXZlcnMvZ3B1 L2RybS9tc20vZGlzcC9kcHUxL2RwdV9jcnRjLmMKaW5kZXggZDQ1MzBkNjA3NjdiLi40ZWNiNmY5 NmU2YmEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9jcnRj LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2NydGMuYwpAQCAtMTQ1 MCw3ICsxNDUwLDYgQEAgc3RhdGljIGludCBkcHVfY3J0Y19kZWJ1Z2ZzX3N0YXRlX3Nob3coc3Ry dWN0IHNlcV9maWxlICpzLCB2b2lkICp2KQogewogCXN0cnVjdCBkcm1fY3J0YyAqY3J0YyA9IChz dHJ1Y3QgZHJtX2NydGMgKikgcy0+cHJpdmF0ZTsKIAlzdHJ1Y3QgZHB1X2NydGMgKmRwdV9jcnRj ID0gdG9fZHB1X2NydGMoY3J0Yyk7Ci0JaW50IGk7CiAKIAlzZXFfcHJpbnRmKHMsICJjbGllbnQg dHlwZTogJWRcbiIsIGRwdV9jcnRjX2dldF9jbGllbnRfdHlwZShjcnRjKSk7CiAJc2VxX3ByaW50 ZihzLCAiaW50Zl9tb2RlOiAlZFxuIiwgZHB1X2NydGNfZ2V0X2ludGZfbW9kZShjcnRjKSk7CmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfcG93ZXJfaGFuZGxl LmMgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfcG93ZXJfaGFuZGxlLmMKaW5k ZXggZmMxNDExNjc4OWYyLi5kNThkMDE1NDQ3MzEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9tc20vZGlzcC9kcHUxL2RwdV9wb3dlcl9oYW5kbGUuYworKysgYi9kcml2ZXJzL2dwdS9kcm0v bXNtL2Rpc3AvZHB1MS9kcHVfcG93ZXJfaGFuZGxlLmMKQEAgLTI0LDIwICsyNCw2IEBACiAjaW5j bHVkZSAiZHB1X3Bvd2VyX2hhbmRsZS5oIgogI2luY2x1ZGUgImRwdV90cmFjZS5oIgogCi1zdGF0 aWMgY29uc3QgY2hhciAqZGF0YV9idXNfbmFtZVtEUFVfUE9XRVJfSEFORExFX0RCVVNfSURfTUFY XSA9IHsKLQlbRFBVX1BPV0VSX0hBTkRMRV9EQlVTX0lEX01OT0NdID0gInFjb20sZHB1LWRhdGEt YnVzIiwKLQlbRFBVX1BPV0VSX0hBTkRMRV9EQlVTX0lEX0xMQ0NdID0gInFjb20sZHB1LWxsY2Mt YnVzIiwKLQlbRFBVX1BPV0VSX0hBTkRMRV9EQlVTX0lEX0VCSV0gPSAicWNvbSxkcHUtZWJpLWJ1 cyIsCi19OwotCi1jb25zdCBjaGFyICpkcHVfcG93ZXJfaGFuZGxlX2dldF9kYnVzX25hbWUodTMy IGJ1c19pZCkKLXsKLQlpZiAoYnVzX2lkIDwgRFBVX1BPV0VSX0hBTkRMRV9EQlVTX0lEX01BWCkK LQkJcmV0dXJuIGRhdGFfYnVzX25hbWVbYnVzX2lkXTsKLQotCXJldHVybiBOVUxMOwotfQotCiBz dGF0aWMgdm9pZCBkcHVfcG93ZXJfZXZlbnRfdHJpZ2dlcl9sb2NrZWQoc3RydWN0IGRwdV9wb3dl cl9oYW5kbGUgKnBoYW5kbGUsCiAJCXUzMiBldmVudF90eXBlKQogewpAQCAtNjYsNyArNTIsNiBA QCBzdHJ1Y3QgZHB1X3Bvd2VyX2NsaWVudCAqZHB1X3Bvd2VyX2NsaWVudF9jcmVhdGUoCiAKIAlt dXRleF9sb2NrKCZwaGFuZGxlLT5waGFuZGxlX2xvY2spOwogCXN0cmxjcHkoY2xpZW50LT5uYW1l LCBjbGllbnRfbmFtZSwgTUFYX0NMSUVOVF9OQU1FX0xFTik7Ci0JY2xpZW50LT51c2VjYXNlX25k eCA9IFZPVEVfSU5ERVhfRElTQUJMRTsKIAljbGllbnQtPmlkID0gaWQ7CiAJY2xpZW50LT5hY3Rp dmUgPSB0cnVlOwogCXByX2RlYnVnKCJjbGllbnQgJXMgY3JlYXRlZDolcEsgaWQgOiVkXG4iLCBj bGllbnRfbmFtZSwKQEAgLTE0Myw4ICsxMjgsNiBAQCBpbnQgZHB1X3Bvd2VyX3Jlc291cmNlX2Vu YWJsZShzdHJ1Y3QgZHB1X3Bvd2VyX2hhbmRsZSAqcGhhbmRsZSwKIAlzdHJ1Y3QgZHB1X3Bvd2Vy X2NsaWVudCAqcGNsaWVudCwgYm9vbCBlbmFibGUpCiB7CiAJYm9vbCBjaGFuZ2VkID0gZmFsc2U7 Ci0JdTMyIG1heF91c2VjYXNlX25keCA9IFZPVEVfSU5ERVhfRElTQUJMRSwgcHJldl91c2VjYXNl X25keDsKLQlzdHJ1Y3QgZHB1X3Bvd2VyX2NsaWVudCAqY2xpZW50OwogCXUzMiBldmVudF90eXBl OwogCiAJaWYgKCFwaGFuZGxlIHx8ICFwY2xpZW50KSB7CkBAIC0xNTMsMzEgKzEzNiwxOSBAQCBp bnQgZHB1X3Bvd2VyX3Jlc291cmNlX2VuYWJsZShzdHJ1Y3QgZHB1X3Bvd2VyX2hhbmRsZSAqcGhh bmRsZSwKIAl9CiAKIAltdXRleF9sb2NrKCZwaGFuZGxlLT5waGFuZGxlX2xvY2spOwotCWlmIChl bmFibGUpCisJaWYgKGVuYWJsZSkgewogCQlwY2xpZW50LT5yZWZjb3VudCsrOwotCWVsc2UgaWYg KHBjbGllbnQtPnJlZmNvdW50KQorCQlpZiAocGNsaWVudC0+cmVmY291bnQgPT0gMSkKKwkJCWNo YW5nZWQgPSB0cnVlOworCX0gZWxzZSBpZiAocGNsaWVudC0+cmVmY291bnQpIHsKIAkJcGNsaWVu dC0+cmVmY291bnQtLTsKLQotCWlmIChwY2xpZW50LT5yZWZjb3VudCkKLQkJcGNsaWVudC0+dXNl Y2FzZV9uZHggPSBWT1RFX0lOREVYX0xPVzsKLQllbHNlCi0JCXBjbGllbnQtPnVzZWNhc2VfbmR4 ID0gVk9URV9JTkRFWF9ESVNBQkxFOwotCi0JbGlzdF9mb3JfZWFjaF9lbnRyeShjbGllbnQsICZw aGFuZGxlLT5wb3dlcl9jbGllbnRfY2xpc3QsIGxpc3QpIHsKLQkJaWYgKGNsaWVudC0+dXNlY2Fz ZV9uZHggPCBWT1RFX0lOREVYX01BWCAmJgotCQkgICAgY2xpZW50LT51c2VjYXNlX25keCA+IG1h eF91c2VjYXNlX25keCkKLQkJCW1heF91c2VjYXNlX25keCA9IGNsaWVudC0+dXNlY2FzZV9uZHg7 Ci0JfQotCi0JaWYgKHBoYW5kbGUtPmN1cnJlbnRfdXNlY2FzZV9uZHggIT0gbWF4X3VzZWNhc2Vf bmR4KSB7Ci0JCWNoYW5nZWQgPSB0cnVlOwotCQlwcmV2X3VzZWNhc2VfbmR4ID0gcGhhbmRsZS0+ Y3VycmVudF91c2VjYXNlX25keDsKLQkJcGhhbmRsZS0+Y3VycmVudF91c2VjYXNlX25keCA9IG1h eF91c2VjYXNlX25keDsKKwkJaWYgKCFwY2xpZW50LT5yZWZjb3VudCkKKwkJCWNoYW5nZWQgPSB0 cnVlOwogCX0KIAotCXByX2RlYnVnKCIlcFM6IGNoYW5nZWQ9JWQgY3VycmVudCBpZHg9JWQgcmVx dWVzdCBjbGllbnQgJXMgaWQ6JXUgZW5hYmxlOiVkIHJlZmNvdW50OiVkXG4iLAotCQlfX2J1aWx0 aW5fcmV0dXJuX2FkZHJlc3MoMCksIGNoYW5nZWQsIG1heF91c2VjYXNlX25keCwKLQkJcGNsaWVu dC0+bmFtZSwgcGNsaWVudC0+aWQsIGVuYWJsZSwgcGNsaWVudC0+cmVmY291bnQpOworCXByX2Rl YnVnKCIlcFM6Y2hhbmdlZD0lZCBjbGllbnQgJXMgaWQ6JXUgZW5hYmxlOiVkIHJlZmNvdW50OiVk XG4iLAorCQlfX2J1aWx0aW5fcmV0dXJuX2FkZHJlc3MoMCksIGNoYW5nZWQsIHBjbGllbnQtPm5h bWUsCisJCXBjbGllbnQtPmlkLCBlbmFibGUsIHBjbGllbnQtPnJlZmNvdW50KTsKIAogCWlmICgh Y2hhbmdlZCkKIAkJZ290byBlbmQ7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rp c3AvZHB1MS9kcHVfcG93ZXJfaGFuZGxlLmggYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1 MS9kcHVfcG93ZXJfaGFuZGxlLmgKaW5kZXggYTY1YjdhMjk3ZjIxLi5iMWE1YWU0ZDZmNGUgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9wb3dlcl9oYW5kbGUu aAorKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfcG93ZXJfaGFuZGxlLmgK QEAgLTE2LDc2ICsxNiwyOCBAQAogCiAjZGVmaW5lIE1BWF9DTElFTlRfTkFNRV9MRU4gMTI4CiAK LSNkZWZpbmUgRFBVX1BPV0VSX0hBTkRMRV9FTkFCTEVfQlVTX0FCX1FVT1RBCTAKLSNkZWZpbmUg RFBVX1BPV0VSX0hBTkRMRV9ESVNBQkxFX0JVU19BQl9RVU9UQQkwCi0jZGVmaW5lIERQVV9QT1dF Ul9IQU5ETEVfRU5BQkxFX0JVU19JQl9RVU9UQQkxNjAwMDAwMDAwCi0jZGVmaW5lIERQVV9QT1dF Ul9IQU5ETEVfRElTQUJMRV9CVVNfSUJfUVVPVEEJMAotCiAjaW5jbHVkZSAiZHB1X2lvX3V0aWwu aCIKIAogLyogZXZlbnRzIHdpbGwgYmUgdHJpZ2dlcmVkIG9uIHBvd2VyIGhhbmRsZXIgZW5hYmxl L2Rpc2FibGUgKi8KICNkZWZpbmUgRFBVX1BPV0VSX0VWRU5UX0RJU0FCTEUJQklUKDApCiAjZGVm aW5lIERQVV9QT1dFUl9FVkVOVF9FTkFCTEUJQklUKDEpCiAKLS8qKgotICogbWRzc19idXNfdm90 ZV90eXBlOiByZWdpc3RlciBidXMgdm90ZSB0eXBlCi0gKiBWT1RFX0lOREVYX0RJU0FCTEU6IHJl bW92ZXMgdGhlIGNsaWVudCB2b3RlCi0gKiBWT1RFX0lOREVYX0xPVzoga2VlcHMgdGhlIGxvd2Vz dCB2b3RlIGZvciByZWdpc3RlciBidXMKLSAqIFZPVEVfSU5ERVhfTUFYOiBpbnZhbGlkCi0gKi8K LWVudW0gbWRzc19idXNfdm90ZV90eXBlIHsKLQlWT1RFX0lOREVYX0RJU0FCTEUsCi0JVk9URV9J TkRFWF9MT1csCi0JVk9URV9JTkRFWF9NQVgsCi19OwotCi0vKioKLSAqIGVudW0gZHB1X3Bvd2Vy X2hhbmRsZV9kYXRhX2J1c19jbGllbnQgLSB0eXBlIG9mIGF4aSBidXMgY2xpZW50cwotICogQERQ VV9QT1dFUl9IQU5ETEVfREFUQV9CVVNfQ0xJRU5UX1JUOiBjb3JlIHJlYWwtdGltZSBidXMgY2xp ZW50Ci0gKiBARFBVX1BPV0VSX0hBTkRMRV9EQVRBX0JVU19DTElFTlRfTlJUOiBjb3JlIG5vbi1y ZWFsLXRpbWUgYnVzIGNsaWVudAotICogQERQVV9QT1dFUl9IQU5ETEVfREFUQV9CVVNfQ0xJRU5U X01BWDogbWF4aW11bSBudW1iZXIgb2YgYnVzIGNsaWVudCB0eXBlCi0gKi8KLWVudW0gZHB1X3Bv d2VyX2hhbmRsZV9kYXRhX2J1c19jbGllbnQgewotCURQVV9QT1dFUl9IQU5ETEVfREFUQV9CVVNf Q0xJRU5UX1JULAotCURQVV9QT1dFUl9IQU5ETEVfREFUQV9CVVNfQ0xJRU5UX05SVCwKLQlEUFVf UE9XRVJfSEFORExFX0RBVEFfQlVTX0NMSUVOVF9NQVgKLX07Ci0KLS8qKgotICogZW51bSBEUFVf UE9XRVJfSEFORExFX0RCVVNfSUQgLSBkYXRhIGJ1cyBpZGVudGlmaWVyCi0gKiBARFBVX1BPV0VS X0hBTkRMRV9EQlVTX0lEX01OT0M6IERQVS9NTk9DIGRhdGEgYnVzCi0gKiBARFBVX1BPV0VSX0hB TkRMRV9EQlVTX0lEX0xMQ0M6IE1OT0MvTExDQyBkYXRhIGJ1cwotICogQERQVV9QT1dFUl9IQU5E TEVfREJVU19JRF9FQkk6IExMQ0MvRUJJIGRhdGEgYnVzCi0gKi8KLWVudW0gRFBVX1BPV0VSX0hB TkRMRV9EQlVTX0lEIHsKLQlEUFVfUE9XRVJfSEFORExFX0RCVVNfSURfTU5PQywKLQlEUFVfUE9X RVJfSEFORExFX0RCVVNfSURfTExDQywKLQlEUFVfUE9XRVJfSEFORExFX0RCVVNfSURfRUJJLAot CURQVV9QT1dFUl9IQU5ETEVfREJVU19JRF9NQVgsCi19OwotCiAvKioKICAqIHN0cnVjdCBkcHVf cG93ZXJfY2xpZW50OiBzdG9yZXMgdGhlIHBvd2VyIGNsaWVudCBmb3IgZHB1IGRyaXZlcgogICog QG5hbWU6CW5hbWUgb2YgdGhlIGNsaWVudAotICogQHVzZWNhc2VfbmR4OiBjdXJyZW50IHJlZ3Mg YnVzIHZvdGUgdHlwZQogICogQHJlZmNvdW50OgljdXJyZW50IHJlZmNvdW50IGlmIG11bHRpcGxl IG1vZHVsZXMgYXJlIHVzaW5nIHNhbWUKICAqICAgICAgICAgICAgICBzYW1lIGNsaWVudCBmb3Ig ZW5hYmxlL2Rpc2FibGUuIFBvd2VyIG1vZHVsZSB3aWxsCiAgKiAgICAgICAgICAgICAgYWdncmVn YXRlIHRoZSByZWZjb3VudCBhbmQgdm90ZSBhY2NvcmRpbmdseSBmb3IgdGhpcwogICogICAgICAg ICAgICAgIGNsaWVudC4KICAqIEBpZDoJCWFzc2lnbmVkIGR1cmluZyBjcmVhdGUuIGhlbHBzIGZv ciBkZWJ1Z2dpbmcuCiAgKiBAbGlzdDoJbGlzdCB0byBhdHRhY2ggcG93ZXIgaGFuZGxlIG1hc3Rl ciBsaXN0Ci0gKiBAYWI6ICAgICAgICAgYXJiaXRyYXRlZCBiYW5kd2lkdGggZm9yIGVhY2ggYnVz IGNsaWVudAotICogQGliOiAgICAgICAgIGluc3RhbnRhbmVvdXMgYmFuZHdpZHRoIGZvciBlYWNo IGJ1cyBjbGllbnQKICAqIEBhY3RpdmU6CWluaWRjYXRlcyB0aGUgc3RhdGUgb2YgZHB1IHBvd2Vy IGhhbmRsZQogICovCiBzdHJ1Y3QgZHB1X3Bvd2VyX2NsaWVudCB7CiAJY2hhciBuYW1lW01BWF9D TElFTlRfTkFNRV9MRU5dOwotCXNob3J0IHVzZWNhc2VfbmR4OwogCXNob3J0IHJlZmNvdW50Owog CXUzMiBpZDsKIAlzdHJ1Y3QgbGlzdF9oZWFkIGxpc3Q7Ci0JdTY0IGFiW0RQVV9QT1dFUl9IQU5E TEVfREFUQV9CVVNfQ0xJRU5UX01BWF07Ci0JdTY0IGliW0RQVV9QT1dFUl9IQU5ETEVfREFUQV9C VVNfQ0xJRU5UX01BWF07CiAJYm9vbCBhY3RpdmU7CiB9OwogCkBAIC0xMTIsMTQgKzY0LDEyIEBA IHN0cnVjdCBkcHVfcG93ZXJfZXZlbnQgewogICogQGNsaWVudF9jbGlzdDogbWFzdGVyIGxpc3Qg dG8gc3RvcmUgYWxsIGNsaWVudHMKICAqIEBwaGFuZGxlX2xvY2s6IGxvY2sgdG8gc3luY2hyb25p emUgdGhlIGVuYWJsZS9kaXNhYmxlCiAgKiBAZGV2OiBwb2ludGVyIHRvIGRldmljZSBzdHJ1Y3R1 cmUKLSAqIEB1c2VjYXNlX25keDogY3VycmVudCB1c2VjYXNlIGluZGV4CiAgKiBAZXZlbnRfbGlz dDogY3VycmVudCBwb3dlciBoYW5kbGUgZXZlbnQgbGlzdAogICovCiBzdHJ1Y3QgZHB1X3Bvd2Vy X2hhbmRsZSB7CiAJc3RydWN0IGxpc3RfaGVhZCBwb3dlcl9jbGllbnRfY2xpc3Q7CiAJc3RydWN0 IG11dGV4IHBoYW5kbGVfbG9jazsKIAlzdHJ1Y3QgZGV2aWNlICpkZXY7Ci0JdTMyIGN1cnJlbnRf dXNlY2FzZV9uZHg7CiAJc3RydWN0IGxpc3RfaGVhZCBldmVudF9saXN0OwogfTsKIApAQCAtMTcy LDE3ICsxMjIsNiBAQCB2b2lkIGRwdV9wb3dlcl9jbGllbnRfZGVzdHJveShzdHJ1Y3QgZHB1X3Bv d2VyX2hhbmRsZSAqcGhhbmRsZSwKIGludCBkcHVfcG93ZXJfcmVzb3VyY2VfZW5hYmxlKHN0cnVj dCBkcHVfcG93ZXJfaGFuZGxlICpwZGF0YSwKIAlzdHJ1Y3QgZHB1X3Bvd2VyX2NsaWVudCAqcGNs aWVudCwgYm9vbCBlbmFibGUpOwogCi0vKioKLSAqIGRwdV9wb3dlcl9kYXRhX2J1c19iYW5kd2lk dGhfY3RybCgpIC0gY29udHJvbCBkYXRhIGJ1cyBiYW5kd2lkdGggZW5hYmxlCi0gKiBAcGhhbmRs ZTogIHBvd2VyIGhhbmRsZSBjb250YWluaW5nIHRoZSByZXNvdXJjZXMKLSAqIEBjbGllbnQ6IGNs aWVudCBpbmZvcm1hdGlvbiB0byBiYW5kd2lkdGggY29udHJvbAotICogQGVuYWJsZTogdHJ1ZSB0 byBlbmFibGUgYmFuZHdpZHRoIGZvciBkYXRhIGJhc2UKLSAqCi0gKiBSZXR1cm46IG5vbmUKLSAq Lwotdm9pZCBkcHVfcG93ZXJfZGF0YV9idXNfYmFuZHdpZHRoX2N0cmwoc3RydWN0IGRwdV9wb3dl cl9oYW5kbGUgKnBoYW5kbGUsCi0JCXN0cnVjdCBkcHVfcG93ZXJfY2xpZW50ICpwY2xpZW50LCBp bnQgZW5hYmxlKTsKLQogLyoqCiAgKiBkcHVfcG93ZXJfaGFuZGxlX3JlZ2lzdGVyX2V2ZW50IC0g cmVnaXN0ZXIgYSBjYWxsYmFjayBmdW5jdGlvbiBmb3IgYW4gZXZlbnQuCiAgKglDbGllbnRzIGNh biByZWdpc3RlciBmb3IgbXVsdGlwbGUgZXZlbnRzIHdpdGggYSBzaW5nbGUgcmVnaXN0ZXIuCkBA IC0yMDcsMTEgKzE0Niw0IEBAIHN0cnVjdCBkcHVfcG93ZXJfZXZlbnQgKmRwdV9wb3dlcl9oYW5k bGVfcmVnaXN0ZXJfZXZlbnQoCiB2b2lkIGRwdV9wb3dlcl9oYW5kbGVfdW5yZWdpc3Rlcl9ldmVu dChzdHJ1Y3QgZHB1X3Bvd2VyX2hhbmRsZSAqcGhhbmRsZSwKIAkJc3RydWN0IGRwdV9wb3dlcl9l dmVudCAqZXZlbnQpOwogCi0vKioKLSAqIGRwdV9wb3dlcl9oYW5kbGVfZ2V0X2RidXNfbmFtZSAt IGdldCBuYW1lIG9mIGdpdmVuIGRhdGEgYnVzIGlkZW50aWZpZXIKLSAqIEBidXNfaWQ6CWRhdGEg YnVzIGlkZW50aWZpZXIKLSAqIFJldHVybjoJUG9pbnRlciB0byBuYW1lIHN0cmluZyBpZiBzdWNj ZXNzOyBOVUxMIG90aGVyd2lzZQotICovCi1jb25zdCBjaGFyICpkcHVfcG93ZXJfaGFuZGxlX2dl dF9kYnVzX25hbWUodTMyIGJ1c19pZCk7Ci0KICNlbmRpZiAvKiBfRFBVX1BPV0VSX0hBTkRMRV9I XyAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X3RyYWNl LmggYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfdHJhY2UuaAppbmRleCA2MzZi MzFiMGQzMTEuLjcyYTMyZTliNWNhNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9k aXNwL2RwdTEvZHB1X3RyYWNlLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEv ZHB1X3RyYWNlLmgKQEAgLTE2NywxNiArMTY3LDEzIEBAIFRSQUNFX0VWRU5UKGRwdV90cmFjZV9j b3VudGVyLAogKQogCiBUUkFDRV9FVkVOVChkcHVfcGVyZl9jcnRjX3VwZGF0ZSwKLQlUUF9QUk9U Tyh1MzIgY3J0YywgdTY0IGJ3X2N0bF9tbm9jLCB1NjQgYndfY3RsX2xsY2MsCi0JCQl1NjQgYndf Y3RsX2ViaSwgdTMyIGNvcmVfY2xrX3JhdGUsCi0JCQlib29sIHN0b3BfcmVxLCB1MzIgdXBkYXRl X2J1cywgdTMyIHVwZGF0ZV9jbGspLAotCVRQX0FSR1MoY3J0YywgYndfY3RsX21ub2MsIGJ3X2N0 bF9sbGNjLCBid19jdGxfZWJpLCBjb3JlX2Nsa19yYXRlLAorCVRQX1BST1RPKHUzMiBjcnRjLCB1 NjQgYndfY3RsLCB1MzIgY29yZV9jbGtfcmF0ZSwKKwkJCWJvb2wgc3RvcF9yZXEsIGJvb2wgdXBk YXRlX2J1cywgYm9vbCB1cGRhdGVfY2xrKSwKKwlUUF9BUkdTKGNydGMsIGJ3X2N0bCwgY29yZV9j bGtfcmF0ZSwKIAkJc3RvcF9yZXEsIHVwZGF0ZV9idXMsIHVwZGF0ZV9jbGspLAogCVRQX1NUUlVD VF9fZW50cnkoCiAJCQlfX2ZpZWxkKHUzMiwgY3J0YykKLQkJCV9fZmllbGQodTY0LCBid19jdGxf bW5vYykKLQkJCV9fZmllbGQodTY0LCBid19jdGxfbGxjYykKLQkJCV9fZmllbGQodTY0LCBid19j dGxfZWJpKQorCQkJX19maWVsZCh1NjQsIGJ3X2N0bCkKIAkJCV9fZmllbGQodTMyLCBjb3JlX2Ns a19yYXRlKQogCQkJX19maWVsZChib29sLCBzdG9wX3JlcSkKIAkJCV9fZmllbGQodTMyLCB1cGRh dGVfYnVzKQpAQCAtMTg0LDIwICsxODEsMTYgQEAgVFJBQ0VfRVZFTlQoZHB1X3BlcmZfY3J0Y191 cGRhdGUsCiAJKSwKIAlUUF9mYXN0X2Fzc2lnbigKIAkJCV9fZW50cnktPmNydGMgPSBjcnRjOwot CQkJX19lbnRyeS0+YndfY3RsX21ub2MgPSBid19jdGxfbW5vYzsKLQkJCV9fZW50cnktPmJ3X2N0 bF9sbGNjID0gYndfY3RsX2xsY2M7Ci0JCQlfX2VudHJ5LT5id19jdGxfZWJpID0gYndfY3RsX2Vi aTsKKwkJCV9fZW50cnktPmJ3X2N0bCA9IGJ3X2N0bDsKIAkJCV9fZW50cnktPmNvcmVfY2xrX3Jh dGUgPSBjb3JlX2Nsa19yYXRlOwogCQkJX19lbnRyeS0+c3RvcF9yZXEgPSBzdG9wX3JlcTsKIAkJ CV9fZW50cnktPnVwZGF0ZV9idXMgPSB1cGRhdGVfYnVzOwogCQkJX19lbnRyeS0+dXBkYXRlX2Ns ayA9IHVwZGF0ZV9jbGs7CiAJKSwKIAkgVFBfcHJpbnRrKAotCQkiY3J0Yz0lZCBid19tbm9jPSVs bHUgYndfbGxjYz0lbGx1IGJ3X2ViaT0lbGx1IGNsa19yYXRlPSV1IHN0b3BfcmVxPSVkIHVfYnVz PSVkIHVfY2xrPSVkIiwKKwkJImNydGM9JWQgYndfY3RsPSVsbHUgY2xrX3JhdGU9JXUgc3RvcF9y ZXE9JWQgdV9idXM9JWQgdV9jbGs9JWQiLAogCQkJX19lbnRyeS0+Y3J0YywKLQkJCV9fZW50cnkt PmJ3X2N0bF9tbm9jLAotCQkJX19lbnRyeS0+YndfY3RsX2xsY2MsCi0JCQlfX2VudHJ5LT5id19j dGxfZWJpLAorCQkJX19lbnRyeS0+YndfY3RsLAogCQkJX19lbnRyeS0+Y29yZV9jbGtfcmF0ZSwK IAkJCV9fZW50cnktPnN0b3BfcmVxLAogCQkJX19lbnRyeS0+dXBkYXRlX2J1cywKLS0gClRoZSBR dWFsY29tbSBJbm5vdmF0aW9uIENlbnRlciwgSW5jLiBpcyBhIG1lbWJlciBvZiB0aGUgQ29kZSBB dXJvcmEgRm9ydW0sCmEgTGludXggRm91bmRhdGlvbiBDb2xsYWJvcmF0aXZlIFByb2plY3QKCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkZyZWVkcmVubyBt YWlsaW5nIGxpc3QKRnJlZWRyZW5vQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3Rz LmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ZyZWVkcmVubwo=