From mboxrd@z Thu Jan 1 00:00:00 1970 From: ryadav-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org Subject: Re: [DPU PATCH 10/19] drm/msm: dpu_core_irq: Replace DPU_EVT with tracepoints Date: Tue, 26 Jun 2018 16:21:09 +0530 Message-ID: References: <20180620204841.56354-1-seanpaul@chromium.org> <20180620204841.56354-11-seanpaul@chromium.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180620204841.56354-11-seanpaul-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: freedreno-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "Freedreno" To: Sean Paul Cc: linux-arm-msm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, abhinavk-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org, robdclark-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org, jsanka-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org, freedreno-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, hoegsberg-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org List-Id: linux-arm-msm@vger.kernel.org T24gMjAxOC0wNi0yMSAwMjoxOCwgU2VhbiBQYXVsIHdyb3RlOgo+IFRoaXMgcGF0Y2ggY29udmVy dHMgYWxsIERQVV9FVlRzIGluIGRwdV9jb3JlX2lycSB3aXRoIGVpdGhlciBhIERSTV8qIAo+IGxv Zwo+IG1lc3NhZ2Ugb3IgYSBsaW51eCB0cmFjZXBvaW50Lgo+IAo+IFNpZ25lZC1vZmYtYnk6IFNl YW4gUGF1bCA8c2VhbnBhdWxAY2hyb21pdW0ub3JnPgpSZXZpZXdlZC1ieTogUmFqZXNoIFlhZGF2 IDxyeWFkYXZAY29kZWF1cm9yYS5vcmc+Cj4gLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9tc20vZGlz cC9kcHUxL2RwdV9jb3JlX2lycS5jIHwgNTIgKysrKysrKystLS0tLS0tLS0tLS0KPiAgZHJpdmVy cy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X3RyYWNlLmggICAgfCA1MCArKysrKysrKysrKysr KysrKysrCj4gIDIgZmlsZXMgY2hhbmdlZCwgNzEgaW5zZXJ0aW9ucygrKSwgMzEgZGVsZXRpb25z KC0pCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9j b3JlX2lycS5jCj4gYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfY29yZV9pcnEu Ywo+IGluZGV4IDMzYWIyYWM0NjgzMy4uNTMwYzI0ZGVjMDE3IDEwMDY0NAo+IC0tLSBhL2RyaXZl cnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9jb3JlX2lycS5jCj4gKysrIGIvZHJpdmVycy9n cHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2NvcmVfaXJxLmMKPiBAQCAtMTgsNiArMTgsNyBAQAo+ ICAjaW5jbHVkZSA8bGludXgva3RocmVhZC5oPgo+IAo+ICAjaW5jbHVkZSAiZHB1X2NvcmVfaXJx LmgiCj4gKyNpbmNsdWRlICJkcHVfdHJhY2UuaCIKPiAKPiAgLyoqCj4gICAqIGRwdV9jb3JlX2ly cV9jYWxsYmFja19oYW5kbGVyIC0gZGlzcGF0Y2ggY29yZSBpbnRlcnJ1cHRzCj4gQEAgLTM0LDEw ICszNSw4IEBAIHN0YXRpYyB2b2lkIGRwdV9jb3JlX2lycV9jYWxsYmFja19oYW5kbGVyKHZvaWQK PiAqYXJnLCBpbnQgaXJxX2lkeCkKPiAgCXByX2RlYnVnKCJpcnFfaWR4PSVkXG4iLCBpcnFfaWR4 KTsKPiAKPiAgCWlmIChsaXN0X2VtcHR5KCZpcnFfb2JqLT5pcnFfY2JfdGJsW2lycV9pZHhdKSkg ewo+IC0JCURQVV9FUlJPUigiaXJxX2lkeD0lZCBoYXMgbm8gcmVnaXN0ZXJlZCBjYWxsYmFja1xu IiwgaXJxX2lkeCk7Cj4gLQkJRFBVX0VWVDMyX0lSUShpcnFfaWR4LCBhdG9taWNfcmVhZCgKPiAt CQkJCSZkcHVfa21zLT5pcnFfb2JqLmVuYWJsZV9jb3VudHNbaXJxX2lkeF0pLAo+IC0JCQkJRFBV X0VWVExPR19FUlJPUik7Cj4gKwkJRFJNX0VSUk9SKCJubyByZWdpc3RlcmVkIGNiLCBpZHg6JWQg ZW5hYmxlX2NvdW50OiVkXG4iLCBpcnFfaWR4LAo+ICsJCQlhdG9taWNfcmVhZCgmZHB1X2ttcy0+ aXJxX29iai5lbmFibGVfY291bnRzW2lycV9pZHhdKSk7Cj4gIAl9Cj4gCj4gIAlhdG9taWNfaW5j KCZpcnFfb2JqLT5pcnFfY291bnRzW2lycV9pZHhdKTsKPiBAQCAtODAsNyArNzksNyBAQCBpbnQg ZHB1X2NvcmVfaXJxX2lkeF9sb29rdXAoc3RydWN0IGRwdV9rbXMgKmRwdV9rbXMsCj4gIHN0YXRp YyBpbnQgX2RwdV9jb3JlX2lycV9lbmFibGUoc3RydWN0IGRwdV9rbXMgKmRwdV9rbXMsIGludCBp cnFfaWR4KQo+ICB7Cj4gIAl1bnNpZ25lZCBsb25nIGlycV9mbGFnczsKPiAtCWludCByZXQgPSAw Owo+ICsJaW50IHJldCA9IDAsIGVuYWJsZV9jb3VudDsKPiAKPiAgCWlmICghZHB1X2ttcyB8fCAh ZHB1X2ttcy0+aHdfaW50ciB8fAo+ICAJCQkhZHB1X2ttcy0+aXJxX29iai5lbmFibGVfY291bnRz IHx8Cj4gQEAgLTk0LDExICs5MywxMCBAQCBzdGF0aWMgaW50IF9kcHVfY29yZV9pcnFfZW5hYmxl KHN0cnVjdCBkcHVfa21zCj4gKmRwdV9rbXMsIGludCBpcnFfaWR4KQo+ICAJCXJldHVybiAtRUlO VkFMOwo+ICAJfQo+IAo+IC0JRFBVX0RFQlVHKCJpcnFfaWR4PSVkIGVuYWJsZV9jb3VudD0lZFxu IiwgaXJxX2lkeCwKPiAtCQkJYXRvbWljX3JlYWQoJmRwdV9rbXMtPmlycV9vYmouZW5hYmxlX2Nv dW50c1tpcnFfaWR4XSkpOwo+ICsJZW5hYmxlX2NvdW50ID0gYXRvbWljX3JlYWQoJmRwdV9rbXMt PmlycV9vYmouZW5hYmxlX2NvdW50c1tpcnFfaWR4XSk7Cj4gKwlEUk1fREVCVUdfS01TKCJpcnFf aWR4PSVkIGVuYWJsZV9jb3VudD0lZFxuIiwgaXJxX2lkeCwgZW5hYmxlX2NvdW50KTsKPiArCXRy YWNlX2RwdV9jb3JlX2lycV9lbmFibGVfaWR4KGlycV9pZHgsIGVuYWJsZV9jb3VudCk7Cj4gCj4g LQlEUFVfRVZUMzIoaXJxX2lkeCwKPiAtCQkJYXRvbWljX3JlYWQoJmRwdV9rbXMtPmlycV9vYmou ZW5hYmxlX2NvdW50c1tpcnFfaWR4XSkpOwo+ICAJaWYgKGF0b21pY19pbmNfcmV0dXJuKCZkcHVf a21zLT5pcnFfb2JqLmVuYWJsZV9jb3VudHNbaXJxX2lkeF0pID09IDEpIAo+IHsKPiAgCQlyZXQg PSBkcHVfa21zLT5od19pbnRyLT5vcHMuZW5hYmxlX2lycSgKPiAgCQkJCWRwdV9rbXMtPmh3X2lu dHIsCj4gQEAgLTEzMCwxMSArMTI4LDggQEAgaW50IGRwdV9jb3JlX2lycV9lbmFibGUoc3RydWN0 IGRwdV9rbXMgKmRwdV9rbXMsCj4gaW50ICppcnFfaWR4cywgdTMyIGlycV9jb3VudCkKPiAgCX0K PiAKPiAgCWNvdW50cyA9IGF0b21pY19yZWFkKCZkcHVfa21zLT5pcnFfb2JqLmVuYWJsZV9jb3Vu dHNbaXJxX2lkeHNbMF1dKTsKPiAtCWlmIChjb3VudHMpIHsKPiAtCQlEUFVfRVJST1IoIiVwUzog aXJxX2lkeD0lZCBlbmFibGVfY291bnQ9JWRcbiIsCj4gLQkJCV9fYnVpbHRpbl9yZXR1cm5fYWRk cmVzcygwKSwgaXJxX2lkeHNbMF0sIGNvdW50cyk7Cj4gLQkJRFBVX0VWVDMyKGlycV9pZHhzWzBd LCBjb3VudHMsIERQVV9FVlRMT0dfRVJST1IpOwo+IC0JfQo+ICsJaWYgKGNvdW50cykKPiArCQlE Uk1fRVJST1IoImlycV9pZHg9JWQgZW5hYmxlX2NvdW50PSVkXG4iLCBpcnFfaWR4c1swXSwgY291 bnRzKTsKPiAKPiAgCWZvciAoaSA9IDA7IChpIDwgaXJxX2NvdW50KSAmJiAhcmV0OyBpKyspCj4g IAkJcmV0ID0gX2RwdV9jb3JlX2lycV9lbmFibGUoZHB1X2ttcywgaXJxX2lkeHNbaV0pOwo+IEBA IC0xNDksNyArMTQ0LDcgQEAgaW50IGRwdV9jb3JlX2lycV9lbmFibGUoc3RydWN0IGRwdV9rbXMg KmRwdV9rbXMsCj4gaW50ICppcnFfaWR4cywgdTMyIGlycV9jb3VudCkKPiAgICovCj4gIHN0YXRp YyBpbnQgX2RwdV9jb3JlX2lycV9kaXNhYmxlKHN0cnVjdCBkcHVfa21zICpkcHVfa21zLCBpbnQg aXJxX2lkeCkKPiAgewo+IC0JaW50IHJldCA9IDA7Cj4gKwlpbnQgcmV0ID0gMCwgZW5hYmxlX2Nv dW50Owo+IAo+ICAJaWYgKCFkcHVfa21zIHx8ICFkcHVfa21zLT5od19pbnRyIHx8ICFkcHVfa21z LT5pcnFfb2JqLmVuYWJsZV9jb3VudHMpIAo+IHsKPiAgCQlEUFVfRVJST1IoImludmFsaWQgcGFy YW1zXG4iKTsKPiBAQCAtMTYxLDExICsxNTYsMTAgQEAgc3RhdGljIGludCBfZHB1X2NvcmVfaXJx X2Rpc2FibGUoc3RydWN0IGRwdV9rbXMKPiAqZHB1X2ttcywgaW50IGlycV9pZHgpCj4gIAkJcmV0 dXJuIC1FSU5WQUw7Cj4gIAl9Cj4gCj4gLQlEUFVfREVCVUcoImlycV9pZHg9JWQgZW5hYmxlX2Nv dW50PSVkXG4iLCBpcnFfaWR4LAo+IC0JCQlhdG9taWNfcmVhZCgmZHB1X2ttcy0+aXJxX29iai5l bmFibGVfY291bnRzW2lycV9pZHhdKSk7Cj4gKwllbmFibGVfY291bnQgPSBhdG9taWNfcmVhZCgm ZHB1X2ttcy0+aXJxX29iai5lbmFibGVfY291bnRzW2lycV9pZHhdKTsKPiArCURSTV9ERUJVR19L TVMoImlycV9pZHg9JWQgZW5hYmxlX2NvdW50PSVkXG4iLCBpcnFfaWR4LCBlbmFibGVfY291bnQp Owo+ICsJdHJhY2VfZHB1X2NvcmVfaXJxX2Rpc2FibGVfaWR4KGlycV9pZHgsIGVuYWJsZV9jb3Vu dCk7Cj4gCj4gLQlEUFVfRVZUMzIoaXJxX2lkeCwKPiAtCQkJYXRvbWljX3JlYWQoJmRwdV9rbXMt PmlycV9vYmouZW5hYmxlX2NvdW50c1tpcnFfaWR4XSkpOwo+ICAJaWYgKGF0b21pY19kZWNfcmV0 dXJuKCZkcHVfa21zLT5pcnFfb2JqLmVuYWJsZV9jb3VudHNbaXJxX2lkeF0pID09IDApIAo+IHsK PiAgCQlyZXQgPSBkcHVfa21zLT5od19pbnRyLT5vcHMuZGlzYWJsZV9pcnEoCj4gIAkJCQlkcHVf a21zLT5od19pbnRyLAo+IEBAIC0xODksMTEgKzE4Myw4IEBAIGludCBkcHVfY29yZV9pcnFfZGlz YWJsZShzdHJ1Y3QgZHB1X2ttcyAqZHB1X2ttcywKPiBpbnQgKmlycV9pZHhzLCB1MzIgaXJxX2Nv dW50KQo+ICAJfQo+IAo+ICAJY291bnRzID0gYXRvbWljX3JlYWQoJmRwdV9rbXMtPmlycV9vYmou ZW5hYmxlX2NvdW50c1tpcnFfaWR4c1swXV0pOwo+IC0JaWYgKGNvdW50cyA9PSAyKSB7Cj4gLQkJ RFBVX0VSUk9SKCIlcFM6IGlycV9pZHg9JWQgZW5hYmxlX2NvdW50PSVkXG4iLAo+IC0JCQlfX2J1 aWx0aW5fcmV0dXJuX2FkZHJlc3MoMCksIGlycV9pZHhzWzBdLCBjb3VudHMpOwo+IC0JCURQVV9F VlQzMihpcnFfaWR4c1swXSwgY291bnRzLCBEUFVfRVZUTE9HX0VSUk9SKTsKPiAtCX0KPiArCWlm IChjb3VudHMgPT0gMikKPiArCQlEUk1fRVJST1IoImlycV9pZHg9JWQgZW5hYmxlX2NvdW50PSVk XG4iLCBpcnFfaWR4c1swXSwgY291bnRzKTsKPiAKPiAgCWZvciAoaSA9IDA7IChpIDwgaXJxX2Nv dW50KSAmJiAhcmV0OyBpKyspCj4gIAkJcmV0ID0gX2RwdV9jb3JlX2lycV9kaXNhYmxlKGRwdV9r bXMsIGlycV9pZHhzW2ldKTsKPiBAQCAtMjA5LDcgKzIwMCw3IEBAIGludCBkcHVfY29yZV9pcnFf ZGlzYWJsZShzdHJ1Y3QgZHB1X2ttcyAqZHB1X2ttcywKPiBpbnQgKmlycV9pZHhzLCB1MzIgaXJx X2NvdW50KQo+ICAgKi8KPiAgaW50IGRwdV9jb3JlX2lycV9kaXNhYmxlX25vbG9jayhzdHJ1Y3Qg ZHB1X2ttcyAqZHB1X2ttcywgaW50IGlycV9pZHgpCj4gIHsKPiAtCWludCByZXQgPSAwOwo+ICsJ aW50IHJldCA9IDAsIGVuYWJsZV9jb3VudDsKPiAKPiAgCWlmICghZHB1X2ttcyB8fCAhZHB1X2tt cy0+aHdfaW50ciB8fCAhZHB1X2ttcy0+aXJxX29iai5lbmFibGVfY291bnRzKSAKPiB7Cj4gIAkJ RFBVX0VSUk9SKCJpbnZhbGlkIHBhcmFtc1xuIik7Cj4gQEAgLTIyMSwxMSArMjEyLDEwIEBAIGlu dCBkcHVfY29yZV9pcnFfZGlzYWJsZV9ub2xvY2soc3RydWN0IGRwdV9rbXMKPiAqZHB1X2ttcywg aW50IGlycV9pZHgpCj4gIAkJcmV0dXJuIC1FSU5WQUw7Cj4gIAl9Cj4gCj4gLQlEUFVfREVCVUco ImlycV9pZHg9JWQgZW5hYmxlX2NvdW50PSVkXG4iLCBpcnFfaWR4LAo+IC0JCQlhdG9taWNfcmVh ZCgmZHB1X2ttcy0+aXJxX29iai5lbmFibGVfY291bnRzW2lycV9pZHhdKSk7Cj4gKwllbmFibGVf Y291bnQgPSBhdG9taWNfcmVhZCgmZHB1X2ttcy0+aXJxX29iai5lbmFibGVfY291bnRzW2lycV9p ZHhdKTsKPiArCURSTV9ERUJVR19LTVMoImlycV9pZHg9JWQgZW5hYmxlX2NvdW50PSVkXG4iLCBp cnFfaWR4LCBlbmFibGVfY291bnQpOwo+ICsJdHJhY2VfZHB1X2NvcmVfaXJxX2Rpc2FibGVfbm9s b2NrKGlycV9pZHgsIGVuYWJsZV9jb3VudCk7Cj4gCj4gLQlEUFVfRVZUMzIoaXJxX2lkeCwKPiAt CQkJYXRvbWljX3JlYWQoJmRwdV9rbXMtPmlycV9vYmouZW5hYmxlX2NvdW50c1tpcnFfaWR4XSkp Owo+ICAJaWYgKGF0b21pY19kZWNfcmV0dXJuKCZkcHVfa21zLT5pcnFfb2JqLmVuYWJsZV9jb3Vu dHNbaXJxX2lkeF0pID09IDApIAo+IHsKPiAgCQlyZXQgPSBkcHVfa21zLT5od19pbnRyLT5vcHMu ZGlzYWJsZV9pcnFfbm9sb2NrKAo+ICAJCQkJZHB1X2ttcy0+aHdfaW50ciwKPiBAQCAtMjk3LDcg KzI4Nyw3IEBAIGludCBkcHVfY29yZV9pcnFfcmVnaXN0ZXJfY2FsbGJhY2soc3RydWN0IGRwdV9r bXMKPiAqZHB1X2ttcywgaW50IGlycV9pZHgsCj4gIAlEUFVfREVCVUcoIlslcFNdIGlycV9pZHg9 JWRcbiIsIF9fYnVpbHRpbl9yZXR1cm5fYWRkcmVzcygwKSwgCj4gaXJxX2lkeCk7Cj4gCj4gIAlz cGluX2xvY2tfaXJxc2F2ZSgmZHB1X2ttcy0+aXJxX29iai5jYl9sb2NrLCBpcnFfZmxhZ3MpOwo+ IC0JRFBVX0VWVDMyKGlycV9pZHgsIHJlZ2lzdGVyX2lycV9jYik7Cj4gKwl0cmFjZV9kcHVfY29y ZV9pcnFfcmVnaXN0ZXJfY2FsbGJhY2soaXJxX2lkeCwgcmVnaXN0ZXJfaXJxX2NiKTsKPiAgCWxp c3RfZGVsX2luaXQoJnJlZ2lzdGVyX2lycV9jYi0+bGlzdCk7Cj4gIAlsaXN0X2FkZF90YWlsKCZy ZWdpc3Rlcl9pcnFfY2ItPmxpc3QsCj4gIAkJCSZkcHVfa21zLT5pcnFfb2JqLmlycV9jYl90Ymxb aXJxX2lkeF0pOwo+IEBAIC0zMzIsNyArMzIyLDcgQEAgaW50IGRwdV9jb3JlX2lycV91bnJlZ2lz dGVyX2NhbGxiYWNrKHN0cnVjdAo+IGRwdV9rbXMgKmRwdV9rbXMsIGludCBpcnFfaWR4LAo+ICAJ RFBVX0RFQlVHKCJbJXBTXSBpcnFfaWR4PSVkXG4iLCBfX2J1aWx0aW5fcmV0dXJuX2FkZHJlc3Mo MCksIAo+IGlycV9pZHgpOwo+IAo+ICAJc3Bpbl9sb2NrX2lycXNhdmUoJmRwdV9rbXMtPmlycV9v YmouY2JfbG9jaywgaXJxX2ZsYWdzKTsKPiAtCURQVV9FVlQzMihpcnFfaWR4LCByZWdpc3Rlcl9p cnFfY2IpOwo+ICsJdHJhY2VfZHB1X2NvcmVfaXJxX3VucmVnaXN0ZXJfY2FsbGJhY2soaXJxX2lk eCwgcmVnaXN0ZXJfaXJxX2NiKTsKPiAgCWxpc3RfZGVsX2luaXQoJnJlZ2lzdGVyX2lycV9jYi0+ bGlzdCk7Cj4gIAkvKiBlbXB0eSBjYWxsYmFjayBsaXN0IGJ1dCBpbnRlcnJ1cHQgaXMgc3RpbGwg ZW5hYmxlZCAqLwo+ICAJaWYgKGxpc3RfZW1wdHkoJmRwdV9rbXMtPmlycV9vYmouaXJxX2NiX3Ri bFtpcnFfaWR4XSkgJiYKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2Rw dTEvZHB1X3RyYWNlLmgKPiBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV90cmFj ZS5oCj4gaW5kZXggOWQwNDRmNWNlMjZlLi5lZTQxZGI4NmEyZTkgMTAwNjQ0Cj4gLS0tIGEvZHJp dmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X3RyYWNlLmgKPiArKysgYi9kcml2ZXJzL2dw dS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfdHJhY2UuaAo+IEBAIC05NjYsNiArOTY2LDU2IEBAIFRS QUNFX0VWRU5UKGRwdV9wcF9jb25uZWN0X2V4dF90ZSwKPiAgCVRQX3ByaW50aygicHA6JWQgY2Zn OiV1IiwgX19lbnRyeS0+cHAsIF9fZW50cnktPmNmZykKPiAgKTsKPiAKPiArREVDTEFSRV9FVkVO VF9DTEFTUyhkcHVfY29yZV9pcnFfaWR4X2NudF90ZW1wbGF0ZSwKPiArCVRQX1BST1RPKGludCBp cnFfaWR4LCBpbnQgZW5hYmxlX2NvdW50KSwKPiArCVRQX0FSR1MoaXJxX2lkeCwgZW5hYmxlX2Nv dW50KSwKPiArCVRQX1NUUlVDVF9fZW50cnkoCj4gKwkJX19maWVsZCgJaW50LAlpcnFfaWR4CQkp Cj4gKwkJX19maWVsZCgJaW50LAllbmFibGVfY291bnQJKQo+ICsJKSwKPiArCVRQX2Zhc3RfYXNz aWduKAo+ICsJCV9fZW50cnktPmlycV9pZHggPSBpcnFfaWR4Owo+ICsJCV9fZW50cnktPmVuYWJs ZV9jb3VudCA9IGVuYWJsZV9jb3VudDsKPiArCSksCj4gKwlUUF9wcmludGsoImlycV9pZHg6JWQg ZW5hYmxlX2NvdW50OiV1IiwgX19lbnRyeS0+aXJxX2lkeCwKPiArCQkgIF9fZW50cnktPmVuYWJs ZV9jb3VudCkKPiArKTsKPiArREVGSU5FX0VWRU5UKGRwdV9jb3JlX2lycV9pZHhfY250X3RlbXBs YXRlLCBkcHVfY29yZV9pcnFfZW5hYmxlX2lkeCwKPiArCVRQX1BST1RPKGludCBpcnFfaWR4LCBp bnQgZW5hYmxlX2NvdW50KSwKPiArCVRQX0FSR1MoaXJxX2lkeCwgZW5hYmxlX2NvdW50KQo+ICsp Owo+ICtERUZJTkVfRVZFTlQoZHB1X2NvcmVfaXJxX2lkeF9jbnRfdGVtcGxhdGUsIGRwdV9jb3Jl X2lycV9kaXNhYmxlX2lkeCwKPiArCVRQX1BST1RPKGludCBpcnFfaWR4LCBpbnQgZW5hYmxlX2Nv dW50KSwKPiArCVRQX0FSR1MoaXJxX2lkeCwgZW5hYmxlX2NvdW50KQo+ICspOwo+ICtERUZJTkVf RVZFTlQoZHB1X2NvcmVfaXJxX2lkeF9jbnRfdGVtcGxhdGUsIAo+IGRwdV9jb3JlX2lycV9kaXNh YmxlX25vbG9jaywKPiArCVRQX1BST1RPKGludCBpcnFfaWR4LCBpbnQgZW5hYmxlX2NvdW50KSwK PiArCVRQX0FSR1MoaXJxX2lkeCwgZW5hYmxlX2NvdW50KQo+ICspOwo+ICsKPiArREVDTEFSRV9F VkVOVF9DTEFTUyhkcHVfY29yZV9pcnFfY2FsbGJhY2tfdGVtcGxhdGUsCj4gKwlUUF9QUk9UTyhp bnQgaXJxX2lkeCwgc3RydWN0IGRwdV9pcnFfY2FsbGJhY2sgKmNhbGxiYWNrKSwKPiArCVRQX0FS R1MoaXJxX2lkeCwgY2FsbGJhY2spLAo+ICsJVFBfU1RSVUNUX19lbnRyeSgKPiArCQlfX2ZpZWxk KAlpbnQsCQkJCWlycV9pZHgJKQo+ICsJCV9fZmllbGQoCXN0cnVjdCBkcHVfaXJxX2NhbGxiYWNr ICosCWNhbGxiYWNrKQo+ICsJKSwKPiArCVRQX2Zhc3RfYXNzaWduKAo+ICsJCV9fZW50cnktPmly cV9pZHggPSBpcnFfaWR4Owo+ICsJCV9fZW50cnktPmNhbGxiYWNrID0gY2FsbGJhY2s7Cj4gKwkp LAo+ICsJVFBfcHJpbnRrKCJpcnFfaWR4OiVkIGNhbGxiYWNrOiVwSyIsIF9fZW50cnktPmlycV9p ZHgsCj4gKwkJICBfX2VudHJ5LT5jYWxsYmFjaykKPiArKTsKPiArREVGSU5FX0VWRU5UKGRwdV9j b3JlX2lycV9jYWxsYmFja190ZW1wbGF0ZSwgCj4gZHB1X2NvcmVfaXJxX3JlZ2lzdGVyX2NhbGxi YWNrLAo+ICsJVFBfUFJPVE8oaW50IGlycV9pZHgsIHN0cnVjdCBkcHVfaXJxX2NhbGxiYWNrICpj YWxsYmFjayksCj4gKwlUUF9BUkdTKGlycV9pZHgsIGNhbGxiYWNrKQo+ICspOwo+ICtERUZJTkVf RVZFTlQoZHB1X2NvcmVfaXJxX2NhbGxiYWNrX3RlbXBsYXRlLCAKPiBkcHVfY29yZV9pcnFfdW5y ZWdpc3Rlcl9jYWxsYmFjaywKPiArCVRQX1BST1RPKGludCBpcnFfaWR4LCBzdHJ1Y3QgZHB1X2ly cV9jYWxsYmFjayAqY2FsbGJhY2spLAo+ICsJVFBfQVJHUyhpcnFfaWR4LCBjYWxsYmFjaykKPiAr KTsKPiArCj4gICNkZWZpbmUgRFBVX0FUUkFDRV9FTkQobmFtZSkgdHJhY2VfdHJhY2luZ19tYXJr X3dyaXRlKGN1cnJlbnQtPnRnaWQsIAo+IG5hbWUsIDApCj4gICNkZWZpbmUgRFBVX0FUUkFDRV9C RUdJTihuYW1lKSB0cmFjZV90cmFjaW5nX21hcmtfd3JpdGUoY3VycmVudC0+dGdpZCwgCj4gbmFt ZSwgMSkKPiAgI2RlZmluZSBEUFVfQVRSQUNFX0ZVTkMoKSBEUFVfQVRSQUNFX0JFR0lOKF9fZnVu Y19fKQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpGcmVl ZHJlbm8gbWFpbGluZyBsaXN0CkZyZWVkcmVub0BsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6 Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9mcmVlZHJlbm8K