From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sean Paul Subject: Re: [PATCH v3 02/13] drm/msm/dpu: remove resource pool manager Date: Tue, 14 Aug 2018 15:02:53 -0400 Message-ID: <20180814190252.GB164269@art_vandelay> References: <1533697956-29686-1-git-send-email-jsanka@codeaurora.org> <1533697956-29686-3-git-send-email-jsanka@codeaurora.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <1533697956-29686-3-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: Jeykumar Sankaran Cc: linux-arm-msm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, robdclark-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org, seanpaul-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org, hoegsberg-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org, freedreno-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org List-Id: linux-arm-msm@vger.kernel.org T24gVHVlLCBBdWcgMDcsIDIwMTggYXQgMDg6MTI6MjlQTSAtMDcwMCwgSmV5a3VtYXIgU2Fua2Fy YW4gd3JvdGU6Cj4gcmVzb3VyY2UgcG9vbCBtYW5hZ2VyIHV0aWxpdHkgd2FzIGludHJvZHVjZWQg dG8gbWFuYWdlCj4gcm90YXRvciBzZXNzaW9ucy4gUmVtb3ZpbmcgdGhlIHN1cHBvcnQgYXMgdGhl IHJvdGF0b3IKPiBmZWF0dXJlIGRvZXNuJ3QgZXhpc3QuCj4gCj4gY2hhbmdlcyBpbiB2MjoKPiAJ LSBub25lCj4gY2hhbmdlcyBpbiB2MzoKPiAJLSByZWJhc2Ugb24gWzFdCj4gCj4gWzFdIGh0dHBz Oi8vZ2l0bGFiLmZyZWVkZXNrdG9wLm9yZy9zZWFucGF1bC9kcHUtc3RhZ2luZy9jb21taXRzL2Zv ci1uZXh0Cj4gCj4gQ2hhbmdlLUlkOiBJYjA0NWYxYzY2MjY5YmU2NTBiY2U1ODk2YzQ1OWY1OWUx MDQ3YTUzZgo+IFNpZ25lZC1vZmYtYnk6IEpleWt1bWFyIFNhbmthcmFuIDxqc2Fua2FAY29kZWF1 cm9yYS5vcmc+CgpSZXZpZXdlZC1ieTogU2VhbiBQYXVsIDxzZWFucGF1bEBjaHJvbWl1bS5vcmc+ Cgo+IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfY3J0Yy5jIHwgMjA1 IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPiAgZHJpdmVycy9ncHUvZHJtL21zbS9k aXNwL2RwdTEvZHB1X2NydGMuaCB8ICA1NiAtLS0tLS0tLS0KPiAgMiBmaWxlcyBjaGFuZ2VkLCAy NjEgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlz cC9kcHUxL2RwdV9jcnRjLmMgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfY3J0 Yy5jCj4gaW5kZXggODBjYmY3NS4uMWYyZDIyMyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9k cm0vbXNtL2Rpc3AvZHB1MS9kcHVfY3J0Yy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9k aXNwL2RwdTEvZHB1X2NydGMuYwo+IEBAIC05OSwxODcgKzk5LDYgQEAgc3RhdGljIGlubGluZSBp bnQgX2RwdV9jcnRjX3Bvd2VyX2VuYWJsZShzdHJ1Y3QgZHB1X2NydGMgKmRwdV9jcnRjLCBib29s IGVuYWJsZSkKPiAgCXJldHVybiAwOwo+ICB9Cj4gIAo+IC0vKioKPiAtICogX2RwdV9jcnRjX3Jw X3RvX2NydGMgLSBnZXQgY3J0YyBmcm9tIHJlc291cmNlIHBvb2wgb2JqZWN0Cj4gLSAqIEBycDog UG9pbnRlciB0byByZXNvdXJjZSBwb29sCj4gLSAqIHJldHVybjogUG9pbnRlciB0byBkcm0gY3J0 YyBpZiBzdWNjZXNzOyBudWxsIG90aGVyd2lzZQo+IC0gKi8KPiAtc3RhdGljIHN0cnVjdCBkcm1f Y3J0YyAqX2RwdV9jcnRjX3JwX3RvX2NydGMoc3RydWN0IGRwdV9jcnRjX3Jlc3Bvb2wgKnJwKQo+ IC17Cj4gLQlpZiAoIXJwKQo+IC0JCXJldHVybiBOVUxMOwo+IC0KPiAtCXJldHVybiBjb250YWlu ZXJfb2YocnAsIHN0cnVjdCBkcHVfY3J0Y19zdGF0ZSwgcnApLT5iYXNlLmNydGM7Cj4gLX0KPiAt Cj4gLS8qKgo+IC0gKiBfZHB1X2NydGNfcnBfcmVjbGFpbSAtIHJlY2xhaW0gdW51c2VkLCBvciBh bGwgaWYgZm9yY2VkLCByZXNvdXJjZXMgaW4gcG9vbAo+IC0gKiBAcnA6IFBvaW50ZXIgdG8gcmVz b3VyY2UgcG9vbAo+IC0gKiBAZm9yY2U6IFRydWUgdG8gcmVjbGFpbSBhbGwgcmVzb3VyY2VzOyBv dGhlcndpc2UsIHJlY2xhaW0gb25seSB1bnVzZWQgb25lcwo+IC0gKiByZXR1cm46IE5vbmUKPiAt ICovCj4gLXN0YXRpYyB2b2lkIF9kcHVfY3J0Y19ycF9yZWNsYWltKHN0cnVjdCBkcHVfY3J0Y19y ZXNwb29sICpycCwgYm9vbCBmb3JjZSkKPiAtewo+IC0Jc3RydWN0IGRwdV9jcnRjX3JlcyAqcmVz LCAqbmV4dDsKPiAtCXN0cnVjdCBkcm1fY3J0YyAqY3J0YzsKPiAtCj4gLQljcnRjID0gX2RwdV9j cnRjX3JwX3RvX2NydGMocnApOwo+IC0JaWYgKCFjcnRjKSB7Cj4gLQkJRFBVX0VSUk9SKCJpbnZh bGlkIGNydGNcbiIpOwo+IC0JCXJldHVybjsKPiAtCX0KPiAtCj4gLQlEUFVfREVCVUcoImNydGMl ZC4ldSAlc1xuIiwgY3J0Yy0+YmFzZS5pZCwgcnAtPnNlcXVlbmNlX2lkLAo+IC0JCQlmb3JjZSA/ ICJkZXN0cm95IiA6ICJmcmVlX3VudXNlZCIpOwo+IC0KPiAtCWxpc3RfZm9yX2VhY2hfZW50cnlf c2FmZShyZXMsIG5leHQsICZycC0+cmVzX2xpc3QsIGxpc3QpIHsKPiAtCQlpZiAoIWZvcmNlICYm ICEocmVzLT5mbGFncyAmIERQVV9DUlRDX1JFU19GTEFHX0ZSRUUpKQo+IC0JCQljb250aW51ZTsK PiAtCQlEUFVfREVCVUcoImNydGMlZC4ldSByZWNsYWltIHJlczoweCV4LzB4JWxseC8lcEsvJWRc biIsCj4gLQkJCQljcnRjLT5iYXNlLmlkLCBycC0+c2VxdWVuY2VfaWQsCj4gLQkJCQlyZXMtPnR5 cGUsIHJlcy0+dGFnLCByZXMtPnZhbCwKPiAtCQkJCWF0b21pY19yZWFkKCZyZXMtPnJlZmNvdW50 KSk7Cj4gLQkJbGlzdF9kZWwoJnJlcy0+bGlzdCk7Cj4gLQkJaWYgKHJlcy0+b3BzLnB1dCkKPiAt CQkJcmVzLT5vcHMucHV0KHJlcy0+dmFsKTsKPiAtCQlrZnJlZShyZXMpOwo+IC0JfQo+IC19Cj4g LQo+IC0vKioKPiAtICogX2RwdV9jcnRjX3JwX2ZyZWVfdW51c2VkIC0gZnJlZSB1bnVzZWQgcmVz b3VyY2UgaW4gcG9vbAo+IC0gKiBAcnA6IFBvaW50ZXIgdG8gcmVzb3VyY2UgcG9vbAo+IC0gKiBy ZXR1cm46IG5vbmUKPiAtICovCj4gLXN0YXRpYyB2b2lkIF9kcHVfY3J0Y19ycF9mcmVlX3VudXNl ZChzdHJ1Y3QgZHB1X2NydGNfcmVzcG9vbCAqcnApCj4gLXsKPiAtCW11dGV4X2xvY2socnAtPnJw X2xvY2spOwo+IC0JX2RwdV9jcnRjX3JwX3JlY2xhaW0ocnAsIGZhbHNlKTsKPiAtCW11dGV4X3Vu bG9jayhycC0+cnBfbG9jayk7Cj4gLX0KPiAtCj4gLS8qKgo+IC0gKiBfZHB1X2NydGNfcnBfZGVz dHJveSAtIGRlc3Ryb3kgcmVzb3VyY2UgcG9vbAo+IC0gKiBAcnA6IFBvaW50ZXIgdG8gcmVzb3Vy Y2UgcG9vbAo+IC0gKiByZXR1cm46IE5vbmUKPiAtICovCj4gLXN0YXRpYyB2b2lkIF9kcHVfY3J0 Y19ycF9kZXN0cm95KHN0cnVjdCBkcHVfY3J0Y19yZXNwb29sICpycCkKPiAtewo+IC0JbXV0ZXhf bG9jayhycC0+cnBfbG9jayk7Cj4gLQlsaXN0X2RlbF9pbml0KCZycC0+cnBfbGlzdCk7Cj4gLQlf ZHB1X2NydGNfcnBfcmVjbGFpbShycCwgdHJ1ZSk7Cj4gLQltdXRleF91bmxvY2socnAtPnJwX2xv Y2spOwo+IC19Cj4gLQo+IC0vKioKPiAtICogX2RwdV9jcnRjX2h3X2Jsa19nZXQgLSBnZXQgY2Fs bGJhY2sgZm9yIGhhcmR3YXJlIGJsb2NrCj4gLSAqIEB2YWw6IFJlc291cmNlIGhhbmRsZQo+IC0g KiBAdHlwZTogUmVzb3VyY2UgdHlwZQo+IC0gKiBAdGFnOiBTZWFyY2ggdGFnIGZvciBnaXZlbiBy ZXNvdXJjZQo+IC0gKiByZXR1cm46IFJlc291cmNlIGhhbmRsZQo+IC0gKi8KPiAtc3RhdGljIHZv aWQgKl9kcHVfY3J0Y19od19ibGtfZ2V0KHZvaWQgKnZhbCwgdTMyIHR5cGUsIHU2NCB0YWcpCj4g LXsKPiAtCURQVV9ERUJVRygicmVzOiVkLzB4JWxseC8lcEtcbiIsIHR5cGUsIHRhZywgdmFsKTsK PiAtCXJldHVybiBkcHVfaHdfYmxrX2dldCh2YWwsIHR5cGUsIHRhZyk7Cj4gLX0KPiAtCj4gLS8q Kgo+IC0gKiBfZHB1X2NydGNfaHdfYmxrX3B1dCAtIHB1dCBjYWxsYmFjayBmb3IgaGFyZHdhcmUg YmxvY2sKPiAtICogQHZhbDogUmVzb3VyY2UgaGFuZGxlCj4gLSAqIHJldHVybjogTm9uZQo+IC0g Ki8KPiAtc3RhdGljIHZvaWQgX2RwdV9jcnRjX2h3X2Jsa19wdXQodm9pZCAqdmFsKQo+IC17Cj4g LQlEUFVfREVCVUcoInJlczovLyVwS1xuIiwgdmFsKTsKPiAtCWRwdV9od19ibGtfcHV0KHZhbCk7 Cj4gLX0KPiAtCj4gLS8qKgo+IC0gKiBfZHB1X2NydGNfcnBfZHVwbGljYXRlIC0gZHVwbGljYXRl IHJlc291cmNlIHBvb2wgYW5kIHJlc2V0IHJlZmVyZW5jZSBjb3VudAo+IC0gKiBAcnA6IFBvaW50 ZXIgdG8gb3JpZ2luYWwgcmVzb3VyY2UgcG9vbAo+IC0gKiBAZHVwX3JwOiBQb2ludGVyIHRvIGR1 cGxpY2F0ZWQgcmVzb3VyY2UgcG9vbAo+IC0gKiByZXR1cm46IE5vbmUKPiAtICovCj4gLXN0YXRp YyB2b2lkIF9kcHVfY3J0Y19ycF9kdXBsaWNhdGUoc3RydWN0IGRwdV9jcnRjX3Jlc3Bvb2wgKnJw LAo+IC0JCXN0cnVjdCBkcHVfY3J0Y19yZXNwb29sICpkdXBfcnApCj4gLXsKPiAtCXN0cnVjdCBk cHVfY3J0Y19yZXMgKnJlcywgKmR1cF9yZXM7Cj4gLQlzdHJ1Y3QgZHJtX2NydGMgKmNydGM7Cj4g LQo+IC0JaWYgKCFycCB8fCAhZHVwX3JwIHx8ICFycC0+cnBfaGVhZCkgewo+IC0JCURQVV9FUlJP UigiaW52YWxpZCByZXNvdXJjZSBwb29sXG4iKTsKPiAtCQlyZXR1cm47Cj4gLQl9Cj4gLQo+IC0J Y3J0YyA9IF9kcHVfY3J0Y19ycF90b19jcnRjKHJwKTsKPiAtCWlmICghY3J0Yykgewo+IC0JCURQ VV9FUlJPUigiaW52YWxpZCBjcnRjXG4iKTsKPiAtCQlyZXR1cm47Cj4gLQl9Cj4gLQo+IC0JRFBV X0RFQlVHKCJjcnRjJWQuJXUgZHVwbGljYXRlXG4iLCBjcnRjLT5iYXNlLmlkLCBycC0+c2VxdWVu Y2VfaWQpOwo+IC0KPiAtCW11dGV4X2xvY2socnAtPnJwX2xvY2spOwo+IC0JZHVwX3JwLT5zZXF1 ZW5jZV9pZCA9IHJwLT5zZXF1ZW5jZV9pZCArIDE7Cj4gLQlJTklUX0xJU1RfSEVBRCgmZHVwX3Jw LT5yZXNfbGlzdCk7Cj4gLQlkdXBfcnAtPm9wcyA9IHJwLT5vcHM7Cj4gLQlsaXN0X2Zvcl9lYWNo X2VudHJ5KHJlcywgJnJwLT5yZXNfbGlzdCwgbGlzdCkgewo+IC0JCWR1cF9yZXMgPSBremFsbG9j KHNpemVvZihzdHJ1Y3QgZHB1X2NydGNfcmVzKSwgR0ZQX0tFUk5FTCk7Cj4gLQkJaWYgKCFkdXBf cmVzKSB7Cj4gLQkJCW11dGV4X3VubG9jayhycC0+cnBfbG9jayk7Cj4gLQkJCXJldHVybjsKPiAt CQl9Cj4gLQkJSU5JVF9MSVNUX0hFQUQoJmR1cF9yZXMtPmxpc3QpOwo+IC0JCWF0b21pY19zZXQo JmR1cF9yZXMtPnJlZmNvdW50LCAwKTsKPiAtCQlkdXBfcmVzLT50eXBlID0gcmVzLT50eXBlOwo+ IC0JCWR1cF9yZXMtPnRhZyA9IHJlcy0+dGFnOwo+IC0JCWR1cF9yZXMtPnZhbCA9IHJlcy0+dmFs Owo+IC0JCWR1cF9yZXMtPm9wcyA9IHJlcy0+b3BzOwo+IC0JCWR1cF9yZXMtPmZsYWdzID0gRFBV X0NSVENfUkVTX0ZMQUdfRlJFRTsKPiAtCQlEUFVfREVCVUcoImNydGMlZC4ldSBkdXAgcmVzOjB4 JXgvMHglbGx4LyVwSy8lZFxuIiwKPiAtCQkJCWNydGMtPmJhc2UuaWQsIGR1cF9ycC0+c2VxdWVu Y2VfaWQsCj4gLQkJCQlkdXBfcmVzLT50eXBlLCBkdXBfcmVzLT50YWcsIGR1cF9yZXMtPnZhbCwK PiAtCQkJCWF0b21pY19yZWFkKCZkdXBfcmVzLT5yZWZjb3VudCkpOwo+IC0JCWxpc3RfYWRkX3Rh aWwoJmR1cF9yZXMtPmxpc3QsICZkdXBfcnAtPnJlc19saXN0KTsKPiAtCQlpZiAoZHVwX3Jlcy0+ b3BzLmdldCkKPiAtCQkJZHVwX3Jlcy0+b3BzLmdldChkdXBfcmVzLT52YWwsIDAsIC0xKTsKPiAt CX0KPiAtCj4gLQlkdXBfcnAtPnJwX2xvY2sgPSBycC0+cnBfbG9jazsKPiAtCWR1cF9ycC0+cnBf aGVhZCA9IHJwLT5ycF9oZWFkOwo+IC0JSU5JVF9MSVNUX0hFQUQoJmR1cF9ycC0+cnBfbGlzdCk7 Cj4gLQlsaXN0X2FkZF90YWlsKCZkdXBfcnAtPnJwX2xpc3QsIHJwLT5ycF9oZWFkKTsKPiAtCW11 dGV4X3VubG9jayhycC0+cnBfbG9jayk7Cj4gLX0KPiAtCj4gLS8qKgo+IC0gKiBfZHB1X2NydGNf cnBfcmVzZXQgLSByZXNldCByZXNvdXJjZSBwb29sIGFmdGVyIGFsbG9jYXRpb24KPiAtICogQHJw OiBQb2ludGVyIHRvIG9yaWdpbmFsIHJlc291cmNlIHBvb2wKPiAtICogQHJwX2xvY2s6IFBvaW50 ZXIgdG8gc2VyaWFsaXphdGlvbiByZXNvdXJjZSBwb29sIGxvY2sKPiAtICogQHJwX2hlYWQ6IFBv aW50ZXIgdG8gY3J0YyByZXNvdXJjZSBwb29sIGhlYWQKPiAtICogcmV0dXJuOiBOb25lCj4gLSAq Lwo+IC1zdGF0aWMgdm9pZCBfZHB1X2NydGNfcnBfcmVzZXQoc3RydWN0IGRwdV9jcnRjX3Jlc3Bv b2wgKnJwLAo+IC0JCXN0cnVjdCBtdXRleCAqcnBfbG9jaywgc3RydWN0IGxpc3RfaGVhZCAqcnBf aGVhZCkKPiAtewo+IC0JaWYgKCFycCB8fCAhcnBfbG9jayB8fCAhcnBfaGVhZCkgewo+IC0JCURQ VV9FUlJPUigiaW52YWxpZCByZXNvdXJjZSBwb29sXG4iKTsKPiAtCQlyZXR1cm47Cj4gLQl9Cj4g LQo+IC0JbXV0ZXhfbG9jayhycF9sb2NrKTsKPiAtCXJwLT5ycF9sb2NrID0gcnBfbG9jazsKPiAt CXJwLT5ycF9oZWFkID0gcnBfaGVhZDsKPiAtCUlOSVRfTElTVF9IRUFEKCZycC0+cnBfbGlzdCk7 Cj4gLQlycC0+c2VxdWVuY2VfaWQgPSAwOwo+IC0JSU5JVF9MSVNUX0hFQUQoJnJwLT5yZXNfbGlz dCk7Cj4gLQlycC0+b3BzLmdldCA9IF9kcHVfY3J0Y19od19ibGtfZ2V0Owo+IC0JcnAtPm9wcy5w dXQgPSBfZHB1X2NydGNfaHdfYmxrX3B1dDsKPiAtCWxpc3RfYWRkX3RhaWwoJnJwLT5ycF9saXN0 LCBycC0+cnBfaGVhZCk7Cj4gLQltdXRleF91bmxvY2socnBfbG9jayk7Cj4gLX0KPiAtCj4gIHN0 YXRpYyB2b2lkIGRwdV9jcnRjX2Rlc3Ryb3koc3RydWN0IGRybV9jcnRjICpjcnRjKQo+ICB7Cj4g IAlzdHJ1Y3QgZHB1X2NydGMgKmRwdV9jcnRjID0gdG9fZHB1X2NydGMoY3J0Yyk7Cj4gQEAgLTk1 MSw4ICs3NzAsNiBAQCBzdGF0aWMgdm9pZCBkcHVfY3J0Y19kZXN0cm95X3N0YXRlKHN0cnVjdCBk cm1fY3J0YyAqY3J0YywKPiAgCj4gIAlEUFVfREVCVUcoImNydGMlZFxuIiwgY3J0Yy0+YmFzZS5p ZCk7Cj4gIAo+IC0JX2RwdV9jcnRjX3JwX2Rlc3Ryb3koJmNzdGF0ZS0+cnApOwo+IC0KPiAgCV9f ZHJtX2F0b21pY19oZWxwZXJfY3J0Y19kZXN0cm95X3N0YXRlKHN0YXRlKTsKPiAgCj4gIAlrZnJl ZShjc3RhdGUpOwo+IEBAIC0xMjA2LDggKzEwMjMsNiBAQCBzdGF0aWMgc3RydWN0IGRybV9jcnRj X3N0YXRlICpkcHVfY3J0Y19kdXBsaWNhdGVfc3RhdGUoc3RydWN0IGRybV9jcnRjICpjcnRjKQo+ ICAJLyogZHVwbGljYXRlIGJhc2UgaGVscGVyICovCj4gIAlfX2RybV9hdG9taWNfaGVscGVyX2Ny dGNfZHVwbGljYXRlX3N0YXRlKGNydGMsICZjc3RhdGUtPmJhc2UpOwo+ICAKPiAtCV9kcHVfY3J0 Y19ycF9kdXBsaWNhdGUoJm9sZF9jc3RhdGUtPnJwLCAmY3N0YXRlLT5ycCk7Cj4gLQo+ICAJcmV0 dXJuICZjc3RhdGUtPmJhc2U7Cj4gIH0KPiAgCj4gQEAgLTEyNDQsOSArMTA1OSw2IEBAIHN0YXRp YyB2b2lkIGRwdV9jcnRjX3Jlc2V0KHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKPiAgCQlyZXR1cm47 Cj4gIAl9Cj4gIAo+IC0JX2RwdV9jcnRjX3JwX3Jlc2V0KCZjc3RhdGUtPnJwLCAmZHB1X2NydGMt PnJwX2xvY2ssCj4gLQkJCSZkcHVfY3J0Yy0+cnBfaGVhZCk7Cj4gLQo+ICAJY3N0YXRlLT5iYXNl LmNydGMgPSBjcnRjOwo+ICAJY3J0Yy0+c3RhdGUgPSAmY3N0YXRlLT5iYXNlOwo+ICB9Cj4gQEAg LTE2NzksNyArMTQ5MSw2IEBAIHN0YXRpYyBpbnQgZHB1X2NydGNfYXRvbWljX2NoZWNrKHN0cnVj dCBkcm1fY3J0YyAqY3J0YywKPiAgCX0KPiAgCj4gIGVuZDoKPiAtCV9kcHVfY3J0Y19ycF9mcmVl X3VudXNlZCgmY3N0YXRlLT5ycCk7Cj4gIAlrZnJlZShwc3RhdGVzKTsKPiAgCXJldHVybiByYzsK PiAgfQo+IEBAIC0xOTU1LDggKzE3NjYsNiBAQCBzdGF0aWMgaW50IGRwdV9jcnRjX2RlYnVnZnNf c3RhdGVfc2hvdyhzdHJ1Y3Qgc2VxX2ZpbGUgKnMsIHZvaWQgKnYpCj4gIHsKPiAgCXN0cnVjdCBk cm1fY3J0YyAqY3J0YyA9IChzdHJ1Y3QgZHJtX2NydGMgKikgcy0+cHJpdmF0ZTsKPiAgCXN0cnVj dCBkcHVfY3J0YyAqZHB1X2NydGMgPSB0b19kcHVfY3J0YyhjcnRjKTsKPiAtCXN0cnVjdCBkcHVf Y3J0Y19yZXMgKnJlczsKPiAtCXN0cnVjdCBkcHVfY3J0Y19yZXNwb29sICpycDsKPiAgCWludCBp Owo+ICAKPiAgCXNlcV9wcmludGYocywgImNsaWVudCB0eXBlOiAlZFxuIiwgZHB1X2NydGNfZ2V0 X2NsaWVudF90eXBlKGNydGMpKTsKPiBAQCAtMTk3MywxNyArMTc4Miw2IEBAIHN0YXRpYyBpbnQg ZHB1X2NydGNfZGVidWdmc19zdGF0ZV9zaG93KHN0cnVjdCBzZXFfZmlsZSAqcywgdm9pZCAqdikK PiAgCQkJCWRwdV9jcnRjLT5jdXJfcGVyZi5tYXhfcGVyX3BpcGVfaWJbaV0pOwo+ICAJfQo+ICAK PiAtCW11dGV4X2xvY2soJmRwdV9jcnRjLT5ycF9sb2NrKTsKPiAtCWxpc3RfZm9yX2VhY2hfZW50 cnkocnAsICZkcHVfY3J0Yy0+cnBfaGVhZCwgcnBfbGlzdCkgewo+IC0JCXNlcV9wcmludGYocywg InJwLiVkOiAiLCBycC0+c2VxdWVuY2VfaWQpOwo+IC0JCWxpc3RfZm9yX2VhY2hfZW50cnkocmVz LCAmcnAtPnJlc19saXN0LCBsaXN0KQo+IC0JCQlzZXFfcHJpbnRmKHMsICIweCV4LzB4JWxseC8l cEsvJWQgIiwKPiAtCQkJCQlyZXMtPnR5cGUsIHJlcy0+dGFnLCByZXMtPnZhbCwKPiAtCQkJCQlh dG9taWNfcmVhZCgmcmVzLT5yZWZjb3VudCkpOwo+IC0JCXNlcV9wdXRzKHMsICJcbiIpOwo+IC0J fQo+IC0JbXV0ZXhfdW5sb2NrKCZkcHVfY3J0Yy0+cnBfbG9jayk7Cj4gLQo+ICAJcmV0dXJuIDA7 Cj4gIH0KPiAgREVGSU5FX0RQVV9ERUJVR0ZTX1NFUV9GT1BTKGRwdV9jcnRjX2RlYnVnZnNfc3Rh dGUpOwo+IEBAIC0yMTA0LDkgKzE5MDIsNiBAQCBzdHJ1Y3QgZHJtX2NydGMgKmRwdV9jcnRjX2lu aXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgc3RydWN0IGRybV9wbGFuZSAqcGxhbmUpCj4gIAlz cGluX2xvY2tfaW5pdCgmZHB1X2NydGMtPnNwaW5fbG9jayk7Cj4gIAlhdG9taWNfc2V0KCZkcHVf Y3J0Yy0+ZnJhbWVfcGVuZGluZywgMCk7Cj4gIAo+IC0JbXV0ZXhfaW5pdCgmZHB1X2NydGMtPnJw X2xvY2spOwo+IC0JSU5JVF9MSVNUX0hFQUQoJmRwdV9jcnRjLT5ycF9oZWFkKTsKPiAtCj4gIAlp bml0X2NvbXBsZXRpb24oJmRwdV9jcnRjLT5mcmFtZV9kb25lX2NvbXApOwo+ICAKPiAgCUlOSVRf TElTVF9IRUFEKCZkcHVfY3J0Yy0+ZnJhbWVfZXZlbnRfbGlzdCk7Cj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9jcnRjLmggYi9kcml2ZXJzL2dwdS9kcm0v bXNtL2Rpc3AvZHB1MS9kcHVfY3J0Yy5oCj4gaW5kZXggMGU5YWFmYS4uZTg0ZGE3OCAxMDA2NDQK PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfY3J0Yy5oCj4gKysrIGIv ZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2NydGMuaAo+IEBAIC0xNjIsOCArMTYy LDYgQEAgc3RydWN0IGRwdV9jcnRjX2ZyYW1lX2V2ZW50IHsKPiAgICogQHBoYW5kbGU6IFBvaW50 ZXIgdG8gcG93ZXIgaGFuZGxlcgo+ICAgKiBAcG93ZXJfZXZlbnQgICA6IHJlZ2lzdGVyZWQgcG93 ZXIgZXZlbnQgaGFuZGxlCj4gICAqIEBjdXJfcGVyZiAgICAgIDogY3VycmVudCBwZXJmb3JtYW5j ZSBjb21taXR0ZWQgdG8gY2xvY2svYmFuZHdpZHRoIGRyaXZlcgo+IC0gKiBAcnBfbG9jayAgICAg ICA6IHNlcmlhbGl6YXRpb24gbG9jayBmb3IgcmVzb3VyY2UgcG9vbAo+IC0gKiBAcnBfaGVhZCAg ICAgICA6IGxpc3Qgb2YgYWN0aXZlIHJlc291cmNlIHBvb2wKPiAgICovCj4gIHN0cnVjdCBkcHVf Y3J0YyB7Cj4gIAlzdHJ1Y3QgZHJtX2NydGMgYmFzZTsKPiBAQCAtMjEzLDY1ICsyMTEsMTIgQEAg c3RydWN0IGRwdV9jcnRjIHsKPiAgCj4gIAlzdHJ1Y3QgZHB1X2NvcmVfcGVyZl9wYXJhbXMgY3Vy X3BlcmY7Cj4gIAo+IC0Jc3RydWN0IG11dGV4IHJwX2xvY2s7Cj4gLQlzdHJ1Y3QgbGlzdF9oZWFk IHJwX2hlYWQ7Cj4gLQo+ICAJc3RydWN0IGRwdV9jcnRjX3NtbXVfc3RhdGVfZGF0YSBzbW11X3N0 YXRlOwo+ICB9Owo+ICAKPiAgI2RlZmluZSB0b19kcHVfY3J0Yyh4KSBjb250YWluZXJfb2YoeCwg c3RydWN0IGRwdV9jcnRjLCBiYXNlKQo+ICAKPiAgLyoqCj4gLSAqIHN0cnVjdCBkcHVfY3J0Y19y ZXNfb3BzIC0gY29tbW9uIG9wZXJhdGlvbnMgZm9yIGNydGMgcmVzb3VyY2VzCj4gLSAqIEBnZXQ6 IGdldCBnaXZlbiByZXNvdXJjZQo+IC0gKiBAcHV0OiBwdXQgZ2l2ZW4gcmVzb3VyY2UKPiAtICov Cj4gLXN0cnVjdCBkcHVfY3J0Y19yZXNfb3BzIHsKPiAtCXZvaWQgKigqZ2V0KSh2b2lkICp2YWws IHUzMiB0eXBlLCB1NjQgdGFnKTsKPiAtCXZvaWQgKCpwdXQpKHZvaWQgKnZhbCk7Cj4gLX07Cj4g LQo+IC0jZGVmaW5lIERQVV9DUlRDX1JFU19GTEFHX0ZSRUUJCUJJVCgwKQo+IC0KPiAtLyoqCj4g LSAqIHN0cnVjdCBkcHVfY3J0Y19yZXMgLSBkZWZpbml0aW9uIG9mIGNydGMgcmVzb3VyY2VzCj4g LSAqIEBsaXN0OiBsaXN0IG9mIGNydGMgcmVzb3VyY2UKPiAtICogQHR5cGU6IGNydGMgcmVzb3Vy Y2UgdHlwZQo+IC0gKiBAdGFnOiB1bmlxdWUgaWRlbnRpZmllciBwZXIgdHlwZQo+IC0gKiBAcmVm Y291bnQ6IHJlZmVyZW5jZS91c2FnZSBjb3VudAo+IC0gKiBAb3BzOiBjYWxsYmFjayBvcGVyYXRp b25zCj4gLSAqIEB2YWw6IHJlc291cmNlIGhhbmRsZSBhc3NvY2lhdGVkIHdpdGggdHlwZS90YWcK PiAtICogQGZsYWdzOiBjdXN0b21pemF0aW9uIGZsYWdzCj4gLSAqLwo+IC1zdHJ1Y3QgZHB1X2Ny dGNfcmVzIHsKPiAtCXN0cnVjdCBsaXN0X2hlYWQgbGlzdDsKPiAtCXUzMiB0eXBlOwo+IC0JdTY0 IHRhZzsKPiAtCWF0b21pY190IHJlZmNvdW50Owo+IC0Jc3RydWN0IGRwdV9jcnRjX3Jlc19vcHMg b3BzOwo+IC0Jdm9pZCAqdmFsOwo+IC0JdTMyIGZsYWdzOwo+IC19Owo+IC0KPiAtLyoqCj4gLSAq IGRwdV9jcnRjX3Jlc3Bvb2wgLSBjcnRjIHJlc291cmNlIHBvb2wKPiAtICogQHJwX2xvY2s6IHBv aW50ZXIgdG8gc2VyaWFsaXphdGlvbiBsb2NrCj4gLSAqIEBycF9oZWFkOiBwb2ludGVyIHRvIGhl YWQgb2YgYWN0aXZlIHJlc291cmNlIHBvb2xzIG9mIHRoaXMgY3J0Ywo+IC0gKiBAcnBfbGlzdDog bGlzdCBvZiBjcnRjIHJlc291cmNlIHBvb2wKPiAtICogQHNlcXVlbmNlX2lkOiBzZXF1ZW5jZSBp ZGVudGlmaWVyLCBpbmNyZW1lbnRlZCBwZXIgc3RhdGUgZHVwbGljYXRpb24KPiAtICogQHJlc19s aXN0OiBsaXN0IG9mIHJlc291cmNlIG1hbmFnZWQgYnkgdGhpcyByZXNvdXJjZSBwb29sCj4gLSAq IEBvcHM6IHJlc291cmNlIG9wZXJhdGlvbnMgZm9yIHBhcmVudCByZXNvdXJjZSBwb29sCj4gLSAq Lwo+IC1zdHJ1Y3QgZHB1X2NydGNfcmVzcG9vbCB7Cj4gLQlzdHJ1Y3QgbXV0ZXggKnJwX2xvY2s7 Cj4gLQlzdHJ1Y3QgbGlzdF9oZWFkICpycF9oZWFkOwo+IC0Jc3RydWN0IGxpc3RfaGVhZCBycF9s aXN0Owo+IC0JdTMyIHNlcXVlbmNlX2lkOwo+IC0Jc3RydWN0IGxpc3RfaGVhZCByZXNfbGlzdDsK PiAtCXN0cnVjdCBkcHVfY3J0Y19yZXNfb3BzIG9wczsKPiAtfTsKPiAtCj4gLS8qKgo+ICAgKiBz dHJ1Y3QgZHB1X2NydGNfc3RhdGUgLSBkcHUgY29udGFpbmVyIGZvciBhdG9taWMgY3J0YyBzdGF0 ZQo+ICAgKiBAYmFzZTogQmFzZSBkcm0gY3J0YyBzdGF0ZSBzdHJ1Y3R1cmUKPiAgICogQGlzX3Bw c3BsaXQgICAgOiBXaGV0aGVyIGN1cnJlbnQgdG9wb2xvZ3kgcmVxdWlyZXMgUFBTcGxpdCBzcGVj aWFsIGhhbmRsaW5nCj4gQEAgLTI5Niw3ICsyNDEsNiBAQCBzdHJ1Y3QgZHB1X2NydGNfc3RhdGUg ewo+ICAJdWludDY0X3QgaW5wdXRfZmVuY2VfdGltZW91dF9uczsKPiAgCj4gIAlzdHJ1Y3QgZHB1 X2NvcmVfcGVyZl9wYXJhbXMgbmV3X3BlcmY7Cj4gLQlzdHJ1Y3QgZHB1X2NydGNfcmVzcG9vbCBy cDsKPiAgfTsKPiAgCj4gICNkZWZpbmUgdG9fZHB1X2NydGNfc3RhdGUoeCkgXAo+IC0tIAo+IFRo ZSBRdWFsY29tbSBJbm5vdmF0aW9uIENlbnRlciwgSW5jLiBpcyBhIG1lbWJlciBvZiB0aGUgQ29k ZSBBdXJvcmEgRm9ydW0sCj4gYSBMaW51eCBGb3VuZGF0aW9uIENvbGxhYm9yYXRpdmUgUHJvamVj dAo+IAoKLS0gClNlYW4gUGF1bCwgU29mdHdhcmUgRW5naW5lZXIsIEdvb2dsZSAvIENocm9taXVt IE9TCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkZyZWVk cmVubyBtYWlsaW5nIGxpc3QKRnJlZWRyZW5vQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczov L2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ZyZWVkcmVubwo=