From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rajesh Yadav Subject: [DPU PATCH 07/11] drm/msm/dpu: remove clock management code from dpu_power_handle Date: Thu, 10 May 2018 13:59:41 +0530 Message-ID: <1525940985-30428-8-git-send-email-ryadav@codeaurora.org> References: <1525940985-30428-1-git-send-email-ryadav@codeaurora.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1525940985-30428-1-git-send-email-ryadav-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: robdclark-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org, seanpaul-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org, Rajesh Yadav , hoegsberg-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org List-Id: linux-arm-msm@vger.kernel.org TURTUyBhbmQgZHB1IGRyaXZlcnMgbWFuYWdlIHRoZWlyIHJlc3BlY3RpdmUgY2xvY2tzIHZpYQpy dW50aW1lX3BtLiBSZW1vdmUgY3VzdG9tIGNsb2NrIG1hbmFnZW1lbnQgY29kZSBmcm9tCmRwdV9w b3dlcl9oYW5kbGUuCgpBbHNvIGRwdSBjb3JlIGNsb2NrIG1hbmFnZW1lbnQgY29kZSBpcyByZXN0 cmljdGVkIHRvCmRwdV9jb3JlX3BlcmYgbW9kdWxlLgoKU2lnbmVkLW9mZi1ieTogUmFqZXNoIFlh ZGF2IDxyeWFkYXZAY29kZWF1cm9yYS5vcmc+Ci0tLQogZHJpdmVycy9ncHUvZHJtL21zbS9kaXNw L2RwdTEvZHB1X2NvcmVfcGVyZi5jICAgICAgfCAgNDQgKystLS0KIGRyaXZlcnMvZ3B1L2RybS9t c20vZGlzcC9kcHUxL2RwdV9jb3JlX3BlcmYuaCAgICAgIHwgICA4ICstCiAuLi4vZ3B1L2RybS9t c20vZGlzcC9kcHUxL2RwdV9lbmNvZGVyX3BoeXNfY21kLmMgICB8ICAgNSArLQogZHJpdmVycy9n cHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2ttcy5jICAgICAgICAgICAgfCAgMzIgKysrLQogZHJp dmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2ttcy5oICAgICAgICAgICAgfCAgIDkgKwog ZHJpdmVycy9ncHUvZHJtL21zbS9kcHVfcG93ZXJfaGFuZGxlLmMgICAgICAgICAgICAgfCAxOTUg Ky0tLS0tLS0tLS0tLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vbXNtL2RwdV9wb3dlcl9oYW5k bGUuaCAgICAgICAgICAgICB8ICA0MCAtLS0tLQogNyBmaWxlcyBjaGFuZ2VkLCA2OSBpbnNlcnRp b25zKCspLCAyNjQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21z bS9kaXNwL2RwdTEvZHB1X2NvcmVfcGVyZi5jIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2Rw dTEvZHB1X2NvcmVfcGVyZi5jCmluZGV4IDk4MWY3N2YuLmQxMzY0ZmEgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9jb3JlX3BlcmYuYworKysgYi9kcml2ZXJz L2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfY29yZV9wZXJmLmMKQEAgLTM2NSw2ICszNjUsMjAg QEAgdm9pZCBkcHVfY29yZV9wZXJmX2NydGNfcmVsZWFzZV9idyhzdHJ1Y3QgZHJtX2NydGMgKmNy dGMpCiAJfQogfQogCitzdGF0aWMgaW50IF9kcHVfY29yZV9wZXJmX3NldF9jb3JlX2Nsa19yYXRl KHN0cnVjdCBkcHVfa21zICprbXMsIHU2NCByYXRlKQoreworCXN0cnVjdCBkc3NfY2xrICpjb3Jl X2NsayA9IGttcy0+cGVyZi5jb3JlX2NsazsKKwlpbnQgcmMgPSAtRUlOVkFMOworCisJaWYgKGNv cmVfY2xrLT5tYXhfcmF0ZSAmJiAocmF0ZSA+IGNvcmVfY2xrLT5tYXhfcmF0ZSkpCisJCXJhdGUg PSBjb3JlX2Nsay0+bWF4X3JhdGU7CisKKwljb3JlX2Nsay0+cmF0ZSA9IHJhdGU7CisJcmMgPSBt c21fZHNzX2Nsa19zZXRfcmF0ZShjb3JlX2NsaywgMSk7CisKKwlyZXR1cm4gcmM7Cit9CisKIHN0 YXRpYyB1NjQgX2RwdV9jb3JlX3BlcmZfZ2V0X2NvcmVfY2xrX3JhdGUoc3RydWN0IGRwdV9rbXMg KmttcykKIHsKIAl1NjQgY2xrX3JhdGUgPSBrbXMtPnBlcmYucGVyZl90dW5lLm1pbl9jb3JlX2Ns azsKQEAgLTM3Niw3ICszOTAsOCBAQCBzdGF0aWMgdTY0IF9kcHVfY29yZV9wZXJmX2dldF9jb3Jl X2Nsa19yYXRlKHN0cnVjdCBkcHVfa21zICprbXMpCiAJCQlkcHVfY3N0YXRlID0gdG9fZHB1X2Ny dGNfc3RhdGUoY3J0Yy0+c3RhdGUpOwogCQkJY2xrX3JhdGUgPSBtYXgoZHB1X2NzdGF0ZS0+bmV3 X3BlcmYuY29yZV9jbGtfcmF0ZSwKIAkJCQkJCQljbGtfcmF0ZSk7Ci0JCQljbGtfcmF0ZSA9IGNs a19yb3VuZF9yYXRlKGttcy0+cGVyZi5jb3JlX2NsaywgY2xrX3JhdGUpOworCQkJY2xrX3JhdGUg PSBjbGtfcm91bmRfcmF0ZShrbXMtPnBlcmYuY29yZV9jbGstPmNsaywKKwkJCQkJY2xrX3JhdGUp OwogCQl9CiAJfQogCkBAIC00ODQsMTUgKzQ5OSwxMSBAQCB2b2lkIGRwdV9jb3JlX3BlcmZfY3J0 Y191cGRhdGUoc3RydWN0IGRybV9jcnRjICpjcnRjLAogCiAJCURQVV9FVlQzMihrbXMtPmRldiwg c3RvcF9yZXEsIGNsa19yYXRlKTsKIAotCQkvKiBUZW1wIGNoYW5nZSB0byBhdm9pZCBjcmFzaCBp biBjbGtfc2V0X3JhdGUgQVBJLiAqLwotI2lmZGVmIFFDT01fRFBVX1NFVF9DTEsKLQkJaWYgKGRw dV9wb3dlcl9jbGtfc2V0X3JhdGUoJnByaXYtPnBoYW5kbGUsCi0JCQkJCSAgIGttcy0+cGVyZi5j bGtfbmFtZSwgY2xrX3JhdGUpKSB7CisJCWlmIChfZHB1X2NvcmVfcGVyZl9zZXRfY29yZV9jbGtf cmF0ZShrbXMsIGNsa19yYXRlKSkgewogCQkJRFBVX0VSUk9SKCJmYWlsZWQgdG8gc2V0ICVzIGNs b2NrIHJhdGUgJWxsdVxuIiwKLQkJCQkJa21zLT5wZXJmLmNsa19uYW1lLCBjbGtfcmF0ZSk7CisJ CQkJCWttcy0+cGVyZi5jb3JlX2Nsay0+Y2xrX25hbWUsIGNsa19yYXRlKTsKIAkJCXJldHVybjsK IAkJfQotI2VuZGlmCiAKIAkJa21zLT5wZXJmLmNvcmVfY2xrX3JhdGUgPSBjbGtfcmF0ZTsKIAkJ RFBVX0RFQlVHKCJ1cGRhdGUgY2xrIHJhdGUgPSAlbGxkIEhaXG4iLCBjbGtfcmF0ZSk7CkBAIC02 NTYsNyArNjY3LDYgQEAgdm9pZCBkcHVfY29yZV9wZXJmX2Rlc3Ryb3koc3RydWN0IGRwdV9jb3Jl X3BlcmYgKnBlcmYpCiAJZHB1X2NvcmVfcGVyZl9kZWJ1Z2ZzX2Rlc3Ryb3kocGVyZik7CiAJcGVy Zi0+bWF4X2NvcmVfY2xrX3JhdGUgPSAwOwogCXBlcmYtPmNvcmVfY2xrID0gTlVMTDsKLQlwZXJm LT5jbGtfbmFtZSA9IE5VTEw7CiAJcGVyZi0+cGhhbmRsZSA9IE5VTEw7CiAJcGVyZi0+Y2F0YWxv ZyA9IE5VTEw7CiAJcGVyZi0+ZGV2ID0gTlVMTDsKQEAgLTY2Nyw5ICs2NzcsOSBAQCBpbnQgZHB1 X2NvcmVfcGVyZl9pbml0KHN0cnVjdCBkcHVfY29yZV9wZXJmICpwZXJmLAogCQlzdHJ1Y3QgZHB1 X21kc3NfY2ZnICpjYXRhbG9nLAogCQlzdHJ1Y3QgZHB1X3Bvd2VyX2hhbmRsZSAqcGhhbmRsZSwK IAkJc3RydWN0IGRwdV9wb3dlcl9jbGllbnQgKnBjbGllbnQsCi0JCWNoYXIgKmNsa19uYW1lKQor CQlzdHJ1Y3QgZHNzX2NsayAqY29yZV9jbGspCiB7Ci0JaWYgKCFwZXJmIHx8ICFkZXYgfHwgIWNh dGFsb2cgfHwgIXBoYW5kbGUgfHwgIXBjbGllbnQgfHwgIWNsa19uYW1lKSB7CisJaWYgKCFwZXJm IHx8ICFkZXYgfHwgIWNhdGFsb2cgfHwgIXBoYW5kbGUgfHwgIXBjbGllbnQgfHwgIWNvcmVfY2xr KSB7CiAJCURQVV9FUlJPUigiaW52YWxpZCBwYXJhbWV0ZXJzXG4iKTsKIAkJcmV0dXJuIC1FSU5W QUw7CiAJfQpAQCAtNjc4LDIzICs2ODgsMTMgQEAgaW50IGRwdV9jb3JlX3BlcmZfaW5pdChzdHJ1 Y3QgZHB1X2NvcmVfcGVyZiAqcGVyZiwKIAlwZXJmLT5jYXRhbG9nID0gY2F0YWxvZzsKIAlwZXJm LT5waGFuZGxlID0gcGhhbmRsZTsKIAlwZXJmLT5wY2xpZW50ID0gcGNsaWVudDsKLQlwZXJmLT5j bGtfbmFtZSA9IGNsa19uYW1lOworCXBlcmYtPmNvcmVfY2xrID0gY29yZV9jbGs7CiAKLQlwZXJm LT5jb3JlX2NsayA9IGRwdV9wb3dlcl9jbGtfZ2V0X2NsayhwaGFuZGxlLCBjbGtfbmFtZSk7Ci0J aWYgKCFwZXJmLT5jb3JlX2NsaykgewotCQlEUFVfRVJST1IoImludmFsaWQgY29yZSBjbGtcbiIp OwotCQlnb3RvIGVycjsKLQl9Ci0KLQlwZXJmLT5tYXhfY29yZV9jbGtfcmF0ZSA9IGRwdV9wb3dl cl9jbGtfZ2V0X21heF9yYXRlKHBoYW5kbGUsIGNsa19uYW1lKTsKKwlwZXJmLT5tYXhfY29yZV9j bGtfcmF0ZSA9IGNvcmVfY2xrLT5tYXhfcmF0ZTsKIAlpZiAoIXBlcmYtPm1heF9jb3JlX2Nsa19y YXRlKSB7CiAJCURQVV9ERUJVRygib3B0aW9uYWwgbWF4IGNvcmUgY2xrIHJhdGUsIHVzZSBkZWZh dWx0XG4iKTsKIAkJcGVyZi0+bWF4X2NvcmVfY2xrX3JhdGUgPSBEUFVfUEVSRl9ERUZBVUxUX01B WF9DT1JFX0NMS19SQVRFOwogCX0KIAogCXJldHVybiAwOwotCi1lcnI6Ci0JZHB1X2NvcmVfcGVy Zl9kZXN0cm95KHBlcmYpOwotCXJldHVybiAtRU5PREVWOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2NvcmVfcGVyZi5oIGIvZHJpdmVycy9ncHUvZHJt L21zbS9kaXNwL2RwdTEvZHB1X2NvcmVfcGVyZi5oCmluZGV4IDE5NjVmZjUuLjljMWE3MTkgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9jb3JlX3BlcmYuaAor KysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfY29yZV9wZXJmLmgKQEAgLTU0 LDcgKzU0LDYgQEAgc3RydWN0IGRwdV9jb3JlX3BlcmZfdHVuZSB7CiAgKiBAY2F0YWxvZzogUG9p bnRlciB0byBjYXRhbG9nIGNvbmZpZ3VyYXRpb24KICAqIEBwaGFuZGxlOiBQb2ludGVyIHRvIHBv d2VyIGhhbmRsZXIKICAqIEBwY2xpZW50OiBQb2ludGVyIHRvIHBvd2VyIGNsaWVudAotICogQGNs a19uYW1lOiBjb3JlIGNsb2NrIG5hbWUKICAqIEBjb3JlX2NsazogUG9pbnRlciB0byBjb3JlIGNs b2NrIHN0cnVjdHVyZQogICogQGNvcmVfY2xrX3JhdGU6IGN1cnJlbnQgY29yZSBjbG9jayByYXRl CiAgKiBAbWF4X2NvcmVfY2xrX3JhdGU6IG1heGltdW0gYWxsb3dhYmxlIGNvcmUgY2xvY2sgcmF0 ZQpAQCAtNzAsOCArNjksNyBAQCBzdHJ1Y3QgZHB1X2NvcmVfcGVyZiB7CiAJc3RydWN0IGRwdV9t ZHNzX2NmZyAqY2F0YWxvZzsKIAlzdHJ1Y3QgZHB1X3Bvd2VyX2hhbmRsZSAqcGhhbmRsZTsKIAlz dHJ1Y3QgZHB1X3Bvd2VyX2NsaWVudCAqcGNsaWVudDsKLQljaGFyICpjbGtfbmFtZTsKLQlzdHJ1 Y3QgY2xrICpjb3JlX2NsazsKKwlzdHJ1Y3QgZHNzX2NsayAqY29yZV9jbGs7CiAJdTY0IGNvcmVf Y2xrX3JhdGU7CiAJdTY0IG1heF9jb3JlX2Nsa19yYXRlOwogCXN0cnVjdCBkcHVfY29yZV9wZXJm X3R1bmUgcGVyZl90dW5lOwpAQCAtMTE4LDE0ICsxMTYsMTQgQEAgdm9pZCBkcHVfY29yZV9wZXJm X2NydGNfdXBkYXRlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKICAqIEBjYXRhbG9nOiBQb2ludGVy IHRvIGNhdGFsb2cKICAqIEBwaGFuZGxlOiBQb2ludGVyIHRvIHBvd2VyIGhhbmRsZQogICogQHBj bGllbnQ6IFBvaW50ZXIgdG8gcG93ZXIgY2xpZW50Ci0gKiBAY2xrX25hbWU6IGNvcmUgY2xvY2sg bmFtZQorICogQGNvcmVfY2xrOiBwb2ludGVyIHRvIGNvcmUgY2xvY2sKICAqLwogaW50IGRwdV9j b3JlX3BlcmZfaW5pdChzdHJ1Y3QgZHB1X2NvcmVfcGVyZiAqcGVyZiwKIAkJc3RydWN0IGRybV9k ZXZpY2UgKmRldiwKIAkJc3RydWN0IGRwdV9tZHNzX2NmZyAqY2F0YWxvZywKIAkJc3RydWN0IGRw dV9wb3dlcl9oYW5kbGUgKnBoYW5kbGUsCiAJCXN0cnVjdCBkcHVfcG93ZXJfY2xpZW50ICpwY2xp ZW50LAotCQljaGFyICpjbGtfbmFtZSk7CisJCXN0cnVjdCBkc3NfY2xrICpjb3JlX2Nsayk7CiAK IC8qKgogICogZHB1X2NvcmVfcGVyZl9kZWJ1Z2ZzX2luaXQgLSBpbml0aWFsaXplIGRlYnVnZnMg Zm9yIGNvcmUgcGVyZm9ybWFuY2UgY29udGV4dApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L21zbS9kaXNwL2RwdTEvZHB1X2VuY29kZXJfcGh5c19jbWQuYyBiL2RyaXZlcnMvZ3B1L2RybS9t c20vZGlzcC9kcHUxL2RwdV9lbmNvZGVyX3BoeXNfY21kLmMKaW5kZXggMDcyOTM5Yy4uYTlmOTQ2 YiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2VuY29kZXJf cGh5c19jbWQuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfZW5jb2Rl cl9waHlzX2NtZC5jCkBAIC00MjgsOCArNDI4LDkgQEAgc3RhdGljIHZvaWQgZHB1X2VuY29kZXJf cGh5c19jbWRfdGVhcmNoZWNrX2NvbmZpZygKIAkgKiB2c3luY19jb3VudCBpcyByYXRpbyBvZiBN RFAgVlNZTkMgY2xvY2sgZnJlcXVlbmN5IHRvIExDRCBwYW5lbAogCSAqIGZyZXF1ZW5jeSBkaXZp ZGVkIGJ5IHRoZSBuby4gb2Ygcm93cyAobGluZXMpIGluIHRoZSBMQ0RwYW5lbC4KIAkgKi8KLQl2 c3luY19oeiA9IGRwdV9wb3dlcl9jbGtfZ2V0X3JhdGUoJnByaXYtPnBoYW5kbGUsICJ2c3luY19j bGsiKTsKLQlpZiAoIXZzeW5jX2h6IHx8ICFtb2RlLT52dG90YWwgfHwgIW1vZGUtPnZyZWZyZXNo KSB7CisJdnN5bmNfaHogPSBkcHVfa21zX2dldF9jbGtfcmF0ZShkcHVfa21zLCAidnN5bmNfY2xr Iik7CisJaWYgKCh2c3luY19oeiA9PSAtRUlOVkFMKSB8fCAhdnN5bmNfaHogfHwgIW1vZGUtPnZ0 b3RhbCB8fAorCQkhbW9kZS0+dnJlZnJlc2gpIHsKIAkJRFBVX0RFQlVHX0NNREVOQyhjbWRfZW5j LAogCQkJImludmFsaWQgcGFyYW1zIC0gdnN5bmNfaHogJXUgdnRvdCAldSB2cmVmcmVzaCAldVxu IiwKIAkJCXZzeW5jX2h6LCBtb2RlLT52dG90YWwsIG1vZGUtPnZyZWZyZXNoKTsKZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9rbXMuYyBiL2RyaXZlcnMvZ3B1 L2RybS9tc20vZGlzcC9kcHUxL2RwdV9rbXMuYwppbmRleCA2ZGQwZDhlLi5mNjUxMWM5IDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfa21zLmMKKysrIGIvZHJp dmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2ttcy5jCkBAIC0xNTAyLDYgKzE1MDIsMzUg QEAgc3RhdGljIGludCBfZHB1X2ttc19tbXVfaW5pdChzdHJ1Y3QgZHB1X2ttcyAqZHB1X2ttcykK IAlyZXR1cm4gcmV0OwogfQogCitzdGF0aWMgc3RydWN0IGRzc19jbGsgKl9kcHVfa21zX2dldF9j bGsoc3RydWN0IGRwdV9rbXMgKmRwdV9rbXMsCisJCWNoYXIgKmNsb2NrX25hbWUpCit7CisJc3Ry dWN0IGRzc19tb2R1bGVfcG93ZXIgKm1wID0gJmRwdV9rbXMtPm1wOworCWludCBpOworCXN0cnVj dCBkc3NfY2xrICpjbGsgPSBOVUxMOworCisJZm9yIChpID0gMDsgaSA8IG1wLT5udW1fY2xrOyBp KyspIHsKKwkJaWYgKCFzdHJjbXAobXAtPmNsa19jb25maWdbaV0uY2xrX25hbWUsIGNsb2NrX25h bWUpKSB7CisJCQljbGsgPSAmbXAtPmNsa19jb25maWdbaV07CisJCQlicmVhazsKKwkJfQorCX0K KworCXJldHVybiBjbGs7Cit9CisKK3U2NCBkcHVfa21zX2dldF9jbGtfcmF0ZShzdHJ1Y3QgZHB1 X2ttcyAqZHB1X2ttcywgY2hhciAqY2xvY2tfbmFtZSkKK3sKKwl1NjQgcmF0ZSA9IC1FSU5WQUw7 CisJc3RydWN0IGRzc19jbGsgKmNsazsKKworCWNsayA9IF9kcHVfa21zX2dldF9jbGsoZHB1X2tt cywgY2xvY2tfbmFtZSk7CisJaWYgKGNsaykKKwkJcmF0ZSA9IGNsa19nZXRfcmF0ZShjbGstPmNs ayk7CisKKwlyZXR1cm4gcmF0ZTsKK30KKwogc3RhdGljIHZvaWQgZHB1X2ttc19oYW5kbGVfcG93 ZXJfZXZlbnQodTMyIGV2ZW50X3R5cGUsIHZvaWQgKnVzcikKIHsKIAlzdHJ1Y3QgZHB1X2ttcyAq ZHB1X2ttcyA9IHVzcjsKQEAgLTE2OTksNyArMTcyOCw4IEBAIHN0YXRpYyBpbnQgZHB1X2ttc19o d19pbml0KHN0cnVjdCBtc21fa21zICprbXMpCiAjZW5kaWYKIAogCXJjID0gZHB1X2NvcmVfcGVy Zl9pbml0KCZkcHVfa21zLT5wZXJmLCBkZXYsIGRwdV9rbXMtPmNhdGFsb2csCi0JCQkmcHJpdi0+ cGhhbmRsZSwgcHJpdi0+cGNsaWVudCwgImNvcmVfY2xrIik7CisJCQkmcHJpdi0+cGhhbmRsZSwg cHJpdi0+cGNsaWVudCwKKwkJCV9kcHVfa21zX2dldF9jbGsoZHB1X2ttcywgImNvcmVfY2xrIikp OwogCWlmIChyYykgewogCQlEUFVfRVJST1IoImZhaWxlZCB0byBpbml0IHBlcmYgJWRcbiIsIHJj KTsKIAkJZ290byBwZXJmX2VycjsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlz cC9kcHUxL2RwdV9rbXMuaCBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9rbXMu aAppbmRleCAzYzY5OTIxLi5hODI1NWZlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNt L2Rpc3AvZHB1MS9kcHVfa21zLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEv ZHB1X2ttcy5oCkBAIC01MzcsNCArNTM3LDEzIEBAIHN0cnVjdCBkcHVfa21zX2ZibyAqZHB1X2tt c19mYm9fYWxsb2Moc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAogdm9pZCBkcHVfa21zX2VuY29k ZXJfZW5hYmxlKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2Rlcik7CiAKKy8qKgorICogZHB1X2tt c19nZXRfY2xrX3JhdGUoKSAtIGdldCB0aGUgY2xvY2sgcmF0ZQorICogQGRwdV9rbXM6ICBwb2lu ZXIgdG8gZHB1X2ttcyBzdHJ1Y3R1cmUKKyAqIEBjbG9ja19uYW1lOiBjbG9jayBuYW1lIHRvIGdl dCB0aGUgcmF0ZQorICoKKyAqIFJldHVybjogY3VycmVudCBjbG9jayByYXRlCisgKi8KK3U2NCBk cHVfa21zX2dldF9jbGtfcmF0ZShzdHJ1Y3QgZHB1X2ttcyAqZHB1X2ttcywgY2hhciAqY2xvY2tf bmFtZSk7CisKICNlbmRpZiAvKiBfX2RwdV9rbXNfSF9fICovCmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vbXNtL2RwdV9wb3dlcl9oYW5kbGUuYyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZHB1 X3Bvd2VyX2hhbmRsZS5jCmluZGV4IGU5ZTM0NGEuLjE3YmFlNGIgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9tc20vZHB1X3Bvd2VyX2hhbmRsZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9t c20vZHB1X3Bvd2VyX2hhbmRsZS5jCkBAIC0xMyw3ICsxMyw2IEBACiAKICNkZWZpbmUgcHJfZm10 KGZtdCkJIltkcm06JXM6JWRdOiAiIGZtdCwgX19mdW5jX18sIF9fTElORV9fCiAKLSNpbmNsdWRl IDxsaW51eC9jbGsuaD4KICNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KICNpbmNsdWRlIDxsaW51 eC9vZi5oPgogI2luY2x1ZGUgPGxpbnV4L3N0cmluZy5oPgpAQCAtMjQ2LDYyICsyNDUsNiBAQCBz dGF0aWMgaW50IGRwdV9wb3dlcl9wYXJzZV9kdF9zdXBwbHkoc3RydWN0IHBsYXRmb3JtX2Rldmlj ZSAqcGRldiwKIAlyZXR1cm4gcmM7CiB9CiAKLXN0YXRpYyBpbnQgZHB1X3Bvd2VyX3BhcnNlX2R0 X2Nsb2NrKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYsCi0JCQkJCXN0cnVjdCBkc3NfbW9k dWxlX3Bvd2VyICptcCkKLXsKLQl1MzIgaSA9IDAsIHJjID0gMDsKLQljb25zdCBjaGFyICpjbG9j a19uYW1lOwotCXUzMiBjbG9ja19yYXRlID0gMDsKLQl1MzIgY2xvY2tfbWF4X3JhdGUgPSAwOwot CWludCBudW1fY2xrID0gMDsKLQotCWlmICghcGRldiB8fCAhbXApIHsKLQkJcHJfZXJyKCJpbnZh bGlkIGlucHV0IHBhcmFtIHBkZXY6JXBLIG1wOiVwS1xuIiwgcGRldiwgbXApOwotCQlyZXR1cm4g LUVJTlZBTDsKLQl9Ci0KLQltcC0+bnVtX2NsayA9IDA7Ci0JbnVtX2NsayA9IG9mX3Byb3BlcnR5 X2NvdW50X3N0cmluZ3MocGRldi0+ZGV2Lm9mX25vZGUsCi0JCQkJCQkJImNsb2NrLW5hbWVzIik7 Ci0JaWYgKG51bV9jbGsgPD0gMCkgewotCQlwcl9kZWJ1ZygiY2xvY2tzIGFyZSBub3QgZGVmaW5l ZFxuIik7Ci0JCWdvdG8gY2xrX2VycjsKLQl9Ci0KLQltcC0+bnVtX2NsayA9IG51bV9jbGs7Ci0J bXAtPmNsa19jb25maWcgPSBkZXZtX2t6YWxsb2MoJnBkZXYtPmRldiwKLQkJCXNpemVvZihzdHJ1 Y3QgZHNzX2NsaykgKiBudW1fY2xrLCBHRlBfS0VSTkVMKTsKLQlpZiAoIW1wLT5jbGtfY29uZmln KSB7Ci0JCXJjID0gLUVOT01FTTsKLQkJbXAtPm51bV9jbGsgPSAwOwotCQlnb3RvIGNsa19lcnI7 Ci0JfQotCi0JZm9yIChpID0gMDsgaSA8IG51bV9jbGs7IGkrKykgewotCQlvZl9wcm9wZXJ0eV9y ZWFkX3N0cmluZ19pbmRleChwZGV2LT5kZXYub2Zfbm9kZSwgImNsb2NrLW5hbWVzIiwKLQkJCQkJ CQlpLCAmY2xvY2tfbmFtZSk7Ci0JCXN0cmxjcHkobXAtPmNsa19jb25maWdbaV0uY2xrX25hbWUs IGNsb2NrX25hbWUsCi0JCQkJc2l6ZW9mKG1wLT5jbGtfY29uZmlnW2ldLmNsa19uYW1lKSk7Ci0K LQkJb2ZfcHJvcGVydHlfcmVhZF91MzJfaW5kZXgocGRldi0+ZGV2Lm9mX25vZGUsICJjbG9jay1y YXRlIiwKLQkJCQkJCQlpLCAmY2xvY2tfcmF0ZSk7Ci0JCW1wLT5jbGtfY29uZmlnW2ldLnJhdGUg PSBjbG9ja19yYXRlOwotCi0JCWlmICghY2xvY2tfcmF0ZSkKLQkJCW1wLT5jbGtfY29uZmlnW2ld LnR5cGUgPSBEU1NfQ0xLX0FIQjsKLQkJZWxzZQotCQkJbXAtPmNsa19jb25maWdbaV0udHlwZSA9 IERTU19DTEtfUENMSzsKLQotCQljbG9ja19tYXhfcmF0ZSA9IDA7Ci0JCW9mX3Byb3BlcnR5X3Jl YWRfdTMyX2luZGV4KHBkZXYtPmRldi5vZl9ub2RlLCAiY2xvY2stbWF4LXJhdGUiLAotCQkJCQkJ CWksICZjbG9ja19tYXhfcmF0ZSk7Ci0JCW1wLT5jbGtfY29uZmlnW2ldLm1heF9yYXRlID0gY2xv Y2tfbWF4X3JhdGU7Ci0JfQotCi1jbGtfZXJyOgotCXJldHVybiByYzsKLX0KLQogI2lmZGVmIENP TkZJR19RQ09NX0JVU19TQ0FMSU5HCiAKICNkZWZpbmUgTUFYX0FYSV9QT1JUX0NPVU5UIDMKQEAg LTY4MSwxNiArNjI0LDEwIEBAIGludCBkcHVfcG93ZXJfcmVzb3VyY2VfaW5pdChzdHJ1Y3QgcGxh dGZvcm1fZGV2aWNlICpwZGV2LAogCW1wID0gJnBoYW5kbGUtPm1wOwogCXBoYW5kbGUtPmRldiA9 ICZwZGV2LT5kZXY7CiAKLQlyYyA9IGRwdV9wb3dlcl9wYXJzZV9kdF9jbG9jayhwZGV2LCBtcCk7 Ci0JaWYgKHJjKSB7Ci0JCXByX2VycigiZGV2aWNlIGNsb2NrIHBhcnNpbmcgZmFpbGVkXG4iKTsK LQkJZ290byBlbmQ7Ci0JfQotCiAJcmMgPSBkcHVfcG93ZXJfcGFyc2VfZHRfc3VwcGx5KHBkZXYs IG1wKTsKIAlpZiAocmMpIHsKIAkJcHJfZXJyKCJkZXZpY2UgdnJlZyBzdXBwbHkgcGFyc2luZyBm YWlsZWRcbiIpOwotCQlnb3RvIHBhcnNlX3ZyZWdfZXJyOworCQlnb3RvIGVuZDsKIAl9CiAKIAly YyA9IG1zbV9kc3NfY29uZmlnX3ZyZWcoJnBkZXYtPmRldiwKQEAgLTcwMCwxOCArNjM3LDYgQEAg aW50IGRwdV9wb3dlcl9yZXNvdXJjZV9pbml0KHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYs CiAJCWdvdG8gdnJlZ19lcnI7CiAJfQogCi0JcmMgPSBtc21fZHNzX2dldF9jbGsoJnBkZXYtPmRl diwgbXAtPmNsa19jb25maWcsIG1wLT5udW1fY2xrKTsKLQlpZiAocmMpIHsKLQkJcHJfZXJyKCJj bG9jayBnZXQgZmFpbGVkIHJjPSVkXG4iLCByYyk7Ci0JCWdvdG8gY2xrX2VycjsKLQl9Ci0KLQly YyA9IG1zbV9kc3NfY2xrX3NldF9yYXRlKG1wLT5jbGtfY29uZmlnLCBtcC0+bnVtX2Nsayk7Ci0J aWYgKHJjKSB7Ci0JCXByX2VycigiY2xvY2sgc2V0IHJhdGUgZmFpbGVkIHJjPSVkXG4iLCByYyk7 Ci0JCWdvdG8gYnVzX2VycjsKLQl9Ci0KIAlyYyA9IGRwdV9wb3dlcl9yZWdfYnVzX3BhcnNlKHBk ZXYsIHBoYW5kbGUpOwogCWlmIChyYykgewogCQlwcl9lcnIoInJlZ2lzdGVyIGJ1cyBwYXJzZSBm YWlsZWQgcmM9JWRcbiIsIHJjKTsKQEAgLTc0MiwxNyArNjY3LDExIEBAIGludCBkcHVfcG93ZXJf cmVzb3VyY2VfaW5pdChzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2LAogCQlkcHVfcG93ZXJf ZGF0YV9idXNfdW5yZWdpc3RlcigmcGhhbmRsZS0+ZGF0YV9idXNfaGFuZGxlW2ldKTsKIAlkcHVf cG93ZXJfcmVnX2J1c191bnJlZ2lzdGVyKHBoYW5kbGUtPnJlZ19idXNfaGRsKTsKIGJ1c19lcnI6 Ci0JbXNtX2Rzc19wdXRfY2xrKG1wLT5jbGtfY29uZmlnLCBtcC0+bnVtX2Nsayk7Ci1jbGtfZXJy OgogCW1zbV9kc3NfY29uZmlnX3ZyZWcoJnBkZXYtPmRldiwgbXAtPnZyZWdfY29uZmlnLCBtcC0+ bnVtX3ZyZWcsIDApOwogdnJlZ19lcnI6CiAJaWYgKG1wLT52cmVnX2NvbmZpZykKIAkJZGV2bV9r ZnJlZSgmcGRldi0+ZGV2LCBtcC0+dnJlZ19jb25maWcpOwogCW1wLT5udW1fdnJlZyA9IDA7Ci1w YXJzZV92cmVnX2VycjoKLQlpZiAobXAtPmNsa19jb25maWcpCi0JCWRldm1fa2ZyZWUoJnBkZXYt PmRldiwgbXAtPmNsa19jb25maWcpOwotCW1wLT5udW1fY2xrID0gMDsKIGVuZDoKIAlyZXR1cm4g cmM7CiB9CkBAIC03OTYsMTkgKzcxNSwxMiBAQCB2b2lkIGRwdV9wb3dlcl9yZXNvdXJjZV9kZWlu aXQoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwKIAogCWRwdV9wb3dlcl9yZWdfYnVzX3Vu cmVnaXN0ZXIocGhhbmRsZS0+cmVnX2J1c19oZGwpOwogCi0JbXNtX2Rzc19wdXRfY2xrKG1wLT5j bGtfY29uZmlnLCBtcC0+bnVtX2Nsayk7Ci0KIAltc21fZHNzX2NvbmZpZ192cmVnKCZwZGV2LT5k ZXYsIG1wLT52cmVnX2NvbmZpZywgbXAtPm51bV92cmVnLCAwKTsKIAotCWlmIChtcC0+Y2xrX2Nv bmZpZykKLQkJZGV2bV9rZnJlZSgmcGRldi0+ZGV2LCBtcC0+Y2xrX2NvbmZpZyk7Ci0KIAlpZiAo bXAtPnZyZWdfY29uZmlnKQogCQlkZXZtX2tmcmVlKCZwZGV2LT5kZXYsIG1wLT52cmVnX2NvbmZp Zyk7CiAKIAltcC0+bnVtX3ZyZWcgPSAwOwotCW1wLT5udW1fY2xrID0gMDsKLQogfQogCiBpbnQg ZHB1X3Bvd2VyX3Jlc291cmNlX2VuYWJsZShzdHJ1Y3QgZHB1X3Bvd2VyX2hhbmRsZSAqcGhhbmRs ZSwKQEAgLTg4NSwxMiArNzk3LDYgQEAgaW50IGRwdV9wb3dlcl9yZXNvdXJjZV9lbmFibGUoc3Ry dWN0IGRwdV9wb3dlcl9oYW5kbGUgKnBoYW5kbGUsCiAJCQlnb3RvIHJlZ19idXNfaGRsX2VycjsK IAkJfQogCi0JCXJjID0gbXNtX2Rzc19lbmFibGVfY2xrKG1wLT5jbGtfY29uZmlnLCBtcC0+bnVt X2NsaywgZW5hYmxlKTsKLQkJaWYgKHJjKSB7Ci0JCQlwcl9lcnIoImNsb2NrIGVuYWJsZSBmYWls ZWQgcmM6JWRcbiIsIHJjKTsKLQkJCWdvdG8gY2xrX2VycjsKLQkJfQotCiAJCWRwdV9wb3dlcl9l dmVudF90cmlnZ2VyX2xvY2tlZChwaGFuZGxlLAogCQkJCURQVV9QT1dFUl9FVkVOVF9QT1NUX0VO QUJMRSk7CiAKQEAgLTg5OCw4ICs4MDQsNiBAQCBpbnQgZHB1X3Bvd2VyX3Jlc291cmNlX2VuYWJs ZShzdHJ1Y3QgZHB1X3Bvd2VyX2hhbmRsZSAqcGhhbmRsZSwKIAkJZHB1X3Bvd2VyX2V2ZW50X3Ry aWdnZXJfbG9ja2VkKHBoYW5kbGUsCiAJCQkJRFBVX1BPV0VSX0VWRU5UX1BSRV9ESVNBQkxFKTsK IAotCQltc21fZHNzX2VuYWJsZV9jbGsobXAtPmNsa19jb25maWcsIG1wLT5udW1fY2xrLCBlbmFi bGUpOwotCiAJCWRwdV9wb3dlcl9yZWdfYnVzX3VwZGF0ZShwaGFuZGxlLT5yZWdfYnVzX2hkbCwK IAkJCQkJCQltYXhfdXNlY2FzZV9uZHgpOwogCkBAIC05MTcsOCArODIxLDYgQEAgaW50IGRwdV9w b3dlcl9yZXNvdXJjZV9lbmFibGUoc3RydWN0IGRwdV9wb3dlcl9oYW5kbGUgKnBoYW5kbGUsCiAJ bXV0ZXhfdW5sb2NrKCZwaGFuZGxlLT5waGFuZGxlX2xvY2spOwogCXJldHVybiByYzsKIAotY2xr X2VycjoKLQlkcHVfcG93ZXJfcmVnX2J1c191cGRhdGUocGhhbmRsZS0+cmVnX2J1c19oZGwsIHBy ZXZfdXNlY2FzZV9uZHgpOwogcmVnX2J1c19oZGxfZXJyOgogCW1zbV9kc3NfZW5hYmxlX3ZyZWco bXAtPnZyZWdfY29uZmlnLCBtcC0+bnVtX3ZyZWcsIDApOwogdnJlZ19lcnI6CkBAIC05MzAsMTAx ICs4MzIsNiBAQCBpbnQgZHB1X3Bvd2VyX3Jlc291cmNlX2VuYWJsZShzdHJ1Y3QgZHB1X3Bvd2Vy X2hhbmRsZSAqcGhhbmRsZSwKIAlyZXR1cm4gcmM7CiB9CiAKLWludCBkcHVfcG93ZXJfY2xrX3Nl dF9yYXRlKHN0cnVjdCBkcHVfcG93ZXJfaGFuZGxlICpwaGFuZGxlLCBjaGFyICpjbG9ja19uYW1l LAotCXU2NCByYXRlKQotewotCWludCBpLCByYyA9IC1FSU5WQUw7Ci0Jc3RydWN0IGRzc19tb2R1 bGVfcG93ZXIgKm1wOwotCi0JaWYgKCFwaGFuZGxlKSB7Ci0JCXByX2VycigiaW52YWxpZCBpbnB1 dCBwb3dlciBoYW5kbGVcbiIpOwotCQlyZXR1cm4gLUVJTlZBTDsKLQl9Ci0JbXAgPSAmcGhhbmRs ZS0+bXA7Ci0KLQlmb3IgKGkgPSAwOyBpIDwgbXAtPm51bV9jbGs7IGkrKykgewotCQlpZiAoIXN0 cmNtcChtcC0+Y2xrX2NvbmZpZ1tpXS5jbGtfbmFtZSwgY2xvY2tfbmFtZSkpIHsKLQkJCWlmICht cC0+Y2xrX2NvbmZpZ1tpXS5tYXhfcmF0ZSAmJgotCQkJCQkocmF0ZSA+IG1wLT5jbGtfY29uZmln W2ldLm1heF9yYXRlKSkKLQkJCQlyYXRlID0gbXAtPmNsa19jb25maWdbaV0ubWF4X3JhdGU7Ci0K LQkJCW1wLT5jbGtfY29uZmlnW2ldLnJhdGUgPSByYXRlOwotCQkJcmMgPSBtc21fZHNzX2Nsa19z ZXRfcmF0ZShtcC0+Y2xrX2NvbmZpZywgbXAtPm51bV9jbGspOwotCQkJYnJlYWs7Ci0JCX0KLQl9 Ci0KLQlyZXR1cm4gcmM7Ci19Ci0KLXU2NCBkcHVfcG93ZXJfY2xrX2dldF9yYXRlKHN0cnVjdCBk cHVfcG93ZXJfaGFuZGxlICpwaGFuZGxlLCBjaGFyICpjbG9ja19uYW1lKQotewotCWludCBpOwot CXN0cnVjdCBkc3NfbW9kdWxlX3Bvd2VyICptcDsKLQl1NjQgcmF0ZSA9IC1FSU5WQUw7Ci0KLQlp ZiAoIXBoYW5kbGUpIHsKLQkJcHJfZXJyKCJpbnZhbGlkIGlucHV0IHBvd2VyIGhhbmRsZVxuIik7 Ci0JCXJldHVybiAtRUlOVkFMOwotCX0KLQltcCA9ICZwaGFuZGxlLT5tcDsKLQotCWZvciAoaSA9 IDA7IGkgPCBtcC0+bnVtX2NsazsgaSsrKSB7Ci0JCWlmICghc3RyY21wKG1wLT5jbGtfY29uZmln W2ldLmNsa19uYW1lLCBjbG9ja19uYW1lKSkgewotCQkJcmF0ZSA9IGNsa19nZXRfcmF0ZShtcC0+ Y2xrX2NvbmZpZ1tpXS5jbGspOwotCQkJYnJlYWs7Ci0JCX0KLQl9Ci0KLQlyZXR1cm4gcmF0ZTsK LX0KLQotdTY0IGRwdV9wb3dlcl9jbGtfZ2V0X21heF9yYXRlKHN0cnVjdCBkcHVfcG93ZXJfaGFu ZGxlICpwaGFuZGxlLAotCQljaGFyICpjbG9ja19uYW1lKQotewotCWludCBpOwotCXN0cnVjdCBk c3NfbW9kdWxlX3Bvd2VyICptcDsKLQl1NjQgcmF0ZSA9IDA7Ci0KLQlpZiAoIXBoYW5kbGUpIHsK LQkJcHJfZXJyKCJpbnZhbGlkIGlucHV0IHBvd2VyIGhhbmRsZVxuIik7Ci0JCXJldHVybiAwOwot CX0KLQltcCA9ICZwaGFuZGxlLT5tcDsKLQotCWZvciAoaSA9IDA7IGkgPCBtcC0+bnVtX2Nsazsg aSsrKSB7Ci0JCWlmICghc3RyY21wKG1wLT5jbGtfY29uZmlnW2ldLmNsa19uYW1lLCBjbG9ja19u YW1lKSkgewotCQkJcmF0ZSA9IG1wLT5jbGtfY29uZmlnW2ldLm1heF9yYXRlOwotCQkJYnJlYWs7 Ci0JCX0KLQl9Ci0KLQlyZXR1cm4gcmF0ZTsKLX0KLQotc3RydWN0IGNsayAqZHB1X3Bvd2VyX2Ns a19nZXRfY2xrKHN0cnVjdCBkcHVfcG93ZXJfaGFuZGxlICpwaGFuZGxlLAotCQljaGFyICpjbG9j a19uYW1lKQotewotCWludCBpOwotCXN0cnVjdCBkc3NfbW9kdWxlX3Bvd2VyICptcDsKLQlzdHJ1 Y3QgY2xrICpjbGsgPSBOVUxMOwotCi0JaWYgKCFwaGFuZGxlKSB7Ci0JCXByX2VycigiaW52YWxp ZCBpbnB1dCBwb3dlciBoYW5kbGVcbiIpOwotCQlyZXR1cm4gMDsKLQl9Ci0JbXAgPSAmcGhhbmRs ZS0+bXA7Ci0KLQlmb3IgKGkgPSAwOyBpIDwgbXAtPm51bV9jbGs7IGkrKykgewotCQlpZiAoIXN0 cmNtcChtcC0+Y2xrX2NvbmZpZ1tpXS5jbGtfbmFtZSwgY2xvY2tfbmFtZSkpIHsKLQkJCWNsayA9 IG1wLT5jbGtfY29uZmlnW2ldLmNsazsKLQkJCWJyZWFrOwotCQl9Ci0JfQotCi0JcmV0dXJuIGNs azsKLX0KLQogc3RydWN0IGRwdV9wb3dlcl9ldmVudCAqZHB1X3Bvd2VyX2hhbmRsZV9yZWdpc3Rl cl9ldmVudCgKIAkJc3RydWN0IGRwdV9wb3dlcl9oYW5kbGUgKnBoYW5kbGUsCiAJCXUzMiBldmVu dF90eXBlLCB2b2lkICgqY2JfZm5jKSh1MzIgZXZlbnRfdHlwZSwgdm9pZCAqdXNyKSwKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZHB1X3Bvd2VyX2hhbmRsZS5oIGIvZHJpdmVycy9n cHUvZHJtL21zbS9kcHVfcG93ZXJfaGFuZGxlLmgKaW5kZXggMWVkYWU1Yy4uODNmMDQ4ZCAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9kcHVfcG93ZXJfaGFuZGxlLmgKKysrIGIvZHJp dmVycy9ncHUvZHJtL21zbS9kcHVfcG93ZXJfaGFuZGxlLmgKQEAgLTIzMCw0NiArMjMwLDYgQEAg aW50IGRwdV9wb3dlcl9kYXRhX2J1c19zdGF0ZV91cGRhdGUoc3RydWN0IGRwdV9wb3dlcl9oYW5k bGUgKnBoYW5kbGUsCiAJCQkJCQkJYm9vbCBlbmFibGUpOwogCiAvKioKLSAqIGRwdV9wb3dlcl9j bGtfc2V0X3JhdGUoKSAtIHNldCB0aGUgY2xvY2sgcmF0ZQotICogQHBkYXRhOiAgcG93ZXIgaGFu ZGxlIGNvbnRhaW5pbmcgdGhlIHJlc291cmNlcwotICogQGNsb2NrX25hbWU6IGNsb2NrIG5hbWUg d2hpY2ggbmVlZHMgcmF0ZSB1cGRhdGUuCi0gKiBAcmF0ZTogICAgICAgUmVxdWVzdGVkIHJhdGUu Ci0gKgotICogUmV0dXJuOiBlcnJvciBjb2RlLgotICovCi1pbnQgZHB1X3Bvd2VyX2Nsa19zZXRf cmF0ZShzdHJ1Y3QgZHB1X3Bvd2VyX2hhbmRsZSAqcGRhdGEsIGNoYXIgKmNsb2NrX25hbWUsCi0J dTY0IHJhdGUpOwotCi0vKioKLSAqIGRwdV9wb3dlcl9jbGtfZ2V0X3JhdGUoKSAtIGdldCB0aGUg Y2xvY2sgcmF0ZQotICogQHBkYXRhOiAgcG93ZXIgaGFuZGxlIGNvbnRhaW5pbmcgdGhlIHJlc291 cmNlcwotICogQGNsb2NrX25hbWU6IGNsb2NrIG5hbWUgdG8gZ2V0IHRoZSByYXRlCi0gKgotICog UmV0dXJuOiBjdXJyZW50IGNsb2NrIHJhdGUKLSAqLwotdTY0IGRwdV9wb3dlcl9jbGtfZ2V0X3Jh dGUoc3RydWN0IGRwdV9wb3dlcl9oYW5kbGUgKnBkYXRhLCBjaGFyICpjbG9ja19uYW1lKTsKLQot LyoqCi0gKiBkcHVfcG93ZXJfY2xrX2dldF9tYXhfcmF0ZSgpIC0gZ2V0IHRoZSBtYXhpbXVtIGNs b2NrIHJhdGUKLSAqIEBwZGF0YTogIHBvd2VyIGhhbmRsZSBjb250YWluaW5nIHRoZSByZXNvdXJj ZXMKLSAqIEBjbG9ja19uYW1lOiBjbG9jayBuYW1lIHRvIGdldCB0aGUgbWF4IHJhdGUuCi0gKgot ICogUmV0dXJuOiBtYXhpbXVtIGNsb2NrIHJhdGUgb3IgMCBpZiBub3QgZm91bmQuCi0gKi8KLXU2 NCBkcHVfcG93ZXJfY2xrX2dldF9tYXhfcmF0ZShzdHJ1Y3QgZHB1X3Bvd2VyX2hhbmRsZSAqcGRh dGEsCi0JCWNoYXIgKmNsb2NrX25hbWUpOwotCi0vKioKLSAqIGRwdV9wb3dlcl9jbGtfZ2V0X2Ns aygpIC0gZ2V0IHRoZSBjbG9jawotICogQHBkYXRhOiAgcG93ZXIgaGFuZGxlIGNvbnRhaW5pbmcg dGhlIHJlc291cmNlcwotICogQGNsb2NrX25hbWU6IGNsb2NrIG5hbWUgdG8gZ2V0IHRoZSBjbGsg cG9pbnRlci4KLSAqCi0gKiBSZXR1cm46IFBvaW50ZXIgdG8gY2xvY2sKLSAqLwotc3RydWN0IGNs ayAqZHB1X3Bvd2VyX2Nsa19nZXRfY2xrKHN0cnVjdCBkcHVfcG93ZXJfaGFuZGxlICpwaGFuZGxl LAotCQljaGFyICpjbG9ja19uYW1lKTsKLQotLyoqCiAgKiBkcHVfcG93ZXJfZGF0YV9idXNfc2V0 X3F1b3RhKCkgLSBzZXQgZGF0YSBidXMgcXVvdGEgZm9yIHBvd2VyIGNsaWVudAogICogQHBoYW5k bGU6ICBwb3dlciBoYW5kbGUgY29udGFpbmluZyB0aGUgcmVzb3VyY2VzCiAgKiBAY2xpZW50OiBj bGllbnQgaW5mb3JtYXRpb24gdG8gc2V0IHF1b3RhCi0tIApUaGUgUXVhbGNvbW0gSW5ub3ZhdGlv biBDZW50ZXIsIEluYy4gaXMgYSBtZW1iZXIgb2YgdGhlIENvZGUgQXVyb3JhIEZvcnVtLAphIExp bnV4IEZvdW5kYXRpb24gQ29sbGFib3JhdGl2ZSBQcm9qZWN0CgpfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpGcmVlZHJlbm8gbWFpbGluZyBsaXN0CkZyZWVk cmVub0BsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcv bWFpbG1hbi9saXN0aW5mby9mcmVlZHJlbm8K