From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jeykumar Sankaran Subject: [PATCH v5 17/19] drm/msm/dpu: remove RM dependency on connector state Date: Wed, 5 Sep 2018 19:08:26 -0700 Message-ID: <1536199708-23664-18-git-send-email-jsanka@codeaurora.org> References: <1536199708-23664-1-git-send-email-jsanka@codeaurora.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1536199708-23664-1-git-send-email-jsanka-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, freedreno-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, linux-arm-msm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org Cc: hoegsberg-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org, Jeykumar Sankaran , seanpaul-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org, robdclark-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org List-Id: linux-arm-msm@vger.kernel.org Q29ubmVjdG9yIHN0YXRlcyB3ZXJlIHBhc3NlZCBhcm91bmQgUk0gdG8gdXBkYXRlIHRoZSBjdXN0 b20KdG9wb2xvZ3kgY29ubmVjdG9yIHByb3BlcnR5IHdpdGggY2hvc2VuIHRvcG9sb2d5IGRhdGEu IE5vdyB0aGF0CndlIGdvdCByaWQgb2YgYm90aCBjdXN0b20gcHJvcGVydGllcyBhbmQgdG9wb2xv Z3kgbmFtZXMsIHRoaXMKY2hhbmdlIGNsZWFucyB1cCB0aGUgbWVjaGFuaXNtIHRvIHBhc3MgY29u bmVjdG9yIHN0YXRlcyBhY3Jvc3MKUk0gaGVscGVycyBhbmQgZW5jb2RlciBmdW5jdGlvbnMuCgpj aGFuZ2VzIGluIHY1OgoJLSBJbnRyb2R1Y2VkIGluIHRoZSBzZXJpZXMKClNpZ25lZC1vZmYtYnk6 IEpleWt1bWFyIFNhbmthcmFuIDxqc2Fua2FAY29kZWF1cm9yYS5vcmc+Ci0tLQogZHJpdmVycy9n cHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2VuY29kZXIuYyAgICAgICAgfCAxNSArKystLS0KIGRy aXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9lbmNvZGVyLmggICAgICAgIHwgIDQgKy0K IGRyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9lbmNvZGVyX3BoeXMuaCAgIHwgIDMg Ky0KIC4uLi9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2VuY29kZXJfcGh5c19jbWQuYyAgIHwg IDMgKy0KIC4uLi9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2VuY29kZXJfcGh5c192aWQuYyAg IHwgIDcgKystCiBkcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfcm0uYyAgICAgICAg ICAgICB8IDYwICsrKysrLS0tLS0tLS0tLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9tc20vZGlz cC9kcHUxL2RwdV9ybS5oICAgICAgICAgICAgIHwgIDIgLQogNyBmaWxlcyBjaGFuZ2VkLCAyNyBp bnNlcnRpb25zKCspLCA2NyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vbXNtL2Rpc3AvZHB1MS9kcHVfZW5jb2Rlci5jIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNw L2RwdTEvZHB1X2VuY29kZXIuYwppbmRleCAwZDQzNTI1Li4xOGY1ZDFkIDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfZW5jb2Rlci5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9lbmNvZGVyLmMKQEAgLTQzNiwxNSArNDM2LDE0IEBA IGludCBkcHVfZW5jb2Rlcl9oZWxwZXJfdW5yZWdpc3Rlcl9pcnEoc3RydWN0IGRwdV9lbmNvZGVy X3BoeXMgKnBoeXNfZW5jLAogfQogCiB2b2lkIGRwdV9lbmNvZGVyX2dldF9od19yZXNvdXJjZXMo c3RydWN0IGRybV9lbmNvZGVyICpkcm1fZW5jLAotCQlzdHJ1Y3QgZHB1X2VuY29kZXJfaHdfcmVz b3VyY2VzICpod19yZXMsCi0JCXN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpjb25uX3N0YXRl KQorCQkJCSAgc3RydWN0IGRwdV9lbmNvZGVyX2h3X3Jlc291cmNlcyAqaHdfcmVzKQogewogCXN0 cnVjdCBkcHVfZW5jb2Rlcl92aXJ0ICpkcHVfZW5jID0gTlVMTDsKIAlpbnQgaSA9IDA7CiAKLQlp ZiAoIWh3X3JlcyB8fCAhZHJtX2VuYyB8fCAhY29ubl9zdGF0ZSkgewotCQlEUFVfRVJST1IoImlu dmFsaWQgYXJndW1lbnQocyksIGRybV9lbmMgJWQsIHJlcyAlZCwgc3RhdGUgJWRcbiIsCi0JCQkJ ZHJtX2VuYyAhPSAwLCBod19yZXMgIT0gMCwgY29ubl9zdGF0ZSAhPSAwKTsKKwlpZiAoIWh3X3Jl cyB8fCAhZHJtX2VuYykgeworCQlEUFVfRVJST1IoImludmFsaWQgYXJndW1lbnQocyksIGRybV9l bmMgJWQsIHJlcyAlZFxuIiwKKwkJCSAgZHJtX2VuYyAhPSAwLCBod19yZXMgIT0gMCk7CiAJCXJl dHVybjsKIAl9CiAKQEAgLTQ1OCw3ICs0NTcsNyBAQCB2b2lkIGRwdV9lbmNvZGVyX2dldF9od19y ZXNvdXJjZXMoc3RydWN0IGRybV9lbmNvZGVyICpkcm1fZW5jLAogCQlzdHJ1Y3QgZHB1X2VuY29k ZXJfcGh5cyAqcGh5cyA9IGRwdV9lbmMtPnBoeXNfZW5jc1tpXTsKIAogCQlpZiAocGh5cyAmJiBw aHlzLT5vcHMuZ2V0X2h3X3Jlc291cmNlcykKLQkJCXBoeXMtPm9wcy5nZXRfaHdfcmVzb3VyY2Vz KHBoeXMsIGh3X3JlcywgY29ubl9zdGF0ZSk7CisJCQlwaHlzLT5vcHMuZ2V0X2h3X3Jlc291cmNl cyhwaHlzLCBod19yZXMpOwogCX0KIH0KIApAQCAtNjUyLDcgKzY1MSw3IEBAIHN0YXRpYyBpbnQg ZHB1X2VuY29kZXJfdmlydF9hdG9taWNfY2hlY2soCiAJCWlmIChkcm1fYXRvbWljX2NydGNfbmVl ZHNfbW9kZXNldChjcnRjX3N0YXRlKQogCQkJCSYmIGRwdV9lbmMtPm1vZGVfc2V0X2NvbXBsZXRl KSB7CiAJCQlyZXQgPSBkcHVfcm1fcmVzZXJ2ZSgmZHB1X2ttcy0+cm0sIGRybV9lbmMsIGNydGNf c3RhdGUsCi0JCQkJY29ubl9zdGF0ZSwgdG9wb2xvZ3ksIHRydWUpOworCQkJCQkgICAgIHRvcG9s b2d5LCB0cnVlKTsKIAkJCWRwdV9lbmMtPm1vZGVfc2V0X2NvbXBsZXRlID0gZmFsc2U7CiAJCX0K IAl9CkBAIC0xMDQ0LDcgKzEwNDMsNyBAQCBzdGF0aWMgdm9pZCBkcHVfZW5jb2Rlcl92aXJ0X21v ZGVfc2V0KHN0cnVjdCBkcm1fZW5jb2RlciAqZHJtX2VuYywKIAogCS8qIFJlc2VydmUgZHluYW1p YyByZXNvdXJjZXMgbm93LiBJbmRpY2F0aW5nIG5vbi1BdG9taWNUZXN0IHBoYXNlICovCiAJcmV0 ID0gZHB1X3JtX3Jlc2VydmUoJmRwdV9rbXMtPnJtLCBkcm1fZW5jLCBkcm1fZW5jLT5jcnRjLT5z dGF0ZSwKLQkJCWNvbm4tPnN0YXRlLCB0b3BvbG9neSwgZmFsc2UpOworCQkJICAgICB0b3BvbG9n eSwgZmFsc2UpOwogCWlmIChyZXQpIHsKIAkJRFBVX0VSUk9SX0VOQyhkcHVfZW5jLAogCQkJCSJm YWlsZWQgdG8gcmVzZXJ2ZSBodyByZXNvdXJjZXMsICVkXG4iLCByZXQpOwpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2VuY29kZXIuaCBiL2RyaXZlcnMvZ3B1 L2RybS9tc20vZGlzcC9kcHUxL2RwdV9lbmNvZGVyLmgKaW5kZXggZjEwOWI0ZC4uMzRhYzViNiAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2VuY29kZXIuaAor KysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfZW5jb2Rlci5oCkBAIC01MSwx MSArNTEsOSBAQCBzdHJ1Y3QgZHB1X2VuY29kZXJfa2lja29mZl9wYXJhbXMgewogICogZHB1X2Vu Y29kZXJfZ2V0X2h3X3Jlc291cmNlcyAtIFBvcHVsYXRlIHRhYmxlIG9mIHJlcXVpcmVkIGhhcmR3 YXJlIHJlc291cmNlcwogICogQGVuY29kZXI6CWVuY29kZXIgcG9pbnRlcgogICogQGh3X3JlczoJ cmVzb3VyY2UgdGFibGUgdG8gcG9wdWxhdGUgd2l0aCBlbmNvZGVyIHJlcXVpcmVkIHJlc291cmNl cwotICogQGNvbm5fc3RhdGU6CXJlcG9ydCBodyByZXFzIGJhc2VkIG9uIHRoaXMgcHJvcG9zZWQg Y29ubmVjdG9yIHN0YXRlCiAgKi8KIHZvaWQgZHB1X2VuY29kZXJfZ2V0X2h3X3Jlc291cmNlcyhz dHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsCi0JCXN0cnVjdCBkcHVfZW5jb2Rlcl9od19yZXNv dXJjZXMgKmh3X3JlcywKLQkJc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKmNvbm5fc3RhdGUp OworCQkJCSAgc3RydWN0IGRwdV9lbmNvZGVyX2h3X3Jlc291cmNlcyAqaHdfcmVzKTsKIAogLyoq CiAgKiBkcHVfZW5jb2Rlcl9yZWdpc3Rlcl92YmxhbmtfY2FsbGJhY2sgLSBwcm92aWRlIGNhbGxi YWNrIHRvIGVuY29kZXIgdGhhdApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNw L2RwdTEvZHB1X2VuY29kZXJfcGh5cy5oIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEv ZHB1X2VuY29kZXJfcGh5cy5oCmluZGV4IGEwMGIyMjIuLjNmZTRlZDkgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9lbmNvZGVyX3BoeXMuaAorKysgYi9kcml2 ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfZW5jb2Rlcl9waHlzLmgKQEAgLTE0MCw4ICsx NDAsNyBAQCBzdHJ1Y3QgZHB1X2VuY29kZXJfcGh5c19vcHMgewogCQkJICAgIHN0cnVjdCBkcm1f Y29ubmVjdG9yX3N0YXRlICpjb25uX3N0YXRlKTsKIAl2b2lkICgqZGVzdHJveSkoc3RydWN0IGRw dV9lbmNvZGVyX3BoeXMgKmVuY29kZXIpOwogCXZvaWQgKCpnZXRfaHdfcmVzb3VyY2VzKShzdHJ1 Y3QgZHB1X2VuY29kZXJfcGh5cyAqZW5jb2RlciwKLQkJCXN0cnVjdCBkcHVfZW5jb2Rlcl9od19y ZXNvdXJjZXMgKmh3X3JlcywKLQkJCXN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpjb25uX3N0 YXRlKTsKKwkJCQkgc3RydWN0IGRwdV9lbmNvZGVyX2h3X3Jlc291cmNlcyAqaHdfcmVzKTsKIAlp bnQgKCpjb250cm9sX3ZibGFua19pcnEpKHN0cnVjdCBkcHVfZW5jb2Rlcl9waHlzICplbmMsIGJv b2wgZW5hYmxlKTsKIAlpbnQgKCp3YWl0X2Zvcl9jb21taXRfZG9uZSkoc3RydWN0IGRwdV9lbmNv ZGVyX3BoeXMgKnBoeXNfZW5jKTsKIAlpbnQgKCp3YWl0X2Zvcl90eF9jb21wbGV0ZSkoc3RydWN0 IGRwdV9lbmNvZGVyX3BoeXMgKnBoeXNfZW5jKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9tc20vZGlzcC9kcHUxL2RwdV9lbmNvZGVyX3BoeXNfY21kLmMgYi9kcml2ZXJzL2dwdS9kcm0v bXNtL2Rpc3AvZHB1MS9kcHVfZW5jb2Rlcl9waHlzX2NtZC5jCmluZGV4IDVjODk4NjguLmYyNzdh NjkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9lbmNvZGVy X3BoeXNfY21kLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2VuY29k ZXJfcGh5c19jbWQuYwpAQCAtNTk5LDggKzU5OSw3IEBAIHN0YXRpYyB2b2lkIGRwdV9lbmNvZGVy X3BoeXNfY21kX2Rlc3Ryb3koc3RydWN0IGRwdV9lbmNvZGVyX3BoeXMgKnBoeXNfZW5jKQogCiBz dGF0aWMgdm9pZCBkcHVfZW5jb2Rlcl9waHlzX2NtZF9nZXRfaHdfcmVzb3VyY2VzKAogCQlzdHJ1 Y3QgZHB1X2VuY29kZXJfcGh5cyAqcGh5c19lbmMsCi0JCXN0cnVjdCBkcHVfZW5jb2Rlcl9od19y ZXNvdXJjZXMgKmh3X3JlcywKLQkJc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKmNvbm5fc3Rh dGUpCisJCXN0cnVjdCBkcHVfZW5jb2Rlcl9od19yZXNvdXJjZXMgKmh3X3JlcykKIHsKIAlzdHJ1 Y3QgZHB1X2VuY29kZXJfcGh5c19jbWQgKmNtZF9lbmMgPQogCQl0b19kcHVfZW5jb2Rlcl9waHlz X2NtZChwaHlzX2VuYyk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1 MS9kcHVfZW5jb2Rlcl9waHlzX3ZpZC5jIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEv ZHB1X2VuY29kZXJfcGh5c192aWQuYwppbmRleCA2ZGUxM2Y0Li5mZDUxZmU2IDEwMDY0NAotLS0g YS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfZW5jb2Rlcl9waHlzX3ZpZC5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9lbmNvZGVyX3BoeXNfdmlkLmMK QEAgLTUzNywxMiArNTM3LDExIEBAIHN0YXRpYyB2b2lkIGRwdV9lbmNvZGVyX3BoeXNfdmlkX2Rl c3Ryb3koc3RydWN0IGRwdV9lbmNvZGVyX3BoeXMgKnBoeXNfZW5jKQogCiBzdGF0aWMgdm9pZCBk cHVfZW5jb2Rlcl9waHlzX3ZpZF9nZXRfaHdfcmVzb3VyY2VzKAogCQlzdHJ1Y3QgZHB1X2VuY29k ZXJfcGh5cyAqcGh5c19lbmMsCi0JCXN0cnVjdCBkcHVfZW5jb2Rlcl9od19yZXNvdXJjZXMgKmh3 X3JlcywKLQkJc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKmNvbm5fc3RhdGUpCisJCXN0cnVj dCBkcHVfZW5jb2Rlcl9od19yZXNvdXJjZXMgKmh3X3JlcykKIHsKIAlpZiAoIXBoeXNfZW5jIHx8 ICFod19yZXMpIHsKLQkJRFBVX0VSUk9SKCJpbnZhbGlkIGFyZyhzKSwgZW5jICVkIGh3X3JlcyAl ZCBjb25uX3N0YXRlICVkXG4iLAotCQkJCXBoeXNfZW5jICE9IDAsIGh3X3JlcyAhPSAwLCBjb25u X3N0YXRlICE9IDApOworCQlEUFVfRVJST1IoImludmFsaWQgYXJnKHMpLCBlbmMgJWQgaHdfcmVz ICVkXG4iLAorCQkJICBwaHlzX2VuYyAhPSAwLCBod19yZXMgIT0gMCk7CiAJCXJldHVybjsKIAl9 CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9ybS5jIGIv ZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X3JtLmMKaW5kZXggODY0NjZmMC4uMTE2 NDU2MSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X3JtLmMK KysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X3JtLmMKQEAgLTY4Miw3ICs2 ODIsNiBAQCBzdGF0aWMgaW50IF9kcHVfcm1fbWFrZV9uZXh0X3JzdnAoCiAJCXN0cnVjdCBkcHVf cm0gKnJtLAogCQlzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuYywKIAkJc3RydWN0IGRybV9jcnRjX3N0 YXRlICpjcnRjX3N0YXRlLAotCQlzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqY29ubl9zdGF0 ZSwKIAkJc3RydWN0IGRwdV9ybV9yc3ZwICpyc3ZwLAogCQlzdHJ1Y3QgZHB1X3JtX3JlcXVpcmVt ZW50cyAqcmVxcykKIHsKQEAgLTcyOCw3ICs3MjcsNiBAQCBzdGF0aWMgaW50IF9kcHVfcm1fcG9w dWxhdGVfcmVxdWlyZW1lbnRzKAogCQlzdHJ1Y3QgZHB1X3JtICpybSwKIAkJc3RydWN0IGRybV9l bmNvZGVyICplbmMsCiAJCXN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKLQkJc3Ry dWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKmNvbm5fc3RhdGUsCiAJCXN0cnVjdCBkcHVfcm1fcmVx dWlyZW1lbnRzICpyZXFzLAogCQlzdHJ1Y3QgbXNtX2Rpc3BsYXlfdG9wb2xvZ3kgcmVxX3RvcG9s b2d5KQogewpAQCAtNzM2LDcgKzczNCw3IEBAIHN0YXRpYyBpbnQgX2RwdV9ybV9wb3B1bGF0ZV9y ZXF1aXJlbWVudHMoCiAKIAltZW1zZXQocmVxcywgMCwgc2l6ZW9mKCpyZXFzKSk7CiAKLQlkcHVf ZW5jb2Rlcl9nZXRfaHdfcmVzb3VyY2VzKGVuYywgJnJlcXMtPmh3X3JlcywgY29ubl9zdGF0ZSk7 CisJZHB1X2VuY29kZXJfZ2V0X2h3X3Jlc291cmNlcyhlbmMsICZyZXFzLT5od19yZXMpOwogCiAJ Zm9yIChpID0gMDsgaSA8IERQVV9STV9UT1BPTE9HWV9NQVg7IGkrKykgewogCQlpZiAoUk1fSVNf VE9QT0xPR1lfTUFUQ0goZ190b3BfdGFibGVbaV0sCkBAIC03ODAsMjkgKzc3OCwxMiBAQCBzdGF0 aWMgc3RydWN0IGRwdV9ybV9yc3ZwICpfZHB1X3JtX2dldF9yc3ZwKAogCXJldHVybiBOVUxMOwog fQogCi1zdGF0aWMgc3RydWN0IGRybV9jb25uZWN0b3IgKl9kcHVfcm1fZ2V0X2Nvbm5lY3RvcigK LQkJc3RydWN0IGRybV9lbmNvZGVyICplbmMpCi17Ci0Jc3RydWN0IGRybV9jb25uZWN0b3IgKmNv bm4gPSBOVUxMOwotCXN0cnVjdCBsaXN0X2hlYWQgKmNvbm5lY3Rvcl9saXN0ID0KLQkJCSZlbmMt PmRldi0+bW9kZV9jb25maWcuY29ubmVjdG9yX2xpc3Q7Ci0KLQlsaXN0X2Zvcl9lYWNoX2VudHJ5 KGNvbm4sIGNvbm5lY3Rvcl9saXN0LCBoZWFkKQotCQlpZiAoY29ubi0+ZW5jb2RlciA9PSBlbmMp Ci0JCQlyZXR1cm4gY29ubjsKLQotCXJldHVybiBOVUxMOwotfQotCiAvKioKICAqIF9kcHVfcm1f cmVsZWFzZV9yc3ZwIC0gcmVsZWFzZSByZXNvdXJjZXMgYW5kIHJlbGVhc2UgYSByZXNlcnZhdGlv bgogICogQHJtOglLTVMgaGFuZGxlCiAgKiBAcnN2cDoJUlNWUCBwb2ludGVyIHRvIHJlbGVhc2Ug YW5kIHJlbGVhc2UgcmVzb3VyY2VzIGZvcgogICovCi1zdGF0aWMgdm9pZCBfZHB1X3JtX3JlbGVh c2VfcnN2cCgKLQkJc3RydWN0IGRwdV9ybSAqcm0sCi0JCXN0cnVjdCBkcHVfcm1fcnN2cCAqcnN2 cCwKLQkJc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm4pCitzdGF0aWMgdm9pZCBfZHB1X3JtX3Jl bGVhc2VfcnN2cChzdHJ1Y3QgZHB1X3JtICpybSwgc3RydWN0IGRwdV9ybV9yc3ZwICpyc3ZwKQog ewogCXN0cnVjdCBkcHVfcm1fcnN2cCAqcnN2cF9jLCAqcnN2cF9uOwogCXN0cnVjdCBkcHVfcm1f aHdfYmxrICpibGs7CkBAIC04NDMsNyArODI0LDYgQEAgc3RhdGljIHZvaWQgX2RwdV9ybV9yZWxl YXNlX3JzdnAoCiB2b2lkIGRwdV9ybV9yZWxlYXNlKHN0cnVjdCBkcHVfcm0gKnJtLCBzdHJ1Y3Qg ZHJtX2VuY29kZXIgKmVuYykKIHsKIAlzdHJ1Y3QgZHB1X3JtX3JzdnAgKnJzdnA7Ci0Jc3RydWN0 IGRybV9jb25uZWN0b3IgKmNvbm47CiAKIAlpZiAoIXJtIHx8ICFlbmMpIHsKIAkJRFBVX0VSUk9S KCJpbnZhbGlkIHBhcmFtc1xuIik7CkBAIC04NTgsMjEgKzgzOCwxMiBAQCB2b2lkIGRwdV9ybV9y ZWxlYXNlKHN0cnVjdCBkcHVfcm0gKnJtLCBzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuYykKIAkJZ290 byBlbmQ7CiAJfQogCi0JY29ubiA9IF9kcHVfcm1fZ2V0X2Nvbm5lY3RvcihlbmMpOwotCWlmICgh Y29ubikgewotCQlEUFVfRVJST1IoImZhaWxlZCB0byBnZXQgY29ubmVjdG9yIGZvciBlbmMgJWRc biIsIGVuYy0+YmFzZS5pZCk7Ci0JCWdvdG8gZW5kOwotCX0KLQotCV9kcHVfcm1fcmVsZWFzZV9y c3ZwKHJtLCByc3ZwLCBjb25uKTsKKwlfZHB1X3JtX3JlbGVhc2VfcnN2cChybSwgcnN2cCk7CiBl bmQ6CiAJbXV0ZXhfdW5sb2NrKCZybS0+cm1fbG9jayk7CiB9CiAKLXN0YXRpYyBpbnQgX2RwdV9y bV9jb21taXRfcnN2cCgKLQkJc3RydWN0IGRwdV9ybSAqcm0sCi0JCXN0cnVjdCBkcHVfcm1fcnN2 cCAqcnN2cCwKLQkJc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKmNvbm5fc3RhdGUpCitzdGF0 aWMgaW50IF9kcHVfcm1fY29tbWl0X3JzdnAoc3RydWN0IGRwdV9ybSAqcm0sIHN0cnVjdCBkcHVf cm1fcnN2cCAqcnN2cCkKIHsKIAlzdHJ1Y3QgZHB1X3JtX2h3X2JsayAqYmxrOwogCWVudW0gZHB1 X2h3X2Jsa190eXBlIHR5cGU7CkBAIC04OTksNyArODcwLDYgQEAgaW50IGRwdV9ybV9yZXNlcnZl KAogCQlzdHJ1Y3QgZHB1X3JtICpybSwKIAkJc3RydWN0IGRybV9lbmNvZGVyICplbmMsCiAJCXN0 cnVjdCBkcm1fY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKLQkJc3RydWN0IGRybV9jb25uZWN0b3Jf c3RhdGUgKmNvbm5fc3RhdGUsCiAJCXN0cnVjdCBtc21fZGlzcGxheV90b3BvbG9neSB0b3BvbG9n eSwKIAkJYm9vbCB0ZXN0X29ubHkpCiB7CkBAIC05MDcsNyArODc3LDcgQEAgaW50IGRwdV9ybV9y ZXNlcnZlKAogCXN0cnVjdCBkcHVfcm1fcmVxdWlyZW1lbnRzIHJlcXM7CiAJaW50IHJldDsKIAot CWlmICghcm0gfHwgIWVuYyB8fCAhY3J0Y19zdGF0ZSB8fCAhY29ubl9zdGF0ZSkgeworCWlmICgh cm0gfHwgIWVuYyB8fCAhY3J0Y19zdGF0ZSkgewogCQlEUFVfRVJST1IoImludmFsaWQgYXJndW1l bnRzXG4iKTsKIAkJcmV0dXJuIC1FSU5WQUw7CiAJfQpAQCAtOTE2LDE2ICs4ODYsMTUgQEAgaW50 IGRwdV9ybV9yZXNlcnZlKAogCWlmICghZHJtX2F0b21pY19jcnRjX25lZWRzX21vZGVzZXQoY3J0 Y19zdGF0ZSkpCiAJCXJldHVybiAwOwogCi0JRFJNX0RFQlVHX0tNUygicmVzZXJ2aW5nIGh3IGZv ciBjb25uICVkIGVuYyAlZCBjcnRjICVkIHRlc3Rfb25seSAlZFxuIiwKLQkJICAgICAgY29ubl9z dGF0ZS0+Y29ubmVjdG9yLT5iYXNlLmlkLCBlbmMtPmJhc2UuaWQsCi0JCSAgICAgIGNydGNfc3Rh dGUtPmNydGMtPmJhc2UuaWQsIHRlc3Rfb25seSk7CisJRFJNX0RFQlVHX0tNUygicmVzZXJ2aW5n IGh3IGZvciBlbmMgJWQgY3J0YyAlZCB0ZXN0X29ubHkgJWRcbiIsCisJCSAgICAgIGVuYy0+YmFz ZS5pZCwgY3J0Y19zdGF0ZS0+Y3J0Yy0+YmFzZS5pZCwgdGVzdF9vbmx5KTsKIAogCW11dGV4X2xv Y2soJnJtLT5ybV9sb2NrKTsKIAogCV9kcHVfcm1fcHJpbnRfcnN2cHMocm0sIERQVV9STV9TVEFH RV9CRUdJTik7CiAKLQlyZXQgPSBfZHB1X3JtX3BvcHVsYXRlX3JlcXVpcmVtZW50cyhybSwgZW5j LCBjcnRjX3N0YXRlLAotCQkJY29ubl9zdGF0ZSwgJnJlcXMsIHRvcG9sb2d5KTsKKwlyZXQgPSBf ZHB1X3JtX3BvcHVsYXRlX3JlcXVpcmVtZW50cyhybSwgZW5jLCBjcnRjX3N0YXRlLCAmcmVxcywK KwkJCQkJICAgIHRvcG9sb2d5KTsKIAlpZiAocmV0KSB7CiAJCURQVV9FUlJPUigiZmFpbGVkIHRv IHBvcHVsYXRlIGh3IHJlcXVpcmVtZW50c1xuIik7CiAJCWdvdG8gZW5kOwpAQCAtOTUxLDE0ICs5 MjAsMTMgQEAgaW50IGRwdV9ybV9yZXNlcnZlKAogCXJzdnBfY3VyID0gX2RwdV9ybV9nZXRfcnN2 cChybSwgZW5jKTsKIAogCS8qIENoZWNrIHRoZSBwcm9wb3NlZCByZXNlcnZhdGlvbiwgc3RvcmUg aXQgaW4gaHcncyAibmV4dCIgZmllbGQgKi8KLQlyZXQgPSBfZHB1X3JtX21ha2VfbmV4dF9yc3Zw KHJtLCBlbmMsIGNydGNfc3RhdGUsIGNvbm5fc3RhdGUsCi0JCQlyc3ZwX254dCwgJnJlcXMpOwor CXJldCA9IF9kcHVfcm1fbWFrZV9uZXh0X3JzdnAocm0sIGVuYywgY3J0Y19zdGF0ZSwgcnN2cF9u eHQsICZyZXFzKTsKIAogCV9kcHVfcm1fcHJpbnRfcnN2cHMocm0sIERQVV9STV9TVEFHRV9BRlRF Ul9SU1ZQTkVYVCk7CiAKIAlpZiAocmV0KSB7CiAJCURQVV9FUlJPUigiZmFpbGVkIHRvIHJlc2Vy dmUgaHcgcmVzb3VyY2VzOiAlZFxuIiwgcmV0KTsKLQkJX2RwdV9ybV9yZWxlYXNlX3JzdnAocm0s IHJzdnBfbnh0LCBjb25uX3N0YXRlLT5jb25uZWN0b3IpOworCQlfZHB1X3JtX3JlbGVhc2VfcnN2 cChybSwgcnN2cF9ueHQpOwogCX0gZWxzZSBpZiAodGVzdF9vbmx5KSB7CiAJCS8qCiAJCSAqIE5v cm1hbGx5LCBpZiB0ZXN0X29ubHksIHRlc3QgdGhlIHJlc2VydmF0aW9uIGFuZCB0aGVuIHVuZG8K QEAgLTk2NywxMSArOTM1LDExIEBAIGludCBkcHVfcm1fcmVzZXJ2ZSgKIAkJICovCiAJCURQVV9E RUJVRygidGVzdF9vbmx5OiBkaXNjYXJkIHRlc3QgcnN2cFtzJWRlJWRdXG4iLAogCQkJCXJzdnBf bnh0LT5zZXEsIHJzdnBfbnh0LT5lbmNfaWQpOwotCQlfZHB1X3JtX3JlbGVhc2VfcnN2cChybSwg cnN2cF9ueHQsIGNvbm5fc3RhdGUtPmNvbm5lY3Rvcik7CisJCV9kcHVfcm1fcmVsZWFzZV9yc3Zw KHJtLCByc3ZwX254dCk7CiAJfSBlbHNlIHsKLQkJX2RwdV9ybV9yZWxlYXNlX3JzdnAocm0sIHJz dnBfY3VyLCBjb25uX3N0YXRlLT5jb25uZWN0b3IpOworCQlfZHB1X3JtX3JlbGVhc2VfcnN2cChy bSwgcnN2cF9jdXIpOwogCi0JCXJldCA9IF9kcHVfcm1fY29tbWl0X3JzdnAocm0sIHJzdnBfbnh0 LCBjb25uX3N0YXRlKTsKKwkJX2RwdV9ybV9jb21taXRfcnN2cChybSwgcnN2cF9ueHQpOwogCX0K IAogCV9kcHVfcm1fcHJpbnRfcnN2cHMocm0sIERQVV9STV9TVEFHRV9GSU5BTCk7CmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfcm0uaCBiL2RyaXZlcnMvZ3B1 L2RybS9tc20vZGlzcC9kcHUxL2RwdV9ybS5oCmluZGV4IDNhNmE1NTQ2Li4yODQ4MWExIDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfcm0uaAorKysgYi9kcml2 ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfcm0uaApAQCAtMTA3LDcgKzEwNyw2IEBAIGlu dCBkcHVfcm1faW5pdChzdHJ1Y3QgZHB1X3JtICpybSwKICAqIEBybTogRFBVIFJlc291cmNlIE1h bmFnZXIgaGFuZGxlCiAgKiBAZHJtX2VuYzogRFJNIEVuY29kZXIgaGFuZGxlCiAgKiBAY3J0Y19z dGF0ZTogUHJvcG9zZWQgQXRvbWljIERSTSBDUlRDIFN0YXRlIGhhbmRsZQotICogQGNvbm5fc3Rh dGU6IFByb3Bvc2VkIEF0b21pYyBEUk0gQ29ubmVjdG9yIFN0YXRlIGhhbmRsZQogICogQHRvcG9s b2d5OiBQb2ludGVyIHRvIHRvcG9sb2d5IGluZm8gZm9yIHRoZSBkaXNwbGF5CiAgKiBAdGVzdF9v bmx5OiBBdG9taWMtVGVzdCBwaGFzZSwgZGlzY2FyZCByZXN1bHRzICh1bmxlc3MgcHJvcGVydHkg b3ZlcnJpZGVzKQogICogQFJldHVybjogMCBvbiBTdWNjZXNzIG90aGVyd2lzZSAtRVJST1IKQEAg LTExNSw3ICsxMTQsNiBAQCBpbnQgZHB1X3JtX2luaXQoc3RydWN0IGRwdV9ybSAqcm0sCiBpbnQg ZHB1X3JtX3Jlc2VydmUoc3RydWN0IGRwdV9ybSAqcm0sCiAJCXN0cnVjdCBkcm1fZW5jb2RlciAq ZHJtX2VuYywKIAkJc3RydWN0IGRybV9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAotCQlzdHJ1Y3Qg ZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqY29ubl9zdGF0ZSwKIAkJc3RydWN0IG1zbV9kaXNwbGF5X3Rv cG9sb2d5IHRvcG9sb2d5LAogCQlib29sIHRlc3Rfb25seSk7CiAKLS0gClRoZSBRdWFsY29tbSBJ bm5vdmF0aW9uIENlbnRlciwgSW5jLiBpcyBhIG1lbWJlciBvZiB0aGUgQ29kZSBBdXJvcmEgRm9y dW0sCmEgTGludXggRm91bmRhdGlvbiBDb2xsYWJvcmF0aXZlIFByb2plY3QKCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkZyZWVkcmVubyBtYWlsaW5nIGxp c3QKRnJlZWRyZW5vQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNr dG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ZyZWVkcmVubwo=