From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jeykumar Sankaran Subject: Re: [PATCH v2 3/3] drm/msm: dpu: Make legacy cursor updates asynchronous Date: Thu, 08 Nov 2018 14:00:51 -0800 Message-ID: <0bb3272e248ad0a13fd8f8d863e7ed91@codeaurora.org> References: <20181030160033.18464-1-sean@poorly.run> <20181030160033.18464-3-sean@poorly.run> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20181030160033.18464-3-sean-p7yTbzM4H96eqtR555YLDQ@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, Abhinav Kumar , robdclark-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org, Sean Paul , dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, freedreno-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org List-Id: linux-arm-msm@vger.kernel.org T24gMjAxOC0xMC0zMCAwOTowMCwgU2VhbiBQYXVsIHdyb3RlOgo+IEZyb206IFNlYW4gUGF1bCA8 c2VhbnBhdWxAY2hyb21pdW0ub3JnPgo+IAo+IFRoaXMgcGF0Y2ggc3ByaW5rbGVzIGEgZmV3IGFz eW5jL2xlZ2FjeV9jdXJzb3JfdXBkYXRlIGNoZWNrcwo+IHRocm91Z2ggY29tbWl0IHRvIGVuc3Vy ZSB0aGF0IGN1cnNvciB1cGRhdGVzIGFyZW4ndCBibG9ja2VkIG9uIHZzeW5jLgo+IFRoZXJlIGFy ZSAyIG1haW4gY29tcG9uZW50cyB0byB0aGlzLCB0aGUgZmlyc3QgaXMgdGhhdCB3ZSBkb24ndCB3 YW50IHRvCj4gd2FpdF9mb3JfY29tbWl0X2RvbmUgaW4gbXNtX2F0b21pYyAgYmVmb3JlIHJldHVy bmluZyBmcm9tIAo+IGF0b21pY19jb21wbGV0ZS4KPiBUaGUgc2Vjb25kIGlzIHRoYXQgaW4gZHB1 IHdlIGRvbid0IHdhbnQgdG8gd2FpdCBmb3IgZnJhbWVfZG9uZSBldmVudHMgCj4gd2hlbgo+IHVw ZGF0aW5nIHRoZSBjdXJzb3IuCj4gCj4gQ2hhbmdlcyBpbiB2MjoKPiAtIE5vbmUKPiAKPiBTaWdu ZWQtb2ZmLWJ5OiBTZWFuIFBhdWwgPHNlYW5wYXVsQGNocm9taXVtLm9yZz4KPiAtLS0KPiAgZHJp dmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2NydGMuYyAgICB8IDQ0ICsrKysrKysrKysr LS0tLS0tLS0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfY3J0Yy5oICAg IHwgIDMgKy0KPiAgZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2VuY29kZXIuYyB8 IDIyICsrKysrKystLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9lbmNv ZGVyLmggfCAgNiArKy0KPiAgZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2ttcy5j ICAgICB8ICA1ICsrLQo+ICBkcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9hdG9taWMuYyAgICAgICAg ICAgIHwgIDMgKy0KPiAgNiBmaWxlcyBjaGFuZ2VkLCA0OSBpbnNlcnRpb25zKCspLCAzNCBkZWxl dGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEv ZHB1X2NydGMuYwo+IGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2NydGMuYwo+ IGluZGV4IGVkODRjZjQ0YTIyMi4uMWUzZTU3ODE3YjcyIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMv Z3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9jcnRjLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0v bXNtL2Rpc3AvZHB1MS9kcHVfY3J0Yy5jCj4gQEAgLTcwMiw3ICs3MDIsNyBAQCBzdGF0aWMgaW50 IF9kcHVfY3J0Y193YWl0X2Zvcl9mcmFtZV9kb25lKHN0cnVjdAo+IGRybV9jcnRjICpjcnRjKQo+ ICAJcmV0dXJuIHJjOwo+ICB9Cj4gCj4gLXZvaWQgZHB1X2NydGNfY29tbWl0X2tpY2tvZmYoc3Ry dWN0IGRybV9jcnRjICpjcnRjKQo+ICt2b2lkIGRwdV9jcnRjX2NvbW1pdF9raWNrb2ZmKHN0cnVj dCBkcm1fY3J0YyAqY3J0YywgYm9vbCBhc3luYykKPiAgewo+ICAJc3RydWN0IGRybV9lbmNvZGVy ICplbmNvZGVyOwo+ICAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNydGMtPmRldjsKPiBAQCAt NzMxLDI3ICs3MzEsMzAgQEAgdm9pZCBkcHVfY3J0Y19jb21taXRfa2lja29mZihzdHJ1Y3QgZHJt X2NydGMgCj4gKmNydGMpCj4gIAkJICogRW5jb2RlciB3aWxsIGZsdXNoL3N0YXJ0IG5vdywgdW5s ZXNzIGl0IGhhcyBhIHR4Cj4gcGVuZGluZy4KPiAgCQkgKiBJZiBzbywgaXQgbWF5IGRlbGF5IGFu ZCBmbHVzaCBhdCBhbiBpcnEgZXZlbnQgKGUuZy4KPiBwcGRvbmUpCj4gIAkJICovCj4gLQkJZHB1 X2VuY29kZXJfcHJlcGFyZV9mb3Jfa2lja29mZihlbmNvZGVyLCAmcGFyYW1zKTsKPiArCQlkcHVf ZW5jb2Rlcl9wcmVwYXJlX2Zvcl9raWNrb2ZmKGVuY29kZXIsICZwYXJhbXMsIGFzeW5jKTsKPiAg CX0KPiAKPiAtCS8qIHdhaXQgZm9yIGZyYW1lX2V2ZW50X2RvbmUgY29tcGxldGlvbiAqLwo+IC0J RFBVX0FUUkFDRV9CRUdJTigid2FpdF9mb3JfZnJhbWVfZG9uZV9ldmVudCIpOwo+IC0JcmV0ID0g X2RwdV9jcnRjX3dhaXRfZm9yX2ZyYW1lX2RvbmUoY3J0Yyk7Cj4gLQlEUFVfQVRSQUNFX0VORCgi d2FpdF9mb3JfZnJhbWVfZG9uZV9ldmVudCIpOwo+IC0JaWYgKHJldCkgewo+IC0JCURQVV9FUlJP UigiY3J0YyVkIHdhaXQgZm9yIGZyYW1lIGRvbmUKPiBmYWlsZWQ7ZnJhbWVfcGVuZGluZyVkXG4i LAo+IC0JCQkJY3J0Yy0+YmFzZS5pZCwKPiAtCQkJCWF0b21pY19yZWFkKCZkcHVfY3J0Yy0+ZnJh bWVfcGVuZGluZykpOwo+IC0JCWdvdG8gZW5kOwo+IC0JfQo+IAo+IC0JaWYgKGF0b21pY19pbmNf cmV0dXJuKCZkcHVfY3J0Yy0+ZnJhbWVfcGVuZGluZykgPT0gMSkgewo+IC0JCS8qIGFjcXVpcmUg YmFuZHdpZHRoIGFuZCBvdGhlciByZXNvdXJjZXMgKi8KPiAtCQlEUFVfREVCVUcoImNydGMlZCBm aXJzdCBjb21taXRcbiIsIGNydGMtPmJhc2UuaWQpOwo+IC0JfSBlbHNlCj4gLQkJRFBVX0RFQlVH KCJjcnRjJWQgY29tbWl0XG4iLCBjcnRjLT5iYXNlLmlkKTsKPiArCWlmICghYXN5bmMpIHsKPiAr CQkvKiB3YWl0IGZvciBmcmFtZV9ldmVudF9kb25lIGNvbXBsZXRpb24gKi8KPiArCQlEUFVfQVRS QUNFX0JFR0lOKCJ3YWl0X2Zvcl9mcmFtZV9kb25lX2V2ZW50Iik7Cj4gKwkJcmV0ID0gX2RwdV9j cnRjX3dhaXRfZm9yX2ZyYW1lX2RvbmUoY3J0Yyk7Cj4gKwkJRFBVX0FUUkFDRV9FTkQoIndhaXRf Zm9yX2ZyYW1lX2RvbmVfZXZlbnQiKTsKPiArCQlpZiAocmV0KSB7Cj4gKwkJCURQVV9FUlJPUigi Y3J0YyVkIHdhaXQgZm9yIGZyYW1lIGRvbmUKPiBmYWlsZWQ7ZnJhbWVfcGVuZGluZyVkXG4iLAo+ ICsJCQkJCWNydGMtPmJhc2UuaWQsCj4gKwo+IGF0b21pY19yZWFkKCZkcHVfY3J0Yy0+ZnJhbWVf cGVuZGluZykpOwo+ICsJCQlnb3RvIGVuZDsKPiArCQl9Cj4gKwo+ICsJCWlmIChhdG9taWNfaW5j X3JldHVybigmZHB1X2NydGMtPmZyYW1lX3BlbmRpbmcpID09IDEpIHsKPiArCQkJLyogYWNxdWly ZSBiYW5kd2lkdGggYW5kIG90aGVyIHJlc291cmNlcyAqLwo+ICsJCQlEUFVfREVCVUcoImNydGMl ZCBmaXJzdCBjb21taXRcbiIsIGNydGMtPmJhc2UuaWQpOwo+ICsJCX0gZWxzZQo+ICsJCQlEUFVf REVCVUcoImNydGMlZCBjb21taXRcbiIsIGNydGMtPmJhc2UuaWQpOwo+IAo+IC0JZHB1X2NydGMt PnBsYXlfY291bnQrKzsKPiArCQlkcHVfY3J0Yy0+cGxheV9jb3VudCsrOwo+ICsJfQo+IAo+ICAJ ZHB1X3ZiaWZfY2xlYXJfZXJyb3JzKGRwdV9rbXMpOwo+IAo+IEBAIC03NTksMTEgKzc2MiwxMiBA QCB2b2lkIGRwdV9jcnRjX2NvbW1pdF9raWNrb2ZmKHN0cnVjdCBkcm1fY3J0YyAKPiAqY3J0YykK PiAgCQlpZiAoZW5jb2Rlci0+Y3J0YyAhPSBjcnRjKQo+ICAJCQljb250aW51ZTsKPiAKPiAtCQlk cHVfZW5jb2Rlcl9raWNrb2ZmKGVuY29kZXIpOwo+ICsJCWRwdV9lbmNvZGVyX2tpY2tvZmYoZW5j b2RlciwgYXN5bmMpOwo+ICAJfQo+IAo+ICBlbmQ6Cj4gLQlyZWluaXRfY29tcGxldGlvbigmZHB1 X2NydGMtPmZyYW1lX2RvbmVfY29tcCk7Cj4gKwlpZiAoIWFzeW5jKQo+ICsJCXJlaW5pdF9jb21w bGV0aW9uKCZkcHVfY3J0Yy0+ZnJhbWVfZG9uZV9jb21wKTsKPiAgCURQVV9BVFJBQ0VfRU5EKCJj cnRjX2NvbW1pdCIpOwo+ICB9Cj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20v ZGlzcC9kcHUxL2RwdV9jcnRjLmgKPiBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2Rw dV9jcnRjLmgKPiBpbmRleCA0ODIyNjAyNDAyZjkuLmVjNjMzY2UzZWU2YyAxMDA2NDQKPiAtLS0g YS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfY3J0Yy5oCj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2NydGMuaAo+IEBAIC0yNzcsOCArMjc3LDkgQEAg aW50IGRwdV9jcnRjX3ZibGFuayhzdHJ1Y3QgZHJtX2NydGMgKmNydGMsIGJvb2wgCj4gZW4pOwo+ ICAvKioKPiAgICogZHB1X2NydGNfY29tbWl0X2tpY2tvZmYgLSB0cmlnZ2VyIGtpY2tvZmYgb2Yg dGhlIGNvbW1pdCBmb3IgdGhpcyAKPiBjcnRjCj4gICAqIEBjcnRjOiBQb2ludGVyIHRvIGRybSBj cnRjIG9iamVjdAo+ICsgKiBAYXN5bmM6IHRydWUgaWYgdGhlIGNvbW1pdCBpcyBhc3luY2hyb25v dXMsIGZhbHNlIG90aGVyd2lzZQo+ICAgKi8KPiAtdm9pZCBkcHVfY3J0Y19jb21taXRfa2lja29m ZihzdHJ1Y3QgZHJtX2NydGMgKmNydGMpOwo+ICt2b2lkIGRwdV9jcnRjX2NvbW1pdF9raWNrb2Zm KHN0cnVjdCBkcm1fY3J0YyAqY3J0YywgYm9vbCBhc3luYyk7Cj4gCj4gIC8qKgo+ICAgKiBkcHVf Y3J0Y19jb21wbGV0ZV9jb21taXQgLSBjYWxsYmFjayBzaWduYWxsaW5nIGNvbXBsZXRpb24gb2Yg Cj4gY3VycmVudAo+IGNvbW1pdAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rp c3AvZHB1MS9kcHVfZW5jb2Rlci5jCj4gYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9k cHVfZW5jb2Rlci5jCj4gaW5kZXggODJjNTVlZmI1MDBmLi5hOGJhMTBjZWFhY2YgMTAwNjQ0Cj4g LS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2VuY29kZXIuYwo+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9lbmNvZGVyLmMKPiBAQCAtMTM3NSw3 ICsxMzc1LDggQEAgc3RhdGljIHZvaWQgZHB1X2VuY29kZXJfb2ZmX3dvcmsoc3RydWN0IAo+IGt0 aHJlYWRfd29yawo+ICp3b3JrKQo+ICAgKiBleHRyYV9mbHVzaF9iaXRzOiBBZGRpdGlvbmFsIGJp dCBtYXNrIHRvIGluY2x1ZGUgaW4gZmx1c2ggdHJpZ2dlcgo+ICAgKi8KPiAgc3RhdGljIHZvaWQg X2RwdV9lbmNvZGVyX3RyaWdnZXJfZmx1c2goc3RydWN0IGRybV9lbmNvZGVyICpkcm1fZW5jLAo+ IC0JCXN0cnVjdCBkcHVfZW5jb2Rlcl9waHlzICpwaHlzLCB1aW50MzJfdCBleHRyYV9mbHVzaF9i aXRzKQo+ICsJCXN0cnVjdCBkcHVfZW5jb2Rlcl9waHlzICpwaHlzLCB1aW50MzJfdCBleHRyYV9m bHVzaF9iaXRzLAo+ICsJCWJvb2wgYXN5bmMpCj4gIHsKPiAgCXN0cnVjdCBkcHVfaHdfY3RsICpj dGw7Cj4gIAlpbnQgcGVuZGluZ19raWNrb2ZmX2NudDsKPiBAQCAtMTM5OCw3ICsxMzk5LDEwIEBA IHN0YXRpYyB2b2lkIF9kcHVfZW5jb2Rlcl90cmlnZ2VyX2ZsdXNoKHN0cnVjdAo+IGRybV9lbmNv ZGVyICpkcm1fZW5jLAo+ICAJCXJldHVybjsKPiAgCX0KPiAKPiAtCXBlbmRpbmdfa2lja29mZl9j bnQgPSBkcHVfZW5jb2Rlcl9waHlzX2luY19wZW5kaW5nKHBoeXMpOwo+ICsJaWYgKCFhc3luYykK PiArCQlwZW5kaW5nX2tpY2tvZmZfY250ID0gZHB1X2VuY29kZXJfcGh5c19pbmNfcGVuZGluZyhw aHlzKTsKPiArCWVsc2UKPiArCQlwZW5kaW5nX2tpY2tvZmZfY250ID0KPiBhdG9taWNfcmVhZCgm cGh5cy0+cGVuZGluZ19raWNrb2ZmX2NudCk7Cj4gCj4gIAlpZiAoZXh0cmFfZmx1c2hfYml0cyAm JiBjdGwtPm9wcy51cGRhdGVfcGVuZGluZ19mbHVzaCkKPiAgCQljdGwtPm9wcy51cGRhdGVfcGVu ZGluZ19mbHVzaChjdGwsIGV4dHJhX2ZsdXNoX2JpdHMpOwo+IEBAIC0xNTExLDcgKzE1MTUsOCBA QCBzdGF0aWMgdm9pZCBkcHVfZW5jb2Rlcl9oZWxwZXJfaHdfcmVzZXQoc3RydWN0Cj4gZHB1X2Vu Y29kZXJfcGh5cyAqcGh5c19lbmMpCj4gICAqCWEgdGltZS4KPiAgICogZHB1X2VuYzogUG9pbnRl ciB0byB2aXJ0dWFsIGVuY29kZXIgc3RydWN0dXJlCj4gICAqLwo+IC1zdGF0aWMgdm9pZCBfZHB1 X2VuY29kZXJfa2lja29mZl9waHlzKHN0cnVjdCBkcHVfZW5jb2Rlcl92aXJ0IAo+ICpkcHVfZW5j KQo+ICtzdGF0aWMgdm9pZCBfZHB1X2VuY29kZXJfa2lja29mZl9waHlzKHN0cnVjdCBkcHVfZW5j b2Rlcl92aXJ0IAo+ICpkcHVfZW5jLAo+ICsJCQkJICAgICAgYm9vbCBhc3luYykKPiAgewo+ICAJ c3RydWN0IGRwdV9od19jdGwgKmN0bDsKPiAgCXVpbnQzMl90IGksIHBlbmRpbmdfZmx1c2g7Cj4g QEAgLTE1NDIsNyArMTU0Nyw4IEBAIHN0YXRpYyB2b2lkIF9kcHVfZW5jb2Rlcl9raWNrb2ZmX3Bo eXMoc3RydWN0Cj4gZHB1X2VuY29kZXJfdmlydCAqZHB1X2VuYykKPiAgCQkJc2V0X2JpdChpLCBk cHVfZW5jLT5mcmFtZV9idXN5X21hc2spOwo+ICAJCWlmICghcGh5cy0+b3BzLm5lZWRzX3Npbmds ZV9mbHVzaCB8fAo+ICAJCQkJIXBoeXMtPm9wcy5uZWVkc19zaW5nbGVfZmx1c2gocGh5cykpCj4g LQkJCV9kcHVfZW5jb2Rlcl90cmlnZ2VyX2ZsdXNoKCZkcHVfZW5jLT5iYXNlLCBwaHlzLAo+IDB4 MCk7Cj4gKwkJCV9kcHVfZW5jb2Rlcl90cmlnZ2VyX2ZsdXNoKCZkcHVfZW5jLT5iYXNlLCBwaHlz LAo+IDB4MCwKPiArCQkJCQkJICAgYXN5bmMpOwo+ICAJCWVsc2UgaWYgKGN0bC0+b3BzLmdldF9w ZW5kaW5nX2ZsdXNoKQo+ICAJCQlwZW5kaW5nX2ZsdXNoIHw9IGN0bC0+b3BzLmdldF9wZW5kaW5n X2ZsdXNoKGN0bCk7Cj4gIAl9Cj4gQEAgLTE1NTIsNyArMTU1OCw3IEBAIHN0YXRpYyB2b2lkIF9k cHVfZW5jb2Rlcl9raWNrb2ZmX3BoeXMoc3RydWN0Cj4gZHB1X2VuY29kZXJfdmlydCAqZHB1X2Vu YykKPiAgCQlfZHB1X2VuY29kZXJfdHJpZ2dlcl9mbHVzaCgKPiAgCQkJCSZkcHVfZW5jLT5iYXNl LAo+ICAJCQkJZHB1X2VuYy0+Y3VyX21hc3RlciwKPiAtCQkJCXBlbmRpbmdfZmx1c2gpOwo+ICsJ CQkJcGVuZGluZ19mbHVzaCwgYXN5bmMpOwo+ICAJfQo+IAo+ICAJX2RwdV9lbmNvZGVyX3RyaWdn ZXJfc3RhcnQoZHB1X2VuYy0+Y3VyX21hc3Rlcik7Cj4gQEAgLTE3MzYsNyArMTc0Miw3IEBAIHN0 YXRpYyB2b2lkCj4gZHB1X2VuY29kZXJfdnN5bmNfZXZlbnRfd29ya19oYW5kbGVyKHN0cnVjdCBr dGhyZWFkX3dvcmsgKndvcmspCj4gIH0KPiAKPiAgdm9pZCBkcHVfZW5jb2Rlcl9wcmVwYXJlX2Zv cl9raWNrb2ZmKHN0cnVjdCBkcm1fZW5jb2RlciAqZHJtX2VuYywKPiAtCQlzdHJ1Y3QgZHB1X2Vu Y29kZXJfa2lja29mZl9wYXJhbXMgKnBhcmFtcykKPiArCQlzdHJ1Y3QgZHB1X2VuY29kZXJfa2lj a29mZl9wYXJhbXMgKnBhcmFtcywgYm9vbCBhc3luYykKPiAgewo+ICAJc3RydWN0IGRwdV9lbmNv ZGVyX3ZpcnQgKmRwdV9lbmM7Cj4gIAlzdHJ1Y3QgZHB1X2VuY29kZXJfcGh5cyAqcGh5czsKPiBA QCAtMTc3NSw3ICsxNzgxLDcgQEAgdm9pZCBkcHVfZW5jb2Rlcl9wcmVwYXJlX2Zvcl9raWNrb2Zm KHN0cnVjdAo+IGRybV9lbmNvZGVyICpkcm1fZW5jLAo+ICAJfQo+ICB9Cj4gCj4gLXZvaWQgZHB1 X2VuY29kZXJfa2lja29mZihzdHJ1Y3QgZHJtX2VuY29kZXIgKmRybV9lbmMpCj4gK3ZvaWQgZHB1 X2VuY29kZXJfa2lja29mZihzdHJ1Y3QgZHJtX2VuY29kZXIgKmRybV9lbmMsIGJvb2wgYXN5bmMp Cj4gIHsKPiAgCXN0cnVjdCBkcHVfZW5jb2Rlcl92aXJ0ICpkcHVfZW5jOwo+ICAJc3RydWN0IGRw dV9lbmNvZGVyX3BoeXMgKnBoeXM7Cj4gQEAgLTE3OTgsNyArMTgwNCw3IEBAIHZvaWQgZHB1X2Vu Y29kZXJfa2lja29mZihzdHJ1Y3QgZHJtX2VuY29kZXIKPiAqZHJtX2VuYykKPiAgCQkoKGF0b21p Y19yZWFkKCZkcHVfZW5jLT5mcmFtZV9kb25lX3RpbWVvdXQpICogSFopIC8KPiAxMDAwKSk7Cj4g Cj4gIAkvKiBBbGwgcGh5cyBlbmNzIGFyZSByZWFkeSB0byBnbywgdHJpZ2dlciB0aGUga2lja29m ZiAqLwo+IC0JX2RwdV9lbmNvZGVyX2tpY2tvZmZfcGh5cyhkcHVfZW5jKTsKPiArCV9kcHVfZW5j b2Rlcl9raWNrb2ZmX3BoeXMoZHB1X2VuYywgYXN5bmMpOwo+IAo+ICAJLyogYWxsb3cgcGh5cyBl bmNzIHRvIGhhbmRsZSBhbnkgcG9zdC1raWNrb2ZmIGJ1c2luZXNzICovCj4gIAlmb3IgKGkgPSAw OyBpIDwgZHB1X2VuYy0+bnVtX3BoeXNfZW5jczsgaSsrKSB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9lbmNvZGVyLmgKPiBiL2RyaXZlcnMvZ3B1L2Ry bS9tc20vZGlzcC9kcHUxL2RwdV9lbmNvZGVyLmgKPiBpbmRleCA5ZGJmMzhmNDQ2ZDkuLmMyMDQ0 MTIyZDYwOSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVf ZW5jb2Rlci5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2VuY29k ZXIuaAo+IEBAIC04MSw5ICs4MSwxMCBAQCB2b2lkIAo+IGRwdV9lbmNvZGVyX3JlZ2lzdGVyX2Zy YW1lX2V2ZW50X2NhbGxiYWNrKHN0cnVjdAo+IGRybV9lbmNvZGVyICplbmNvZGVyLAo+ICAgKglE ZWxheWVkOiBCbG9jayB1bnRpbCBuZXh0IHRyaWdnZXIgY2FuIGJlIGlzc3VlZC4KPiAgICogQGVu Y29kZXI6CWVuY29kZXIgcG9pbnRlcgo+ICAgKiBAcGFyYW1zOglraWNrb2ZmIHRpbWUgcGFyYW1l dGVycwo+ICsgKiBAYXN5bmM6CXRydWUgaWYgdGhpcyBpcyBhbiBhc3luY2hyb25vdXMgY29tbWl0 Cj4gICAqLwo+ICB2b2lkIGRwdV9lbmNvZGVyX3ByZXBhcmVfZm9yX2tpY2tvZmYoc3RydWN0IGRy bV9lbmNvZGVyICplbmNvZGVyLAo+IC0JCXN0cnVjdCBkcHVfZW5jb2Rlcl9raWNrb2ZmX3BhcmFt cyAqcGFyYW1zKTsKPiArCQlzdHJ1Y3QgZHB1X2VuY29kZXJfa2lja29mZl9wYXJhbXMgKnBhcmFt cywgYm9vbCBhc3luYyk7Cj4gCj4gIC8qKgo+ICAgKiBkcHVfZW5jb2Rlcl90cmlnZ2VyX2tpY2tv ZmZfcGVuZGluZyAtIENsZWFyIHRoZSBmbHVzaCBiaXRzIGZyb20KPiBwcmV2aW91cwo+IEBAIC05 Niw4ICs5Nyw5IEBAIHZvaWQgZHB1X2VuY29kZXJfdHJpZ2dlcl9raWNrb2ZmX3BlbmRpbmcoc3Ry dWN0Cj4gZHJtX2VuY29kZXIgKmVuY29kZXIpOwo+ICAgKiBkcHVfZW5jb2Rlcl9raWNrb2ZmIC0g dHJpZ2dlciBhIGRvdWJsZSBidWZmZXIgZmxpcCBvZiB0aGUgY3RsIHBhdGgKPiAgICoJKGkuZS4g Y3RsIGZsdXNoIGFuZCBzdGFydCkgaW1tZWRpYXRlbHkuCj4gICAqIEBlbmNvZGVyOgllbmNvZGVy IHBvaW50ZXIKPiArICogQGFzeW5jOgl0cnVlIGlmIHRoaXMgaXMgYW4gYXN5bmNocm9ub3VzIGNv bW1pdAo+ICAgKi8KPiAtdm9pZCBkcHVfZW5jb2Rlcl9raWNrb2ZmKHN0cnVjdCBkcm1fZW5jb2Rl ciAqZW5jb2Rlcik7Cj4gK3ZvaWQgZHB1X2VuY29kZXJfa2lja29mZihzdHJ1Y3QgZHJtX2VuY29k ZXIgKmVuY29kZXIsIGJvb2wgYXN5bmMpOwo+IAo+ICAvKioKPiAgICogZHB1X2VuY29kZXJfd2Fp dF9mb3JfZXZlbnQgLSBXYWl0cyBmb3IgZW5jb2RlciBldmVudHMKPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2ttcy5jCj4gYi9kcml2ZXJzL2dwdS9kcm0v bXNtL2Rpc3AvZHB1MS9kcHVfa21zLmMKPiBpbmRleCA5ODVjODU1Nzk2YWUuLjU3YWQ4Mzg2ODc2 NiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfa21zLmMK PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfa21zLmMKPiBAQCAtMzUy LDcgKzM1Miw3IEBAIHZvaWQgZHB1X2ttc19lbmNvZGVyX2VuYWJsZShzdHJ1Y3QgZHJtX2VuY29k ZXIKPiAqZW5jb2RlcikKPiAKPiAgCWlmIChjcnRjICYmIGNydGMtPnN0YXRlLT5hY3RpdmUpIHsK PiAgCQl0cmFjZV9kcHVfa21zX2VuY19lbmFibGUoRFJNSUQoY3J0YykpOwo+IC0JCWRwdV9jcnRj X2NvbW1pdF9raWNrb2ZmKGNydGMpOwo+ICsJCWRwdV9jcnRjX2NvbW1pdF9raWNrb2ZmKGNydGMs IGZhbHNlKTsKPiAgCX0KPiAgfQo+IAo+IEBAIC0zNjksNyArMzY5LDggQEAgc3RhdGljIHZvaWQg ZHB1X2ttc19jb21taXQoc3RydWN0IG1zbV9rbXMgKmttcywgCj4gc3RydWN0Cj4gZHJtX2F0b21p Y19zdGF0ZSAqc3RhdGUpCj4gCj4gIAkJaWYgKGNydGMtPnN0YXRlLT5hY3RpdmUpIHsKPiAgCQkJ dHJhY2VfZHB1X2ttc19jb21taXQoRFJNSUQoY3J0YykpOwo+IC0JCQlkcHVfY3J0Y19jb21taXRf a2lja29mZihjcnRjKTsKPiArCQkJZHB1X2NydGNfY29tbWl0X2tpY2tvZmYoY3J0YywKPiArCj4g c3RhdGUtPmxlZ2FjeV9jdXJzb3JfdXBkYXRlKTsKPiAgCQl9Cj4gIAl9Cj4gIH0KPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9tc21fYXRvbWljLmMKPiBiL2RyaXZlcnMvZ3B1L2Ry bS9tc20vbXNtX2F0b21pYy5jCj4gaW5kZXggMjA4OGEyMGViMjcwLi5mNWIxMjU2ZTMyYjYgMTAw NjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9tc21fYXRvbWljLmMKPiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vbXNtL21zbV9hdG9taWMuYwo+IEBAIC04Myw3ICs4Myw4IEBAIHZvaWQgbXNt X2F0b21pY19jb21taXRfdGFpbChzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZQo+ICpzdGF0ZSkKPiAg CQlrbXMtPmZ1bmNzLT5jb21taXQoa21zLCBzdGF0ZSk7Cj4gIAl9Cj4gCj4gLQltc21fYXRvbWlj X3dhaXRfZm9yX2NvbW1pdF9kb25lKGRldiwgc3RhdGUpOwo+ICsJaWYgKCFzdGF0ZS0+bGVnYWN5 X2N1cnNvcl91cGRhdGUpCj4gKwkJbXNtX2F0b21pY193YWl0X2Zvcl9jb21taXRfZG9uZShkZXYs IHN0YXRlKTsKV2FzIHRoaXMgY2hhbmdlIHRlc3RlZCB3aXRoIE1EUDU/IFRoZXkgaGF2ZSBhIGRp ZmZlcmVudCBwYXRoCnRvIHN1cHBvcnQgYXN5bmMgdXBkYXRlcy4KClRoYW5rcywKSmV5a3VtYXIg Uy4KPiAKPiAgCWttcy0+ZnVuY3MtPmNvbXBsZXRlX2NvbW1pdChrbXMsIHN0YXRlKTsKCi0tIApK ZXlrdW1hciBTCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f CkZyZWVkcmVubyBtYWlsaW5nIGxpc3QKRnJlZWRyZW5vQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpo dHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ZyZWVkcmVubwo=