From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jeykumar Sankaran Subject: [PATCH v5 04/19] drm/msm/dpu: remove resource pool manager Date: Wed, 5 Sep 2018 19:08:13 -0700 Message-ID: <1536199708-23664-5-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 cmVzb3VyY2UgcG9vbCBtYW5hZ2VyIHV0aWxpdHkgd2FzIGludHJvZHVjZWQgdG8gbWFuYWdlCnJv dGF0b3Igc2Vzc2lvbnMuIFJlbW92aW5nIHRoZSBzdXBwb3J0IGFzIHRoZSByb3RhdG9yCmZlYXR1 cmUgZG9lc24ndCBleGlzdC4KCmNoYW5nZXMgaW4gdjQ6CgktIG5vbmUKY2hhbmdlcyBpbiB2NToK CS0gbm9uZQoKU2lnbmVkLW9mZi1ieTogSmV5a3VtYXIgU2Fua2FyYW4gPGpzYW5rYUBjb2RlYXVy b3JhLm9yZz4KUmV2aWV3ZWQtYnk6IFNlYW4gUGF1bCA8c2VhbnBhdWxAY2hyb21pdW0ub3JnPgot LS0KIGRyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9jcnRjLmMgfCAyMDUgLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEv ZHB1X2NydGMuaCB8ICA1NiAtLS0tLS0tLS0KIDIgZmlsZXMgY2hhbmdlZCwgMjYxIGRlbGV0aW9u cygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9jcnRj LmMgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfY3J0Yy5jCmluZGV4IDZjYzVi YTcuLmM2ZGI4NzcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2Rw dV9jcnRjLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2NydGMuYwpA QCAtOTcsMTg3ICs5Nyw2IEBAIHN0YXRpYyBpbmxpbmUgaW50IF9kcHVfY3J0Y19wb3dlcl9lbmFi bGUoc3RydWN0IGRwdV9jcnRjICpkcHVfY3J0YywgYm9vbCBlbmFibGUpCiAJcmV0dXJuIDA7CiB9 CiAKLS8qKgotICogX2RwdV9jcnRjX3JwX3RvX2NydGMgLSBnZXQgY3J0YyBmcm9tIHJlc291cmNl IHBvb2wgb2JqZWN0Ci0gKiBAcnA6IFBvaW50ZXIgdG8gcmVzb3VyY2UgcG9vbAotICogcmV0dXJu OiBQb2ludGVyIHRvIGRybSBjcnRjIGlmIHN1Y2Nlc3M7IG51bGwgb3RoZXJ3aXNlCi0gKi8KLXN0 YXRpYyBzdHJ1Y3QgZHJtX2NydGMgKl9kcHVfY3J0Y19ycF90b19jcnRjKHN0cnVjdCBkcHVfY3J0 Y19yZXNwb29sICpycCkKLXsKLQlpZiAoIXJwKQotCQlyZXR1cm4gTlVMTDsKLQotCXJldHVybiBj b250YWluZXJfb2YocnAsIHN0cnVjdCBkcHVfY3J0Y19zdGF0ZSwgcnApLT5iYXNlLmNydGM7Ci19 Ci0KLS8qKgotICogX2RwdV9jcnRjX3JwX3JlY2xhaW0gLSByZWNsYWltIHVudXNlZCwgb3IgYWxs IGlmIGZvcmNlZCwgcmVzb3VyY2VzIGluIHBvb2wKLSAqIEBycDogUG9pbnRlciB0byByZXNvdXJj ZSBwb29sCi0gKiBAZm9yY2U6IFRydWUgdG8gcmVjbGFpbSBhbGwgcmVzb3VyY2VzOyBvdGhlcndp c2UsIHJlY2xhaW0gb25seSB1bnVzZWQgb25lcwotICogcmV0dXJuOiBOb25lCi0gKi8KLXN0YXRp YyB2b2lkIF9kcHVfY3J0Y19ycF9yZWNsYWltKHN0cnVjdCBkcHVfY3J0Y19yZXNwb29sICpycCwg Ym9vbCBmb3JjZSkKLXsKLQlzdHJ1Y3QgZHB1X2NydGNfcmVzICpyZXMsICpuZXh0OwotCXN0cnVj dCBkcm1fY3J0YyAqY3J0YzsKLQotCWNydGMgPSBfZHB1X2NydGNfcnBfdG9fY3J0YyhycCk7Ci0J aWYgKCFjcnRjKSB7Ci0JCURQVV9FUlJPUigiaW52YWxpZCBjcnRjXG4iKTsKLQkJcmV0dXJuOwot CX0KLQotCURQVV9ERUJVRygiY3J0YyVkLiV1ICVzXG4iLCBjcnRjLT5iYXNlLmlkLCBycC0+c2Vx dWVuY2VfaWQsCi0JCQlmb3JjZSA/ICJkZXN0cm95IiA6ICJmcmVlX3VudXNlZCIpOwotCi0JbGlz dF9mb3JfZWFjaF9lbnRyeV9zYWZlKHJlcywgbmV4dCwgJnJwLT5yZXNfbGlzdCwgbGlzdCkgewot CQlpZiAoIWZvcmNlICYmICEocmVzLT5mbGFncyAmIERQVV9DUlRDX1JFU19GTEFHX0ZSRUUpKQot CQkJY29udGludWU7Ci0JCURQVV9ERUJVRygiY3J0YyVkLiV1IHJlY2xhaW0gcmVzOjB4JXgvMHgl bGx4LyVwSy8lZFxuIiwKLQkJCQljcnRjLT5iYXNlLmlkLCBycC0+c2VxdWVuY2VfaWQsCi0JCQkJ cmVzLT50eXBlLCByZXMtPnRhZywgcmVzLT52YWwsCi0JCQkJYXRvbWljX3JlYWQoJnJlcy0+cmVm Y291bnQpKTsKLQkJbGlzdF9kZWwoJnJlcy0+bGlzdCk7Ci0JCWlmIChyZXMtPm9wcy5wdXQpCi0J CQlyZXMtPm9wcy5wdXQocmVzLT52YWwpOwotCQlrZnJlZShyZXMpOwotCX0KLX0KLQotLyoqCi0g KiBfZHB1X2NydGNfcnBfZnJlZV91bnVzZWQgLSBmcmVlIHVudXNlZCByZXNvdXJjZSBpbiBwb29s Ci0gKiBAcnA6IFBvaW50ZXIgdG8gcmVzb3VyY2UgcG9vbAotICogcmV0dXJuOiBub25lCi0gKi8K LXN0YXRpYyB2b2lkIF9kcHVfY3J0Y19ycF9mcmVlX3VudXNlZChzdHJ1Y3QgZHB1X2NydGNfcmVz cG9vbCAqcnApCi17Ci0JbXV0ZXhfbG9jayhycC0+cnBfbG9jayk7Ci0JX2RwdV9jcnRjX3JwX3Jl Y2xhaW0ocnAsIGZhbHNlKTsKLQltdXRleF91bmxvY2socnAtPnJwX2xvY2spOwotfQotCi0vKioK LSAqIF9kcHVfY3J0Y19ycF9kZXN0cm95IC0gZGVzdHJveSByZXNvdXJjZSBwb29sCi0gKiBAcnA6 IFBvaW50ZXIgdG8gcmVzb3VyY2UgcG9vbAotICogcmV0dXJuOiBOb25lCi0gKi8KLXN0YXRpYyB2 b2lkIF9kcHVfY3J0Y19ycF9kZXN0cm95KHN0cnVjdCBkcHVfY3J0Y19yZXNwb29sICpycCkKLXsK LQltdXRleF9sb2NrKHJwLT5ycF9sb2NrKTsKLQlsaXN0X2RlbF9pbml0KCZycC0+cnBfbGlzdCk7 Ci0JX2RwdV9jcnRjX3JwX3JlY2xhaW0ocnAsIHRydWUpOwotCW11dGV4X3VubG9jayhycC0+cnBf bG9jayk7Ci19Ci0KLS8qKgotICogX2RwdV9jcnRjX2h3X2Jsa19nZXQgLSBnZXQgY2FsbGJhY2sg Zm9yIGhhcmR3YXJlIGJsb2NrCi0gKiBAdmFsOiBSZXNvdXJjZSBoYW5kbGUKLSAqIEB0eXBlOiBS ZXNvdXJjZSB0eXBlCi0gKiBAdGFnOiBTZWFyY2ggdGFnIGZvciBnaXZlbiByZXNvdXJjZQotICog cmV0dXJuOiBSZXNvdXJjZSBoYW5kbGUKLSAqLwotc3RhdGljIHZvaWQgKl9kcHVfY3J0Y19od19i bGtfZ2V0KHZvaWQgKnZhbCwgdTMyIHR5cGUsIHU2NCB0YWcpCi17Ci0JRFBVX0RFQlVHKCJyZXM6 JWQvMHglbGx4LyVwS1xuIiwgdHlwZSwgdGFnLCB2YWwpOwotCXJldHVybiBkcHVfaHdfYmxrX2dl dCh2YWwsIHR5cGUsIHRhZyk7Ci19Ci0KLS8qKgotICogX2RwdV9jcnRjX2h3X2Jsa19wdXQgLSBw dXQgY2FsbGJhY2sgZm9yIGhhcmR3YXJlIGJsb2NrCi0gKiBAdmFsOiBSZXNvdXJjZSBoYW5kbGUK LSAqIHJldHVybjogTm9uZQotICovCi1zdGF0aWMgdm9pZCBfZHB1X2NydGNfaHdfYmxrX3B1dCh2 b2lkICp2YWwpCi17Ci0JRFBVX0RFQlVHKCJyZXM6Ly8lcEtcbiIsIHZhbCk7Ci0JZHB1X2h3X2Js a19wdXQodmFsKTsKLX0KLQotLyoqCi0gKiBfZHB1X2NydGNfcnBfZHVwbGljYXRlIC0gZHVwbGlj YXRlIHJlc291cmNlIHBvb2wgYW5kIHJlc2V0IHJlZmVyZW5jZSBjb3VudAotICogQHJwOiBQb2lu dGVyIHRvIG9yaWdpbmFsIHJlc291cmNlIHBvb2wKLSAqIEBkdXBfcnA6IFBvaW50ZXIgdG8gZHVw bGljYXRlZCByZXNvdXJjZSBwb29sCi0gKiByZXR1cm46IE5vbmUKLSAqLwotc3RhdGljIHZvaWQg X2RwdV9jcnRjX3JwX2R1cGxpY2F0ZShzdHJ1Y3QgZHB1X2NydGNfcmVzcG9vbCAqcnAsCi0JCXN0 cnVjdCBkcHVfY3J0Y19yZXNwb29sICpkdXBfcnApCi17Ci0Jc3RydWN0IGRwdV9jcnRjX3JlcyAq cmVzLCAqZHVwX3JlczsKLQlzdHJ1Y3QgZHJtX2NydGMgKmNydGM7Ci0KLQlpZiAoIXJwIHx8ICFk dXBfcnAgfHwgIXJwLT5ycF9oZWFkKSB7Ci0JCURQVV9FUlJPUigiaW52YWxpZCByZXNvdXJjZSBw b29sXG4iKTsKLQkJcmV0dXJuOwotCX0KLQotCWNydGMgPSBfZHB1X2NydGNfcnBfdG9fY3J0Yyhy cCk7Ci0JaWYgKCFjcnRjKSB7Ci0JCURQVV9FUlJPUigiaW52YWxpZCBjcnRjXG4iKTsKLQkJcmV0 dXJuOwotCX0KLQotCURQVV9ERUJVRygiY3J0YyVkLiV1IGR1cGxpY2F0ZVxuIiwgY3J0Yy0+YmFz ZS5pZCwgcnAtPnNlcXVlbmNlX2lkKTsKLQotCW11dGV4X2xvY2socnAtPnJwX2xvY2spOwotCWR1 cF9ycC0+c2VxdWVuY2VfaWQgPSBycC0+c2VxdWVuY2VfaWQgKyAxOwotCUlOSVRfTElTVF9IRUFE KCZkdXBfcnAtPnJlc19saXN0KTsKLQlkdXBfcnAtPm9wcyA9IHJwLT5vcHM7Ci0JbGlzdF9mb3Jf ZWFjaF9lbnRyeShyZXMsICZycC0+cmVzX2xpc3QsIGxpc3QpIHsKLQkJZHVwX3JlcyA9IGt6YWxs b2Moc2l6ZW9mKHN0cnVjdCBkcHVfY3J0Y19yZXMpLCBHRlBfS0VSTkVMKTsKLQkJaWYgKCFkdXBf cmVzKSB7Ci0JCQltdXRleF91bmxvY2socnAtPnJwX2xvY2spOwotCQkJcmV0dXJuOwotCQl9Ci0J CUlOSVRfTElTVF9IRUFEKCZkdXBfcmVzLT5saXN0KTsKLQkJYXRvbWljX3NldCgmZHVwX3Jlcy0+ cmVmY291bnQsIDApOwotCQlkdXBfcmVzLT50eXBlID0gcmVzLT50eXBlOwotCQlkdXBfcmVzLT50 YWcgPSByZXMtPnRhZzsKLQkJZHVwX3Jlcy0+dmFsID0gcmVzLT52YWw7Ci0JCWR1cF9yZXMtPm9w cyA9IHJlcy0+b3BzOwotCQlkdXBfcmVzLT5mbGFncyA9IERQVV9DUlRDX1JFU19GTEFHX0ZSRUU7 Ci0JCURQVV9ERUJVRygiY3J0YyVkLiV1IGR1cCByZXM6MHgleC8weCVsbHgvJXBLLyVkXG4iLAot CQkJCWNydGMtPmJhc2UuaWQsIGR1cF9ycC0+c2VxdWVuY2VfaWQsCi0JCQkJZHVwX3Jlcy0+dHlw ZSwgZHVwX3Jlcy0+dGFnLCBkdXBfcmVzLT52YWwsCi0JCQkJYXRvbWljX3JlYWQoJmR1cF9yZXMt PnJlZmNvdW50KSk7Ci0JCWxpc3RfYWRkX3RhaWwoJmR1cF9yZXMtPmxpc3QsICZkdXBfcnAtPnJl c19saXN0KTsKLQkJaWYgKGR1cF9yZXMtPm9wcy5nZXQpCi0JCQlkdXBfcmVzLT5vcHMuZ2V0KGR1 cF9yZXMtPnZhbCwgMCwgLTEpOwotCX0KLQotCWR1cF9ycC0+cnBfbG9jayA9IHJwLT5ycF9sb2Nr OwotCWR1cF9ycC0+cnBfaGVhZCA9IHJwLT5ycF9oZWFkOwotCUlOSVRfTElTVF9IRUFEKCZkdXBf cnAtPnJwX2xpc3QpOwotCWxpc3RfYWRkX3RhaWwoJmR1cF9ycC0+cnBfbGlzdCwgcnAtPnJwX2hl YWQpOwotCW11dGV4X3VubG9jayhycC0+cnBfbG9jayk7Ci19Ci0KLS8qKgotICogX2RwdV9jcnRj X3JwX3Jlc2V0IC0gcmVzZXQgcmVzb3VyY2UgcG9vbCBhZnRlciBhbGxvY2F0aW9uCi0gKiBAcnA6 IFBvaW50ZXIgdG8gb3JpZ2luYWwgcmVzb3VyY2UgcG9vbAotICogQHJwX2xvY2s6IFBvaW50ZXIg dG8gc2VyaWFsaXphdGlvbiByZXNvdXJjZSBwb29sIGxvY2sKLSAqIEBycF9oZWFkOiBQb2ludGVy IHRvIGNydGMgcmVzb3VyY2UgcG9vbCBoZWFkCi0gKiByZXR1cm46IE5vbmUKLSAqLwotc3RhdGlj IHZvaWQgX2RwdV9jcnRjX3JwX3Jlc2V0KHN0cnVjdCBkcHVfY3J0Y19yZXNwb29sICpycCwKLQkJ c3RydWN0IG11dGV4ICpycF9sb2NrLCBzdHJ1Y3QgbGlzdF9oZWFkICpycF9oZWFkKQotewotCWlm ICghcnAgfHwgIXJwX2xvY2sgfHwgIXJwX2hlYWQpIHsKLQkJRFBVX0VSUk9SKCJpbnZhbGlkIHJl c291cmNlIHBvb2xcbiIpOwotCQlyZXR1cm47Ci0JfQotCi0JbXV0ZXhfbG9jayhycF9sb2NrKTsK LQlycC0+cnBfbG9jayA9IHJwX2xvY2s7Ci0JcnAtPnJwX2hlYWQgPSBycF9oZWFkOwotCUlOSVRf TElTVF9IRUFEKCZycC0+cnBfbGlzdCk7Ci0JcnAtPnNlcXVlbmNlX2lkID0gMDsKLQlJTklUX0xJ U1RfSEVBRCgmcnAtPnJlc19saXN0KTsKLQlycC0+b3BzLmdldCA9IF9kcHVfY3J0Y19od19ibGtf Z2V0OwotCXJwLT5vcHMucHV0ID0gX2RwdV9jcnRjX2h3X2Jsa19wdXQ7Ci0JbGlzdF9hZGRfdGFp bCgmcnAtPnJwX2xpc3QsIHJwLT5ycF9oZWFkKTsKLQltdXRleF91bmxvY2socnBfbG9jayk7Ci19 Ci0KIHN0YXRpYyB2b2lkIGRwdV9jcnRjX2Rlc3Ryb3koc3RydWN0IGRybV9jcnRjICpjcnRjKQog ewogCXN0cnVjdCBkcHVfY3J0YyAqZHB1X2NydGMgPSB0b19kcHVfY3J0YyhjcnRjKTsKQEAgLTk2 NSw4ICs3ODQsNiBAQCBzdGF0aWMgdm9pZCBkcHVfY3J0Y19kZXN0cm95X3N0YXRlKHN0cnVjdCBk cm1fY3J0YyAqY3J0YywKIAogCURQVV9ERUJVRygiY3J0YyVkXG4iLCBjcnRjLT5iYXNlLmlkKTsK IAotCV9kcHVfY3J0Y19ycF9kZXN0cm95KCZjc3RhdGUtPnJwKTsKLQogCV9fZHJtX2F0b21pY19o ZWxwZXJfY3J0Y19kZXN0cm95X3N0YXRlKHN0YXRlKTsKIAogCWtmcmVlKGNzdGF0ZSk7CkBAIC0x MjIwLDggKzEwMzcsNiBAQCBzdGF0aWMgc3RydWN0IGRybV9jcnRjX3N0YXRlICpkcHVfY3J0Y19k dXBsaWNhdGVfc3RhdGUoc3RydWN0IGRybV9jcnRjICpjcnRjKQogCS8qIGR1cGxpY2F0ZSBiYXNl IGhlbHBlciAqLwogCV9fZHJtX2F0b21pY19oZWxwZXJfY3J0Y19kdXBsaWNhdGVfc3RhdGUoY3J0 YywgJmNzdGF0ZS0+YmFzZSk7CiAKLQlfZHB1X2NydGNfcnBfZHVwbGljYXRlKCZvbGRfY3N0YXRl LT5ycCwgJmNzdGF0ZS0+cnApOwotCiAJcmV0dXJuICZjc3RhdGUtPmJhc2U7CiB9CiAKQEAgLTEy NTgsOSArMTA3Myw2IEBAIHN0YXRpYyB2b2lkIGRwdV9jcnRjX3Jlc2V0KHN0cnVjdCBkcm1fY3J0 YyAqY3J0YykKIAkJcmV0dXJuOwogCX0KIAotCV9kcHVfY3J0Y19ycF9yZXNldCgmY3N0YXRlLT5y cCwgJmRwdV9jcnRjLT5ycF9sb2NrLAotCQkJJmRwdV9jcnRjLT5ycF9oZWFkKTsKLQogCWNzdGF0 ZS0+YmFzZS5jcnRjID0gY3J0YzsKIAljcnRjLT5zdGF0ZSA9ICZjc3RhdGUtPmJhc2U7CiB9CkBA IC0xNjUzLDcgKzE0NjUsNiBAQCBzdGF0aWMgaW50IGRwdV9jcnRjX2F0b21pY19jaGVjayhzdHJ1 Y3QgZHJtX2NydGMgKmNydGMsCiAJfQogCiBlbmQ6Ci0JX2RwdV9jcnRjX3JwX2ZyZWVfdW51c2Vk KCZjc3RhdGUtPnJwKTsKIAlrZnJlZShwc3RhdGVzKTsKIAlyZXR1cm4gcmM7CiB9CkBAIC0xODIy LDggKzE2MzMsNiBAQCBzdGF0aWMgaW50IGRwdV9jcnRjX2RlYnVnZnNfc3RhdGVfc2hvdyhzdHJ1 Y3Qgc2VxX2ZpbGUgKnMsIHZvaWQgKnYpCiB7CiAJc3RydWN0IGRybV9jcnRjICpjcnRjID0gKHN0 cnVjdCBkcm1fY3J0YyAqKSBzLT5wcml2YXRlOwogCXN0cnVjdCBkcHVfY3J0YyAqZHB1X2NydGMg PSB0b19kcHVfY3J0YyhjcnRjKTsKLQlzdHJ1Y3QgZHB1X2NydGNfcmVzICpyZXM7Ci0Jc3RydWN0 IGRwdV9jcnRjX3Jlc3Bvb2wgKnJwOwogCWludCBpOwogCiAJc2VxX3ByaW50ZihzLCAiY2xpZW50 IHR5cGU6ICVkXG4iLCBkcHVfY3J0Y19nZXRfY2xpZW50X3R5cGUoY3J0YykpOwpAQCAtMTg0MCwx NyArMTY0OSw2IEBAIHN0YXRpYyBpbnQgZHB1X2NydGNfZGVidWdmc19zdGF0ZV9zaG93KHN0cnVj dCBzZXFfZmlsZSAqcywgdm9pZCAqdikKIAkJCQlkcHVfY3J0Yy0+Y3VyX3BlcmYubWF4X3Blcl9w aXBlX2liW2ldKTsKIAl9CiAKLQltdXRleF9sb2NrKCZkcHVfY3J0Yy0+cnBfbG9jayk7Ci0JbGlz dF9mb3JfZWFjaF9lbnRyeShycCwgJmRwdV9jcnRjLT5ycF9oZWFkLCBycF9saXN0KSB7Ci0JCXNl cV9wcmludGYocywgInJwLiVkOiAiLCBycC0+c2VxdWVuY2VfaWQpOwotCQlsaXN0X2Zvcl9lYWNo X2VudHJ5KHJlcywgJnJwLT5yZXNfbGlzdCwgbGlzdCkKLQkJCXNlcV9wcmludGYocywgIjB4JXgv MHglbGx4LyVwSy8lZCAiLAotCQkJCQlyZXMtPnR5cGUsIHJlcy0+dGFnLCByZXMtPnZhbCwKLQkJ CQkJYXRvbWljX3JlYWQoJnJlcy0+cmVmY291bnQpKTsKLQkJc2VxX3B1dHMocywgIlxuIik7Ci0J fQotCW11dGV4X3VubG9jaygmZHB1X2NydGMtPnJwX2xvY2spOwotCiAJcmV0dXJuIDA7CiB9CiBE RUZJTkVfRFBVX0RFQlVHRlNfU0VRX0ZPUFMoZHB1X2NydGNfZGVidWdmc19zdGF0ZSk7CkBAIC0x OTY1LDkgKzE3NjMsNiBAQCBzdHJ1Y3QgZHJtX2NydGMgKmRwdV9jcnRjX2luaXQoc3RydWN0IGRy bV9kZXZpY2UgKmRldiwgc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCiAJc3Bpbl9sb2NrX2luaXQo JmRwdV9jcnRjLT5zcGluX2xvY2spOwogCWF0b21pY19zZXQoJmRwdV9jcnRjLT5mcmFtZV9wZW5k aW5nLCAwKTsKIAotCW11dGV4X2luaXQoJmRwdV9jcnRjLT5ycF9sb2NrKTsKLQlJTklUX0xJU1Rf SEVBRCgmZHB1X2NydGMtPnJwX2hlYWQpOwotCiAJaW5pdF9jb21wbGV0aW9uKCZkcHVfY3J0Yy0+ ZnJhbWVfZG9uZV9jb21wKTsKIAogCUlOSVRfTElTVF9IRUFEKCZkcHVfY3J0Yy0+ZnJhbWVfZXZl bnRfbGlzdCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVf Y3J0Yy5oIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2NydGMuaAppbmRleCAz NGNlNzI0Li41NDk4YzAwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1 MS9kcHVfY3J0Yy5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9jcnRj LmgKQEAgLTE1OSw4ICsxNTksNiBAQCBzdHJ1Y3QgZHB1X2NydGNfZnJhbWVfZXZlbnQgewogICog QHBoYW5kbGU6IFBvaW50ZXIgdG8gcG93ZXIgaGFuZGxlcgogICogQHBvd2VyX2V2ZW50ICAgOiBy ZWdpc3RlcmVkIHBvd2VyIGV2ZW50IGhhbmRsZQogICogQGN1cl9wZXJmICAgICAgOiBjdXJyZW50 IHBlcmZvcm1hbmNlIGNvbW1pdHRlZCB0byBjbG9jay9iYW5kd2lkdGggZHJpdmVyCi0gKiBAcnBf bG9jayAgICAgICA6IHNlcmlhbGl6YXRpb24gbG9jayBmb3IgcmVzb3VyY2UgcG9vbAotICogQHJw X2hlYWQgICAgICAgOiBsaXN0IG9mIGFjdGl2ZSByZXNvdXJjZSBwb29sCiAgKi8KIHN0cnVjdCBk cHVfY3J0YyB7CiAJc3RydWN0IGRybV9jcnRjIGJhc2U7CkBAIC0yMDcsNjUgKzIwNSwxMiBAQCBz dHJ1Y3QgZHB1X2NydGMgewogCiAJc3RydWN0IGRwdV9jb3JlX3BlcmZfcGFyYW1zIGN1cl9wZXJm OwogCi0Jc3RydWN0IG11dGV4IHJwX2xvY2s7Ci0Jc3RydWN0IGxpc3RfaGVhZCBycF9oZWFkOwot CiAJc3RydWN0IGRwdV9jcnRjX3NtbXVfc3RhdGVfZGF0YSBzbW11X3N0YXRlOwogfTsKIAogI2Rl ZmluZSB0b19kcHVfY3J0Yyh4KSBjb250YWluZXJfb2YoeCwgc3RydWN0IGRwdV9jcnRjLCBiYXNl KQogCiAvKioKLSAqIHN0cnVjdCBkcHVfY3J0Y19yZXNfb3BzIC0gY29tbW9uIG9wZXJhdGlvbnMg Zm9yIGNydGMgcmVzb3VyY2VzCi0gKiBAZ2V0OiBnZXQgZ2l2ZW4gcmVzb3VyY2UKLSAqIEBwdXQ6 IHB1dCBnaXZlbiByZXNvdXJjZQotICovCi1zdHJ1Y3QgZHB1X2NydGNfcmVzX29wcyB7Ci0Jdm9p ZCAqKCpnZXQpKHZvaWQgKnZhbCwgdTMyIHR5cGUsIHU2NCB0YWcpOwotCXZvaWQgKCpwdXQpKHZv aWQgKnZhbCk7Ci19OwotCi0jZGVmaW5lIERQVV9DUlRDX1JFU19GTEFHX0ZSRUUJCUJJVCgwKQot Ci0vKioKLSAqIHN0cnVjdCBkcHVfY3J0Y19yZXMgLSBkZWZpbml0aW9uIG9mIGNydGMgcmVzb3Vy Y2VzCi0gKiBAbGlzdDogbGlzdCBvZiBjcnRjIHJlc291cmNlCi0gKiBAdHlwZTogY3J0YyByZXNv dXJjZSB0eXBlCi0gKiBAdGFnOiB1bmlxdWUgaWRlbnRpZmllciBwZXIgdHlwZQotICogQHJlZmNv dW50OiByZWZlcmVuY2UvdXNhZ2UgY291bnQKLSAqIEBvcHM6IGNhbGxiYWNrIG9wZXJhdGlvbnMK LSAqIEB2YWw6IHJlc291cmNlIGhhbmRsZSBhc3NvY2lhdGVkIHdpdGggdHlwZS90YWcKLSAqIEBm bGFnczogY3VzdG9taXphdGlvbiBmbGFncwotICovCi1zdHJ1Y3QgZHB1X2NydGNfcmVzIHsKLQlz dHJ1Y3QgbGlzdF9oZWFkIGxpc3Q7Ci0JdTMyIHR5cGU7Ci0JdTY0IHRhZzsKLQlhdG9taWNfdCBy ZWZjb3VudDsKLQlzdHJ1Y3QgZHB1X2NydGNfcmVzX29wcyBvcHM7Ci0Jdm9pZCAqdmFsOwotCXUz MiBmbGFnczsKLX07Ci0KLS8qKgotICogZHB1X2NydGNfcmVzcG9vbCAtIGNydGMgcmVzb3VyY2Ug cG9vbAotICogQHJwX2xvY2s6IHBvaW50ZXIgdG8gc2VyaWFsaXphdGlvbiBsb2NrCi0gKiBAcnBf aGVhZDogcG9pbnRlciB0byBoZWFkIG9mIGFjdGl2ZSByZXNvdXJjZSBwb29scyBvZiB0aGlzIGNy dGMKLSAqIEBycF9saXN0OiBsaXN0IG9mIGNydGMgcmVzb3VyY2UgcG9vbAotICogQHNlcXVlbmNl X2lkOiBzZXF1ZW5jZSBpZGVudGlmaWVyLCBpbmNyZW1lbnRlZCBwZXIgc3RhdGUgZHVwbGljYXRp b24KLSAqIEByZXNfbGlzdDogbGlzdCBvZiByZXNvdXJjZSBtYW5hZ2VkIGJ5IHRoaXMgcmVzb3Vy Y2UgcG9vbAotICogQG9wczogcmVzb3VyY2Ugb3BlcmF0aW9ucyBmb3IgcGFyZW50IHJlc291cmNl IHBvb2wKLSAqLwotc3RydWN0IGRwdV9jcnRjX3Jlc3Bvb2wgewotCXN0cnVjdCBtdXRleCAqcnBf bG9jazsKLQlzdHJ1Y3QgbGlzdF9oZWFkICpycF9oZWFkOwotCXN0cnVjdCBsaXN0X2hlYWQgcnBf bGlzdDsKLQl1MzIgc2VxdWVuY2VfaWQ7Ci0Jc3RydWN0IGxpc3RfaGVhZCByZXNfbGlzdDsKLQlz dHJ1Y3QgZHB1X2NydGNfcmVzX29wcyBvcHM7Ci19OwotCi0vKioKICAqIHN0cnVjdCBkcHVfY3J0 Y19zdGF0ZSAtIGRwdSBjb250YWluZXIgZm9yIGF0b21pYyBjcnRjIHN0YXRlCiAgKiBAYmFzZTog QmFzZSBkcm0gY3J0YyBzdGF0ZSBzdHJ1Y3R1cmUKICAqIEBpc19wcHNwbGl0ICAgIDogV2hldGhl ciBjdXJyZW50IHRvcG9sb2d5IHJlcXVpcmVzIFBQU3BsaXQgc3BlY2lhbCBoYW5kbGluZwpAQCAt MjkwLDcgKzIzNSw2IEBAIHN0cnVjdCBkcHVfY3J0Y19zdGF0ZSB7CiAJdWludDY0X3QgaW5wdXRf ZmVuY2VfdGltZW91dF9uczsKIAogCXN0cnVjdCBkcHVfY29yZV9wZXJmX3BhcmFtcyBuZXdfcGVy ZjsKLQlzdHJ1Y3QgZHB1X2NydGNfcmVzcG9vbCBycDsKIH07CiAKICNkZWZpbmUgdG9fZHB1X2Ny dGNfc3RhdGUoeCkgXAotLSAKVGhlIFF1YWxjb21tIElubm92YXRpb24gQ2VudGVyLCBJbmMuIGlz IGEgbWVtYmVyIG9mIHRoZSBDb2RlIEF1cm9yYSBGb3J1bSwKYSBMaW51eCBGb3VuZGF0aW9uIENv bGxhYm9yYXRpdmUgUHJvamVjdAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KRnJlZWRyZW5vIG1haWxpbmcgbGlzdApGcmVlZHJlbm9AbGlzdHMuZnJlZWRl c2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8v ZnJlZWRyZW5vCg==