From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sean Paul Subject: Re: [PATCH 02/11] drm/msm/dpu: Use DEFINE_SHOW_ATTRIBUTE Date: Tue, 6 Nov 2018 09:28:38 -0500 Message-ID: <20181106142838.GM154160@art_vandelay> References: <20181105233103.7657-1-jcrouse@codeaurora.org> <20181105233103.7657-3-jcrouse@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: <20181105233103.7657-3-jcrouse@codeaurora.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Jordan Crouse Cc: sam@ravnborg.org, linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, bzwang@chromium.org, seanpaul@chromium.org, abhinavk@codeaurora.org, freedreno@lists.freedesktop.org List-Id: linux-arm-msm@vger.kernel.org T24gTW9uLCBOb3YgMDUsIDIwMTggYXQgMDQ6MzA6NTRQTSAtMDcwMCwgSm9yZGFuIENyb3VzZSB3 cm90ZToKPiBVc2UgdGhlIHN0YW5kYXJkIERFRklORV9TSE9XX0FUVFJJQlVURSBtYWNybyBmb3Ig c2VxX2ZpbGUgYmFzZWQKPiBkZWJ1Z2ZzIGZpbGVzIGluc3RlYWQgb2YgY3VzdG9tIG1hY3JvcyBh bmQgaGFuZC1jb2RlZCBmdW5jdGlvbnMuCj4gCj4gdjI6IEFkZGVkIGEgY2xlYW51cCBmb3IgZHB1 X2VuY29kZXIuYyB0b28KPiAKPiBTaWduZWQtb2ZmLWJ5OiBKb3JkYW4gQ3JvdXNlIDxqY3JvdXNl QGNvZGVhdXJvcmEub3JnPgoKUmV2aWV3ZWQtYnk6IFNlYW4gUGF1bCA8c2VhbkBwb29ybHkucnVu PgoKPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2NvcmVfaXJxLmMg fCAxNCArLS0tLS0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfY3J0Yy5j ICAgICB8IDMxICsrKy0tLS0tLS0tLS0tLS0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3Av ZHB1MS9kcHVfZW5jb2Rlci5jICB8IDIwICsrKy0tLS0tLS0tLQo+ICBkcml2ZXJzL2dwdS9kcm0v bXNtL2Rpc3AvZHB1MS9kcHVfa21zLmMgICAgICB8IDM0ICsrKy0tLS0tLS0tLS0tLS0tLS0tCj4g IDQgZmlsZXMgY2hhbmdlZCwgMTQgaW5zZXJ0aW9ucygrKSwgODUgZGVsZXRpb25zKC0pCj4gCj4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9jb3JlX2lycS5j IGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2NvcmVfaXJxLmMKPiBpbmRleCA4 NzljMTNmZTc0ZTAuLjc2MDdhYWM5NDQ5YyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0v bXNtL2Rpc3AvZHB1MS9kcHVfY29yZV9pcnEuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20v ZGlzcC9kcHUxL2RwdV9jb3JlX2lycS5jCj4gQEAgLTI5OSwxOCArMjk5LDYgQEAgc3RhdGljIHZv aWQgZHB1X2Rpc2FibGVfYWxsX2lycXMoc3RydWN0IGRwdV9rbXMgKmRwdV9rbXMpCj4gIH0KPiAg Cj4gICNpZmRlZiBDT05GSUdfREVCVUdfRlMKPiAtI2RlZmluZSBERUZJTkVfRFBVX0RFQlVHRlNf U0VRX0ZPUFMoX19wcmVmaXgpCQkJCVwKPiAtc3RhdGljIGludCBfX3ByZWZpeCAjIyBfb3Blbihz dHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkJXAo+IC17CQkJCQkJCQkJXAo+ IC0JcmV0dXJuIHNpbmdsZV9vcGVuKGZpbGUsIF9fcHJlZml4ICMjIF9zaG93LCBpbm9kZS0+aV9w cml2YXRlKTsJXAo+IC19CQkJCQkJCQkJXAo+IC1zdGF0aWMgY29uc3Qgc3RydWN0IGZpbGVfb3Bl cmF0aW9ucyBfX3ByZWZpeCAjIyBfZm9wcyA9IHsJCVwKPiAtCS5vd25lciA9IFRISVNfTU9EVUxF LAkJCQkJCVwKPiAtCS5vcGVuID0gX19wcmVmaXggIyMgX29wZW4sCQkJCQlcCj4gLQkucmVsZWFz ZSA9IHNpbmdsZV9yZWxlYXNlLAkJCQkJXAo+IC0JLnJlYWQgPSBzZXFfcmVhZCwJCQkJCQlcCj4g LQkubGxzZWVrID0gc2VxX2xzZWVrLAkJCQkJCVwKPiAtfQo+ICAKPiAgc3RhdGljIGludCBkcHVf ZGVidWdmc19jb3JlX2lycV9zaG93KHN0cnVjdCBzZXFfZmlsZSAqcywgdm9pZCAqdikKPiAgewo+ IEBAIC0zNDEsNyArMzI5LDcgQEAgc3RhdGljIGludCBkcHVfZGVidWdmc19jb3JlX2lycV9zaG93 KHN0cnVjdCBzZXFfZmlsZSAqcywgdm9pZCAqdikKPiAgCXJldHVybiAwOwo+ICB9Cj4gIAo+IC1E RUZJTkVfRFBVX0RFQlVHRlNfU0VRX0ZPUFMoZHB1X2RlYnVnZnNfY29yZV9pcnEpOwo+ICtERUZJ TkVfU0hPV19BVFRSSUJVVEUoZHB1X2RlYnVnZnNfY29yZV9pcnEpOwo+ICAKPiAgaW50IGRwdV9k ZWJ1Z2ZzX2NvcmVfaXJxX2luaXQoc3RydWN0IGRwdV9rbXMgKmRwdV9rbXMsCj4gIAkJc3RydWN0 IGRlbnRyeSAqcGFyZW50KQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3Av ZHB1MS9kcHVfY3J0Yy5jIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2NydGMu Ywo+IGluZGV4IGVkODRjZjQ0YTIyMi4uMTEwNTJiZWUwM2NmIDEwMDY0NAo+IC0tLSBhL2RyaXZl cnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9jcnRjLmMKPiArKysgYi9kcml2ZXJzL2dwdS9k cm0vbXNtL2Rpc3AvZHB1MS9kcHVfY3J0Yy5jCj4gQEAgLTEyMzIsNyArMTIzMiw3IEBAIGludCBk cHVfY3J0Y192Ymxhbmsoc3RydWN0IGRybV9jcnRjICpjcnRjLCBib29sIGVuKQo+ICB9Cj4gIAo+ ICAjaWZkZWYgQ09ORklHX0RFQlVHX0ZTCj4gLXN0YXRpYyBpbnQgX2RwdV9kZWJ1Z2ZzX3N0YXR1 c19zaG93KHN0cnVjdCBzZXFfZmlsZSAqcywgdm9pZCAqZGF0YSkKPiArc3RhdGljIGludCBkcHVf Y3J0Y19kZWJ1Z2ZzX3N0YXR1c19zaG93KHN0cnVjdCBzZXFfZmlsZSAqcywgdm9pZCAqZGF0YSkK PiAgewo+ICAJc3RydWN0IGRwdV9jcnRjICpkcHVfY3J0YzsKPiAgCXN0cnVjdCBkcHVfcGxhbmVf c3RhdGUgKnBzdGF0ZSA9IE5VTEw7Cj4gQEAgLTEzNTEsMjMgKzEzNTEsNyBAQCBzdGF0aWMgaW50 IF9kcHVfZGVidWdmc19zdGF0dXNfc2hvdyhzdHJ1Y3Qgc2VxX2ZpbGUgKnMsIHZvaWQgKmRhdGEp Cj4gIAlyZXR1cm4gMDsKPiAgfQo+ICAKPiAtc3RhdGljIGludCBfZHB1X2RlYnVnZnNfc3RhdHVz X29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCj4gLXsKPiAtCXJl dHVybiBzaW5nbGVfb3BlbihmaWxlLCBfZHB1X2RlYnVnZnNfc3RhdHVzX3Nob3csIGlub2RlLT5p X3ByaXZhdGUpOwo+IC19Cj4gLQo+IC0jZGVmaW5lIERFRklORV9EUFVfREVCVUdGU19TRVFfRk9Q UyhfX3ByZWZpeCkgICAgICAgICAgICAgICAgICAgICAgICAgIFwKPiAtc3RhdGljIGludCBfX3By ZWZpeCAjIyBfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkJXAo+ IC17CQkJCQkJCQkJXAo+IC0JcmV0dXJuIHNpbmdsZV9vcGVuKGZpbGUsIF9fcHJlZml4ICMjIF9z aG93LCBpbm9kZS0+aV9wcml2YXRlKTsJXAo+IC19CQkJCQkJCQkJXAo+IC1zdGF0aWMgY29uc3Qg c3RydWN0IGZpbGVfb3BlcmF0aW9ucyBfX3ByZWZpeCAjIyBfZm9wcyA9IHsJCVwKPiAtCS5vd25l ciA9IFRISVNfTU9EVUxFLAkJCQkJCVwKPiAtCS5vcGVuID0gX19wcmVmaXggIyMgX29wZW4sCQkJ CQlcCj4gLQkucmVsZWFzZSA9IHNpbmdsZV9yZWxlYXNlLAkJCQkJXAo+IC0JLnJlYWQgPSBzZXFf cmVhZCwJCQkJCQlcCj4gLQkubGxzZWVrID0gc2VxX2xzZWVrLAkJCQkJCVwKPiAtfQo+ICtERUZJ TkVfU0hPV19BVFRSSUJVVEUoZHB1X2NydGNfZGVidWdmc19zdGF0dXMpOwo+ICAKPiAgc3RhdGlj IGludCBkcHVfY3J0Y19kZWJ1Z2ZzX3N0YXRlX3Nob3coc3RydWN0IHNlcV9maWxlICpzLCB2b2lk ICp2KQo+ICB7Cj4gQEAgLTEzOTEsMjAgKzEzNzUsMTMgQEAgc3RhdGljIGludCBkcHVfY3J0Y19k ZWJ1Z2ZzX3N0YXRlX3Nob3coc3RydWN0IHNlcV9maWxlICpzLCB2b2lkICp2KQo+ICAKPiAgCXJl dHVybiAwOwo+ICB9Cj4gLURFRklORV9EUFVfREVCVUdGU19TRVFfRk9QUyhkcHVfY3J0Y19kZWJ1 Z2ZzX3N0YXRlKTsKPiArREVGSU5FX1NIT1dfQVRUUklCVVRFKGRwdV9jcnRjX2RlYnVnZnNfc3Rh dGUpOwo+ICAKPiAgc3RhdGljIGludCBfZHB1X2NydGNfaW5pdF9kZWJ1Z2ZzKHN0cnVjdCBkcm1f Y3J0YyAqY3J0YykKPiAgewo+ICAJc3RydWN0IGRwdV9jcnRjICpkcHVfY3J0YzsKPiAgCXN0cnVj dCBkcHVfa21zICpkcHVfa21zOwo+ICAKPiAtCXN0YXRpYyBjb25zdCBzdHJ1Y3QgZmlsZV9vcGVy YXRpb25zIGRlYnVnZnNfc3RhdHVzX2ZvcHMgPSB7Cj4gLQkJLm9wZW4gPQkJX2RwdV9kZWJ1Z2Zz X3N0YXR1c19vcGVuLAo+IC0JCS5yZWFkID0JCXNlcV9yZWFkLAo+IC0JCS5sbHNlZWsgPQlzZXFf bHNlZWssCj4gLQkJLnJlbGVhc2UgPQlzaW5nbGVfcmVsZWFzZSwKPiAtCX07Cj4gLQo+ICAJaWYg KCFjcnRjKQo+ICAJCXJldHVybiAtRUlOVkFMOwo+ICAJZHB1X2NydGMgPSB0b19kcHVfY3J0Yyhj cnRjKTsKPiBAQCAtMTQxOSw3ICsxMzk2LDcgQEAgc3RhdGljIGludCBfZHB1X2NydGNfaW5pdF9k ZWJ1Z2ZzKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKPiAgCS8qIGRvbid0IGVycm9yIGNoZWNrIHRo ZXNlICovCj4gIAlkZWJ1Z2ZzX2NyZWF0ZV9maWxlKCJzdGF0dXMiLCAwNDAwLAo+ICAJCQlkcHVf Y3J0Yy0+ZGVidWdmc19yb290LAo+IC0JCQlkcHVfY3J0YywgJmRlYnVnZnNfc3RhdHVzX2ZvcHMp Owo+ICsJCQlkcHVfY3J0YywgJmRwdV9jcnRjX2RlYnVnZnNfc3RhdHVzX2ZvcHMpOwo+ICAJZGVi dWdmc19jcmVhdGVfZmlsZSgic3RhdGUiLCAwNjAwLAo+ICAJCQlkcHVfY3J0Yy0+ZGVidWdmc19y b290LAo+ICAJCQkmZHB1X2NydGMtPmJhc2UsCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9tc20vZGlzcC9kcHUxL2RwdV9lbmNvZGVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3Av ZHB1MS9kcHVfZW5jb2Rlci5jCj4gaW5kZXggZDVlMjUyOTQxYmE4Li41NTU5ZTVkNDAxNDIgMTAw NjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2VuY29kZXIuYwo+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9lbmNvZGVyLmMKPiBAQCAt MTgzNiw3ICsxODM2LDcgQEAgdm9pZCBkcHVfZW5jb2Rlcl9wcmVwYXJlX2NvbW1pdChzdHJ1Y3Qg ZHJtX2VuY29kZXIgKmRybV9lbmMpCj4gIH0KPiAgCj4gICNpZmRlZiBDT05GSUdfREVCVUdfRlMK PiAtc3RhdGljIGludCBfZHB1X2VuY29kZXJfc3RhdHVzX3Nob3coc3RydWN0IHNlcV9maWxlICpz LCB2b2lkICpkYXRhKQo+ICtzdGF0aWMgaW50IGRwdV9lbmNvZGVyX3N0YXR1c19zaG93KHN0cnVj dCBzZXFfZmlsZSAqcywgdm9pZCAqZGF0YSkKPiAgewo+ICAJc3RydWN0IGRwdV9lbmNvZGVyX3Zp cnQgKmRwdV9lbmM7Cj4gIAlpbnQgaTsKPiBAQCAtMTg3NSwxMSArMTg3NSw3IEBAIHN0YXRpYyBp bnQgX2RwdV9lbmNvZGVyX3N0YXR1c19zaG93KHN0cnVjdCBzZXFfZmlsZSAqcywgdm9pZCAqZGF0 YSkKPiAgCXJldHVybiAwOwo+ICB9Cj4gIAo+IC1zdGF0aWMgaW50IF9kcHVfZW5jb2Rlcl9kZWJ1 Z2ZzX3N0YXR1c19vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsCj4gLQkJc3RydWN0IGZpbGUgKmZp bGUpCj4gLXsKPiAtCXJldHVybiBzaW5nbGVfb3BlbihmaWxlLCBfZHB1X2VuY29kZXJfc3RhdHVz X3Nob3csIGlub2RlLT5pX3ByaXZhdGUpOwo+IC19Cj4gK0RFRklORV9TSE9XX0FUVFJJQlVURShk cHVfZW5jb2Rlcl9zdGF0dXMpOwo+ICAKPiAgc3RhdGljIGludCBfZHB1X2VuY29kZXJfaW5pdF9k ZWJ1Z2ZzKHN0cnVjdCBkcm1fZW5jb2RlciAqZHJtX2VuYykKPiAgewo+IEBAIC0xODg3LDE0ICsx ODgzLDYgQEAgc3RhdGljIGludCBfZHB1X2VuY29kZXJfaW5pdF9kZWJ1Z2ZzKHN0cnVjdCBkcm1f ZW5jb2RlciAqZHJtX2VuYykKPiAgCXN0cnVjdCBtc21fZHJtX3ByaXZhdGUgKnByaXY7Cj4gIAlz dHJ1Y3QgZHB1X2ttcyAqZHB1X2ttczsKPiAgCWludCBpOwo+IC0KPiAtCXN0YXRpYyBjb25zdCBz dHJ1Y3QgZmlsZV9vcGVyYXRpb25zIGRlYnVnZnNfc3RhdHVzX2ZvcHMgPSB7Cj4gLQkJLm9wZW4g PQkJX2RwdV9lbmNvZGVyX2RlYnVnZnNfc3RhdHVzX29wZW4sCj4gLQkJLnJlYWQgPQkJc2VxX3Jl YWQsCj4gLQkJLmxsc2VlayA9CXNlcV9sc2VlaywKPiAtCQkucmVsZWFzZSA9CXNpbmdsZV9yZWxl YXNlLAo+IC0JfTsKPiAtCj4gIAljaGFyIG5hbWVbRFBVX05BTUVfU0laRV07Cj4gIAo+ICAJaWYg KCFkcm1fZW5jIHx8ICFkcm1fZW5jLT5kZXYgfHwgIWRybV9lbmMtPmRldi0+ZGV2X3ByaXZhdGUp IHsKPiBAQCAtMTkxNSw4ICsxOTAzLDggQEAgc3RhdGljIGludCBfZHB1X2VuY29kZXJfaW5pdF9k ZWJ1Z2ZzKHN0cnVjdCBkcm1fZW5jb2RlciAqZHJtX2VuYykKPiAgCQlyZXR1cm4gLUVOT01FTTsK PiAgCj4gIAkvKiBkb24ndCBlcnJvciBjaGVjayB0aGVzZSAqLwo+IC0JZGVidWdmc19jcmVhdGVf ZmlsZSgic3RhdHVzIiwgMDYwMCwKPiAtCQlkcHVfZW5jLT5kZWJ1Z2ZzX3Jvb3QsIGRwdV9lbmMs ICZkZWJ1Z2ZzX3N0YXR1c19mb3BzKTsKPiArCWRlYnVnZnNfY3JlYXRlX2ZpbGUoInN0YXR1cyIs IDA2MDAsIGRwdV9lbmMtPmRlYnVnZnNfcm9vdCwgZHB1X2VuYywKPiArCQkmZHB1X2VuY29kZXJf c3RhdHVzX2ZvcHMpOwo+ICAKPiAgCWZvciAoaSA9IDA7IGkgPCBkcHVfZW5jLT5udW1fcGh5c19l bmNzOyBpKyspCj4gIAkJaWYgKGRwdV9lbmMtPnBoeXNfZW5jc1tpXSAmJgo+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfa21zLmMgYi9kcml2ZXJzL2dwdS9k cm0vbXNtL2Rpc3AvZHB1MS9kcHVfa21zLmMKPiBpbmRleCBmZDViYWQxNjMzOGQuLjdlM2JhMTI4 Y2JhZiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfa21z LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfa21zLmMKPiBAQCAt MTEzLDMwICsxMTMsMTcgQEAgc3RhdGljIGludCBfZHB1X2Rhbmdlcl9zaWduYWxfc3RhdHVzKHN0 cnVjdCBzZXFfZmlsZSAqcywKPiAgCXJldHVybiAwOwo+ICB9Cj4gIAo+IC0jZGVmaW5lIERFRklO RV9EUFVfREVCVUdGU19TRVFfRk9QUyhfX3ByZWZpeCkJCQkJXAo+IC1zdGF0aWMgaW50IF9fcHJl Zml4ICMjIF9vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQlcCj4g LXsJCQkJCQkJCQlcCj4gLQlyZXR1cm4gc2luZ2xlX29wZW4oZmlsZSwgX19wcmVmaXggIyMgX3No b3csIGlub2RlLT5pX3ByaXZhdGUpOwlcCj4gLX0JCQkJCQkJCQlcCj4gLXN0YXRpYyBjb25zdCBz dHJ1Y3QgZmlsZV9vcGVyYXRpb25zIF9fcHJlZml4ICMjIF9mb3BzID0gewkJXAo+IC0JLm93bmVy ID0gVEhJU19NT0RVTEUsCQkJCQkJXAo+IC0JLm9wZW4gPSBfX3ByZWZpeCAjIyBfb3BlbiwJCQkJ CVwKPiAtCS5yZWxlYXNlID0gc2luZ2xlX3JlbGVhc2UsCQkJCQlcCj4gLQkucmVhZCA9IHNlcV9y ZWFkLAkJCQkJCVwKPiAtCS5sbHNlZWsgPSBzZXFfbHNlZWssCQkJCQkJXAo+IC19Cj4gLQo+ICBz dGF0aWMgaW50IGRwdV9kZWJ1Z2ZzX2Rhbmdlcl9zdGF0c19zaG93KHN0cnVjdCBzZXFfZmlsZSAq cywgdm9pZCAqdikKPiAgewo+ICAJcmV0dXJuIF9kcHVfZGFuZ2VyX3NpZ25hbF9zdGF0dXMocywg dHJ1ZSk7Cj4gIH0KPiAtREVGSU5FX0RQVV9ERUJVR0ZTX1NFUV9GT1BTKGRwdV9kZWJ1Z2ZzX2Rh bmdlcl9zdGF0cyk7Cj4gK0RFRklORV9TSE9XX0FUVFJJQlVURShkcHVfZGVidWdmc19kYW5nZXJf c3RhdHMpOwo+ICAKPiAgc3RhdGljIGludCBkcHVfZGVidWdmc19zYWZlX3N0YXRzX3Nob3coc3Ry dWN0IHNlcV9maWxlICpzLCB2b2lkICp2KQo+ICB7Cj4gIAlyZXR1cm4gX2RwdV9kYW5nZXJfc2ln bmFsX3N0YXR1cyhzLCBmYWxzZSk7Cj4gIH0KPiAtREVGSU5FX0RQVV9ERUJVR0ZTX1NFUV9GT1BT KGRwdV9kZWJ1Z2ZzX3NhZmVfc3RhdHMpOwo+ICtERUZJTkVfU0hPV19BVFRSSUJVVEUoZHB1X2Rl YnVnZnNfc2FmZV9zdGF0cyk7Cj4gIAo+ICBzdGF0aWMgdm9pZCBkcHVfZGVidWdmc19kYW5nZXJf ZGVzdHJveShzdHJ1Y3QgZHB1X2ttcyAqZHB1X2ttcykKPiAgewo+IEBAIC0xNjIsNyArMTQ5LDcg QEAgc3RhdGljIGludCBkcHVfZGVidWdmc19kYW5nZXJfaW5pdChzdHJ1Y3QgZHB1X2ttcyAqZHB1 X2ttcywKPiAgCXJldHVybiAwOwo+ICB9Cj4gIAo+IC1zdGF0aWMgaW50IF9kcHVfZGVidWdmc19z aG93X3JlZ3NldDMyKHN0cnVjdCBzZXFfZmlsZSAqcywgdm9pZCAqZGF0YSkKPiArc3RhdGljIGlu dCBkcHVfZGVidWdmc19yZWdzZXQzMl9zaG93KHN0cnVjdCBzZXFfZmlsZSAqcywgdm9pZCAqZGF0 YSkKPiAgewo+ICAJc3RydWN0IGRwdV9kZWJ1Z2ZzX3JlZ3NldDMyICpyZWdzZXQ7Cj4gIAlzdHJ1 Y3QgZHB1X2ttcyAqZHB1X2ttczsKPiBAQCAtMjEyLDE4ICsxOTksNyBAQCBzdGF0aWMgaW50IF9k cHVfZGVidWdmc19zaG93X3JlZ3NldDMyKHN0cnVjdCBzZXFfZmlsZSAqcywgdm9pZCAqZGF0YSkK PiAgCXJldHVybiAwOwo+ICB9Cj4gIAo+IC1zdGF0aWMgaW50IGRwdV9kZWJ1Z2ZzX29wZW5fcmVn c2V0MzIoc3RydWN0IGlub2RlICppbm9kZSwKPiAtCQlzdHJ1Y3QgZmlsZSAqZmlsZSkKPiAtewo+ IC0JcmV0dXJuIHNpbmdsZV9vcGVuKGZpbGUsIF9kcHVfZGVidWdmc19zaG93X3JlZ3NldDMyLCBp bm9kZS0+aV9wcml2YXRlKTsKPiAtfQo+IC0KPiAtc3RhdGljIGNvbnN0IHN0cnVjdCBmaWxlX29w ZXJhdGlvbnMgZHB1X2ZvcHNfcmVnc2V0MzIgPSB7Cj4gLQkub3BlbiA9CQlkcHVfZGVidWdmc19v cGVuX3JlZ3NldDMyLAo+IC0JLnJlYWQgPQkJc2VxX3JlYWQsCj4gLQkubGxzZWVrID0Jc2VxX2xz ZWVrLAo+IC0JLnJlbGVhc2UgPQlzaW5nbGVfcmVsZWFzZSwKPiAtfTsKPiArREVGSU5FX1NIT1df QVRUUklCVVRFKGRwdV9kZWJ1Z2ZzX3JlZ3NldDMyKTsKPiAgCj4gIHZvaWQgZHB1X2RlYnVnZnNf c2V0dXBfcmVnc2V0MzIoc3RydWN0IGRwdV9kZWJ1Z2ZzX3JlZ3NldDMyICpyZWdzZXQsCj4gIAkJ dWludDMyX3Qgb2Zmc2V0LCB1aW50MzJfdCBsZW5ndGgsIHN0cnVjdCBkcHVfa21zICpkcHVfa21z KQo+IEBAIC0yNDUsNyArMjIxLDcgQEAgdm9pZCAqZHB1X2RlYnVnZnNfY3JlYXRlX3JlZ3NldDMy KGNvbnN0IGNoYXIgKm5hbWUsIHVtb2RlX3QgbW9kZSwKPiAgCXJlZ3NldC0+b2Zmc2V0ID0gcm91 bmRfZG93bihyZWdzZXQtPm9mZnNldCwgNCk7Cj4gIAo+ICAJcmV0dXJuIGRlYnVnZnNfY3JlYXRl X2ZpbGUobmFtZSwgbW9kZSwgcGFyZW50LAo+IC0JCQlyZWdzZXQsICZkcHVfZm9wc19yZWdzZXQz Mik7Cj4gKwkJCXJlZ3NldCwgJmRwdV9kZWJ1Z2ZzX3JlZ3NldDMyX2ZvcHMpOwo+ICB9Cj4gIAo+ ICBzdGF0aWMgaW50IF9kcHVfZGVidWdmc19pbml0KHN0cnVjdCBkcHVfa21zICpkcHVfa21zKQo+ IC0tIAo+IDIuMTguMAo+IAoKLS0gClNlYW4gUGF1bCwgU29mdHdhcmUgRW5naW5lZXIsIEdvb2ds ZSAvIENocm9taXVtIE9TCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9w Lm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1k ZXZlbAo=