From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jeykumar Sankaran Subject: [PATCH 03/14] drm/msm/dpu: remove resource pool manager Date: Tue, 28 Aug 2018 17:39:52 -0700 Message-ID: <1535503203-22054-4-git-send-email-jsanka@codeaurora.org> References: <1535503203-22054-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: <1535503203-22054-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 cmUgZG9lc24ndCBleGlzdC4KClNpZ25lZC1vZmYtYnk6IEpleWt1bWFyIFNhbmthcmFuIDxqc2Fu a2FAY29kZWF1cm9yYS5vcmc+ClJldmlld2VkLWJ5OiBTZWFuIFBhdWwgPHNlYW5wYXVsQGNocm9t aXVtLm9yZz4KCi0tLQogZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2NydGMuYyB8 IDIwNSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vbXNt L2Rpc3AvZHB1MS9kcHVfY3J0Yy5oIHwgIDU2IC0tLS0tLS0tLQogMiBmaWxlcyBjaGFuZ2VkLCAy NjEgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2Rw dTEvZHB1X2NydGMuYyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9jcnRjLmMK aW5kZXggYTRmYWIwNDIuLjkyZWRhM2UgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20v ZGlzcC9kcHUxL2RwdV9jcnRjLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEv ZHB1X2NydGMuYwpAQCAtOTcsMTg3ICs5Nyw2IEBAIHN0YXRpYyBpbmxpbmUgaW50IF9kcHVfY3J0 Y19wb3dlcl9lbmFibGUoc3RydWN0IGRwdV9jcnRjICpkcHVfY3J0YywgYm9vbCBlbmFibGUpCiAJ cmV0dXJuIDA7CiB9CiAKLS8qKgotICogX2RwdV9jcnRjX3JwX3RvX2NydGMgLSBnZXQgY3J0YyBm cm9tIHJlc291cmNlIHBvb2wgb2JqZWN0Ci0gKiBAcnA6IFBvaW50ZXIgdG8gcmVzb3VyY2UgcG9v bAotICogcmV0dXJuOiBQb2ludGVyIHRvIGRybSBjcnRjIGlmIHN1Y2Nlc3M7IG51bGwgb3RoZXJ3 aXNlCi0gKi8KLXN0YXRpYyBzdHJ1Y3QgZHJtX2NydGMgKl9kcHVfY3J0Y19ycF90b19jcnRjKHN0 cnVjdCBkcHVfY3J0Y19yZXNwb29sICpycCkKLXsKLQlpZiAoIXJwKQotCQlyZXR1cm4gTlVMTDsK LQotCXJldHVybiBjb250YWluZXJfb2YocnAsIHN0cnVjdCBkcHVfY3J0Y19zdGF0ZSwgcnApLT5i YXNlLmNydGM7Ci19Ci0KLS8qKgotICogX2RwdV9jcnRjX3JwX3JlY2xhaW0gLSByZWNsYWltIHVu dXNlZCwgb3IgYWxsIGlmIGZvcmNlZCwgcmVzb3VyY2VzIGluIHBvb2wKLSAqIEBycDogUG9pbnRl ciB0byByZXNvdXJjZSBwb29sCi0gKiBAZm9yY2U6IFRydWUgdG8gcmVjbGFpbSBhbGwgcmVzb3Vy Y2VzOyBvdGhlcndpc2UsIHJlY2xhaW0gb25seSB1bnVzZWQgb25lcwotICogcmV0dXJuOiBOb25l Ci0gKi8KLXN0YXRpYyB2b2lkIF9kcHVfY3J0Y19ycF9yZWNsYWltKHN0cnVjdCBkcHVfY3J0Y19y ZXNwb29sICpycCwgYm9vbCBmb3JjZSkKLXsKLQlzdHJ1Y3QgZHB1X2NydGNfcmVzICpyZXMsICpu ZXh0OwotCXN0cnVjdCBkcm1fY3J0YyAqY3J0YzsKLQotCWNydGMgPSBfZHB1X2NydGNfcnBfdG9f Y3J0YyhycCk7Ci0JaWYgKCFjcnRjKSB7Ci0JCURQVV9FUlJPUigiaW52YWxpZCBjcnRjXG4iKTsK LQkJcmV0dXJuOwotCX0KLQotCURQVV9ERUJVRygiY3J0YyVkLiV1ICVzXG4iLCBjcnRjLT5iYXNl LmlkLCBycC0+c2VxdWVuY2VfaWQsCi0JCQlmb3JjZSA/ICJkZXN0cm95IiA6ICJmcmVlX3VudXNl ZCIpOwotCi0JbGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZlKHJlcywgbmV4dCwgJnJwLT5yZXNfbGlz dCwgbGlzdCkgewotCQlpZiAoIWZvcmNlICYmICEocmVzLT5mbGFncyAmIERQVV9DUlRDX1JFU19G TEFHX0ZSRUUpKQotCQkJY29udGludWU7Ci0JCURQVV9ERUJVRygiY3J0YyVkLiV1IHJlY2xhaW0g cmVzOjB4JXgvMHglbGx4LyVwSy8lZFxuIiwKLQkJCQljcnRjLT5iYXNlLmlkLCBycC0+c2VxdWVu Y2VfaWQsCi0JCQkJcmVzLT50eXBlLCByZXMtPnRhZywgcmVzLT52YWwsCi0JCQkJYXRvbWljX3Jl YWQoJnJlcy0+cmVmY291bnQpKTsKLQkJbGlzdF9kZWwoJnJlcy0+bGlzdCk7Ci0JCWlmIChyZXMt Pm9wcy5wdXQpCi0JCQlyZXMtPm9wcy5wdXQocmVzLT52YWwpOwotCQlrZnJlZShyZXMpOwotCX0K LX0KLQotLyoqCi0gKiBfZHB1X2NydGNfcnBfZnJlZV91bnVzZWQgLSBmcmVlIHVudXNlZCByZXNv dXJjZSBpbiBwb29sCi0gKiBAcnA6IFBvaW50ZXIgdG8gcmVzb3VyY2UgcG9vbAotICogcmV0dXJu OiBub25lCi0gKi8KLXN0YXRpYyB2b2lkIF9kcHVfY3J0Y19ycF9mcmVlX3VudXNlZChzdHJ1Y3Qg ZHB1X2NydGNfcmVzcG9vbCAqcnApCi17Ci0JbXV0ZXhfbG9jayhycC0+cnBfbG9jayk7Ci0JX2Rw dV9jcnRjX3JwX3JlY2xhaW0ocnAsIGZhbHNlKTsKLQltdXRleF91bmxvY2socnAtPnJwX2xvY2sp OwotfQotCi0vKioKLSAqIF9kcHVfY3J0Y19ycF9kZXN0cm95IC0gZGVzdHJveSByZXNvdXJjZSBw b29sCi0gKiBAcnA6IFBvaW50ZXIgdG8gcmVzb3VyY2UgcG9vbAotICogcmV0dXJuOiBOb25lCi0g Ki8KLXN0YXRpYyB2b2lkIF9kcHVfY3J0Y19ycF9kZXN0cm95KHN0cnVjdCBkcHVfY3J0Y19yZXNw b29sICpycCkKLXsKLQltdXRleF9sb2NrKHJwLT5ycF9sb2NrKTsKLQlsaXN0X2RlbF9pbml0KCZy cC0+cnBfbGlzdCk7Ci0JX2RwdV9jcnRjX3JwX3JlY2xhaW0ocnAsIHRydWUpOwotCW11dGV4X3Vu bG9jayhycC0+cnBfbG9jayk7Ci19Ci0KLS8qKgotICogX2RwdV9jcnRjX2h3X2Jsa19nZXQgLSBn ZXQgY2FsbGJhY2sgZm9yIGhhcmR3YXJlIGJsb2NrCi0gKiBAdmFsOiBSZXNvdXJjZSBoYW5kbGUK LSAqIEB0eXBlOiBSZXNvdXJjZSB0eXBlCi0gKiBAdGFnOiBTZWFyY2ggdGFnIGZvciBnaXZlbiBy ZXNvdXJjZQotICogcmV0dXJuOiBSZXNvdXJjZSBoYW5kbGUKLSAqLwotc3RhdGljIHZvaWQgKl9k cHVfY3J0Y19od19ibGtfZ2V0KHZvaWQgKnZhbCwgdTMyIHR5cGUsIHU2NCB0YWcpCi17Ci0JRFBV X0RFQlVHKCJyZXM6JWQvMHglbGx4LyVwS1xuIiwgdHlwZSwgdGFnLCB2YWwpOwotCXJldHVybiBk cHVfaHdfYmxrX2dldCh2YWwsIHR5cGUsIHRhZyk7Ci19Ci0KLS8qKgotICogX2RwdV9jcnRjX2h3 X2Jsa19wdXQgLSBwdXQgY2FsbGJhY2sgZm9yIGhhcmR3YXJlIGJsb2NrCi0gKiBAdmFsOiBSZXNv dXJjZSBoYW5kbGUKLSAqIHJldHVybjogTm9uZQotICovCi1zdGF0aWMgdm9pZCBfZHB1X2NydGNf aHdfYmxrX3B1dCh2b2lkICp2YWwpCi17Ci0JRFBVX0RFQlVHKCJyZXM6Ly8lcEtcbiIsIHZhbCk7 Ci0JZHB1X2h3X2Jsa19wdXQodmFsKTsKLX0KLQotLyoqCi0gKiBfZHB1X2NydGNfcnBfZHVwbGlj YXRlIC0gZHVwbGljYXRlIHJlc291cmNlIHBvb2wgYW5kIHJlc2V0IHJlZmVyZW5jZSBjb3VudAot ICogQHJwOiBQb2ludGVyIHRvIG9yaWdpbmFsIHJlc291cmNlIHBvb2wKLSAqIEBkdXBfcnA6IFBv aW50ZXIgdG8gZHVwbGljYXRlZCByZXNvdXJjZSBwb29sCi0gKiByZXR1cm46IE5vbmUKLSAqLwot c3RhdGljIHZvaWQgX2RwdV9jcnRjX3JwX2R1cGxpY2F0ZShzdHJ1Y3QgZHB1X2NydGNfcmVzcG9v bCAqcnAsCi0JCXN0cnVjdCBkcHVfY3J0Y19yZXNwb29sICpkdXBfcnApCi17Ci0Jc3RydWN0IGRw dV9jcnRjX3JlcyAqcmVzLCAqZHVwX3JlczsKLQlzdHJ1Y3QgZHJtX2NydGMgKmNydGM7Ci0KLQlp ZiAoIXJwIHx8ICFkdXBfcnAgfHwgIXJwLT5ycF9oZWFkKSB7Ci0JCURQVV9FUlJPUigiaW52YWxp ZCByZXNvdXJjZSBwb29sXG4iKTsKLQkJcmV0dXJuOwotCX0KLQotCWNydGMgPSBfZHB1X2NydGNf cnBfdG9fY3J0YyhycCk7Ci0JaWYgKCFjcnRjKSB7Ci0JCURQVV9FUlJPUigiaW52YWxpZCBjcnRj XG4iKTsKLQkJcmV0dXJuOwotCX0KLQotCURQVV9ERUJVRygiY3J0YyVkLiV1IGR1cGxpY2F0ZVxu IiwgY3J0Yy0+YmFzZS5pZCwgcnAtPnNlcXVlbmNlX2lkKTsKLQotCW11dGV4X2xvY2socnAtPnJw X2xvY2spOwotCWR1cF9ycC0+c2VxdWVuY2VfaWQgPSBycC0+c2VxdWVuY2VfaWQgKyAxOwotCUlO SVRfTElTVF9IRUFEKCZkdXBfcnAtPnJlc19saXN0KTsKLQlkdXBfcnAtPm9wcyA9IHJwLT5vcHM7 Ci0JbGlzdF9mb3JfZWFjaF9lbnRyeShyZXMsICZycC0+cmVzX2xpc3QsIGxpc3QpIHsKLQkJZHVw X3JlcyA9IGt6YWxsb2Moc2l6ZW9mKHN0cnVjdCBkcHVfY3J0Y19yZXMpLCBHRlBfS0VSTkVMKTsK LQkJaWYgKCFkdXBfcmVzKSB7Ci0JCQltdXRleF91bmxvY2socnAtPnJwX2xvY2spOwotCQkJcmV0 dXJuOwotCQl9Ci0JCUlOSVRfTElTVF9IRUFEKCZkdXBfcmVzLT5saXN0KTsKLQkJYXRvbWljX3Nl dCgmZHVwX3Jlcy0+cmVmY291bnQsIDApOwotCQlkdXBfcmVzLT50eXBlID0gcmVzLT50eXBlOwot CQlkdXBfcmVzLT50YWcgPSByZXMtPnRhZzsKLQkJZHVwX3Jlcy0+dmFsID0gcmVzLT52YWw7Ci0J CWR1cF9yZXMtPm9wcyA9IHJlcy0+b3BzOwotCQlkdXBfcmVzLT5mbGFncyA9IERQVV9DUlRDX1JF U19GTEFHX0ZSRUU7Ci0JCURQVV9ERUJVRygiY3J0YyVkLiV1IGR1cCByZXM6MHgleC8weCVsbHgv JXBLLyVkXG4iLAotCQkJCWNydGMtPmJhc2UuaWQsIGR1cF9ycC0+c2VxdWVuY2VfaWQsCi0JCQkJ ZHVwX3Jlcy0+dHlwZSwgZHVwX3Jlcy0+dGFnLCBkdXBfcmVzLT52YWwsCi0JCQkJYXRvbWljX3Jl YWQoJmR1cF9yZXMtPnJlZmNvdW50KSk7Ci0JCWxpc3RfYWRkX3RhaWwoJmR1cF9yZXMtPmxpc3Qs ICZkdXBfcnAtPnJlc19saXN0KTsKLQkJaWYgKGR1cF9yZXMtPm9wcy5nZXQpCi0JCQlkdXBfcmVz LT5vcHMuZ2V0KGR1cF9yZXMtPnZhbCwgMCwgLTEpOwotCX0KLQotCWR1cF9ycC0+cnBfbG9jayA9 IHJwLT5ycF9sb2NrOwotCWR1cF9ycC0+cnBfaGVhZCA9IHJwLT5ycF9oZWFkOwotCUlOSVRfTElT VF9IRUFEKCZkdXBfcnAtPnJwX2xpc3QpOwotCWxpc3RfYWRkX3RhaWwoJmR1cF9ycC0+cnBfbGlz dCwgcnAtPnJwX2hlYWQpOwotCW11dGV4X3VubG9jayhycC0+cnBfbG9jayk7Ci19Ci0KLS8qKgot ICogX2RwdV9jcnRjX3JwX3Jlc2V0IC0gcmVzZXQgcmVzb3VyY2UgcG9vbCBhZnRlciBhbGxvY2F0 aW9uCi0gKiBAcnA6IFBvaW50ZXIgdG8gb3JpZ2luYWwgcmVzb3VyY2UgcG9vbAotICogQHJwX2xv Y2s6IFBvaW50ZXIgdG8gc2VyaWFsaXphdGlvbiByZXNvdXJjZSBwb29sIGxvY2sKLSAqIEBycF9o ZWFkOiBQb2ludGVyIHRvIGNydGMgcmVzb3VyY2UgcG9vbCBoZWFkCi0gKiByZXR1cm46IE5vbmUK LSAqLwotc3RhdGljIHZvaWQgX2RwdV9jcnRjX3JwX3Jlc2V0KHN0cnVjdCBkcHVfY3J0Y19yZXNw b29sICpycCwKLQkJc3RydWN0IG11dGV4ICpycF9sb2NrLCBzdHJ1Y3QgbGlzdF9oZWFkICpycF9o ZWFkKQotewotCWlmICghcnAgfHwgIXJwX2xvY2sgfHwgIXJwX2hlYWQpIHsKLQkJRFBVX0VSUk9S KCJpbnZhbGlkIHJlc291cmNlIHBvb2xcbiIpOwotCQlyZXR1cm47Ci0JfQotCi0JbXV0ZXhfbG9j ayhycF9sb2NrKTsKLQlycC0+cnBfbG9jayA9IHJwX2xvY2s7Ci0JcnAtPnJwX2hlYWQgPSBycF9o ZWFkOwotCUlOSVRfTElTVF9IRUFEKCZycC0+cnBfbGlzdCk7Ci0JcnAtPnNlcXVlbmNlX2lkID0g MDsKLQlJTklUX0xJU1RfSEVBRCgmcnAtPnJlc19saXN0KTsKLQlycC0+b3BzLmdldCA9IF9kcHVf Y3J0Y19od19ibGtfZ2V0OwotCXJwLT5vcHMucHV0ID0gX2RwdV9jcnRjX2h3X2Jsa19wdXQ7Ci0J bGlzdF9hZGRfdGFpbCgmcnAtPnJwX2xpc3QsIHJwLT5ycF9oZWFkKTsKLQltdXRleF91bmxvY2so cnBfbG9jayk7Ci19Ci0KIHN0YXRpYyB2b2lkIGRwdV9jcnRjX2Rlc3Ryb3koc3RydWN0IGRybV9j cnRjICpjcnRjKQogewogCXN0cnVjdCBkcHVfY3J0YyAqZHB1X2NydGMgPSB0b19kcHVfY3J0Yyhj cnRjKTsKQEAgLTk2NSw4ICs3ODQsNiBAQCBzdGF0aWMgdm9pZCBkcHVfY3J0Y19kZXN0cm95X3N0 YXRlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKIAogCURQVV9ERUJVRygiY3J0YyVkXG4iLCBjcnRj LT5iYXNlLmlkKTsKIAotCV9kcHVfY3J0Y19ycF9kZXN0cm95KCZjc3RhdGUtPnJwKTsKLQogCV9f ZHJtX2F0b21pY19oZWxwZXJfY3J0Y19kZXN0cm95X3N0YXRlKHN0YXRlKTsKIAogCWtmcmVlKGNz dGF0ZSk7CkBAIC0xMjIwLDggKzEwMzcsNiBAQCBzdGF0aWMgc3RydWN0IGRybV9jcnRjX3N0YXRl ICpkcHVfY3J0Y19kdXBsaWNhdGVfc3RhdGUoc3RydWN0IGRybV9jcnRjICpjcnRjKQogCS8qIGR1 cGxpY2F0ZSBiYXNlIGhlbHBlciAqLwogCV9fZHJtX2F0b21pY19oZWxwZXJfY3J0Y19kdXBsaWNh dGVfc3RhdGUoY3J0YywgJmNzdGF0ZS0+YmFzZSk7CiAKLQlfZHB1X2NydGNfcnBfZHVwbGljYXRl KCZvbGRfY3N0YXRlLT5ycCwgJmNzdGF0ZS0+cnApOwotCiAJcmV0dXJuICZjc3RhdGUtPmJhc2U7 CiB9CiAKQEAgLTEyNTgsOSArMTA3Myw2IEBAIHN0YXRpYyB2b2lkIGRwdV9jcnRjX3Jlc2V0KHN0 cnVjdCBkcm1fY3J0YyAqY3J0YykKIAkJcmV0dXJuOwogCX0KIAotCV9kcHVfY3J0Y19ycF9yZXNl dCgmY3N0YXRlLT5ycCwgJmRwdV9jcnRjLT5ycF9sb2NrLAotCQkJJmRwdV9jcnRjLT5ycF9oZWFk KTsKLQogCWNzdGF0ZS0+YmFzZS5jcnRjID0gY3J0YzsKIAljcnRjLT5zdGF0ZSA9ICZjc3RhdGUt PmJhc2U7CiB9CkBAIC0xNjcwLDcgKzE0ODIsNiBAQCBzdGF0aWMgaW50IGRwdV9jcnRjX2F0b21p Y19jaGVjayhzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCiAJfQogCiBlbmQ6Ci0JX2RwdV9jcnRjX3Jw X2ZyZWVfdW51c2VkKCZjc3RhdGUtPnJwKTsKIAlrZnJlZShwc3RhdGVzKTsKIAlyZXR1cm4gcmM7 CiB9CkBAIC0xODM5LDggKzE2NTAsNiBAQCBzdGF0aWMgaW50IGRwdV9jcnRjX2RlYnVnZnNfc3Rh dGVfc2hvdyhzdHJ1Y3Qgc2VxX2ZpbGUgKnMsIHZvaWQgKnYpCiB7CiAJc3RydWN0IGRybV9jcnRj ICpjcnRjID0gKHN0cnVjdCBkcm1fY3J0YyAqKSBzLT5wcml2YXRlOwogCXN0cnVjdCBkcHVfY3J0 YyAqZHB1X2NydGMgPSB0b19kcHVfY3J0YyhjcnRjKTsKLQlzdHJ1Y3QgZHB1X2NydGNfcmVzICpy ZXM7Ci0Jc3RydWN0IGRwdV9jcnRjX3Jlc3Bvb2wgKnJwOwogCWludCBpOwogCiAJc2VxX3ByaW50 ZihzLCAiY2xpZW50IHR5cGU6ICVkXG4iLCBkcHVfY3J0Y19nZXRfY2xpZW50X3R5cGUoY3J0Yykp OwpAQCAtMTg1NywxNyArMTY2Niw2IEBAIHN0YXRpYyBpbnQgZHB1X2NydGNfZGVidWdmc19zdGF0 ZV9zaG93KHN0cnVjdCBzZXFfZmlsZSAqcywgdm9pZCAqdikKIAkJCQlkcHVfY3J0Yy0+Y3VyX3Bl cmYubWF4X3Blcl9waXBlX2liW2ldKTsKIAl9CiAKLQltdXRleF9sb2NrKCZkcHVfY3J0Yy0+cnBf bG9jayk7Ci0JbGlzdF9mb3JfZWFjaF9lbnRyeShycCwgJmRwdV9jcnRjLT5ycF9oZWFkLCBycF9s aXN0KSB7Ci0JCXNlcV9wcmludGYocywgInJwLiVkOiAiLCBycC0+c2VxdWVuY2VfaWQpOwotCQls aXN0X2Zvcl9lYWNoX2VudHJ5KHJlcywgJnJwLT5yZXNfbGlzdCwgbGlzdCkKLQkJCXNlcV9wcmlu dGYocywgIjB4JXgvMHglbGx4LyVwSy8lZCAiLAotCQkJCQlyZXMtPnR5cGUsIHJlcy0+dGFnLCBy ZXMtPnZhbCwKLQkJCQkJYXRvbWljX3JlYWQoJnJlcy0+cmVmY291bnQpKTsKLQkJc2VxX3B1dHMo cywgIlxuIik7Ci0JfQotCW11dGV4X3VubG9jaygmZHB1X2NydGMtPnJwX2xvY2spOwotCiAJcmV0 dXJuIDA7CiB9CiBERUZJTkVfRFBVX0RFQlVHRlNfU0VRX0ZPUFMoZHB1X2NydGNfZGVidWdmc19z dGF0ZSk7CkBAIC0xOTgyLDkgKzE3ODAsNiBAQCBzdHJ1Y3QgZHJtX2NydGMgKmRwdV9jcnRjX2lu aXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCiAJc3Bp bl9sb2NrX2luaXQoJmRwdV9jcnRjLT5zcGluX2xvY2spOwogCWF0b21pY19zZXQoJmRwdV9jcnRj LT5mcmFtZV9wZW5kaW5nLCAwKTsKIAotCW11dGV4X2luaXQoJmRwdV9jcnRjLT5ycF9sb2NrKTsK LQlJTklUX0xJU1RfSEVBRCgmZHB1X2NydGMtPnJwX2hlYWQpOwotCiAJaW5pdF9jb21wbGV0aW9u KCZkcHVfY3J0Yy0+ZnJhbWVfZG9uZV9jb21wKTsKIAogCUlOSVRfTElTVF9IRUFEKCZkcHVfY3J0 Yy0+ZnJhbWVfZXZlbnRfbGlzdCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rp c3AvZHB1MS9kcHVfY3J0Yy5oIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2Ny dGMuaAppbmRleCAzNGNlNzI0Li41NDk4YzAwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v bXNtL2Rpc3AvZHB1MS9kcHVfY3J0Yy5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9k cHUxL2RwdV9jcnRjLmgKQEAgLTE1OSw4ICsxNTksNiBAQCBzdHJ1Y3QgZHB1X2NydGNfZnJhbWVf ZXZlbnQgewogICogQHBoYW5kbGU6IFBvaW50ZXIgdG8gcG93ZXIgaGFuZGxlcgogICogQHBvd2Vy X2V2ZW50ICAgOiByZWdpc3RlcmVkIHBvd2VyIGV2ZW50IGhhbmRsZQogICogQGN1cl9wZXJmICAg ICAgOiBjdXJyZW50IHBlcmZvcm1hbmNlIGNvbW1pdHRlZCB0byBjbG9jay9iYW5kd2lkdGggZHJp dmVyCi0gKiBAcnBfbG9jayAgICAgICA6IHNlcmlhbGl6YXRpb24gbG9jayBmb3IgcmVzb3VyY2Ug cG9vbAotICogQHJwX2hlYWQgICAgICAgOiBsaXN0IG9mIGFjdGl2ZSByZXNvdXJjZSBwb29sCiAg Ki8KIHN0cnVjdCBkcHVfY3J0YyB7CiAJc3RydWN0IGRybV9jcnRjIGJhc2U7CkBAIC0yMDcsNjUg KzIwNSwxMiBAQCBzdHJ1Y3QgZHB1X2NydGMgewogCiAJc3RydWN0IGRwdV9jb3JlX3BlcmZfcGFy YW1zIGN1cl9wZXJmOwogCi0Jc3RydWN0IG11dGV4IHJwX2xvY2s7Ci0Jc3RydWN0IGxpc3RfaGVh ZCBycF9oZWFkOwotCiAJc3RydWN0IGRwdV9jcnRjX3NtbXVfc3RhdGVfZGF0YSBzbW11X3N0YXRl OwogfTsKIAogI2RlZmluZSB0b19kcHVfY3J0Yyh4KSBjb250YWluZXJfb2YoeCwgc3RydWN0IGRw dV9jcnRjLCBiYXNlKQogCiAvKioKLSAqIHN0cnVjdCBkcHVfY3J0Y19yZXNfb3BzIC0gY29tbW9u IG9wZXJhdGlvbnMgZm9yIGNydGMgcmVzb3VyY2VzCi0gKiBAZ2V0OiBnZXQgZ2l2ZW4gcmVzb3Vy Y2UKLSAqIEBwdXQ6IHB1dCBnaXZlbiByZXNvdXJjZQotICovCi1zdHJ1Y3QgZHB1X2NydGNfcmVz X29wcyB7Ci0Jdm9pZCAqKCpnZXQpKHZvaWQgKnZhbCwgdTMyIHR5cGUsIHU2NCB0YWcpOwotCXZv aWQgKCpwdXQpKHZvaWQgKnZhbCk7Ci19OwotCi0jZGVmaW5lIERQVV9DUlRDX1JFU19GTEFHX0ZS RUUJCUJJVCgwKQotCi0vKioKLSAqIHN0cnVjdCBkcHVfY3J0Y19yZXMgLSBkZWZpbml0aW9uIG9m IGNydGMgcmVzb3VyY2VzCi0gKiBAbGlzdDogbGlzdCBvZiBjcnRjIHJlc291cmNlCi0gKiBAdHlw ZTogY3J0YyByZXNvdXJjZSB0eXBlCi0gKiBAdGFnOiB1bmlxdWUgaWRlbnRpZmllciBwZXIgdHlw ZQotICogQHJlZmNvdW50OiByZWZlcmVuY2UvdXNhZ2UgY291bnQKLSAqIEBvcHM6IGNhbGxiYWNr IG9wZXJhdGlvbnMKLSAqIEB2YWw6IHJlc291cmNlIGhhbmRsZSBhc3NvY2lhdGVkIHdpdGggdHlw ZS90YWcKLSAqIEBmbGFnczogY3VzdG9taXphdGlvbiBmbGFncwotICovCi1zdHJ1Y3QgZHB1X2Ny dGNfcmVzIHsKLQlzdHJ1Y3QgbGlzdF9oZWFkIGxpc3Q7Ci0JdTMyIHR5cGU7Ci0JdTY0IHRhZzsK LQlhdG9taWNfdCByZWZjb3VudDsKLQlzdHJ1Y3QgZHB1X2NydGNfcmVzX29wcyBvcHM7Ci0Jdm9p ZCAqdmFsOwotCXUzMiBmbGFnczsKLX07Ci0KLS8qKgotICogZHB1X2NydGNfcmVzcG9vbCAtIGNy dGMgcmVzb3VyY2UgcG9vbAotICogQHJwX2xvY2s6IHBvaW50ZXIgdG8gc2VyaWFsaXphdGlvbiBs b2NrCi0gKiBAcnBfaGVhZDogcG9pbnRlciB0byBoZWFkIG9mIGFjdGl2ZSByZXNvdXJjZSBwb29s cyBvZiB0aGlzIGNydGMKLSAqIEBycF9saXN0OiBsaXN0IG9mIGNydGMgcmVzb3VyY2UgcG9vbAot ICogQHNlcXVlbmNlX2lkOiBzZXF1ZW5jZSBpZGVudGlmaWVyLCBpbmNyZW1lbnRlZCBwZXIgc3Rh dGUgZHVwbGljYXRpb24KLSAqIEByZXNfbGlzdDogbGlzdCBvZiByZXNvdXJjZSBtYW5hZ2VkIGJ5 IHRoaXMgcmVzb3VyY2UgcG9vbAotICogQG9wczogcmVzb3VyY2Ugb3BlcmF0aW9ucyBmb3IgcGFy ZW50IHJlc291cmNlIHBvb2wKLSAqLwotc3RydWN0IGRwdV9jcnRjX3Jlc3Bvb2wgewotCXN0cnVj dCBtdXRleCAqcnBfbG9jazsKLQlzdHJ1Y3QgbGlzdF9oZWFkICpycF9oZWFkOwotCXN0cnVjdCBs aXN0X2hlYWQgcnBfbGlzdDsKLQl1MzIgc2VxdWVuY2VfaWQ7Ci0Jc3RydWN0IGxpc3RfaGVhZCBy ZXNfbGlzdDsKLQlzdHJ1Y3QgZHB1X2NydGNfcmVzX29wcyBvcHM7Ci19OwotCi0vKioKICAqIHN0 cnVjdCBkcHVfY3J0Y19zdGF0ZSAtIGRwdSBjb250YWluZXIgZm9yIGF0b21pYyBjcnRjIHN0YXRl CiAgKiBAYmFzZTogQmFzZSBkcm0gY3J0YyBzdGF0ZSBzdHJ1Y3R1cmUKICAqIEBpc19wcHNwbGl0 ICAgIDogV2hldGhlciBjdXJyZW50IHRvcG9sb2d5IHJlcXVpcmVzIFBQU3BsaXQgc3BlY2lhbCBo YW5kbGluZwpAQCAtMjkwLDcgKzIzNSw2IEBAIHN0cnVjdCBkcHVfY3J0Y19zdGF0ZSB7CiAJdWlu dDY0X3QgaW5wdXRfZmVuY2VfdGltZW91dF9uczsKIAogCXN0cnVjdCBkcHVfY29yZV9wZXJmX3Bh cmFtcyBuZXdfcGVyZjsKLQlzdHJ1Y3QgZHB1X2NydGNfcmVzcG9vbCBycDsKIH07CiAKICNkZWZp bmUgdG9fZHB1X2NydGNfc3RhdGUoeCkgXAotLSAKVGhlIFF1YWxjb21tIElubm92YXRpb24gQ2Vu dGVyLCBJbmMuIGlzIGEgbWVtYmVyIG9mIHRoZSBDb2RlIEF1cm9yYSBGb3J1bSwKYSBMaW51eCBG b3VuZGF0aW9uIENvbGxhYm9yYXRpdmUgUHJvamVjdAoKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KRnJlZWRyZW5vIG1haWxpbmcgbGlzdApGcmVlZHJlbm9A bGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxt YW4vbGlzdGluZm8vZnJlZWRyZW5vCg==