From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jordan Crouse Subject: [PATCH 2/5] drm/msm/disp/dpu: Remove unused code from drm_crtc.c Date: Thu, 26 Jul 2018 14:30:11 -0600 Message-ID: <20180726203014.3270-3-jcrouse@codeaurora.org> References: <20180726203014.3270-1-jcrouse@codeaurora.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180726203014.3270-1-jcrouse-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: freedreno-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Cc: linux-arm-msm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, seanpaul-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org, dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org List-Id: linux-arm-msm@vger.kernel.org UmVtb3ZlIGEgY2h1bmsgb2YgdW51c2VkIGNvZGUgZnJvbSBkcm1fY3J0Yy5jLCBuYW1lbHkKZHB1 X2NydGNfcmVzX2FkZCwgZHB1X2NydGNfcmVzX2dldCwgZHB1X2NydGNfcmVzX3B1dAphbmQgYXNz b2NpYXRlZCBzdGF0aWMgZnVuY3Rpb25zLgoKQWxzbyB6YXAgZHB1X2NydGNfZXZlbnRfcXVldWUo KSwgaGVscGVyIGZ1bmN0aW9ucwphbmQgbWVtYmVycy4KClNpZ25lZC1vZmYtYnk6IEpvcmRhbiBD cm91c2UgPGpjcm91c2VAY29kZWF1cm9yYS5vcmc+Ci0tLQogZHJpdmVycy9ncHUvZHJtL21zbS9k aXNwL2RwdTEvZHB1X2NydGMuYyB8IDM4MyArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogZHJpdmVy cy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2NydGMuaCB8ICA2MSAtLS0tCiAyIGZpbGVzIGNo YW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgNDQyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9jcnRjLmMgYi9kcml2ZXJzL2dwdS9kcm0v bXNtL2Rpc3AvZHB1MS9kcHVfY3J0Yy5jCmluZGV4IDdhYzBlMGRkYTg2Ni4uODBjYmY3NWJjMmZm IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfY3J0Yy5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9jcnRjLmMKQEAgLTI4MCwyODkg KzI4MCw2IEBAIHN0YXRpYyB2b2lkIF9kcHVfY3J0Y19ycF9yZXNldChzdHJ1Y3QgZHB1X2NydGNf cmVzcG9vbCAqcnAsCiAJbXV0ZXhfdW5sb2NrKHJwX2xvY2spOwogfQogCi0vKioKLSAqIF9kcHVf Y3J0Y19ycF9hZGRfbm9fbG9jayAtIGFkZCBnaXZlbiByZXNvdXJjZSB0byByZXNvdXJjZSBwb29s IHdpdGhvdXQgbG9jawotICogQHJwOiBQb2ludGVyIHRvIG9yaWdpbmFsIHJlc291cmNlIHBvb2wK LSAqIEB0eXBlOiBSZXNvdXJjZSB0eXBlCi0gKiBAdGFnOiBTZWFyY2ggdGFnIGZvciBnaXZlbiBy ZXNvdXJjZQotICogQHZhbDogUmVzb3VyY2UgaGFuZGxlCi0gKiBAb3BzOiBSZXNvdXJjZSBjYWxs YmFjayBvcGVyYXRpb25zCi0gKiByZXR1cm46IDAgaWYgc3VjY2VzczsgZXJyb3IgY29kZSBvdGhl cndpc2UKLSAqLwotc3RhdGljIGludCBfZHB1X2NydGNfcnBfYWRkX25vX2xvY2soc3RydWN0IGRw dV9jcnRjX3Jlc3Bvb2wgKnJwLCB1MzIgdHlwZSwKLQkJdTY0IHRhZywgdm9pZCAqdmFsLCBzdHJ1 Y3QgZHB1X2NydGNfcmVzX29wcyAqb3BzKQotewotCXN0cnVjdCBkcHVfY3J0Y19yZXMgKnJlczsK LQlzdHJ1Y3QgZHJtX2NydGMgKmNydGM7Ci0KLQlpZiAoIXJwIHx8ICFvcHMpIHsKLQkJRFBVX0VS Uk9SKCJpbnZhbGlkIHJlc291cmNlIHBvb2wvb3BzXG4iKTsKLQkJcmV0dXJuIC1FSU5WQUw7Ci0J fQotCi0JY3J0YyA9IF9kcHVfY3J0Y19ycF90b19jcnRjKHJwKTsKLQlpZiAoIWNydGMpIHsKLQkJ RFBVX0VSUk9SKCJpbnZhbGlkIGNydGNcbiIpOwotCQlyZXR1cm4gLUVJTlZBTDsKLQl9Ci0KLQls aXN0X2Zvcl9lYWNoX2VudHJ5KHJlcywgJnJwLT5yZXNfbGlzdCwgbGlzdCkgewotCQlpZiAocmVz LT50eXBlICE9IHR5cGUgfHwgcmVzLT50YWcgIT0gdGFnKQotCQkJY29udGludWU7Ci0JCURQVV9F UlJPUigiY3J0YyVkLiV1IGFscmVhZHkgZXhpc3QgcmVzOjB4JXgvMHglbGx4LyVwSy8lZFxuIiwK LQkJCQljcnRjLT5iYXNlLmlkLCBycC0+c2VxdWVuY2VfaWQsCi0JCQkJcmVzLT50eXBlLCByZXMt PnRhZywgcmVzLT52YWwsCi0JCQkJYXRvbWljX3JlYWQoJnJlcy0+cmVmY291bnQpKTsKLQkJcmV0 dXJuIC1FRVhJU1Q7Ci0JfQotCXJlcyA9IGt6YWxsb2Moc2l6ZW9mKHN0cnVjdCBkcHVfY3J0Y19y ZXMpLCBHRlBfS0VSTkVMKTsKLQlpZiAoIXJlcykKLQkJcmV0dXJuIC1FTk9NRU07Ci0JSU5JVF9M SVNUX0hFQUQoJnJlcy0+bGlzdCk7Ci0JYXRvbWljX3NldCgmcmVzLT5yZWZjb3VudCwgMSk7Ci0J cmVzLT50eXBlID0gdHlwZTsKLQlyZXMtPnRhZyA9IHRhZzsKLQlyZXMtPnZhbCA9IHZhbDsKLQly ZXMtPm9wcyA9ICpvcHM7Ci0JbGlzdF9hZGRfdGFpbCgmcmVzLT5saXN0LCAmcnAtPnJlc19saXN0 KTsKLQlEUFVfREVCVUcoImNydGMlZC4ldSBhZGRlZCByZXM6MHgleC8weCVsbHhcbiIsCi0JCQlj cnRjLT5iYXNlLmlkLCBycC0+c2VxdWVuY2VfaWQsIHR5cGUsIHRhZyk7Ci0JcmV0dXJuIDA7Ci19 Ci0KLS8qKgotICogX2RwdV9jcnRjX3JwX2FkZCAtIGFkZCBnaXZlbiByZXNvdXJjZSB0byByZXNv dXJjZSBwb29sCi0gKiBAcnA6IFBvaW50ZXIgdG8gb3JpZ2luYWwgcmVzb3VyY2UgcG9vbAotICog QHR5cGU6IFJlc291cmNlIHR5cGUKLSAqIEB0YWc6IFNlYXJjaCB0YWcgZm9yIGdpdmVuIHJlc291 cmNlCi0gKiBAdmFsOiBSZXNvdXJjZSBoYW5kbGUKLSAqIEBvcHM6IFJlc291cmNlIGNhbGxiYWNr IG9wZXJhdGlvbnMKLSAqIHJldHVybjogMCBpZiBzdWNjZXNzOyBlcnJvciBjb2RlIG90aGVyd2lz ZQotICovCi1zdGF0aWMgaW50IF9kcHVfY3J0Y19ycF9hZGQoc3RydWN0IGRwdV9jcnRjX3Jlc3Bv b2wgKnJwLCB1MzIgdHlwZSwgdTY0IHRhZywKLQkJdm9pZCAqdmFsLCBzdHJ1Y3QgZHB1X2NydGNf cmVzX29wcyAqb3BzKQotewotCWludCByYzsKLQotCWlmICghcnApIHsKLQkJRFBVX0VSUk9SKCJp bnZhbGlkIHJlc291cmNlIHBvb2xcbiIpOwotCQlyZXR1cm4gLUVJTlZBTDsKLQl9Ci0KLQltdXRl eF9sb2NrKHJwLT5ycF9sb2NrKTsKLQlyYyA9IF9kcHVfY3J0Y19ycF9hZGRfbm9fbG9jayhycCwg dHlwZSwgdGFnLCB2YWwsIG9wcyk7Ci0JbXV0ZXhfdW5sb2NrKHJwLT5ycF9sb2NrKTsKLQlyZXR1 cm4gcmM7Ci19Ci0KLS8qKgotICogX2RwdV9jcnRjX3JwX2dldCAtIGxvb2t1cCB0aGUgcmVzb3Vy Y2UgZnJvbSBnaXZlbiByZXNvdXJjZSBwb29sIGFuZCBvYnRhaW4KLSAqCWlmIGF2YWlsYWJsZTsg b3RoZXJ3aXNlLCBvYnRhaW4gcmVzb3VyY2UgZnJvbSBnbG9iYWwgcG9vbAotICogQHJwOiBQb2lu dGVyIHRvIG9yaWdpbmFsIHJlc291cmNlIHBvb2wKLSAqIEB0eXBlOiBSZXNvdXJjZSB0eXBlCi0g KiBAdGFnOiAgU2VhcmNoIHRhZyBmb3IgZ2l2ZW4gcmVzb3VyY2UKLSAqIHJldHVybjogUmVzb3Vy Y2UgaGFuZGxlIGlmIHN1Y2Nlc3M7IHBvaW50ZXIgZXJyb3Igb3IgbnVsbCBvdGhlcndpc2UKLSAq Lwotc3RhdGljIHZvaWQgKl9kcHVfY3J0Y19ycF9nZXQoc3RydWN0IGRwdV9jcnRjX3Jlc3Bvb2wg KnJwLCB1MzIgdHlwZSwgdTY0IHRhZykKLXsKLQlzdHJ1Y3QgZHB1X2NydGNfcmVzcG9vbCAqb2xk X3JwOwotCXN0cnVjdCBkcHVfY3J0Y19yZXMgKnJlczsKLQl2b2lkICp2YWwgPSBOVUxMOwotCWlu dCByYzsKLQlzdHJ1Y3QgZHJtX2NydGMgKmNydGM7Ci0KLQlpZiAoIXJwKSB7Ci0JCURQVV9FUlJP UigiaW52YWxpZCByZXNvdXJjZSBwb29sXG4iKTsKLQkJcmV0dXJuIE5VTEw7Ci0JfQotCi0JY3J0 YyA9IF9kcHVfY3J0Y19ycF90b19jcnRjKHJwKTsKLQlpZiAoIWNydGMpIHsKLQkJRFBVX0VSUk9S KCJpbnZhbGlkIGNydGNcbiIpOwotCQlyZXR1cm4gTlVMTDsKLQl9Ci0KLQltdXRleF9sb2NrKHJw LT5ycF9sb2NrKTsKLQlsaXN0X2Zvcl9lYWNoX2VudHJ5KHJlcywgJnJwLT5yZXNfbGlzdCwgbGlz dCkgewotCQlpZiAocmVzLT50eXBlICE9IHR5cGUgfHwgcmVzLT50YWcgIT0gdGFnKQotCQkJY29u dGludWU7Ci0JCURQVV9ERUJVRygiY3J0YyVkLiV1IGZvdW5kIHJlczoweCV4LzB4JWxseC8lcEsv JWRcbiIsCi0JCQkJY3J0Yy0+YmFzZS5pZCwgcnAtPnNlcXVlbmNlX2lkLAotCQkJCXJlcy0+dHlw ZSwgcmVzLT50YWcsIHJlcy0+dmFsLAotCQkJCWF0b21pY19yZWFkKCZyZXMtPnJlZmNvdW50KSk7 Ci0JCWF0b21pY19pbmMoJnJlcy0+cmVmY291bnQpOwotCQlyZXMtPmZsYWdzICY9IH5EUFVfQ1JU Q19SRVNfRkxBR19GUkVFOwotCQltdXRleF91bmxvY2socnAtPnJwX2xvY2spOwotCQlyZXR1cm4g cmVzLT52YWw7Ci0JfQotCWxpc3RfZm9yX2VhY2hfZW50cnkocmVzLCAmcnAtPnJlc19saXN0LCBs aXN0KSB7Ci0JCWlmIChyZXMtPnR5cGUgIT0gdHlwZSB8fCAhKHJlcy0+ZmxhZ3MgJiBEUFVfQ1JU Q19SRVNfRkxBR19GUkVFKSkKLQkJCWNvbnRpbnVlOwotCQlEUFVfREVCVUcoImNydGMlZC4ldSBy ZXRhZyByZXM6MHgleC8weCVsbHgvJXBLLyVkXG4iLAotCQkJCWNydGMtPmJhc2UuaWQsIHJwLT5z ZXF1ZW5jZV9pZCwKLQkJCQlyZXMtPnR5cGUsIHJlcy0+dGFnLCByZXMtPnZhbCwKLQkJCQlhdG9t aWNfcmVhZCgmcmVzLT5yZWZjb3VudCkpOwotCQlhdG9taWNfaW5jKCZyZXMtPnJlZmNvdW50KTsK LQkJcmVzLT50YWcgPSB0YWc7Ci0JCXJlcy0+ZmxhZ3MgJj0gfkRQVV9DUlRDX1JFU19GTEFHX0ZS RUU7Ci0JCW11dGV4X3VubG9jayhycC0+cnBfbG9jayk7Ci0JCXJldHVybiByZXMtPnZhbDsKLQl9 Ci0JLyogbm90IGluIHRoaXMgcnAsIHRyeSB0byBncmFiIGZyb20gZ2xvYmFsIHBvb2wgKi8KLQlp ZiAocnAtPm9wcy5nZXQpCi0JCXZhbCA9IHJwLT5vcHMuZ2V0KE5VTEwsIHR5cGUsIC0xKTsKLQlp ZiAoIUlTX0VSUl9PUl9OVUxMKHZhbCkpCi0JCWdvdG8gYWRkX3JlczsKLQkvKgotCSAqIFNlYXJj aCBvbGRlciByZXNvdXJjZSBwb29scyBmb3IgaHcgYmxrIHdpdGggbWF0Y2hpbmcgdHlwZSwKLQkg KiBuZWNlc3Nhcnkgd2hlbiByZXNvdXJjZSBpcyBiZWluZyB1c2VkIGJ5IHRoaXMgb2JqZWN0LAot CSAqIGJ1dCBpbiBwcmV2aW91cyBzdGF0ZXMgbm90IHlldCBjbGVhbmVkIHVwLgotCSAqCi0JICog VGhpcyBlbmFibGVzIHNlYXJjaGluZyBvZiBhbGwgcmVzb3VyY2VzIGN1cnJlbnRseSBvd25lZAot CSAqIGJ5IHRoaXMgY3J0YyBldmVuIHRob3VnaCB0aGUgcmVzb3VyY2UgbWlnaHQgbm90IGJlIHVz ZWQKLQkgKiBpbiB0aGUgY3VycmVudCBhdG9taWMgc3RhdGUuIFRoaXMgYWxsb3dzIHRob3NlIHJl c291cmNlcwotCSAqIHRvIGJlIHJlLWFjcXVpcmVkIGJ5IHRoZSBuZXcgYXRvbWljIHN0YXRlIGlt bWVkaWF0ZWx5Ci0JICogd2l0aG91dCB3YWl0aW5nIGZvciB0aGUgcmVzb3VyY2VzIHRvIGJlIGZ1 bGx5IHJlbGVhc2VkLgotCSAqLwotCWVsc2UgaWYgKElTX0VSUl9PUl9OVUxMKHZhbCkgJiYgKHR5 cGUgPCBEUFVfSFdfQkxLX01BWCkpIHsKLQkJbGlzdF9mb3JfZWFjaF9lbnRyeShvbGRfcnAsIHJw LT5ycF9oZWFkLCBycF9saXN0KSB7Ci0JCQlpZiAob2xkX3JwID09IHJwKQotCQkJCWNvbnRpbnVl OwotCi0JCQlsaXN0X2Zvcl9lYWNoX2VudHJ5KHJlcywgJm9sZF9ycC0+cmVzX2xpc3QsIGxpc3Qp IHsKLQkJCQlpZiAocmVzLT50eXBlICE9IHR5cGUpCi0JCQkJCWNvbnRpbnVlOwotCQkJCURSTV9E RUJVR19LTVMoImNydGMlZC4ldSBmb3VuZCByZXM6MHgleC8vJXBLLyAiCi0JCQkJCSAgICAgICJp biBjcnRjJWQuJWRcbiIsCi0JCQkJCSAgICAgIGNydGMtPmJhc2UuaWQsIHJwLT5zZXF1ZW5jZV9p ZCwKLQkJCQkJICAgICAgcmVzLT50eXBlLCByZXMtPnZhbCwKLQkJCQkJICAgICAgY3J0Yy0+YmFz ZS5pZCwKLQkJCQkJICAgICAgb2xkX3JwLT5zZXF1ZW5jZV9pZCk7Ci0JCQkJaWYgKHJlcy0+b3Bz LmdldCkKLQkJCQkJcmVzLT5vcHMuZ2V0KHJlcy0+dmFsLCAwLCAtMSk7Ci0JCQkJdmFsID0gcmVz LT52YWw7Ci0JCQkJYnJlYWs7Ci0JCQl9Ci0KLQkJCWlmICghSVNfRVJSX09SX05VTEwodmFsKSkK LQkJCQlicmVhazsKLQkJfQotCX0KLQlpZiAoSVNfRVJSX09SX05VTEwodmFsKSkgewotCQlEUFVf REVCVUcoImNydGMlZC4ldSBmYWlsZWQgdG8gZ2V0IHJlczoweCV4Ly9cbiIsCi0JCQkJY3J0Yy0+ YmFzZS5pZCwgcnAtPnNlcXVlbmNlX2lkLCB0eXBlKTsKLQkJbXV0ZXhfdW5sb2NrKHJwLT5ycF9s b2NrKTsKLQkJcmV0dXJuIE5VTEw7Ci0JfQotYWRkX3JlczoKLQlyYyA9IF9kcHVfY3J0Y19ycF9h ZGRfbm9fbG9jayhycCwgdHlwZSwgdGFnLCB2YWwsICZycC0+b3BzKTsKLQlpZiAocmMpIHsKLQkJ RFBVX0VSUk9SKCJjcnRjJWQuJXUgZmFpbGVkIHRvIGFkZCByZXM6MHgleC8weCVsbHhcbiIsCi0J CQkJY3J0Yy0+YmFzZS5pZCwgcnAtPnNlcXVlbmNlX2lkLCB0eXBlLCB0YWcpOwotCQlpZiAocnAt Pm9wcy5wdXQpCi0JCQlycC0+b3BzLnB1dCh2YWwpOwotCQl2YWwgPSBOVUxMOwotCX0KLQltdXRl eF91bmxvY2socnAtPnJwX2xvY2spOwotCXJldHVybiB2YWw7Ci19Ci0KLS8qKgotICogX2RwdV9j cnRjX3JwX3B1dCAtIHJldHVybiBnaXZlbiByZXNvdXJjZSB0byByZXNvdXJjZSBwb29sCi0gKiBA cnA6IFBvaW50ZXIgdG8gb3JpZ2luYWwgcmVzb3VyY2UgcG9vbAotICogQHR5cGU6IFJlc291cmNl IHR5cGUKLSAqIEB0YWc6IFNlYXJjaCB0YWcgZm9yIGdpdmVuIHJlc291cmNlCi0gKiByZXR1cm46 IE5vbmUKLSAqLwotc3RhdGljIHZvaWQgX2RwdV9jcnRjX3JwX3B1dChzdHJ1Y3QgZHB1X2NydGNf cmVzcG9vbCAqcnAsIHUzMiB0eXBlLCB1NjQgdGFnKQotewotCXN0cnVjdCBkcHVfY3J0Y19yZXMg KnJlcywgKm5leHQ7Ci0Jc3RydWN0IGRybV9jcnRjICpjcnRjOwotCi0JaWYgKCFycCkgewotCQlE UFVfRVJST1IoImludmFsaWQgcmVzb3VyY2UgcG9vbFxuIik7Ci0JCXJldHVybjsKLQl9Ci0KLQlj cnRjID0gX2RwdV9jcnRjX3JwX3RvX2NydGMocnApOwotCWlmICghY3J0YykgewotCQlEUFVfRVJS T1IoImludmFsaWQgY3J0Y1xuIik7Ci0JCXJldHVybjsKLQl9Ci0KLQltdXRleF9sb2NrKHJwLT5y cF9sb2NrKTsKLQlsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUocmVzLCBuZXh0LCAmcnAtPnJlc19s aXN0LCBsaXN0KSB7Ci0JCWlmIChyZXMtPnR5cGUgIT0gdHlwZSB8fCByZXMtPnRhZyAhPSB0YWcp Ci0JCQljb250aW51ZTsKLQkJRFBVX0RFQlVHKCJjcnRjJWQuJXUgZm91bmQgcmVzOjB4JXgvMHgl bGx4LyVwSy8lZFxuIiwKLQkJCQljcnRjLT5iYXNlLmlkLCBycC0+c2VxdWVuY2VfaWQsCi0JCQkJ cmVzLT50eXBlLCByZXMtPnRhZywgcmVzLT52YWwsCi0JCQkJYXRvbWljX3JlYWQoJnJlcy0+cmVm Y291bnQpKTsKLQkJaWYgKHJlcy0+ZmxhZ3MgJiBEUFVfQ1JUQ19SRVNfRkxBR19GUkVFKQotCQkJ RFBVX0VSUk9SKAotCQkJCSJjcnRjJWQuJXUgYWxyZWFkeSBmcmVlIHJlczoweCV4LzB4JWxseC8l cEsvJWRcbiIsCi0JCQkJCWNydGMtPmJhc2UuaWQsIHJwLT5zZXF1ZW5jZV9pZCwKLQkJCQkJcmVz LT50eXBlLCByZXMtPnRhZywgcmVzLT52YWwsCi0JCQkJCWF0b21pY19yZWFkKCZyZXMtPnJlZmNv dW50KSk7Ci0JCWVsc2UgaWYgKGF0b21pY19kZWNfcmV0dXJuKCZyZXMtPnJlZmNvdW50KSA9PSAw KQotCQkJcmVzLT5mbGFncyB8PSBEUFVfQ1JUQ19SRVNfRkxBR19GUkVFOwotCi0JCW11dGV4X3Vu bG9jayhycC0+cnBfbG9jayk7Ci0JCXJldHVybjsKLQl9Ci0JRFBVX0VSUk9SKCJjcnRjJWQuJXUg bm90IGZvdW5kIHJlczoweCV4LzB4JWxseFxuIiwKLQkJCWNydGMtPmJhc2UuaWQsIHJwLT5zZXF1 ZW5jZV9pZCwgdHlwZSwgdGFnKTsKLQltdXRleF91bmxvY2socnAtPnJwX2xvY2spOwotfQotCi1p bnQgZHB1X2NydGNfcmVzX2FkZChzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKnN0YXRlLCB1MzIgdHlw ZSwgdTY0IHRhZywKLQkJdm9pZCAqdmFsLCBzdHJ1Y3QgZHB1X2NydGNfcmVzX29wcyAqb3BzKQot ewotCXN0cnVjdCBkcHVfY3J0Y19yZXNwb29sICpycDsKLQotCWlmICghc3RhdGUpIHsKLQkJRFBV X0VSUk9SKCJpbnZhbGlkIHBhcmFtZXRlcnNcbiIpOwotCQlyZXR1cm4gLUVJTlZBTDsKLQl9Ci0K LQlycCA9ICZ0b19kcHVfY3J0Y19zdGF0ZShzdGF0ZSktPnJwOwotCXJldHVybiBfZHB1X2NydGNf cnBfYWRkKHJwLCB0eXBlLCB0YWcsIHZhbCwgb3BzKTsKLX0KLQotdm9pZCAqZHB1X2NydGNfcmVz X2dldChzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKnN0YXRlLCB1MzIgdHlwZSwgdTY0IHRhZykKLXsK LQlzdHJ1Y3QgZHB1X2NydGNfcmVzcG9vbCAqcnA7Ci0Jdm9pZCAqdmFsOwotCi0JaWYgKCFzdGF0 ZSkgewotCQlEUFVfRVJST1IoImludmFsaWQgcGFyYW1ldGVyc1xuIik7Ci0JCXJldHVybiBOVUxM OwotCX0KLQotCXJwID0gJnRvX2RwdV9jcnRjX3N0YXRlKHN0YXRlKS0+cnA7Ci0JdmFsID0gX2Rw dV9jcnRjX3JwX2dldChycCwgdHlwZSwgdGFnKTsKLQlpZiAoSVNfRVJSKHZhbCkpIHsKLQkJRFBV X0VSUk9SKCJmYWlsZWQgdG8gZ2V0IHJlcyB0eXBlOjB4JXg6MHglbGx4XG4iLAotCQkJCXR5cGUs IHRhZyk7Ci0JCXJldHVybiBOVUxMOwotCX0KLQotCXJldHVybiB2YWw7Ci19Ci0KLXZvaWQgZHB1 X2NydGNfcmVzX3B1dChzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKnN0YXRlLCB1MzIgdHlwZSwgdTY0 IHRhZykKLXsKLQlzdHJ1Y3QgZHB1X2NydGNfcmVzcG9vbCAqcnA7Ci0KLQlpZiAoIXN0YXRlKSB7 Ci0JCURQVV9FUlJPUigiaW52YWxpZCBwYXJhbWV0ZXJzXG4iKTsKLQkJcmV0dXJuOwotCX0KLQot CXJwID0gJnRvX2RwdV9jcnRjX3N0YXRlKHN0YXRlKS0+cnA7Ci0JX2RwdV9jcnRjX3JwX3B1dChy cCwgdHlwZSwgdGFnKTsKLX0KLQogc3RhdGljIHZvaWQgZHB1X2NydGNfZGVzdHJveShzdHJ1Y3Qg ZHJtX2NydGMgKmNydGMpCiB7CiAJc3RydWN0IGRwdV9jcnRjICpkcHVfY3J0YyA9IHRvX2RwdV9j cnRjKGNydGMpOwpAQCAtMjM2NCw5NyArMjA4MSw2IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJt X2NydGNfaGVscGVyX2Z1bmNzIGRwdV9jcnRjX2hlbHBlcl9mdW5jcyA9IHsKIAkuYXRvbWljX2Zs dXNoID0gZHB1X2NydGNfYXRvbWljX2ZsdXNoLAogfTsKIAotc3RhdGljIHZvaWQgX2RwdV9jcnRj X2V2ZW50X2NiKHN0cnVjdCBrdGhyZWFkX3dvcmsgKndvcmspCi17Ci0Jc3RydWN0IGRwdV9jcnRj X2V2ZW50ICpldmVudDsKLQlzdHJ1Y3QgZHB1X2NydGMgKmRwdV9jcnRjOwotCXVuc2lnbmVkIGxv bmcgaXJxX2ZsYWdzOwotCi0JaWYgKCF3b3JrKSB7Ci0JCURQVV9FUlJPUigiaW52YWxpZCB3b3Jr IGl0ZW1cbiIpOwotCQlyZXR1cm47Ci0JfQotCi0JZXZlbnQgPSBjb250YWluZXJfb2Yod29yaywg c3RydWN0IGRwdV9jcnRjX2V2ZW50LCBrdF93b3JrKTsKLQotCS8qIHNldCBkcHVfY3J0YyB0byBO VUxMIGZvciBzdGF0aWMgd29yayBzdHJ1Y3R1cmVzICovCi0JZHB1X2NydGMgPSBldmVudC0+ZHB1 X2NydGM7Ci0JaWYgKCFkcHVfY3J0YykKLQkJcmV0dXJuOwotCi0JaWYgKGV2ZW50LT5jYl9mdW5j KQotCQlldmVudC0+Y2JfZnVuYygmZHB1X2NydGMtPmJhc2UsIGV2ZW50LT51c3IpOwotCi0Jc3Bp bl9sb2NrX2lycXNhdmUoJmRwdV9jcnRjLT5ldmVudF9sb2NrLCBpcnFfZmxhZ3MpOwotCWxpc3Rf YWRkX3RhaWwoJmV2ZW50LT5saXN0LCAmZHB1X2NydGMtPmV2ZW50X2ZyZWVfbGlzdCk7Ci0Jc3Bp bl91bmxvY2tfaXJxcmVzdG9yZSgmZHB1X2NydGMtPmV2ZW50X2xvY2ssIGlycV9mbGFncyk7Ci19 Ci0KLWludCBkcHVfY3J0Y19ldmVudF9xdWV1ZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCi0JCXZv aWQgKCpmdW5jKShzdHJ1Y3QgZHJtX2NydGMgKmNydGMsIHZvaWQgKnVzciksIHZvaWQgKnVzcikK LXsKLQl1bnNpZ25lZCBsb25nIGlycV9mbGFnczsKLQlzdHJ1Y3QgZHB1X2NydGMgKmRwdV9jcnRj OwotCXN0cnVjdCBtc21fZHJtX3ByaXZhdGUgKnByaXY7Ci0Jc3RydWN0IGRwdV9jcnRjX2V2ZW50 ICpldmVudCA9IE5VTEw7Ci0JdTMyIGNydGNfaWQ7Ci0KLQlpZiAoIWNydGMgfHwgIWNydGMtPmRl diB8fCAhY3J0Yy0+ZGV2LT5kZXZfcHJpdmF0ZSB8fCAhZnVuYykgewotCQlEUFVfRVJST1IoImlu dmFsaWQgcGFyYW1ldGVyc1xuIik7Ci0JCXJldHVybiAtRUlOVkFMOwotCX0KLQlkcHVfY3J0YyA9 IHRvX2RwdV9jcnRjKGNydGMpOwotCXByaXYgPSBjcnRjLT5kZXYtPmRldl9wcml2YXRlOwotCWNy dGNfaWQgPSBkcm1fY3J0Y19pbmRleChjcnRjKTsKLQotCS8qCi0JICogT2J0YWluIGFuIGV2ZW50 IHN0cnVjdCBmcm9tIHRoZSBwcml2YXRlIGNhY2hlLiBUaGlzIGV2ZW50Ci0JICogcXVldWUgbWF5 IGJlIGNhbGxlZCBmcm9tIElTUiBjb250ZXh0cywgc28gdXNlIGEgcHJpdmF0ZQotCSAqIGNhY2hl IHRvIGF2b2lkIGNhbGxpbmcgYW55IG1lbW9yeSBhbGxvY2F0aW9uIGZ1bmN0aW9ucy4KLQkgKi8K LQlzcGluX2xvY2tfaXJxc2F2ZSgmZHB1X2NydGMtPmV2ZW50X2xvY2ssIGlycV9mbGFncyk7Ci0J aWYgKCFsaXN0X2VtcHR5KCZkcHVfY3J0Yy0+ZXZlbnRfZnJlZV9saXN0KSkgewotCQlldmVudCA9 IGxpc3RfZmlyc3RfZW50cnkoJmRwdV9jcnRjLT5ldmVudF9mcmVlX2xpc3QsCi0JCQkJc3RydWN0 IGRwdV9jcnRjX2V2ZW50LCBsaXN0KTsKLQkJbGlzdF9kZWxfaW5pdCgmZXZlbnQtPmxpc3QpOwot CX0KLQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZkcHVfY3J0Yy0+ZXZlbnRfbG9jaywgaXJxX2Zs YWdzKTsKLQotCWlmICghZXZlbnQpCi0JCXJldHVybiAtRU5PTUVNOwotCi0JLyogcG9wdWxhdGUg ZXZlbnQgbm9kZSAqLwotCWV2ZW50LT5kcHVfY3J0YyA9IGRwdV9jcnRjOwotCWV2ZW50LT5jYl9m dW5jID0gZnVuYzsKLQlldmVudC0+dXNyID0gdXNyOwotCi0JLyogcXVldWUgbmV3IGV2ZW50IHJl cXVlc3QgKi8KLQlrdGhyZWFkX2luaXRfd29yaygmZXZlbnQtPmt0X3dvcmssIF9kcHVfY3J0Y19l dmVudF9jYik7Ci0Ja3RocmVhZF9xdWV1ZV93b3JrKCZwcml2LT5ldmVudF90aHJlYWRbY3J0Y19p ZF0ud29ya2VyLAotCQkJJmV2ZW50LT5rdF93b3JrKTsKLQotCXJldHVybiAwOwotfQotCi1zdGF0 aWMgaW50IF9kcHVfY3J0Y19pbml0X2V2ZW50cyhzdHJ1Y3QgZHB1X2NydGMgKmRwdV9jcnRjKQot ewotCWludCBpLCByYyA9IDA7Ci0KLQlpZiAoIWRwdV9jcnRjKSB7Ci0JCURQVV9FUlJPUigiaW52 YWxpZCBjcnRjXG4iKTsKLQkJcmV0dXJuIC1FSU5WQUw7Ci0JfQotCi0Jc3Bpbl9sb2NrX2luaXQo JmRwdV9jcnRjLT5ldmVudF9sb2NrKTsKLQotCUlOSVRfTElTVF9IRUFEKCZkcHVfY3J0Yy0+ZXZl bnRfZnJlZV9saXN0KTsKLQlmb3IgKGkgPSAwOyBpIDwgRFBVX0NSVENfTUFYX0VWRU5UX0NPVU5U OyArK2kpCi0JCWxpc3RfYWRkX3RhaWwoJmRwdV9jcnRjLT5ldmVudF9jYWNoZVtpXS5saXN0LAot CQkJCSZkcHVfY3J0Yy0+ZXZlbnRfZnJlZV9saXN0KTsKLQotCXJldHVybiByYzsKLX0KLQogLyog aW5pdGlhbGl6ZSBjcnRjICovCiBzdHJ1Y3QgZHJtX2NydGMgKmRwdV9jcnRjX2luaXQoc3RydWN0 IGRybV9kZXZpY2UgKmRldiwgc3RydWN0IGRybV9wbGFuZSAqcGxhbmUpCiB7CkBAIC0yNDYyLDcg KzIwODgsNyBAQCBzdHJ1Y3QgZHJtX2NydGMgKmRwdV9jcnRjX2luaXQoc3RydWN0IGRybV9kZXZp Y2UgKmRldiwgc3RydWN0IGRybV9wbGFuZSAqcGxhbmUpCiAJc3RydWN0IGRwdV9jcnRjICpkcHVf Y3J0YyA9IE5VTEw7CiAJc3RydWN0IG1zbV9kcm1fcHJpdmF0ZSAqcHJpdiA9IE5VTEw7CiAJc3Ry dWN0IGRwdV9rbXMgKmttcyA9IE5VTEw7Ci0JaW50IGksIHJjOworCWludCBpOwogCiAJcHJpdiA9 IGRldi0+ZGV2X3ByaXZhdGU7CiAJa21zID0gdG9fZHB1X2ttcyhwcml2LT5rbXMpOwpAQCAtMjUw MywxMiArMjEyOSw3IEBAIHN0cnVjdCBkcm1fY3J0YyAqZHB1X2NydGNfaW5pdChzdHJ1Y3QgZHJt X2RldmljZSAqZGV2LCBzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSkKIAlzbnByaW50ZihkcHVfY3J0 Yy0+bmFtZSwgRFBVX0NSVENfTkFNRV9TSVpFLCAiY3J0YyV1IiwgY3J0Yy0+YmFzZS5pZCk7CiAK IAkvKiBpbml0aWFsaXplIGV2ZW50IGhhbmRsaW5nICovCi0JcmMgPSBfZHB1X2NydGNfaW5pdF9l dmVudHMoZHB1X2NydGMpOwotCWlmIChyYykgewotCQlkcm1fY3J0Y19jbGVhbnVwKGNydGMpOwot CQlrZnJlZShkcHVfY3J0Yyk7Ci0JCXJldHVybiBFUlJfUFRSKHJjKTsKLQl9CisJc3Bpbl9sb2Nr X2luaXQoJmRwdV9jcnRjLT5ldmVudF9sb2NrKTsKIAogCWRwdV9jcnRjLT5waGFuZGxlID0gJmtt cy0+cGhhbmRsZTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEv ZHB1X2NydGMuaCBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9jcnRjLmgKaW5k ZXggNGE5N2JhMTY3MzVmLi5lODcxMDllNjA4ZTkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9tc20vZGlzcC9kcHUxL2RwdV9jcnRjLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNw L2RwdTEvZHB1X2NydGMuaApAQCAtMTEyLDIzICsxMTIsNiBAQCBzdHJ1Y3QgZHB1X2NydGNfZnJh bWVfZXZlbnQgewogCXUzMiBldmVudDsKIH07CiAKLS8qKgotICogc3RydWN0IGRwdV9jcnRjX2V2 ZW50IC0gZXZlbnQgY2FsbGJhY2sgdHJhY2tpbmcgc3RydWN0dXJlCi0gKiBAbGlzdDogICAgIExp bmtlZCBsaXN0IHRyYWNraW5nIG5vZGUKLSAqIEBrdF93b3JrOiAgS3RocmVhZCB3b3JrZXIgc3Ry dWN0dXJlCi0gKiBAZHB1X2NydGM6IFBvaW50ZXIgdG8gYXNzb2NpYXRlZCBkcHVfY3J0YyBzdHJ1 Y3R1cmUKLSAqIEBjYl9mdW5jOiAgUG9pbnRlciB0byBjYWxsYmFjayBmdW5jdGlvbgotICogQHVz cjogICAgICBQb2ludGVyIHRvIHVzZXIgZGF0YSB0byBiZSBwcm92aWRlZCB0byB0aGUgY2FsbGJh Y2sKLSAqLwotc3RydWN0IGRwdV9jcnRjX2V2ZW50IHsKLQlzdHJ1Y3QgbGlzdF9oZWFkIGxpc3Q7 Ci0Jc3RydWN0IGt0aHJlYWRfd29yayBrdF93b3JrOwotCXZvaWQgKmRwdV9jcnRjOwotCi0Jdm9p ZCAoKmNiX2Z1bmMpKHN0cnVjdCBkcm1fY3J0YyAqY3J0Yywgdm9pZCAqdXNyKTsKLQl2b2lkICp1 c3I7Ci19OwotCiAvKgogICogTWF4aW11bSBudW1iZXIgb2YgZnJlZSBldmVudCBzdHJ1Y3R1cmVz IHRvIGNhY2hlCiAgKi8KQEAgLTE3Miw4ICsxNTUsNiBAQCBzdHJ1Y3QgZHB1X2NydGNfZXZlbnQg ewogICogQGZyYW1lX2RvbmVfY29tcCAgICA6IGZvciBmcmFtZV9ldmVudF9kb25lIHN5bmNocm9u aXphdGlvbgogICogQGV2ZW50X3RocmVhZCAgOiBQb2ludGVyIHRvIGV2ZW50IGhhbmRsZXIgdGhy ZWFkCiAgKiBAZXZlbnRfd29ya2VyICA6IEV2ZW50IHdvcmtlciBxdWV1ZQotICogQGV2ZW50X2Nh Y2hlICAgOiBMb2NhbCBjYWNoZSBvZiBldmVudCB3b3JrZXIgc3RydWN0dXJlcwotICogQGV2ZW50 X2ZyZWVfbGlzdCA6IExpc3Qgb2YgYXZhaWxhYmxlIGV2ZW50IHN0cnVjdHVyZXMKICAqIEBldmVu dF9sb2NrICAgIDogU3BpbmxvY2sgYXJvdW5kIGV2ZW50IGhhbmRsaW5nIGNvZGUKICAqIEBtaXNy X2VuYWJsZSAgIDogYm9vbGVhbiBlbnRyeSBpbmRpY2F0ZXMgbWlzciBlbmFibGUvZGlzYWJsZSBz dGF0dXMuCiAgKiBAbWlzcl9mcmFtZV9jb3VudCAgOiBtaXNyIGZyYW1lIGNvdW50IHByb3ZpZGVk IGJ5IGNsaWVudApAQCAtMjI0LDggKzIwNSw2IEBAIHN0cnVjdCBkcHVfY3J0YyB7CiAJc3RydWN0 IGNvbXBsZXRpb24gZnJhbWVfZG9uZV9jb21wOwogCiAJLyogZm9yIGhhbmRsaW5nIGludGVybmFs IGV2ZW50IHRocmVhZCAqLwotCXN0cnVjdCBkcHVfY3J0Y19ldmVudCBldmVudF9jYWNoZVtEUFVf Q1JUQ19NQVhfRVZFTlRfQ09VTlRdOwotCXN0cnVjdCBsaXN0X2hlYWQgZXZlbnRfZnJlZV9saXN0 OwogCXNwaW5sb2NrX3QgZXZlbnRfbG9jazsKIAlib29sIG1pc3JfZW5hYmxlOwogCXUzMiBtaXNy X2ZyYW1lX2NvdW50OwpAQCAtNDQxLDQ0ICs0MjAsNCBAQCBzdGF0aWMgaW5saW5lIGJvb2wgZHB1 X2NydGNfaXNfZW5hYmxlZChzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCiAJcmV0dXJuIGNydGMgPyBj cnRjLT5lbmFibGVkIDogZmFsc2U7CiB9CiAKLS8qKgotICogZHB1X2NydGNfZXZlbnRfcXVldWUg LSByZXF1ZXN0IGV2ZW50IGNhbGxiYWNrCi0gKiBAY3J0YzogUG9pbnRlciB0byBkcm0gY3J0YyBz dHJ1Y3R1cmUKLSAqIEBmdW5jOiBQb2ludGVyIHRvIGNhbGxiYWNrIGZ1bmN0aW9uCi0gKiBAdXNy OiBQb2ludGVyIHRvIHVzZXIgZGF0YSB0byBiZSBwYXNzZWQgdG8gY2FsbGJhY2sKLSAqIFJldHVy bnM6IFplcm8gb24gc3VjY2VzcwotICovCi1pbnQgZHB1X2NydGNfZXZlbnRfcXVldWUoc3RydWN0 IGRybV9jcnRjICpjcnRjLAotCQl2b2lkICgqZnVuYykoc3RydWN0IGRybV9jcnRjICpjcnRjLCB2 b2lkICp1c3IpLCB2b2lkICp1c3IpOwotCi0vKioKLSAqIGRwdV9jcnRjX3Jlc19hZGQgLSBhZGQg Z2l2ZW4gcmVzb3VyY2UgdG8gcmVzb3VyY2UgcG9vbCBpbiBjcnRjIHN0YXRlCi0gKiBAc3RhdGU6 IFBvaW50ZXIgdG8gZHJtIGNydGMgc3RhdGUKLSAqIEB0eXBlOiBSZXNvdXJjZSB0eXBlCi0gKiBA dGFnOiBTZWFyY2ggdGFnIGZvciBnaXZlbiByZXNvdXJjZQotICogQHZhbDogUmVzb3VyY2UgaGFu ZGxlCi0gKiBAb3BzOiBSZXNvdXJjZSBjYWxsYmFjayBvcGVyYXRpb25zCi0gKiByZXR1cm46IDAg aWYgc3VjY2VzczsgZXJyb3IgY29kZSBvdGhlcndpc2UKLSAqLwotaW50IGRwdV9jcnRjX3Jlc19h ZGQoc3RydWN0IGRybV9jcnRjX3N0YXRlICpzdGF0ZSwgdTMyIHR5cGUsIHU2NCB0YWcsCi0JCXZv aWQgKnZhbCwgc3RydWN0IGRwdV9jcnRjX3Jlc19vcHMgKm9wcyk7Ci0KLS8qKgotICogZHB1X2Ny dGNfcmVzX2dldCAtIGdldCBnaXZlbiByZXNvdXJjZSBmcm9tIHJlc291cmNlIHBvb2wgaW4gY3J0 YyBzdGF0ZQotICogQHN0YXRlOiBQb2ludGVyIHRvIGRybSBjcnRjIHN0YXRlCi0gKiBAdHlwZTog UmVzb3VyY2UgdHlwZQotICogQHRhZzogU2VhcmNoIHRhZyBmb3IgZ2l2ZW4gcmVzb3VyY2UKLSAq IHJldHVybjogUmVzb3VyY2UgaGFuZGxlIGlmIHN1Y2Nlc3M7IHBvaW50ZXIgZXJyb3Igb3IgbnVs bCBvdGhlcndpc2UKLSAqLwotdm9pZCAqZHB1X2NydGNfcmVzX2dldChzdHJ1Y3QgZHJtX2NydGNf c3RhdGUgKnN0YXRlLCB1MzIgdHlwZSwgdTY0IHRhZyk7Ci0KLS8qKgotICogZHB1X2NydGNfcmVz X3B1dCAtIHJldHVybiBnaXZlbiByZXNvdXJjZSB0byByZXNvdXJjZSBwb29sIGluIGNydGMgc3Rh dGUKLSAqIEBzdGF0ZTogUG9pbnRlciB0byBkcm0gY3J0YyBzdGF0ZQotICogQHR5cGU6IFJlc291 cmNlIHR5cGUKLSAqIEB0YWc6IFNlYXJjaCB0YWcgZm9yIGdpdmVuIHJlc291cmNlCi0gKiByZXR1 cm46IE5vbmUKLSAqLwotdm9pZCBkcHVfY3J0Y19yZXNfcHV0KHN0cnVjdCBkcm1fY3J0Y19zdGF0 ZSAqc3RhdGUsIHUzMiB0eXBlLCB1NjQgdGFnKTsKLQogI2VuZGlmIC8qIF9EUFVfQ1JUQ19IXyAq LwotLSAKMi4xOC4wCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpGcmVlZHJlbm8gbWFpbGluZyBsaXN0CkZyZWVkcmVub0BsaXN0cy5mcmVlZGVza3RvcC5v cmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9mcmVlZHJl bm8K