From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jeykumar Sankaran Subject: [PATCH v6 04/19] drm/msm/dpu: remove resource pool manager Date: Fri, 7 Sep 2018 17:24:12 -0700 Message-ID: <1536366267-22336-5-git-send-email-jsanka@codeaurora.org> References: <1536366267-22336-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: <1536366267-22336-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 , jcrouse-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org, seanpaul-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org, robdclark-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org List-Id: linux-arm-msm@vger.kernel.org cmVzb3VyY2UgcG9vbCBtYW5hZ2VyIHV0aWxpdHkgd2FzIGludHJvZHVjZWQgdG8gbWFuYWdlCnJv dGF0b3Igc2Vzc2lvbnMuIFJlbW92aW5nIHRoZSBzdXBwb3J0IGFzIHRoZSByb3RhdG9yCmZlYXR1 cmUgZG9lc24ndCBleGlzdC4KCmNoYW5nZXMgaW4gdjQ6CgktIG5vbmUKY2hhbmdlcyBpbiB2NToK CS0gbm9uZQpjaGFuZ2VzIGluIHY2OgoJLSBub25lCgpTaWduZWQtb2ZmLWJ5OiBKZXlrdW1hciBT YW5rYXJhbiA8anNhbmthQGNvZGVhdXJvcmEub3JnPgpSZXZpZXdlZC1ieTogU2VhbiBQYXVsIDxz ZWFucGF1bEBjaHJvbWl1bS5vcmc+Ci0tLQogZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEv ZHB1X2NydGMuYyB8IDIwNSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBkcml2ZXJz L2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfY3J0Yy5oIHwgIDU2IC0tLS0tLS0tLQogMiBmaWxl cyBjaGFuZ2VkLCAyNjEgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L21zbS9kaXNwL2RwdTEvZHB1X2NydGMuYyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUx L2RwdV9jcnRjLmMKaW5kZXggNmNjNWJhNy4uYzZkYjg3NyAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2NydGMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNt L2Rpc3AvZHB1MS9kcHVfY3J0Yy5jCkBAIC05NywxODcgKzk3LDYgQEAgc3RhdGljIGlubGluZSBp bnQgX2RwdV9jcnRjX3Bvd2VyX2VuYWJsZShzdHJ1Y3QgZHB1X2NydGMgKmRwdV9jcnRjLCBib29s IGVuYWJsZSkKIAlyZXR1cm4gMDsKIH0KIAotLyoqCi0gKiBfZHB1X2NydGNfcnBfdG9fY3J0YyAt IGdldCBjcnRjIGZyb20gcmVzb3VyY2UgcG9vbCBvYmplY3QKLSAqIEBycDogUG9pbnRlciB0byBy ZXNvdXJjZSBwb29sCi0gKiByZXR1cm46IFBvaW50ZXIgdG8gZHJtIGNydGMgaWYgc3VjY2Vzczsg bnVsbCBvdGhlcndpc2UKLSAqLwotc3RhdGljIHN0cnVjdCBkcm1fY3J0YyAqX2RwdV9jcnRjX3Jw X3RvX2NydGMoc3RydWN0IGRwdV9jcnRjX3Jlc3Bvb2wgKnJwKQotewotCWlmICghcnApCi0JCXJl dHVybiBOVUxMOwotCi0JcmV0dXJuIGNvbnRhaW5lcl9vZihycCwgc3RydWN0IGRwdV9jcnRjX3N0 YXRlLCBycCktPmJhc2UuY3J0YzsKLX0KLQotLyoqCi0gKiBfZHB1X2NydGNfcnBfcmVjbGFpbSAt IHJlY2xhaW0gdW51c2VkLCBvciBhbGwgaWYgZm9yY2VkLCByZXNvdXJjZXMgaW4gcG9vbAotICog QHJwOiBQb2ludGVyIHRvIHJlc291cmNlIHBvb2wKLSAqIEBmb3JjZTogVHJ1ZSB0byByZWNsYWlt IGFsbCByZXNvdXJjZXM7IG90aGVyd2lzZSwgcmVjbGFpbSBvbmx5IHVudXNlZCBvbmVzCi0gKiBy ZXR1cm46IE5vbmUKLSAqLwotc3RhdGljIHZvaWQgX2RwdV9jcnRjX3JwX3JlY2xhaW0oc3RydWN0 IGRwdV9jcnRjX3Jlc3Bvb2wgKnJwLCBib29sIGZvcmNlKQotewotCXN0cnVjdCBkcHVfY3J0Y19y ZXMgKnJlcywgKm5leHQ7Ci0Jc3RydWN0IGRybV9jcnRjICpjcnRjOwotCi0JY3J0YyA9IF9kcHVf Y3J0Y19ycF90b19jcnRjKHJwKTsKLQlpZiAoIWNydGMpIHsKLQkJRFBVX0VSUk9SKCJpbnZhbGlk IGNydGNcbiIpOwotCQlyZXR1cm47Ci0JfQotCi0JRFBVX0RFQlVHKCJjcnRjJWQuJXUgJXNcbiIs IGNydGMtPmJhc2UuaWQsIHJwLT5zZXF1ZW5jZV9pZCwKLQkJCWZvcmNlID8gImRlc3Ryb3kiIDog ImZyZWVfdW51c2VkIik7Ci0KLQlsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUocmVzLCBuZXh0LCAm cnAtPnJlc19saXN0LCBsaXN0KSB7Ci0JCWlmICghZm9yY2UgJiYgIShyZXMtPmZsYWdzICYgRFBV X0NSVENfUkVTX0ZMQUdfRlJFRSkpCi0JCQljb250aW51ZTsKLQkJRFBVX0RFQlVHKCJjcnRjJWQu JXUgcmVjbGFpbSByZXM6MHgleC8weCVsbHgvJXBLLyVkXG4iLAotCQkJCWNydGMtPmJhc2UuaWQs IHJwLT5zZXF1ZW5jZV9pZCwKLQkJCQlyZXMtPnR5cGUsIHJlcy0+dGFnLCByZXMtPnZhbCwKLQkJ CQlhdG9taWNfcmVhZCgmcmVzLT5yZWZjb3VudCkpOwotCQlsaXN0X2RlbCgmcmVzLT5saXN0KTsK LQkJaWYgKHJlcy0+b3BzLnB1dCkKLQkJCXJlcy0+b3BzLnB1dChyZXMtPnZhbCk7Ci0JCWtmcmVl KHJlcyk7Ci0JfQotfQotCi0vKioKLSAqIF9kcHVfY3J0Y19ycF9mcmVlX3VudXNlZCAtIGZyZWUg dW51c2VkIHJlc291cmNlIGluIHBvb2wKLSAqIEBycDogUG9pbnRlciB0byByZXNvdXJjZSBwb29s Ci0gKiByZXR1cm46IG5vbmUKLSAqLwotc3RhdGljIHZvaWQgX2RwdV9jcnRjX3JwX2ZyZWVfdW51 c2VkKHN0cnVjdCBkcHVfY3J0Y19yZXNwb29sICpycCkKLXsKLQltdXRleF9sb2NrKHJwLT5ycF9s b2NrKTsKLQlfZHB1X2NydGNfcnBfcmVjbGFpbShycCwgZmFsc2UpOwotCW11dGV4X3VubG9jayhy cC0+cnBfbG9jayk7Ci19Ci0KLS8qKgotICogX2RwdV9jcnRjX3JwX2Rlc3Ryb3kgLSBkZXN0cm95 IHJlc291cmNlIHBvb2wKLSAqIEBycDogUG9pbnRlciB0byByZXNvdXJjZSBwb29sCi0gKiByZXR1 cm46IE5vbmUKLSAqLwotc3RhdGljIHZvaWQgX2RwdV9jcnRjX3JwX2Rlc3Ryb3koc3RydWN0IGRw dV9jcnRjX3Jlc3Bvb2wgKnJwKQotewotCW11dGV4X2xvY2socnAtPnJwX2xvY2spOwotCWxpc3Rf ZGVsX2luaXQoJnJwLT5ycF9saXN0KTsKLQlfZHB1X2NydGNfcnBfcmVjbGFpbShycCwgdHJ1ZSk7 Ci0JbXV0ZXhfdW5sb2NrKHJwLT5ycF9sb2NrKTsKLX0KLQotLyoqCi0gKiBfZHB1X2NydGNfaHdf YmxrX2dldCAtIGdldCBjYWxsYmFjayBmb3IgaGFyZHdhcmUgYmxvY2sKLSAqIEB2YWw6IFJlc291 cmNlIGhhbmRsZQotICogQHR5cGU6IFJlc291cmNlIHR5cGUKLSAqIEB0YWc6IFNlYXJjaCB0YWcg Zm9yIGdpdmVuIHJlc291cmNlCi0gKiByZXR1cm46IFJlc291cmNlIGhhbmRsZQotICovCi1zdGF0 aWMgdm9pZCAqX2RwdV9jcnRjX2h3X2Jsa19nZXQodm9pZCAqdmFsLCB1MzIgdHlwZSwgdTY0IHRh ZykKLXsKLQlEUFVfREVCVUcoInJlczolZC8weCVsbHgvJXBLXG4iLCB0eXBlLCB0YWcsIHZhbCk7 Ci0JcmV0dXJuIGRwdV9od19ibGtfZ2V0KHZhbCwgdHlwZSwgdGFnKTsKLX0KLQotLyoqCi0gKiBf ZHB1X2NydGNfaHdfYmxrX3B1dCAtIHB1dCBjYWxsYmFjayBmb3IgaGFyZHdhcmUgYmxvY2sKLSAq IEB2YWw6IFJlc291cmNlIGhhbmRsZQotICogcmV0dXJuOiBOb25lCi0gKi8KLXN0YXRpYyB2b2lk IF9kcHVfY3J0Y19od19ibGtfcHV0KHZvaWQgKnZhbCkKLXsKLQlEUFVfREVCVUcoInJlczovLyVw S1xuIiwgdmFsKTsKLQlkcHVfaHdfYmxrX3B1dCh2YWwpOwotfQotCi0vKioKLSAqIF9kcHVfY3J0 Y19ycF9kdXBsaWNhdGUgLSBkdXBsaWNhdGUgcmVzb3VyY2UgcG9vbCBhbmQgcmVzZXQgcmVmZXJl bmNlIGNvdW50Ci0gKiBAcnA6IFBvaW50ZXIgdG8gb3JpZ2luYWwgcmVzb3VyY2UgcG9vbAotICog QGR1cF9ycDogUG9pbnRlciB0byBkdXBsaWNhdGVkIHJlc291cmNlIHBvb2wKLSAqIHJldHVybjog Tm9uZQotICovCi1zdGF0aWMgdm9pZCBfZHB1X2NydGNfcnBfZHVwbGljYXRlKHN0cnVjdCBkcHVf Y3J0Y19yZXNwb29sICpycCwKLQkJc3RydWN0IGRwdV9jcnRjX3Jlc3Bvb2wgKmR1cF9ycCkKLXsK LQlzdHJ1Y3QgZHB1X2NydGNfcmVzICpyZXMsICpkdXBfcmVzOwotCXN0cnVjdCBkcm1fY3J0YyAq Y3J0YzsKLQotCWlmICghcnAgfHwgIWR1cF9ycCB8fCAhcnAtPnJwX2hlYWQpIHsKLQkJRFBVX0VS Uk9SKCJpbnZhbGlkIHJlc291cmNlIHBvb2xcbiIpOwotCQlyZXR1cm47Ci0JfQotCi0JY3J0YyA9 IF9kcHVfY3J0Y19ycF90b19jcnRjKHJwKTsKLQlpZiAoIWNydGMpIHsKLQkJRFBVX0VSUk9SKCJp bnZhbGlkIGNydGNcbiIpOwotCQlyZXR1cm47Ci0JfQotCi0JRFBVX0RFQlVHKCJjcnRjJWQuJXUg ZHVwbGljYXRlXG4iLCBjcnRjLT5iYXNlLmlkLCBycC0+c2VxdWVuY2VfaWQpOwotCi0JbXV0ZXhf bG9jayhycC0+cnBfbG9jayk7Ci0JZHVwX3JwLT5zZXF1ZW5jZV9pZCA9IHJwLT5zZXF1ZW5jZV9p ZCArIDE7Ci0JSU5JVF9MSVNUX0hFQUQoJmR1cF9ycC0+cmVzX2xpc3QpOwotCWR1cF9ycC0+b3Bz ID0gcnAtPm9wczsKLQlsaXN0X2Zvcl9lYWNoX2VudHJ5KHJlcywgJnJwLT5yZXNfbGlzdCwgbGlz dCkgewotCQlkdXBfcmVzID0ga3phbGxvYyhzaXplb2Yoc3RydWN0IGRwdV9jcnRjX3JlcyksIEdG UF9LRVJORUwpOwotCQlpZiAoIWR1cF9yZXMpIHsKLQkJCW11dGV4X3VubG9jayhycC0+cnBfbG9j ayk7Ci0JCQlyZXR1cm47Ci0JCX0KLQkJSU5JVF9MSVNUX0hFQUQoJmR1cF9yZXMtPmxpc3QpOwot CQlhdG9taWNfc2V0KCZkdXBfcmVzLT5yZWZjb3VudCwgMCk7Ci0JCWR1cF9yZXMtPnR5cGUgPSBy ZXMtPnR5cGU7Ci0JCWR1cF9yZXMtPnRhZyA9IHJlcy0+dGFnOwotCQlkdXBfcmVzLT52YWwgPSBy ZXMtPnZhbDsKLQkJZHVwX3Jlcy0+b3BzID0gcmVzLT5vcHM7Ci0JCWR1cF9yZXMtPmZsYWdzID0g RFBVX0NSVENfUkVTX0ZMQUdfRlJFRTsKLQkJRFBVX0RFQlVHKCJjcnRjJWQuJXUgZHVwIHJlczow eCV4LzB4JWxseC8lcEsvJWRcbiIsCi0JCQkJY3J0Yy0+YmFzZS5pZCwgZHVwX3JwLT5zZXF1ZW5j ZV9pZCwKLQkJCQlkdXBfcmVzLT50eXBlLCBkdXBfcmVzLT50YWcsIGR1cF9yZXMtPnZhbCwKLQkJ CQlhdG9taWNfcmVhZCgmZHVwX3Jlcy0+cmVmY291bnQpKTsKLQkJbGlzdF9hZGRfdGFpbCgmZHVw X3Jlcy0+bGlzdCwgJmR1cF9ycC0+cmVzX2xpc3QpOwotCQlpZiAoZHVwX3Jlcy0+b3BzLmdldCkK LQkJCWR1cF9yZXMtPm9wcy5nZXQoZHVwX3Jlcy0+dmFsLCAwLCAtMSk7Ci0JfQotCi0JZHVwX3Jw LT5ycF9sb2NrID0gcnAtPnJwX2xvY2s7Ci0JZHVwX3JwLT5ycF9oZWFkID0gcnAtPnJwX2hlYWQ7 Ci0JSU5JVF9MSVNUX0hFQUQoJmR1cF9ycC0+cnBfbGlzdCk7Ci0JbGlzdF9hZGRfdGFpbCgmZHVw X3JwLT5ycF9saXN0LCBycC0+cnBfaGVhZCk7Ci0JbXV0ZXhfdW5sb2NrKHJwLT5ycF9sb2NrKTsK LX0KLQotLyoqCi0gKiBfZHB1X2NydGNfcnBfcmVzZXQgLSByZXNldCByZXNvdXJjZSBwb29sIGFm dGVyIGFsbG9jYXRpb24KLSAqIEBycDogUG9pbnRlciB0byBvcmlnaW5hbCByZXNvdXJjZSBwb29s Ci0gKiBAcnBfbG9jazogUG9pbnRlciB0byBzZXJpYWxpemF0aW9uIHJlc291cmNlIHBvb2wgbG9j awotICogQHJwX2hlYWQ6IFBvaW50ZXIgdG8gY3J0YyByZXNvdXJjZSBwb29sIGhlYWQKLSAqIHJl dHVybjogTm9uZQotICovCi1zdGF0aWMgdm9pZCBfZHB1X2NydGNfcnBfcmVzZXQoc3RydWN0IGRw dV9jcnRjX3Jlc3Bvb2wgKnJwLAotCQlzdHJ1Y3QgbXV0ZXggKnJwX2xvY2ssIHN0cnVjdCBsaXN0 X2hlYWQgKnJwX2hlYWQpCi17Ci0JaWYgKCFycCB8fCAhcnBfbG9jayB8fCAhcnBfaGVhZCkgewot CQlEUFVfRVJST1IoImludmFsaWQgcmVzb3VyY2UgcG9vbFxuIik7Ci0JCXJldHVybjsKLQl9Ci0K LQltdXRleF9sb2NrKHJwX2xvY2spOwotCXJwLT5ycF9sb2NrID0gcnBfbG9jazsKLQlycC0+cnBf aGVhZCA9IHJwX2hlYWQ7Ci0JSU5JVF9MSVNUX0hFQUQoJnJwLT5ycF9saXN0KTsKLQlycC0+c2Vx dWVuY2VfaWQgPSAwOwotCUlOSVRfTElTVF9IRUFEKCZycC0+cmVzX2xpc3QpOwotCXJwLT5vcHMu Z2V0ID0gX2RwdV9jcnRjX2h3X2Jsa19nZXQ7Ci0JcnAtPm9wcy5wdXQgPSBfZHB1X2NydGNfaHdf YmxrX3B1dDsKLQlsaXN0X2FkZF90YWlsKCZycC0+cnBfbGlzdCwgcnAtPnJwX2hlYWQpOwotCW11 dGV4X3VubG9jayhycF9sb2NrKTsKLX0KLQogc3RhdGljIHZvaWQgZHB1X2NydGNfZGVzdHJveShz dHJ1Y3QgZHJtX2NydGMgKmNydGMpCiB7CiAJc3RydWN0IGRwdV9jcnRjICpkcHVfY3J0YyA9IHRv X2RwdV9jcnRjKGNydGMpOwpAQCAtOTY1LDggKzc4NCw2IEBAIHN0YXRpYyB2b2lkIGRwdV9jcnRj X2Rlc3Ryb3lfc3RhdGUoc3RydWN0IGRybV9jcnRjICpjcnRjLAogCiAJRFBVX0RFQlVHKCJjcnRj JWRcbiIsIGNydGMtPmJhc2UuaWQpOwogCi0JX2RwdV9jcnRjX3JwX2Rlc3Ryb3koJmNzdGF0ZS0+ cnApOwotCiAJX19kcm1fYXRvbWljX2hlbHBlcl9jcnRjX2Rlc3Ryb3lfc3RhdGUoc3RhdGUpOwog CiAJa2ZyZWUoY3N0YXRlKTsKQEAgLTEyMjAsOCArMTAzNyw2IEBAIHN0YXRpYyBzdHJ1Y3QgZHJt X2NydGNfc3RhdGUgKmRwdV9jcnRjX2R1cGxpY2F0ZV9zdGF0ZShzdHJ1Y3QgZHJtX2NydGMgKmNy dGMpCiAJLyogZHVwbGljYXRlIGJhc2UgaGVscGVyICovCiAJX19kcm1fYXRvbWljX2hlbHBlcl9j cnRjX2R1cGxpY2F0ZV9zdGF0ZShjcnRjLCAmY3N0YXRlLT5iYXNlKTsKIAotCV9kcHVfY3J0Y19y cF9kdXBsaWNhdGUoJm9sZF9jc3RhdGUtPnJwLCAmY3N0YXRlLT5ycCk7Ci0KIAlyZXR1cm4gJmNz dGF0ZS0+YmFzZTsKIH0KIApAQCAtMTI1OCw5ICsxMDczLDYgQEAgc3RhdGljIHZvaWQgZHB1X2Ny dGNfcmVzZXQoc3RydWN0IGRybV9jcnRjICpjcnRjKQogCQlyZXR1cm47CiAJfQogCi0JX2RwdV9j cnRjX3JwX3Jlc2V0KCZjc3RhdGUtPnJwLCAmZHB1X2NydGMtPnJwX2xvY2ssCi0JCQkmZHB1X2Ny dGMtPnJwX2hlYWQpOwotCiAJY3N0YXRlLT5iYXNlLmNydGMgPSBjcnRjOwogCWNydGMtPnN0YXRl ID0gJmNzdGF0ZS0+YmFzZTsKIH0KQEAgLTE2NTMsNyArMTQ2NSw2IEBAIHN0YXRpYyBpbnQgZHB1 X2NydGNfYXRvbWljX2NoZWNrKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKIAl9CiAKIGVuZDoKLQlf ZHB1X2NydGNfcnBfZnJlZV91bnVzZWQoJmNzdGF0ZS0+cnApOwogCWtmcmVlKHBzdGF0ZXMpOwog CXJldHVybiByYzsKIH0KQEAgLTE4MjIsOCArMTYzMyw2IEBAIHN0YXRpYyBpbnQgZHB1X2NydGNf ZGVidWdmc19zdGF0ZV9zaG93KHN0cnVjdCBzZXFfZmlsZSAqcywgdm9pZCAqdikKIHsKIAlzdHJ1 Y3QgZHJtX2NydGMgKmNydGMgPSAoc3RydWN0IGRybV9jcnRjICopIHMtPnByaXZhdGU7CiAJc3Ry dWN0IGRwdV9jcnRjICpkcHVfY3J0YyA9IHRvX2RwdV9jcnRjKGNydGMpOwotCXN0cnVjdCBkcHVf Y3J0Y19yZXMgKnJlczsKLQlzdHJ1Y3QgZHB1X2NydGNfcmVzcG9vbCAqcnA7CiAJaW50IGk7CiAK IAlzZXFfcHJpbnRmKHMsICJjbGllbnQgdHlwZTogJWRcbiIsIGRwdV9jcnRjX2dldF9jbGllbnRf dHlwZShjcnRjKSk7CkBAIC0xODQwLDE3ICsxNjQ5LDYgQEAgc3RhdGljIGludCBkcHVfY3J0Y19k ZWJ1Z2ZzX3N0YXRlX3Nob3coc3RydWN0IHNlcV9maWxlICpzLCB2b2lkICp2KQogCQkJCWRwdV9j cnRjLT5jdXJfcGVyZi5tYXhfcGVyX3BpcGVfaWJbaV0pOwogCX0KIAotCW11dGV4X2xvY2soJmRw dV9jcnRjLT5ycF9sb2NrKTsKLQlsaXN0X2Zvcl9lYWNoX2VudHJ5KHJwLCAmZHB1X2NydGMtPnJw X2hlYWQsIHJwX2xpc3QpIHsKLQkJc2VxX3ByaW50ZihzLCAicnAuJWQ6ICIsIHJwLT5zZXF1ZW5j ZV9pZCk7Ci0JCWxpc3RfZm9yX2VhY2hfZW50cnkocmVzLCAmcnAtPnJlc19saXN0LCBsaXN0KQot CQkJc2VxX3ByaW50ZihzLCAiMHgleC8weCVsbHgvJXBLLyVkICIsCi0JCQkJCXJlcy0+dHlwZSwg cmVzLT50YWcsIHJlcy0+dmFsLAotCQkJCQlhdG9taWNfcmVhZCgmcmVzLT5yZWZjb3VudCkpOwot CQlzZXFfcHV0cyhzLCAiXG4iKTsKLQl9Ci0JbXV0ZXhfdW5sb2NrKCZkcHVfY3J0Yy0+cnBfbG9j ayk7Ci0KIAlyZXR1cm4gMDsKIH0KIERFRklORV9EUFVfREVCVUdGU19TRVFfRk9QUyhkcHVfY3J0 Y19kZWJ1Z2ZzX3N0YXRlKTsKQEAgLTE5NjUsOSArMTc2Myw2IEBAIHN0cnVjdCBkcm1fY3J0YyAq ZHB1X2NydGNfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3QgZHJtX3BsYW5lICpw bGFuZSwKIAlzcGluX2xvY2tfaW5pdCgmZHB1X2NydGMtPnNwaW5fbG9jayk7CiAJYXRvbWljX3Nl dCgmZHB1X2NydGMtPmZyYW1lX3BlbmRpbmcsIDApOwogCi0JbXV0ZXhfaW5pdCgmZHB1X2NydGMt PnJwX2xvY2spOwotCUlOSVRfTElTVF9IRUFEKCZkcHVfY3J0Yy0+cnBfaGVhZCk7Ci0KIAlpbml0 X2NvbXBsZXRpb24oJmRwdV9jcnRjLT5mcmFtZV9kb25lX2NvbXApOwogCiAJSU5JVF9MSVNUX0hF QUQoJmRwdV9jcnRjLT5mcmFtZV9ldmVudF9saXN0KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9tc20vZGlzcC9kcHUxL2RwdV9jcnRjLmggYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3Av ZHB1MS9kcHVfY3J0Yy5oCmluZGV4IDM0Y2U3MjQuLjU0OThjMDAgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9jcnRjLmgKKysrIGIvZHJpdmVycy9ncHUvZHJt L21zbS9kaXNwL2RwdTEvZHB1X2NydGMuaApAQCAtMTU5LDggKzE1OSw2IEBAIHN0cnVjdCBkcHVf Y3J0Y19mcmFtZV9ldmVudCB7CiAgKiBAcGhhbmRsZTogUG9pbnRlciB0byBwb3dlciBoYW5kbGVy CiAgKiBAcG93ZXJfZXZlbnQgICA6IHJlZ2lzdGVyZWQgcG93ZXIgZXZlbnQgaGFuZGxlCiAgKiBA Y3VyX3BlcmYgICAgICA6IGN1cnJlbnQgcGVyZm9ybWFuY2UgY29tbWl0dGVkIHRvIGNsb2NrL2Jh bmR3aWR0aCBkcml2ZXIKLSAqIEBycF9sb2NrICAgICAgIDogc2VyaWFsaXphdGlvbiBsb2NrIGZv ciByZXNvdXJjZSBwb29sCi0gKiBAcnBfaGVhZCAgICAgICA6IGxpc3Qgb2YgYWN0aXZlIHJlc291 cmNlIHBvb2wKICAqLwogc3RydWN0IGRwdV9jcnRjIHsKIAlzdHJ1Y3QgZHJtX2NydGMgYmFzZTsK QEAgLTIwNyw2NSArMjA1LDEyIEBAIHN0cnVjdCBkcHVfY3J0YyB7CiAKIAlzdHJ1Y3QgZHB1X2Nv cmVfcGVyZl9wYXJhbXMgY3VyX3BlcmY7CiAKLQlzdHJ1Y3QgbXV0ZXggcnBfbG9jazsKLQlzdHJ1 Y3QgbGlzdF9oZWFkIHJwX2hlYWQ7Ci0KIAlzdHJ1Y3QgZHB1X2NydGNfc21tdV9zdGF0ZV9kYXRh IHNtbXVfc3RhdGU7CiB9OwogCiAjZGVmaW5lIHRvX2RwdV9jcnRjKHgpIGNvbnRhaW5lcl9vZih4 LCBzdHJ1Y3QgZHB1X2NydGMsIGJhc2UpCiAKIC8qKgotICogc3RydWN0IGRwdV9jcnRjX3Jlc19v cHMgLSBjb21tb24gb3BlcmF0aW9ucyBmb3IgY3J0YyByZXNvdXJjZXMKLSAqIEBnZXQ6IGdldCBn aXZlbiByZXNvdXJjZQotICogQHB1dDogcHV0IGdpdmVuIHJlc291cmNlCi0gKi8KLXN0cnVjdCBk cHVfY3J0Y19yZXNfb3BzIHsKLQl2b2lkICooKmdldCkodm9pZCAqdmFsLCB1MzIgdHlwZSwgdTY0 IHRhZyk7Ci0Jdm9pZCAoKnB1dCkodm9pZCAqdmFsKTsKLX07Ci0KLSNkZWZpbmUgRFBVX0NSVENf UkVTX0ZMQUdfRlJFRQkJQklUKDApCi0KLS8qKgotICogc3RydWN0IGRwdV9jcnRjX3JlcyAtIGRl ZmluaXRpb24gb2YgY3J0YyByZXNvdXJjZXMKLSAqIEBsaXN0OiBsaXN0IG9mIGNydGMgcmVzb3Vy Y2UKLSAqIEB0eXBlOiBjcnRjIHJlc291cmNlIHR5cGUKLSAqIEB0YWc6IHVuaXF1ZSBpZGVudGlm aWVyIHBlciB0eXBlCi0gKiBAcmVmY291bnQ6IHJlZmVyZW5jZS91c2FnZSBjb3VudAotICogQG9w czogY2FsbGJhY2sgb3BlcmF0aW9ucwotICogQHZhbDogcmVzb3VyY2UgaGFuZGxlIGFzc29jaWF0 ZWQgd2l0aCB0eXBlL3RhZwotICogQGZsYWdzOiBjdXN0b21pemF0aW9uIGZsYWdzCi0gKi8KLXN0 cnVjdCBkcHVfY3J0Y19yZXMgewotCXN0cnVjdCBsaXN0X2hlYWQgbGlzdDsKLQl1MzIgdHlwZTsK LQl1NjQgdGFnOwotCWF0b21pY190IHJlZmNvdW50OwotCXN0cnVjdCBkcHVfY3J0Y19yZXNfb3Bz IG9wczsKLQl2b2lkICp2YWw7Ci0JdTMyIGZsYWdzOwotfTsKLQotLyoqCi0gKiBkcHVfY3J0Y19y ZXNwb29sIC0gY3J0YyByZXNvdXJjZSBwb29sCi0gKiBAcnBfbG9jazogcG9pbnRlciB0byBzZXJp YWxpemF0aW9uIGxvY2sKLSAqIEBycF9oZWFkOiBwb2ludGVyIHRvIGhlYWQgb2YgYWN0aXZlIHJl c291cmNlIHBvb2xzIG9mIHRoaXMgY3J0YwotICogQHJwX2xpc3Q6IGxpc3Qgb2YgY3J0YyByZXNv dXJjZSBwb29sCi0gKiBAc2VxdWVuY2VfaWQ6IHNlcXVlbmNlIGlkZW50aWZpZXIsIGluY3JlbWVu dGVkIHBlciBzdGF0ZSBkdXBsaWNhdGlvbgotICogQHJlc19saXN0OiBsaXN0IG9mIHJlc291cmNl IG1hbmFnZWQgYnkgdGhpcyByZXNvdXJjZSBwb29sCi0gKiBAb3BzOiByZXNvdXJjZSBvcGVyYXRp b25zIGZvciBwYXJlbnQgcmVzb3VyY2UgcG9vbAotICovCi1zdHJ1Y3QgZHB1X2NydGNfcmVzcG9v bCB7Ci0Jc3RydWN0IG11dGV4ICpycF9sb2NrOwotCXN0cnVjdCBsaXN0X2hlYWQgKnJwX2hlYWQ7 Ci0Jc3RydWN0IGxpc3RfaGVhZCBycF9saXN0OwotCXUzMiBzZXF1ZW5jZV9pZDsKLQlzdHJ1Y3Qg bGlzdF9oZWFkIHJlc19saXN0OwotCXN0cnVjdCBkcHVfY3J0Y19yZXNfb3BzIG9wczsKLX07Ci0K LS8qKgogICogc3RydWN0IGRwdV9jcnRjX3N0YXRlIC0gZHB1IGNvbnRhaW5lciBmb3IgYXRvbWlj IGNydGMgc3RhdGUKICAqIEBiYXNlOiBCYXNlIGRybSBjcnRjIHN0YXRlIHN0cnVjdHVyZQogICog QGlzX3Bwc3BsaXQgICAgOiBXaGV0aGVyIGN1cnJlbnQgdG9wb2xvZ3kgcmVxdWlyZXMgUFBTcGxp dCBzcGVjaWFsIGhhbmRsaW5nCkBAIC0yOTAsNyArMjM1LDYgQEAgc3RydWN0IGRwdV9jcnRjX3N0 YXRlIHsKIAl1aW50NjRfdCBpbnB1dF9mZW5jZV90aW1lb3V0X25zOwogCiAJc3RydWN0IGRwdV9j b3JlX3BlcmZfcGFyYW1zIG5ld19wZXJmOwotCXN0cnVjdCBkcHVfY3J0Y19yZXNwb29sIHJwOwog fTsKIAogI2RlZmluZSB0b19kcHVfY3J0Y19zdGF0ZSh4KSBcCi0tIApUaGUgUXVhbGNvbW0gSW5u b3ZhdGlvbiBDZW50ZXIsIEluYy4gaXMgYSBtZW1iZXIgb2YgdGhlIENvZGUgQXVyb3JhIEZvcnVt LAphIExpbnV4IEZvdW5kYXRpb24gQ29sbGFib3JhdGl2ZSBQcm9qZWN0CgpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpGcmVlZHJlbm8gbWFpbGluZyBsaXN0 CkZyZWVkcmVub0BsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3Rv cC5vcmcvbWFpbG1hbi9saXN0aW5mby9mcmVlZHJlbm8K