From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jeykumar Sankaran Subject: [PATCH v3 02/13] drm/msm/dpu: remove resource pool manager Date: Tue, 7 Aug 2018 20:12:29 -0700 Message-ID: <1533697956-29686-3-git-send-email-jsanka@codeaurora.org> References: <1533697956-29686-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: <1533697956-29686-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 cmVzb3VyY2UgcG9vbCBtYW5hZ2VyIHV0aWxpdHkgd2FzIGludHJvZHVjZWQgdG8gbWFuYWdlCnJv dGF0b3Igc2Vzc2lvbnMuIFJlbW92aW5nIHRoZSBzdXBwb3J0IGFzIHRoZSByb3RhdG9yCmZlYXR1 cmUgZG9lc24ndCBleGlzdC4KCmNoYW5nZXMgaW4gdjI6CgktIG5vbmUKY2hhbmdlcyBpbiB2MzoK CS0gcmViYXNlIG9uIFsxXQoKWzFdIGh0dHBzOi8vZ2l0bGFiLmZyZWVkZXNrdG9wLm9yZy9zZWFu cGF1bC9kcHUtc3RhZ2luZy9jb21taXRzL2Zvci1uZXh0CgpDaGFuZ2UtSWQ6IEliMDQ1ZjFjNjYy NjliZTY1MGJjZTU4OTZjNDU5ZjU5ZTEwNDdhNTNmClNpZ25lZC1vZmYtYnk6IEpleWt1bWFyIFNh bmthcmFuIDxqc2Fua2FAY29kZWF1cm9yYS5vcmc+Ci0tLQogZHJpdmVycy9ncHUvZHJtL21zbS9k aXNwL2RwdTEvZHB1X2NydGMuYyB8IDIwNSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t CiBkcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfY3J0Yy5oIHwgIDU2IC0tLS0tLS0t LQogMiBmaWxlcyBjaGFuZ2VkLCAyNjEgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2NydGMuYyBiL2RyaXZlcnMvZ3B1L2RybS9tc20v ZGlzcC9kcHUxL2RwdV9jcnRjLmMKaW5kZXggODBjYmY3NS4uMWYyZDIyMyAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2NydGMuYworKysgYi9kcml2ZXJzL2dw dS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfY3J0Yy5jCkBAIC05OSwxODcgKzk5LDYgQEAgc3RhdGlj IGlubGluZSBpbnQgX2RwdV9jcnRjX3Bvd2VyX2VuYWJsZShzdHJ1Y3QgZHB1X2NydGMgKmRwdV9j cnRjLCBib29sIGVuYWJsZSkKIAlyZXR1cm4gMDsKIH0KIAotLyoqCi0gKiBfZHB1X2NydGNfcnBf dG9fY3J0YyAtIGdldCBjcnRjIGZyb20gcmVzb3VyY2UgcG9vbCBvYmplY3QKLSAqIEBycDogUG9p bnRlciB0byByZXNvdXJjZSBwb29sCi0gKiByZXR1cm46IFBvaW50ZXIgdG8gZHJtIGNydGMgaWYg c3VjY2VzczsgbnVsbCBvdGhlcndpc2UKLSAqLwotc3RhdGljIHN0cnVjdCBkcm1fY3J0YyAqX2Rw dV9jcnRjX3JwX3RvX2NydGMoc3RydWN0IGRwdV9jcnRjX3Jlc3Bvb2wgKnJwKQotewotCWlmICgh cnApCi0JCXJldHVybiBOVUxMOwotCi0JcmV0dXJuIGNvbnRhaW5lcl9vZihycCwgc3RydWN0IGRw dV9jcnRjX3N0YXRlLCBycCktPmJhc2UuY3J0YzsKLX0KLQotLyoqCi0gKiBfZHB1X2NydGNfcnBf cmVjbGFpbSAtIHJlY2xhaW0gdW51c2VkLCBvciBhbGwgaWYgZm9yY2VkLCByZXNvdXJjZXMgaW4g cG9vbAotICogQHJwOiBQb2ludGVyIHRvIHJlc291cmNlIHBvb2wKLSAqIEBmb3JjZTogVHJ1ZSB0 byByZWNsYWltIGFsbCByZXNvdXJjZXM7IG90aGVyd2lzZSwgcmVjbGFpbSBvbmx5IHVudXNlZCBv bmVzCi0gKiByZXR1cm46IE5vbmUKLSAqLwotc3RhdGljIHZvaWQgX2RwdV9jcnRjX3JwX3JlY2xh aW0oc3RydWN0IGRwdV9jcnRjX3Jlc3Bvb2wgKnJwLCBib29sIGZvcmNlKQotewotCXN0cnVjdCBk cHVfY3J0Y19yZXMgKnJlcywgKm5leHQ7Ci0Jc3RydWN0IGRybV9jcnRjICpjcnRjOwotCi0JY3J0 YyA9IF9kcHVfY3J0Y19ycF90b19jcnRjKHJwKTsKLQlpZiAoIWNydGMpIHsKLQkJRFBVX0VSUk9S KCJpbnZhbGlkIGNydGNcbiIpOwotCQlyZXR1cm47Ci0JfQotCi0JRFBVX0RFQlVHKCJjcnRjJWQu JXUgJXNcbiIsIGNydGMtPmJhc2UuaWQsIHJwLT5zZXF1ZW5jZV9pZCwKLQkJCWZvcmNlID8gImRl c3Ryb3kiIDogImZyZWVfdW51c2VkIik7Ci0KLQlsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUocmVz LCBuZXh0LCAmcnAtPnJlc19saXN0LCBsaXN0KSB7Ci0JCWlmICghZm9yY2UgJiYgIShyZXMtPmZs YWdzICYgRFBVX0NSVENfUkVTX0ZMQUdfRlJFRSkpCi0JCQljb250aW51ZTsKLQkJRFBVX0RFQlVH KCJjcnRjJWQuJXUgcmVjbGFpbSByZXM6MHgleC8weCVsbHgvJXBLLyVkXG4iLAotCQkJCWNydGMt PmJhc2UuaWQsIHJwLT5zZXF1ZW5jZV9pZCwKLQkJCQlyZXMtPnR5cGUsIHJlcy0+dGFnLCByZXMt PnZhbCwKLQkJCQlhdG9taWNfcmVhZCgmcmVzLT5yZWZjb3VudCkpOwotCQlsaXN0X2RlbCgmcmVz LT5saXN0KTsKLQkJaWYgKHJlcy0+b3BzLnB1dCkKLQkJCXJlcy0+b3BzLnB1dChyZXMtPnZhbCk7 Ci0JCWtmcmVlKHJlcyk7Ci0JfQotfQotCi0vKioKLSAqIF9kcHVfY3J0Y19ycF9mcmVlX3VudXNl ZCAtIGZyZWUgdW51c2VkIHJlc291cmNlIGluIHBvb2wKLSAqIEBycDogUG9pbnRlciB0byByZXNv dXJjZSBwb29sCi0gKiByZXR1cm46IG5vbmUKLSAqLwotc3RhdGljIHZvaWQgX2RwdV9jcnRjX3Jw X2ZyZWVfdW51c2VkKHN0cnVjdCBkcHVfY3J0Y19yZXNwb29sICpycCkKLXsKLQltdXRleF9sb2Nr KHJwLT5ycF9sb2NrKTsKLQlfZHB1X2NydGNfcnBfcmVjbGFpbShycCwgZmFsc2UpOwotCW11dGV4 X3VubG9jayhycC0+cnBfbG9jayk7Ci19Ci0KLS8qKgotICogX2RwdV9jcnRjX3JwX2Rlc3Ryb3kg LSBkZXN0cm95IHJlc291cmNlIHBvb2wKLSAqIEBycDogUG9pbnRlciB0byByZXNvdXJjZSBwb29s Ci0gKiByZXR1cm46IE5vbmUKLSAqLwotc3RhdGljIHZvaWQgX2RwdV9jcnRjX3JwX2Rlc3Ryb3ko c3RydWN0IGRwdV9jcnRjX3Jlc3Bvb2wgKnJwKQotewotCW11dGV4X2xvY2socnAtPnJwX2xvY2sp OwotCWxpc3RfZGVsX2luaXQoJnJwLT5ycF9saXN0KTsKLQlfZHB1X2NydGNfcnBfcmVjbGFpbShy cCwgdHJ1ZSk7Ci0JbXV0ZXhfdW5sb2NrKHJwLT5ycF9sb2NrKTsKLX0KLQotLyoqCi0gKiBfZHB1 X2NydGNfaHdfYmxrX2dldCAtIGdldCBjYWxsYmFjayBmb3IgaGFyZHdhcmUgYmxvY2sKLSAqIEB2 YWw6IFJlc291cmNlIGhhbmRsZQotICogQHR5cGU6IFJlc291cmNlIHR5cGUKLSAqIEB0YWc6IFNl YXJjaCB0YWcgZm9yIGdpdmVuIHJlc291cmNlCi0gKiByZXR1cm46IFJlc291cmNlIGhhbmRsZQot ICovCi1zdGF0aWMgdm9pZCAqX2RwdV9jcnRjX2h3X2Jsa19nZXQodm9pZCAqdmFsLCB1MzIgdHlw ZSwgdTY0IHRhZykKLXsKLQlEUFVfREVCVUcoInJlczolZC8weCVsbHgvJXBLXG4iLCB0eXBlLCB0 YWcsIHZhbCk7Ci0JcmV0dXJuIGRwdV9od19ibGtfZ2V0KHZhbCwgdHlwZSwgdGFnKTsKLX0KLQot LyoqCi0gKiBfZHB1X2NydGNfaHdfYmxrX3B1dCAtIHB1dCBjYWxsYmFjayBmb3IgaGFyZHdhcmUg YmxvY2sKLSAqIEB2YWw6IFJlc291cmNlIGhhbmRsZQotICogcmV0dXJuOiBOb25lCi0gKi8KLXN0 YXRpYyB2b2lkIF9kcHVfY3J0Y19od19ibGtfcHV0KHZvaWQgKnZhbCkKLXsKLQlEUFVfREVCVUco InJlczovLyVwS1xuIiwgdmFsKTsKLQlkcHVfaHdfYmxrX3B1dCh2YWwpOwotfQotCi0vKioKLSAq IF9kcHVfY3J0Y19ycF9kdXBsaWNhdGUgLSBkdXBsaWNhdGUgcmVzb3VyY2UgcG9vbCBhbmQgcmVz ZXQgcmVmZXJlbmNlIGNvdW50Ci0gKiBAcnA6IFBvaW50ZXIgdG8gb3JpZ2luYWwgcmVzb3VyY2Ug cG9vbAotICogQGR1cF9ycDogUG9pbnRlciB0byBkdXBsaWNhdGVkIHJlc291cmNlIHBvb2wKLSAq IHJldHVybjogTm9uZQotICovCi1zdGF0aWMgdm9pZCBfZHB1X2NydGNfcnBfZHVwbGljYXRlKHN0 cnVjdCBkcHVfY3J0Y19yZXNwb29sICpycCwKLQkJc3RydWN0IGRwdV9jcnRjX3Jlc3Bvb2wgKmR1 cF9ycCkKLXsKLQlzdHJ1Y3QgZHB1X2NydGNfcmVzICpyZXMsICpkdXBfcmVzOwotCXN0cnVjdCBk cm1fY3J0YyAqY3J0YzsKLQotCWlmICghcnAgfHwgIWR1cF9ycCB8fCAhcnAtPnJwX2hlYWQpIHsK LQkJRFBVX0VSUk9SKCJpbnZhbGlkIHJlc291cmNlIHBvb2xcbiIpOwotCQlyZXR1cm47Ci0JfQot Ci0JY3J0YyA9IF9kcHVfY3J0Y19ycF90b19jcnRjKHJwKTsKLQlpZiAoIWNydGMpIHsKLQkJRFBV X0VSUk9SKCJpbnZhbGlkIGNydGNcbiIpOwotCQlyZXR1cm47Ci0JfQotCi0JRFBVX0RFQlVHKCJj cnRjJWQuJXUgZHVwbGljYXRlXG4iLCBjcnRjLT5iYXNlLmlkLCBycC0+c2VxdWVuY2VfaWQpOwot Ci0JbXV0ZXhfbG9jayhycC0+cnBfbG9jayk7Ci0JZHVwX3JwLT5zZXF1ZW5jZV9pZCA9IHJwLT5z ZXF1ZW5jZV9pZCArIDE7Ci0JSU5JVF9MSVNUX0hFQUQoJmR1cF9ycC0+cmVzX2xpc3QpOwotCWR1 cF9ycC0+b3BzID0gcnAtPm9wczsKLQlsaXN0X2Zvcl9lYWNoX2VudHJ5KHJlcywgJnJwLT5yZXNf bGlzdCwgbGlzdCkgewotCQlkdXBfcmVzID0ga3phbGxvYyhzaXplb2Yoc3RydWN0IGRwdV9jcnRj X3JlcyksIEdGUF9LRVJORUwpOwotCQlpZiAoIWR1cF9yZXMpIHsKLQkJCW11dGV4X3VubG9jayhy cC0+cnBfbG9jayk7Ci0JCQlyZXR1cm47Ci0JCX0KLQkJSU5JVF9MSVNUX0hFQUQoJmR1cF9yZXMt Pmxpc3QpOwotCQlhdG9taWNfc2V0KCZkdXBfcmVzLT5yZWZjb3VudCwgMCk7Ci0JCWR1cF9yZXMt PnR5cGUgPSByZXMtPnR5cGU7Ci0JCWR1cF9yZXMtPnRhZyA9IHJlcy0+dGFnOwotCQlkdXBfcmVz LT52YWwgPSByZXMtPnZhbDsKLQkJZHVwX3Jlcy0+b3BzID0gcmVzLT5vcHM7Ci0JCWR1cF9yZXMt PmZsYWdzID0gRFBVX0NSVENfUkVTX0ZMQUdfRlJFRTsKLQkJRFBVX0RFQlVHKCJjcnRjJWQuJXUg ZHVwIHJlczoweCV4LzB4JWxseC8lcEsvJWRcbiIsCi0JCQkJY3J0Yy0+YmFzZS5pZCwgZHVwX3Jw LT5zZXF1ZW5jZV9pZCwKLQkJCQlkdXBfcmVzLT50eXBlLCBkdXBfcmVzLT50YWcsIGR1cF9yZXMt PnZhbCwKLQkJCQlhdG9taWNfcmVhZCgmZHVwX3Jlcy0+cmVmY291bnQpKTsKLQkJbGlzdF9hZGRf dGFpbCgmZHVwX3Jlcy0+bGlzdCwgJmR1cF9ycC0+cmVzX2xpc3QpOwotCQlpZiAoZHVwX3Jlcy0+ b3BzLmdldCkKLQkJCWR1cF9yZXMtPm9wcy5nZXQoZHVwX3Jlcy0+dmFsLCAwLCAtMSk7Ci0JfQot Ci0JZHVwX3JwLT5ycF9sb2NrID0gcnAtPnJwX2xvY2s7Ci0JZHVwX3JwLT5ycF9oZWFkID0gcnAt PnJwX2hlYWQ7Ci0JSU5JVF9MSVNUX0hFQUQoJmR1cF9ycC0+cnBfbGlzdCk7Ci0JbGlzdF9hZGRf dGFpbCgmZHVwX3JwLT5ycF9saXN0LCBycC0+cnBfaGVhZCk7Ci0JbXV0ZXhfdW5sb2NrKHJwLT5y cF9sb2NrKTsKLX0KLQotLyoqCi0gKiBfZHB1X2NydGNfcnBfcmVzZXQgLSByZXNldCByZXNvdXJj ZSBwb29sIGFmdGVyIGFsbG9jYXRpb24KLSAqIEBycDogUG9pbnRlciB0byBvcmlnaW5hbCByZXNv dXJjZSBwb29sCi0gKiBAcnBfbG9jazogUG9pbnRlciB0byBzZXJpYWxpemF0aW9uIHJlc291cmNl IHBvb2wgbG9jawotICogQHJwX2hlYWQ6IFBvaW50ZXIgdG8gY3J0YyByZXNvdXJjZSBwb29sIGhl YWQKLSAqIHJldHVybjogTm9uZQotICovCi1zdGF0aWMgdm9pZCBfZHB1X2NydGNfcnBfcmVzZXQo c3RydWN0IGRwdV9jcnRjX3Jlc3Bvb2wgKnJwLAotCQlzdHJ1Y3QgbXV0ZXggKnJwX2xvY2ssIHN0 cnVjdCBsaXN0X2hlYWQgKnJwX2hlYWQpCi17Ci0JaWYgKCFycCB8fCAhcnBfbG9jayB8fCAhcnBf aGVhZCkgewotCQlEUFVfRVJST1IoImludmFsaWQgcmVzb3VyY2UgcG9vbFxuIik7Ci0JCXJldHVy bjsKLQl9Ci0KLQltdXRleF9sb2NrKHJwX2xvY2spOwotCXJwLT5ycF9sb2NrID0gcnBfbG9jazsK LQlycC0+cnBfaGVhZCA9IHJwX2hlYWQ7Ci0JSU5JVF9MSVNUX0hFQUQoJnJwLT5ycF9saXN0KTsK LQlycC0+c2VxdWVuY2VfaWQgPSAwOwotCUlOSVRfTElTVF9IRUFEKCZycC0+cmVzX2xpc3QpOwot CXJwLT5vcHMuZ2V0ID0gX2RwdV9jcnRjX2h3X2Jsa19nZXQ7Ci0JcnAtPm9wcy5wdXQgPSBfZHB1 X2NydGNfaHdfYmxrX3B1dDsKLQlsaXN0X2FkZF90YWlsKCZycC0+cnBfbGlzdCwgcnAtPnJwX2hl YWQpOwotCW11dGV4X3VubG9jayhycF9sb2NrKTsKLX0KLQogc3RhdGljIHZvaWQgZHB1X2NydGNf ZGVzdHJveShzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCiB7CiAJc3RydWN0IGRwdV9jcnRjICpkcHVf Y3J0YyA9IHRvX2RwdV9jcnRjKGNydGMpOwpAQCAtOTUxLDggKzc3MCw2IEBAIHN0YXRpYyB2b2lk IGRwdV9jcnRjX2Rlc3Ryb3lfc3RhdGUoc3RydWN0IGRybV9jcnRjICpjcnRjLAogCiAJRFBVX0RF QlVHKCJjcnRjJWRcbiIsIGNydGMtPmJhc2UuaWQpOwogCi0JX2RwdV9jcnRjX3JwX2Rlc3Ryb3ko JmNzdGF0ZS0+cnApOwotCiAJX19kcm1fYXRvbWljX2hlbHBlcl9jcnRjX2Rlc3Ryb3lfc3RhdGUo c3RhdGUpOwogCiAJa2ZyZWUoY3N0YXRlKTsKQEAgLTEyMDYsOCArMTAyMyw2IEBAIHN0YXRpYyBz dHJ1Y3QgZHJtX2NydGNfc3RhdGUgKmRwdV9jcnRjX2R1cGxpY2F0ZV9zdGF0ZShzdHJ1Y3QgZHJt X2NydGMgKmNydGMpCiAJLyogZHVwbGljYXRlIGJhc2UgaGVscGVyICovCiAJX19kcm1fYXRvbWlj X2hlbHBlcl9jcnRjX2R1cGxpY2F0ZV9zdGF0ZShjcnRjLCAmY3N0YXRlLT5iYXNlKTsKIAotCV9k cHVfY3J0Y19ycF9kdXBsaWNhdGUoJm9sZF9jc3RhdGUtPnJwLCAmY3N0YXRlLT5ycCk7Ci0KIAly ZXR1cm4gJmNzdGF0ZS0+YmFzZTsKIH0KIApAQCAtMTI0NCw5ICsxMDU5LDYgQEAgc3RhdGljIHZv aWQgZHB1X2NydGNfcmVzZXQoc3RydWN0IGRybV9jcnRjICpjcnRjKQogCQlyZXR1cm47CiAJfQog Ci0JX2RwdV9jcnRjX3JwX3Jlc2V0KCZjc3RhdGUtPnJwLCAmZHB1X2NydGMtPnJwX2xvY2ssCi0J CQkmZHB1X2NydGMtPnJwX2hlYWQpOwotCiAJY3N0YXRlLT5iYXNlLmNydGMgPSBjcnRjOwogCWNy dGMtPnN0YXRlID0gJmNzdGF0ZS0+YmFzZTsKIH0KQEAgLTE2NzksNyArMTQ5MSw2IEBAIHN0YXRp YyBpbnQgZHB1X2NydGNfYXRvbWljX2NoZWNrKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKIAl9CiAK IGVuZDoKLQlfZHB1X2NydGNfcnBfZnJlZV91bnVzZWQoJmNzdGF0ZS0+cnApOwogCWtmcmVlKHBz dGF0ZXMpOwogCXJldHVybiByYzsKIH0KQEAgLTE5NTUsOCArMTc2Niw2IEBAIHN0YXRpYyBpbnQg ZHB1X2NydGNfZGVidWdmc19zdGF0ZV9zaG93KHN0cnVjdCBzZXFfZmlsZSAqcywgdm9pZCAqdikK IHsKIAlzdHJ1Y3QgZHJtX2NydGMgKmNydGMgPSAoc3RydWN0IGRybV9jcnRjICopIHMtPnByaXZh dGU7CiAJc3RydWN0IGRwdV9jcnRjICpkcHVfY3J0YyA9IHRvX2RwdV9jcnRjKGNydGMpOwotCXN0 cnVjdCBkcHVfY3J0Y19yZXMgKnJlczsKLQlzdHJ1Y3QgZHB1X2NydGNfcmVzcG9vbCAqcnA7CiAJ aW50IGk7CiAKIAlzZXFfcHJpbnRmKHMsICJjbGllbnQgdHlwZTogJWRcbiIsIGRwdV9jcnRjX2dl dF9jbGllbnRfdHlwZShjcnRjKSk7CkBAIC0xOTczLDE3ICsxNzgyLDYgQEAgc3RhdGljIGludCBk cHVfY3J0Y19kZWJ1Z2ZzX3N0YXRlX3Nob3coc3RydWN0IHNlcV9maWxlICpzLCB2b2lkICp2KQog CQkJCWRwdV9jcnRjLT5jdXJfcGVyZi5tYXhfcGVyX3BpcGVfaWJbaV0pOwogCX0KIAotCW11dGV4 X2xvY2soJmRwdV9jcnRjLT5ycF9sb2NrKTsKLQlsaXN0X2Zvcl9lYWNoX2VudHJ5KHJwLCAmZHB1 X2NydGMtPnJwX2hlYWQsIHJwX2xpc3QpIHsKLQkJc2VxX3ByaW50ZihzLCAicnAuJWQ6ICIsIHJw LT5zZXF1ZW5jZV9pZCk7Ci0JCWxpc3RfZm9yX2VhY2hfZW50cnkocmVzLCAmcnAtPnJlc19saXN0 LCBsaXN0KQotCQkJc2VxX3ByaW50ZihzLCAiMHgleC8weCVsbHgvJXBLLyVkICIsCi0JCQkJCXJl cy0+dHlwZSwgcmVzLT50YWcsIHJlcy0+dmFsLAotCQkJCQlhdG9taWNfcmVhZCgmcmVzLT5yZWZj b3VudCkpOwotCQlzZXFfcHV0cyhzLCAiXG4iKTsKLQl9Ci0JbXV0ZXhfdW5sb2NrKCZkcHVfY3J0 Yy0+cnBfbG9jayk7Ci0KIAlyZXR1cm4gMDsKIH0KIERFRklORV9EUFVfREVCVUdGU19TRVFfRk9Q UyhkcHVfY3J0Y19kZWJ1Z2ZzX3N0YXRlKTsKQEAgLTIxMDQsOSArMTkwMiw2IEBAIHN0cnVjdCBk cm1fY3J0YyAqZHB1X2NydGNfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3QgZHJt X3BsYW5lICpwbGFuZSkKIAlzcGluX2xvY2tfaW5pdCgmZHB1X2NydGMtPnNwaW5fbG9jayk7CiAJ YXRvbWljX3NldCgmZHB1X2NydGMtPmZyYW1lX3BlbmRpbmcsIDApOwogCi0JbXV0ZXhfaW5pdCgm ZHB1X2NydGMtPnJwX2xvY2spOwotCUlOSVRfTElTVF9IRUFEKCZkcHVfY3J0Yy0+cnBfaGVhZCk7 Ci0KIAlpbml0X2NvbXBsZXRpb24oJmRwdV9jcnRjLT5mcmFtZV9kb25lX2NvbXApOwogCiAJSU5J VF9MSVNUX0hFQUQoJmRwdV9jcnRjLT5mcmFtZV9ldmVudF9saXN0KTsKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9jcnRjLmggYi9kcml2ZXJzL2dwdS9kcm0v bXNtL2Rpc3AvZHB1MS9kcHVfY3J0Yy5oCmluZGV4IDBlOWFhZmEuLmU4NGRhNzggMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9jcnRjLmgKKysrIGIvZHJpdmVy cy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2NydGMuaApAQCAtMTYyLDggKzE2Miw2IEBAIHN0 cnVjdCBkcHVfY3J0Y19mcmFtZV9ldmVudCB7CiAgKiBAcGhhbmRsZTogUG9pbnRlciB0byBwb3dl ciBoYW5kbGVyCiAgKiBAcG93ZXJfZXZlbnQgICA6IHJlZ2lzdGVyZWQgcG93ZXIgZXZlbnQgaGFu ZGxlCiAgKiBAY3VyX3BlcmYgICAgICA6IGN1cnJlbnQgcGVyZm9ybWFuY2UgY29tbWl0dGVkIHRv IGNsb2NrL2JhbmR3aWR0aCBkcml2ZXIKLSAqIEBycF9sb2NrICAgICAgIDogc2VyaWFsaXphdGlv biBsb2NrIGZvciByZXNvdXJjZSBwb29sCi0gKiBAcnBfaGVhZCAgICAgICA6IGxpc3Qgb2YgYWN0 aXZlIHJlc291cmNlIHBvb2wKICAqLwogc3RydWN0IGRwdV9jcnRjIHsKIAlzdHJ1Y3QgZHJtX2Ny dGMgYmFzZTsKQEAgLTIxMyw2NSArMjExLDEyIEBAIHN0cnVjdCBkcHVfY3J0YyB7CiAKIAlzdHJ1 Y3QgZHB1X2NvcmVfcGVyZl9wYXJhbXMgY3VyX3BlcmY7CiAKLQlzdHJ1Y3QgbXV0ZXggcnBfbG9j azsKLQlzdHJ1Y3QgbGlzdF9oZWFkIHJwX2hlYWQ7Ci0KIAlzdHJ1Y3QgZHB1X2NydGNfc21tdV9z dGF0ZV9kYXRhIHNtbXVfc3RhdGU7CiB9OwogCiAjZGVmaW5lIHRvX2RwdV9jcnRjKHgpIGNvbnRh aW5lcl9vZih4LCBzdHJ1Y3QgZHB1X2NydGMsIGJhc2UpCiAKIC8qKgotICogc3RydWN0IGRwdV9j cnRjX3Jlc19vcHMgLSBjb21tb24gb3BlcmF0aW9ucyBmb3IgY3J0YyByZXNvdXJjZXMKLSAqIEBn ZXQ6IGdldCBnaXZlbiByZXNvdXJjZQotICogQHB1dDogcHV0IGdpdmVuIHJlc291cmNlCi0gKi8K LXN0cnVjdCBkcHVfY3J0Y19yZXNfb3BzIHsKLQl2b2lkICooKmdldCkodm9pZCAqdmFsLCB1MzIg dHlwZSwgdTY0IHRhZyk7Ci0Jdm9pZCAoKnB1dCkodm9pZCAqdmFsKTsKLX07Ci0KLSNkZWZpbmUg RFBVX0NSVENfUkVTX0ZMQUdfRlJFRQkJQklUKDApCi0KLS8qKgotICogc3RydWN0IGRwdV9jcnRj X3JlcyAtIGRlZmluaXRpb24gb2YgY3J0YyByZXNvdXJjZXMKLSAqIEBsaXN0OiBsaXN0IG9mIGNy dGMgcmVzb3VyY2UKLSAqIEB0eXBlOiBjcnRjIHJlc291cmNlIHR5cGUKLSAqIEB0YWc6IHVuaXF1 ZSBpZGVudGlmaWVyIHBlciB0eXBlCi0gKiBAcmVmY291bnQ6IHJlZmVyZW5jZS91c2FnZSBjb3Vu dAotICogQG9wczogY2FsbGJhY2sgb3BlcmF0aW9ucwotICogQHZhbDogcmVzb3VyY2UgaGFuZGxl IGFzc29jaWF0ZWQgd2l0aCB0eXBlL3RhZwotICogQGZsYWdzOiBjdXN0b21pemF0aW9uIGZsYWdz Ci0gKi8KLXN0cnVjdCBkcHVfY3J0Y19yZXMgewotCXN0cnVjdCBsaXN0X2hlYWQgbGlzdDsKLQl1 MzIgdHlwZTsKLQl1NjQgdGFnOwotCWF0b21pY190IHJlZmNvdW50OwotCXN0cnVjdCBkcHVfY3J0 Y19yZXNfb3BzIG9wczsKLQl2b2lkICp2YWw7Ci0JdTMyIGZsYWdzOwotfTsKLQotLyoqCi0gKiBk cHVfY3J0Y19yZXNwb29sIC0gY3J0YyByZXNvdXJjZSBwb29sCi0gKiBAcnBfbG9jazogcG9pbnRl ciB0byBzZXJpYWxpemF0aW9uIGxvY2sKLSAqIEBycF9oZWFkOiBwb2ludGVyIHRvIGhlYWQgb2Yg YWN0aXZlIHJlc291cmNlIHBvb2xzIG9mIHRoaXMgY3J0YwotICogQHJwX2xpc3Q6IGxpc3Qgb2Yg Y3J0YyByZXNvdXJjZSBwb29sCi0gKiBAc2VxdWVuY2VfaWQ6IHNlcXVlbmNlIGlkZW50aWZpZXIs IGluY3JlbWVudGVkIHBlciBzdGF0ZSBkdXBsaWNhdGlvbgotICogQHJlc19saXN0OiBsaXN0IG9m IHJlc291cmNlIG1hbmFnZWQgYnkgdGhpcyByZXNvdXJjZSBwb29sCi0gKiBAb3BzOiByZXNvdXJj ZSBvcGVyYXRpb25zIGZvciBwYXJlbnQgcmVzb3VyY2UgcG9vbAotICovCi1zdHJ1Y3QgZHB1X2Ny dGNfcmVzcG9vbCB7Ci0Jc3RydWN0IG11dGV4ICpycF9sb2NrOwotCXN0cnVjdCBsaXN0X2hlYWQg KnJwX2hlYWQ7Ci0Jc3RydWN0IGxpc3RfaGVhZCBycF9saXN0OwotCXUzMiBzZXF1ZW5jZV9pZDsK LQlzdHJ1Y3QgbGlzdF9oZWFkIHJlc19saXN0OwotCXN0cnVjdCBkcHVfY3J0Y19yZXNfb3BzIG9w czsKLX07Ci0KLS8qKgogICogc3RydWN0IGRwdV9jcnRjX3N0YXRlIC0gZHB1IGNvbnRhaW5lciBm b3IgYXRvbWljIGNydGMgc3RhdGUKICAqIEBiYXNlOiBCYXNlIGRybSBjcnRjIHN0YXRlIHN0cnVj dHVyZQogICogQGlzX3Bwc3BsaXQgICAgOiBXaGV0aGVyIGN1cnJlbnQgdG9wb2xvZ3kgcmVxdWly ZXMgUFBTcGxpdCBzcGVjaWFsIGhhbmRsaW5nCkBAIC0yOTYsNyArMjQxLDYgQEAgc3RydWN0IGRw dV9jcnRjX3N0YXRlIHsKIAl1aW50NjRfdCBpbnB1dF9mZW5jZV90aW1lb3V0X25zOwogCiAJc3Ry dWN0IGRwdV9jb3JlX3BlcmZfcGFyYW1zIG5ld19wZXJmOwotCXN0cnVjdCBkcHVfY3J0Y19yZXNw b29sIHJwOwogfTsKIAogI2RlZmluZSB0b19kcHVfY3J0Y19zdGF0ZSh4KSBcCi0tIApUaGUgUXVh bGNvbW0gSW5ub3ZhdGlvbiBDZW50ZXIsIEluYy4gaXMgYSBtZW1iZXIgb2YgdGhlIENvZGUgQXVy b3JhIEZvcnVtLAphIExpbnV4IEZvdW5kYXRpb24gQ29sbGFib3JhdGl2ZSBQcm9qZWN0CgpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpGcmVlZHJlbm8gbWFp bGluZyBsaXN0CkZyZWVkcmVub0BsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5m cmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9mcmVlZHJlbm8K