From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jordan Crouse Subject: [PATCH 10/11] drm/msm/dpu: Further cleanups for static inline functions Date: Thu, 18 Oct 2018 13:58:35 -0600 Message-ID: <20181018195836.15885-11-jcrouse@codeaurora.org> References: <20181018195836.15885-1-jcrouse@codeaurora.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20181018195836.15885-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, abhinavk-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org, dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org List-Id: linux-arm-msm@vger.kernel.org UmVtb3ZlIG1vcmUgc3RhdGljIGlubGluZSBmdW5jdGlvbnMgdGhhdCBhcmUgbGlnaHRseSB1c2Vk IGFuZC9vcgp2ZXJ5IHNpbXBsZSBhbmQgZWFzeSB0byBidWlsZCBpbnRvIHRoZSBjYWxsaW5nIGZ1 bmN0aW9ucy4KClNpZ25lZC1vZmYtYnk6IEpvcmRhbiBDcm91c2UgPGpjcm91c2VAY29kZWF1cm9y YS5vcmc+Ci0tLQogZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2NvcmVfcGVyZi5j IHwgMTcgKystLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2NydGMu YyAgICAgIHwgMTQgKysrLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9j cnRjLmggICAgICB8IDMyIC0tLS0tLS0tLS0tLS0tLS0tLS0KIC4uLi9ncHUvZHJtL21zbS9kaXNw L2RwdTEvZHB1X2VuY29kZXJfcGh5cy5oICB8ICAyICstCiAuLi4vZHJtL21zbS9kaXNwL2RwdTEv ZHB1X2VuY29kZXJfcGh5c19jbWQuYyAgfCAxMSArKy0tLS0tCiAuLi4vZ3B1L2RybS9tc20vZGlz cC9kcHUxL2RwdV9od19jYXRhbG9nLmggICAgfCAgOSAtLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9t c20vZGlzcC9kcHUxL2RwdV9od19zc3BwLmMgICB8ICAzICstCiBkcml2ZXJzL2dwdS9kcm0vbXNt L2Rpc3AvZHB1MS9kcHVfa21zLmMgICAgICAgfCAgOCArLS0tLQogZHJpdmVycy9ncHUvZHJtL21z bS9kaXNwL2RwdTEvZHB1X3BsYW5lLmMgICAgIHwgMjAgKysrLS0tLS0tLS0tCiA5IGZpbGVzIGNo YW5nZWQsIDE3IGluc2VydGlvbnMoKyksIDk5IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9jb3JlX3BlcmYuYyBiL2RyaXZlcnMvZ3B1 L2RybS9tc20vZGlzcC9kcHUxL2RwdV9jb3JlX3BlcmYuYwppbmRleCA3YmM4ODdlZDlkNzQuLmRl MzYwM2MzODQ3ZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1 X2NvcmVfcGVyZi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9jb3Jl X3BlcmYuYwpAQCAtMTI2LDcgKzEyNiw2IEBAIGludCBkcHVfY29yZV9wZXJmX2NydGNfY2hlY2so c3RydWN0IGRybV9jcnRjICpjcnRjLAogewogCXUzMiBidywgdGhyZXNob2xkOwogCXU2NCBid19z dW1fb2ZfaW50ZnMgPSAwOwotCWVudW0gZHB1X2NydGNfY2xpZW50X3R5cGUgY3Vycl9jbGllbnRf dHlwZTsKIAlib29sIGlzX3ZpZGVvX21vZGU7CiAJc3RydWN0IGRwdV9jcnRjX3N0YXRlICpkcHVf Y3N0YXRlOwogCXN0cnVjdCBkcm1fY3J0YyAqdG1wX2NydGM7CkBAIC0xNDQsMTAgKzE0Myw2IEBA IGludCBkcHVfY29yZV9wZXJmX2NydGNfY2hlY2soc3RydWN0IGRybV9jcnRjICpjcnRjLAogCQly ZXR1cm4gMDsKIAl9CiAKLQkvKiB3ZSBvbmx5IG5lZWQgYmFuZHdpZHRoIGNoZWNrIG9uIHJlYWwt dGltZSBjbGllbnRzIChpbnRlcmZhY2VzKSAqLwotCWlmIChkcHVfY3J0Y19nZXRfY2xpZW50X3R5 cGUoY3J0YykgPT0gTlJUX0NMSUVOVCkKLQkJcmV0dXJuIDA7Ci0KIAlkcHVfY3N0YXRlID0gdG9f ZHB1X2NydGNfc3RhdGUoc3RhdGUpOwogCiAJLyogb2J0YWluIG5ldyB2YWx1ZXMgKi8KQEAgLTE1 NiwxMyArMTUxLDkgQEAgaW50IGRwdV9jb3JlX3BlcmZfY3J0Y19jaGVjayhzdHJ1Y3QgZHJtX2Ny dGMgKmNydGMsCiAJZm9yIChpID0gRFBVX1BPV0VSX0hBTkRMRV9EQlVTX0lEX01OT0M7CiAJCQlp IDwgRFBVX1BPV0VSX0hBTkRMRV9EQlVTX0lEX01BWDsgaSsrKSB7CiAJCWJ3X3N1bV9vZl9pbnRm cyA9IGRwdV9jc3RhdGUtPm5ld19wZXJmLmJ3X2N0bFtpXTsKLQkJY3Vycl9jbGllbnRfdHlwZSA9 IGRwdV9jcnRjX2dldF9jbGllbnRfdHlwZShjcnRjKTsKIAogCQlkcm1fZm9yX2VhY2hfY3J0Yyh0 bXBfY3J0YywgY3J0Yy0+ZGV2KSB7Ci0JCQlpZiAodG1wX2NydGMtPmVuYWJsZWQgJiYKLQkJCSAg ICAoZHB1X2NydGNfZ2V0X2NsaWVudF90eXBlKHRtcF9jcnRjKSA9PQotCQkJCQkgICAgY3Vycl9j bGllbnRfdHlwZSkgJiYKLQkJCSAgICAodG1wX2NydGMgIT0gY3J0YykpIHsKKwkJCWlmICh0bXBf Y3J0Yy0+ZW5hYmxlZCAmJiAodG1wX2NydGMgIT0gY3J0YykpIHsKIAkJCQlzdHJ1Y3QgZHB1X2Ny dGNfc3RhdGUgKnRtcF9jc3RhdGUgPQogCQkJCQl0b19kcHVfY3J0Y19zdGF0ZSh0bXBfY3J0Yy0+ c3RhdGUpOwogCkBAIC0yMTEsMTYgKzIwMiwxMiBAQCBzdGF0aWMgaW50IF9kcHVfY29yZV9wZXJm X2NydGNfdXBkYXRlX2J1cyhzdHJ1Y3QgZHB1X2ttcyAqa21zLAogCQlzdHJ1Y3QgZHJtX2NydGMg KmNydGMsIHUzMiBidXNfaWQpCiB7CiAJc3RydWN0IGRwdV9jb3JlX3BlcmZfcGFyYW1zIHBlcmYg PSB7IHsgMCB9IH07Ci0JZW51bSBkcHVfY3J0Y19jbGllbnRfdHlwZSBjdXJyX2NsaWVudF90eXBl Ci0JCQkJCT0gZHB1X2NydGNfZ2V0X2NsaWVudF90eXBlKGNydGMpOwogCXN0cnVjdCBkcm1fY3J0 YyAqdG1wX2NydGM7CiAJc3RydWN0IGRwdV9jcnRjX3N0YXRlICpkcHVfY3N0YXRlOwogCWludCBy ZXQgPSAwOwogCiAJZHJtX2Zvcl9lYWNoX2NydGModG1wX2NydGMsIGNydGMtPmRldikgewotCQlp ZiAodG1wX2NydGMtPmVuYWJsZWQgJiYKLQkJCWN1cnJfY2xpZW50X3R5cGUgPT0KLQkJCQlkcHVf Y3J0Y19nZXRfY2xpZW50X3R5cGUodG1wX2NydGMpKSB7CisJCWlmICh0bXBfY3J0Yy0+ZW5hYmxl ZCkgewogCQkJZHB1X2NzdGF0ZSA9IHRvX2RwdV9jcnRjX3N0YXRlKHRtcF9jcnRjLT5zdGF0ZSk7 CiAKIAkJCXBlcmYubWF4X3Blcl9waXBlX2liW2J1c19pZF0gPQpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2NydGMuYyBiL2RyaXZlcnMvZ3B1L2RybS9tc20v ZGlzcC9kcHUxL2RwdV9jcnRjLmMKaW5kZXggODkwOTk0MTA2ZTM5Li5lZDhhMjFjMGQ0YmIgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9jcnRjLmMKKysrIGIv ZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2NydGMuYwpAQCAtNDcsMTIgKzQ3LDYg QEAKICNkZWZpbmUgTEVGVF9NSVhFUiAwCiAjZGVmaW5lIFJJR0hUX01JWEVSIDEKIAotc3RhdGlj IGlubGluZSBpbnQgX2RwdV9jcnRjX2dldF9taXhlcl93aWR0aChzdHJ1Y3QgZHB1X2NydGNfc3Rh dGUgKmNzdGF0ZSwKLQkJCQkJICAgIHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlKQotewot CXJldHVybiBtb2RlLT5oZGlzcGxheSAvIGNzdGF0ZS0+bnVtX21peGVyczsKLX0KLQogc3RhdGlj IHN0cnVjdCBkcHVfa21zICpfZHB1X2NydGNfZ2V0X2ttcyhzdHJ1Y3QgZHJtX2NydGMgKmNydGMp CiB7CiAJc3RydWN0IG1zbV9kcm1fcHJpdmF0ZSAqcHJpdiA9IGNydGMtPmRldi0+ZGV2X3ByaXZh dGU7CkBAIC00OTMsNyArNDg3LDcgQEAgc3RhdGljIHZvaWQgX2RwdV9jcnRjX3NldHVwX2xtX2Jv dW5kcyhzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCiB7CiAJc3RydWN0IGRwdV9jcnRjX3N0YXRlICpj c3RhdGUgPSB0b19kcHVfY3J0Y19zdGF0ZShzdGF0ZSk7CiAJc3RydWN0IGRybV9kaXNwbGF5X21v ZGUgKmFkal9tb2RlID0gJnN0YXRlLT5hZGp1c3RlZF9tb2RlOwotCXUzMiBjcnRjX3NwbGl0X3dp ZHRoID0gX2RwdV9jcnRjX2dldF9taXhlcl93aWR0aChjc3RhdGUsIGFkal9tb2RlKTsKKwl1MzIg Y3J0Y19zcGxpdF93aWR0aCA9IGFkal9tb2RlLT5oZGlzcGxheSAvIGNzdGF0ZS0+bnVtX21peGVy czsKIAlpbnQgaTsKIAogCWZvciAoaSA9IDA7IGkgPCBjc3RhdGUtPm51bV9taXhlcnM7IGkrKykg ewpAQCAtMTAyOSw3ICsxMDIzLDcgQEAgc3RhdGljIGludCBkcHVfY3J0Y19hdG9taWNfY2hlY2so c3RydWN0IGRybV9jcnRjICpjcnRjLAogCiAJbWVtc2V0KHBpcGVfc3RhZ2VkLCAwLCBzaXplb2Yo cGlwZV9zdGFnZWQpKTsKIAotCW1peGVyX3dpZHRoID0gX2RwdV9jcnRjX2dldF9taXhlcl93aWR0 aChjc3RhdGUsIG1vZGUpOworCW1peGVyX3dpZHRoID0gbW9kZS0+aGRpc3BsYXkgLyBjc3RhdGUt Pm51bV9taXhlcnM7CiAKIAlfZHB1X2NydGNfc2V0dXBfbG1fYm91bmRzKGNydGMsIHN0YXRlKTsK IApAQCAtMTI1NCw3ICsxMjQ4LDcgQEAgc3RhdGljIGludCBkcHVfY3J0Y19kZWJ1Z2ZzX3N0YXR1 c19zaG93KHN0cnVjdCBzZXFfZmlsZSAqcywgdm9pZCAqZGF0YSkKIAogCW11dGV4X2xvY2soJmRw dV9jcnRjLT5jcnRjX2xvY2spOwogCW1vZGUgPSAmY3J0Yy0+c3RhdGUtPmFkanVzdGVkX21vZGU7 Ci0Jb3V0X3dpZHRoID0gX2RwdV9jcnRjX2dldF9taXhlcl93aWR0aChjc3RhdGUsIG1vZGUpOwor CW91dF93aWR0aCA9IG1vZGUtPmhkaXNwbGF5IC8gY3N0YXRlLT5udW1fbWl4ZXJzOwogCiAJc2Vx X3ByaW50ZihzLCAiY3J0YzolZCB3aWR0aDolZCBoZWlnaHQ6JWRcbiIsIGNydGMtPmJhc2UuaWQs CiAJCQkJbW9kZS0+aGRpc3BsYXksIG1vZGUtPnZkaXNwbGF5KTsKQEAgLTEzNTUsNyArMTM0OSw3 IEBAIHN0YXRpYyBpbnQgZHB1X2NydGNfZGVidWdmc19zdGF0ZV9zaG93KHN0cnVjdCBzZXFfZmls ZSAqcywgdm9pZCAqdikKIAlzdHJ1Y3QgZHB1X2NydGMgKmRwdV9jcnRjID0gdG9fZHB1X2NydGMo Y3J0Yyk7CiAJaW50IGk7CiAKLQlzZXFfcHJpbnRmKHMsICJjbGllbnQgdHlwZTogJWRcbiIsIGRw dV9jcnRjX2dldF9jbGllbnRfdHlwZShjcnRjKSk7CisJc2VxX3B1dHMocywgImNsaWVudCB0eXBl OiAwXG4iKTsKIAlzZXFfcHJpbnRmKHMsICJpbnRmX21vZGU6ICVkXG4iLCBkcHVfY3J0Y19nZXRf aW50Zl9tb2RlKGNydGMpKTsKIAlzZXFfcHJpbnRmKHMsICJjb3JlX2Nsa19yYXRlOiAlbGx1XG4i LAogCQkJZHB1X2NydGMtPmN1cl9wZXJmLmNvcmVfY2xrX3JhdGUpOwpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2NydGMuaCBiL2RyaXZlcnMvZ3B1L2RybS9t c20vZGlzcC9kcHUxL2RwdV9jcnRjLmgKaW5kZXggOTBiYjI1NWZhZDNhLi40ZGQ2ZjY1YWI1ZTgg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9jcnRjLmgKKysr IGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2NydGMuaApAQCAtMzAsMTggKzMw LDYgQEAKIC8qIGRlZmluZSB0aGUgbWF4aW11bSBudW1iZXIgb2YgaW4tZmxpZ2h0IGZyYW1lIGV2 ZW50cyAqLwogI2RlZmluZSBEUFVfQ1JUQ19GUkFNRV9FVkVOVF9TSVpFCTQKIAotLyoqCi0gKiBl bnVtIGRwdV9jcnRjX2NsaWVudF90eXBlOiBjcnRjIGNsaWVudCB0eXBlCi0gKiBAUlRfQ0xJRU5U OglSZWFsVGltZSBjbGllbnQgbGlrZSB2aWRlby9jbWQgbW9kZSBkaXNwbGF5Ci0gKiAgICAgICAg ICAgICAgdm90aW5nIHRocm91Z2ggYXBwcyByc2MKLSAqIEBOUlRfQ0xJRU5UOglOb24tUmVhbFRp bWUgY2xpZW50IGxpa2UgV0IgZGlzcGxheQotICogICAgICAgICAgICAgIHZvdGluZyB0aHJvdWdo IGFwcHMgcnNjCi0gKi8KLWVudW0gZHB1X2NydGNfY2xpZW50X3R5cGUgewotCVJUX0NMSUVOVCwK LQlOUlRfQ0xJRU5ULAotfTsKLQogLyoqCiAgKiBlbnVtIGRwdV9jcnRjX3NtbXVfc3RhdGU6CXNt bXUgc3RhdGUKICAqIEBBVFRBQ0hFRDoJIGFsbCB0aGUgY29udGV4dCBiYW5rcyBhcmUgYXR0YWNo ZWQuCkBAIC0yMzUsMTYgKzIyMyw2IEBAIHN0cnVjdCBkcHVfY3J0Y19zdGF0ZSB7CiAjZGVmaW5l IHRvX2RwdV9jcnRjX3N0YXRlKHgpIFwKIAljb250YWluZXJfb2YoeCwgc3RydWN0IGRwdV9jcnRj X3N0YXRlLCBiYXNlKQogCi0vKioKLSAqIGRwdV9jcnRjX3N0YXRlX2lzX3N0ZXJlbyAtIElzIGNy dGMgdmlydHVhbGl6ZWQgd2l0aCB0d28gbWl4ZXJzPwotICogQGNzdGF0ZTogUG9pbnRlciB0byBk cHUgY3J0YyBzdGF0ZQotICogQFJldHVybjogdHJ1ZSAtIGhhcyB0d28gbWl4ZXJzLCBmYWxzZSAt IGhhcyBvbmUgbWl4ZXIKLSAqLwotc3RhdGljIGlubGluZSBib29sIGRwdV9jcnRjX3N0YXRlX2lz X3N0ZXJlbyhzdHJ1Y3QgZHB1X2NydGNfc3RhdGUgKmNzdGF0ZSkKLXsKLQlyZXR1cm4gY3N0YXRl LT5udW1fbWl4ZXJzID09IENSVENfRFVBTF9NSVhFUlM7Ci19Ci0KIC8qKgogICogZHB1X2NydGNf ZnJhbWVfcGVuZGluZyAtIHJldHVuIHRoZSBudW1iZXIgb2YgcGVuZGluZyBmcmFtZXMKICAqIEBj cnRjOiBQb2ludGVyIHRvIGRybSBjcnRjIG9iamVjdApAQCAtMzAxLDE0ICsyNzksNCBAQCBpbnQg ZHB1X2NydGNfcmVnaXN0ZXJfY3VzdG9tX2V2ZW50KHN0cnVjdCBkcHVfa21zICprbXMsCiAgKi8K IGVudW0gZHB1X2ludGZfbW9kZSBkcHVfY3J0Y19nZXRfaW50Zl9tb2RlKHN0cnVjdCBkcm1fY3J0 YyAqY3J0Yyk7CiAKLS8qKgotICogZHB1X2NydGNfZ2V0X2NsaWVudF90eXBlIC0gY2hlY2sgdGhl IGNydGMgdHlwZS0gcnQsIG5ydCBldGMuCi0gKiBAY3J0YzogUG9pbnRlciB0byBjcnRjCi0gKi8K LXN0YXRpYyBpbmxpbmUgZW51bSBkcHVfY3J0Y19jbGllbnRfdHlwZSBkcHVfY3J0Y19nZXRfY2xp ZW50X3R5cGUoCi0JCQkJCQlzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCi17Ci0JcmV0dXJuIGNydGMg JiYgY3J0Yy0+c3RhdGUgPyBSVF9DTElFTlQgOiBOUlRfQ0xJRU5UOwotfQotCiAjZW5kaWYgLyog X0RQVV9DUlRDX0hfICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1 MS9kcHVfZW5jb2Rlcl9waHlzLmggYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVf ZW5jb2Rlcl9waHlzLmgKaW5kZXggM2E2N2JiOWY5ZDlkLi45NDI4NmI2MjM4NzQgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9lbmNvZGVyX3BoeXMuaAorKysg Yi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfZW5jb2Rlcl9waHlzLmgKQEAgLTM1 MCw3ICszNTAsNyBAQCBzdGF0aWMgaW5saW5lIGVudW0gZHB1XzNkX2JsZW5kX21vZGUgZHB1X2Vu Y29kZXJfaGVscGVyX2dldF8zZF9ibGVuZF9tb2RlKAogCWRwdV9jc3RhdGUgPSB0b19kcHVfY3J0 Y19zdGF0ZShwaHlzX2VuYy0+cGFyZW50LT5jcnRjLT5zdGF0ZSk7CiAKIAlpZiAocGh5c19lbmMt PnNwbGl0X3JvbGUgPT0gRU5DX1JPTEVfU09MTyAmJgotCSAgICBkcHVfY3J0Y19zdGF0ZV9pc19z dGVyZW8oZHB1X2NzdGF0ZSkpCisJICAgIChkcHVfY3N0YXRlLT5udW1fbWl4ZXJzID09IENSVENf RFVBTF9NSVhFUlMpKQogCQlyZXR1cm4gQkxFTkRfM0RfSF9ST1dfSU5UOwogCiAJcmV0dXJuIEJM RU5EXzNEX05PTkU7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9k cHVfZW5jb2Rlcl9waHlzX2NtZC5jIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1 X2VuY29kZXJfcGh5c19jbWQuYwppbmRleCBiMzdhMDk5MmUzMjYuLjk5YWI1Y2E5YmVkMyAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2VuY29kZXJfcGh5c19j bWQuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfZW5jb2Rlcl9waHlz X2NtZC5jCkBAIC00NCwxNCArNDQsNyBAQAogCiAjZGVmaW5lIERQVV9FTkNfV1JfUFRSX1NUQVJU X1RJTUVPVVRfVVMgMjAwMDAKIAotc3RhdGljIGlubGluZSBpbnQgX2RwdV9lbmNvZGVyX3BoeXNf Y21kX2dldF9pZGxlX3RpbWVvdXQoCi0JCXN0cnVjdCBkcHVfZW5jb2Rlcl9waHlzX2NtZCAqY21k X2VuYykKLXsKLQlyZXR1cm4gS0lDS09GRl9USU1FT1VUX01TOwotfQotCi1zdGF0aWMgaW5saW5l IGJvb2wgZHB1X2VuY29kZXJfcGh5c19jbWRfaXNfbWFzdGVyKAotCQlzdHJ1Y3QgZHB1X2VuY29k ZXJfcGh5cyAqcGh5c19lbmMpCitzdGF0aWMgYm9vbCBkcHVfZW5jb2Rlcl9waHlzX2NtZF9pc19t YXN0ZXIoc3RydWN0IGRwdV9lbmNvZGVyX3BoeXMgKnBoeXNfZW5jKQogewogCXJldHVybiAocGh5 c19lbmMtPnNwbGl0X3JvbGUgIT0gRU5DX1JPTEVfU0xBVkUpID8gdHJ1ZSA6IGZhbHNlOwogfQpA QCAtNzIzLDcgKzcxNiw3IEBAIHN0YXRpYyBpbnQgZHB1X2VuY29kZXJfcGh5c19jbWRfd2FpdF9m b3JfdmJsYW5rKAogCiAJd2FpdF9pbmZvLndxID0gJmNtZF9lbmMtPnBlbmRpbmdfdmJsYW5rX3dx OwogCXdhaXRfaW5mby5hdG9taWNfY250ID0gJmNtZF9lbmMtPnBlbmRpbmdfdmJsYW5rX2NudDsK LQl3YWl0X2luZm8udGltZW91dF9tcyA9IF9kcHVfZW5jb2Rlcl9waHlzX2NtZF9nZXRfaWRsZV90 aW1lb3V0KGNtZF9lbmMpOworCXdhaXRfaW5mby50aW1lb3V0X21zID0gS0lDS09GRl9USU1FT1VU X01TOwogCiAJYXRvbWljX2luYygmY21kX2VuYy0+cGVuZGluZ192YmxhbmtfY250KTsKIApkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2h3X2NhdGFsb2cuaCBi L2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9od19jYXRhbG9nLmgKaW5kZXggZGMw NjBlNzM1OGU0Li4xNDQzNThhM2QwZmIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20v ZGlzcC9kcHUxL2RwdV9od19jYXRhbG9nLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNw L2RwdTEvZHB1X2h3X2NhdGFsb2cuaApAQCAtNzM2LDEzICs3MzYsNCBAQCBzdHJ1Y3QgZHB1X21k c3NfY2ZnICpkcHVfaHdfY2F0YWxvZ19pbml0KHUzMiBod19yZXYpOwogICovCiB2b2lkIGRwdV9o d19jYXRhbG9nX2RlaW5pdChzdHJ1Y3QgZHB1X21kc3NfY2ZnICpkcHVfY2ZnKTsKIAotLyoqCi0g KiBkcHVfaHdfc3NwcF9tdWx0aXJlY3RfZW5hYmxlZCAtIGNoZWNrIG11bHRpcmVjdCBlbmFibGVk IGZvciB0aGUgc3NwcAotICogQGNmZzogICAgICAgICAgcG9pbnRlciB0byBzc3BwIGNmZwotICov Ci1zdGF0aWMgaW5saW5lIGJvb2wgZHB1X2h3X3NzcHBfbXVsdGlyZWN0X2VuYWJsZWQoY29uc3Qg c3RydWN0IGRwdV9zc3BwX2NmZyAqY2ZnKQotewotCXJldHVybiB0ZXN0X2JpdChEUFVfU1NQUF9T TUFSVF9ETUFfVjEsICZjZmctPmZlYXR1cmVzKSB8fAotCQkJIHRlc3RfYml0KERQVV9TU1BQX1NN QVJUX0RNQV9WMiwgJmNmZy0+ZmVhdHVyZXMpOwotfQogI2VuZGlmIC8qIF9EUFVfSFdfQ0FUQUxP R19IICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfaHdf c3NwcC5jIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2h3X3NzcHAuYwppbmRl eCAzZWJkZjI5MmQ4ZjIuLmU5MTMyYmY1MTY2YiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L21zbS9kaXNwL2RwdTEvZHB1X2h3X3NzcHAuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rp c3AvZHB1MS9kcHVfaHdfc3NwcC5jCkBAIC02NjEsNyArNjYxLDggQEAgc3RhdGljIHZvaWQgX3Nl dHVwX2xheWVyX29wcyhzdHJ1Y3QgZHB1X2h3X3BpcGUgKmMsCiAJCXRlc3RfYml0KERQVV9TU1BQ X0NTQ18xMEJJVCwgJmZlYXR1cmVzKSkKIAkJYy0+b3BzLnNldHVwX2NzYyA9IGRwdV9od19zc3Bw X3NldHVwX2NzYzsKIAotCWlmIChkcHVfaHdfc3NwcF9tdWx0aXJlY3RfZW5hYmxlZChjLT5jYXAp KQorCWlmICh0ZXN0X2JpdChEUFVfU1NQUF9TTUFSVF9ETUFfVjEsICZjLT5jYXAtPmZlYXR1cmVz KSB8fAorCQl0ZXN0X2JpdChEUFVfU1NQUF9TTUFSVF9ETUFfVjIsICZjLT5jYXAtPmZlYXR1cmVz KSkKIAkJYy0+b3BzLnNldHVwX211bHRpcmVjdCA9IGRwdV9od19zc3BwX3NldHVwX211bHRpcmVj dDsKIAogCWlmICh0ZXN0X2JpdChEUFVfU1NQUF9TQ0FMRVJfUVNFRUQzLCAmZmVhdHVyZXMpKSB7 CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfa21zLmMgYi9k cml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfa21zLmMKaW5kZXggMDFiZTMwNTc1OGM1 Li5lZDVlMDM0N2UwMjkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUx L2RwdV9rbXMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfa21zLmMK QEAgLTcxOCwxMiArNzE4LDYgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBtc21fa21zX2Z1bmNzIGtt c19mdW5jcyA9IHsKICNlbmRpZgogfTsKIAotLyogdGhlIGNhbGxlciBhcGkgbmVlZHMgdG8gdHVy biBvbiBjbG9jayBiZWZvcmUgY2FsbGluZyBpdCAqLwotc3RhdGljIGlubGluZSB2b2lkIF9kcHVf a21zX2NvcmVfaHdfcmV2X2luaXQoc3RydWN0IGRwdV9rbXMgKmRwdV9rbXMpCi17Ci0JZHB1X2tt cy0+Y29yZV9yZXYgPSByZWFkbF9yZWxheGVkKGRwdV9rbXMtPm1taW8gKyAweDApOwotfQotCiBz dGF0aWMgaW50IF9kcHVfa21zX21tdV9kZXN0cm95KHN0cnVjdCBkcHVfa21zICpkcHVfa21zKQog ewogCXN0cnVjdCBtc21fbW11ICptbXU7CkBAIC04NzksNyArODczLDcgQEAgc3RhdGljIGludCBk cHVfa21zX2h3X2luaXQoc3RydWN0IG1zbV9rbXMgKmttcykKIAogCXBtX3J1bnRpbWVfZ2V0X3N5 bmMoJmRwdV9rbXMtPnBkZXYtPmRldik7CiAKLQlfZHB1X2ttc19jb3JlX2h3X3Jldl9pbml0KGRw dV9rbXMpOworCWRwdV9rbXMtPmNvcmVfcmV2ID0gcmVhZGxfcmVsYXhlZChkcHVfa21zLT5tbWlv ICsgMHgwKTsKIAogCXByX2luZm8oImRwdSBoYXJkd2FyZSByZXZpc2lvbjoweCV4XG4iLCBkcHVf a21zLT5jb3JlX3Jldik7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9k cHUxL2RwdV9wbGFuZS5jIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X3BsYW5l LmMKaW5kZXggM2M1NTgwYzc1NTgxLi5iZDIwZTNiNjA0N2IgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9wbGFuZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9t c20vZGlzcC9kcHUxL2RwdV9wbGFuZS5jCkBAIC00MzAsMjQgKzQzMCwxNCBAQCBzdGF0aWMgdm9p ZCBfZHB1X3BsYW5lX3NldF9xb3NfcmVtYXAoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUpCiAJZHB1 X3ZiaWZfc2V0X3Fvc19yZW1hcChkcHVfa21zLCAmcW9zX3BhcmFtcyk7CiB9CiAKLS8qKgotICog X2RwdV9wbGFuZV9nZXRfYXNwYWNlOiBnZXRzIHRoZSBhZGRyZXNzIHNwYWNlCi0gKi8KLXN0YXRp YyBpbmxpbmUgc3RydWN0IG1zbV9nZW1fYWRkcmVzc19zcGFjZSAqX2RwdV9wbGFuZV9nZXRfYXNw YWNlKAotCQlzdHJ1Y3QgZHB1X3BsYW5lICpwZHB1KQotewotCXN0cnVjdCBkcHVfa21zICprbXMg PSBfZHB1X3BsYW5lX2dldF9rbXMoJnBkcHUtPmJhc2UpOwotCi0JcmV0dXJuIGttcy0+YmFzZS5h c3BhY2U7Ci19Ci0KIHN0YXRpYyB2b2lkIF9kcHVfcGxhbmVfc2V0X3NjYW5vdXQoc3RydWN0IGRy bV9wbGFuZSAqcGxhbmUsCiAJCXN0cnVjdCBkcHVfcGxhbmVfc3RhdGUgKnBzdGF0ZSwKIAkJc3Ry dWN0IGRwdV9od19waXBlX2NmZyAqcGlwZV9jZmcsCiAJCXN0cnVjdCBkcm1fZnJhbWVidWZmZXIg KmZiKQogewogCXN0cnVjdCBkcHVfcGxhbmUgKnBkcHUgPSB0b19kcHVfcGxhbmUocGxhbmUpOwot CXN0cnVjdCBtc21fZ2VtX2FkZHJlc3Nfc3BhY2UgKmFzcGFjZSA9IF9kcHVfcGxhbmVfZ2V0X2Fz cGFjZShwZHB1KTsKKwlzdHJ1Y3QgZHB1X2ttcyAqa21zID0gX2RwdV9wbGFuZV9nZXRfa21zKCZw ZHB1LT5iYXNlKTsKKwlzdHJ1Y3QgbXNtX2dlbV9hZGRyZXNzX3NwYWNlICphc3BhY2UgPSBrbXMt PmJhc2UuYXNwYWNlOwogCWludCByZXQ7CiAKIAlyZXQgPSBkcHVfZm9ybWF0X3BvcHVsYXRlX2xh eW91dChhc3BhY2UsIGZiLCAmcGlwZV9jZmctPmxheW91dCk7CkBAIC04MDEsNyArNzkxLDcgQEAg c3RhdGljIGludCBkcHVfcGxhbmVfcHJlcGFyZV9mYihzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwK IAlzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKm9iajsKIAlzdHJ1Y3QgbXNtX2dlbV9vYmplY3QgKm1z bV9vYmo7CiAJc3RydWN0IGRtYV9mZW5jZSAqZmVuY2U7Ci0Jc3RydWN0IG1zbV9nZW1fYWRkcmVz c19zcGFjZSAqYXNwYWNlID0gX2RwdV9wbGFuZV9nZXRfYXNwYWNlKHBkcHUpOworCXN0cnVjdCBk cHVfa21zICprbXMgPSBfZHB1X3BsYW5lX2dldF9rbXMoJnBkcHUtPmJhc2UpOwogCWludCByZXQ7 CiAKIAlpZiAoIW5ld19zdGF0ZS0+ZmIpCkBAIC04MTAsNyArODAwLDcgQEAgc3RhdGljIGludCBk cHVfcGxhbmVfcHJlcGFyZV9mYihzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKIAlEUFVfREVCVUdf UExBTkUocGRwdSwgIkZCWyV1XVxuIiwgZmItPmJhc2UuaWQpOwogCiAJLyogY2FjaGUgYXNwYWNl ICovCi0JcHN0YXRlLT5hc3BhY2UgPSBhc3BhY2U7CisJcHN0YXRlLT5hc3BhY2UgPSBrbXMtPmJh c2UuYXNwYWNlOwogCiAJLyoKIAkgKiBUT0RPOiBOZWVkIHRvIHNvcnQgb3V0IHRoZSBtc21fZnJh bWVidWZmZXJfcHJlcGFyZSgpIGNhbGwgYmVsb3cgc28KQEAgLTEwMjEsNyArMTAxMSw3IEBAIHN0 YXRpYyB2b2lkIGRwdV9wbGFuZV9zc3BwX2F0b21pY191cGRhdGUoc3RydWN0IGRybV9wbGFuZSAq cGxhbmUpCiAKIAlwc3RhdGUtPnBlbmRpbmcgPSB0cnVlOwogCi0JcGRwdS0+aXNfcnRfcGlwZSA9 IChkcHVfY3J0Y19nZXRfY2xpZW50X3R5cGUoY3J0YykgIT0gTlJUX0NMSUVOVCk7CisJcGRwdS0+ aXNfcnRfcGlwZSA9IGNydGMgPyB0cnVlIDogZmFsc2U7CiAJX2RwdV9wbGFuZV9zZXRfcW9zX2N0 cmwocGxhbmUsIGZhbHNlLCBEUFVfUExBTkVfUU9TX1BBTklDX0NUUkwpOwogCiAJRFBVX0RFQlVH X1BMQU5FKHBkcHUsICJGQlsldV0gIiBEUk1fUkVDVF9GUF9GTVQgIi0+Y3J0YyV1ICIgRFJNX1JF Q1RfRk1UCi0tIAoyLjE4LjAKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCkZyZWVkcmVubyBtYWlsaW5nIGxpc3QKRnJlZWRyZW5vQGxpc3RzLmZyZWVkZXNr dG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2Zy ZWVkcmVubwo=