From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ander Conselvan De Oliveira Subject: Re: [PATCH 2/2] drm/i915: Commit planes on each crtc separately. Date: Wed, 12 Aug 2015 17:46:53 +0300 Message-ID: <1439390813.4993.19.camel@gmail.com> References: <1439289071-23356-1-git-send-email-maarten.lankhorst@linux.intel.com> <1439289071-23356-2-git-send-email-maarten.lankhorst@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-pa0-f47.google.com (mail-pa0-f47.google.com [209.85.220.47]) by gabe.freedesktop.org (Postfix) with ESMTPS id DAF276E104 for ; Wed, 12 Aug 2015 07:46:58 -0700 (PDT) Received: by pabyb7 with SMTP id yb7so16016274pab.0 for ; Wed, 12 Aug 2015 07:46:58 -0700 (PDT) In-Reply-To: <1439289071-23356-2-git-send-email-maarten.lankhorst@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Maarten Lankhorst , intel-gfx@lists.freedesktop.org Cc: Jani Nikula List-Id: intel-gfx@lists.freedesktop.org Rm9yIGJvdGggcGF0Y2hlcywKClJldmlld2VkLWJ5OiBBbmRlciBDb25zZWx2YW4gZGUgT2xpdmVp cmEgPGNvbnNlbHZhbjJAZ21haWwuY29tPgoKT24gVHVlLCAyMDE1LTA4LTExIGF0IDEyOjMxICsw MjAwLCBNYWFydGVuIExhbmtob3JzdCB3cm90ZToKPiBUaGlzIHBhdGNoIGlzIGJhc2VkIG9uIHRo ZSB1cHN0cmVhbSBjb21taXQgNWFjMWM0YmNmMDczYWQgYW5kIGFtZW5kZWQKPiBmb3IgdjQuMiB0 byBtYWtlIHN1cmUgaXQgd29ya3MgYXMgaW50ZW5kZWQuCj4gCj4gUmVwZWF0ZWQgY2FsbHMgdG8g YmVnaW5fY3J0Y19jb21taXQgY2FuIGNhdXNlIHdhcm5pbmdzIGxpa2UgdGhpczoKPiBbICAxNjku MTI3NzQ2XSBCVUc6IHNsZWVwaW5nIGZ1bmN0aW9uIGNhbGxlZCBmcm9tIGludmFsaWQgY29udGV4 dCBhdCBrZXJuZWwvbG9ja2luZy9tdXRleC5jOjYxNgo+IFsgIDE2OS4xMjc4MzVdIGluX2F0b21p YygpOiAwLCBpcnFzX2Rpc2FibGVkKCk6IDEsIHBpZDogMTk0NywgbmFtZToga21zX2ZsaXAKPiBb ICAxNjkuMTI3ODQwXSAzIGxvY2tzIGhlbGQgYnkga21zX2ZsaXAvMTk0NzoKPiBbICAxNjkuMTI3 ODQzXSAgIzA6ICAoJmRldi0+bW9kZV9jb25maWcubXV0ZXgpeysuKy4rLn0sIGF0OiBbPGZmZmZm ZmZmODE0Nzc0YmM+XSAKPiBfX2RybV9tb2Rlc2V0X2xvY2tfYWxsKzB4OWMvMHgxMzAKPiBbICAx NjkuMTI3ODYwXSAgIzE6ICAoY3J0Y193d19jbGFzc19hY3F1aXJlKXsrLisuKy59LCBhdDogWzxm ZmZmZmZmZjgxNDc3NGNkPl0gCj4gX19kcm1fbW9kZXNldF9sb2NrX2FsbCsweGFkLzB4MTMwCj4g WyAgMTY5LjEyNzg3MF0gICMyOiAgKGNydGNfd3dfY2xhc3NfbXV0ZXgpeysuKy4rLn0sIGF0OiBb PGZmZmZmZmZmODE0NzcxNzg+XSAKPiBkcm1fbW9kZXNldF9sb2NrKzB4MzgvMHgxMTAKPiBbICAx NjkuMTI3ODc5XSBpcnEgZXZlbnQgc3RhbXA6IDY2NTY5MAo+IFsgIDE2OS4xMjc4ODJdIGhhcmRp cnFzIGxhc3QgIGVuYWJsZWQgYXQgKDY2NTY4OSk6IFs8ZmZmZmZmZmY4MTdmZmRiNT5dIAo+IF9y YXdfc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSsweDU1LzB4NzAKPiBbICAxNjkuMTI3ODg5XSBoYXJk aXJxcyBsYXN0IGRpc2FibGVkIGF0ICg2NjU2OTApOiBbPGZmZmZmZmZmYzAxOTdhMjM+XSAKPiBp bnRlbF9waXBlX3VwZGF0ZV9zdGFydCsweDExMy8weDVjMCBbaTkxNV0KPiBbICAxNjkuMTI3OTM2 XSBzb2Z0aXJxcyBsYXN0ICBlbmFibGVkIGF0ICg2NjU0NzApOiBbPGZmZmZmZmZmODEwOGE3NjY+ XSBfX2RvX3NvZnRpcnErMHgyMzYvMHg2NTAKPiBbICAxNjkuMTI3OTQyXSBzb2Z0aXJxcyBsYXN0 IGRpc2FibGVkIGF0ICg2NjU0NjUpOiBbPGZmZmZmZmZmODEwOGFlNzU+XSBpcnFfZXhpdCsweGM1 LzB4ZDAKPiBbICAxNjkuMTI3OTUxXSBDUFU6IDEgUElEOiAxOTQ3IENvbW06IGttc19mbGlwIE5v dCB0YWludGVkIDQuMS4wLXJjNC1wYXRzZXIrICM0MDM5Cj4gWyAgMTY5LjEyNzk1NF0gSGFyZHdh cmUgbmFtZTogTEVOT1ZPIDIzNDlBVjgvMjM0OUFWOCwgQklPUyBHMUVUQTVXVyAoMi42NSApIDA0 LzE1LzIwMTQKPiBbICAxNjkuMTI3OTU3XSAgZmZmZjg4MDBjNDkwMzZmMCBmZmZmODgwMGNkZTVm YTI4IGZmZmZmZmZmODE3ZjY5MDcgMDAwMDAwMDA4MDAwMDAwMQo+IFsgIDE2OS4xMjc5NjRdICAw MDAwMDAwMDAwMDAwMDAwIGZmZmY4ODAwY2RlNWZhNTggZmZmZmZmZmY4MTBhZWJlZCAwMDAwMDAw MDAwMDAwMDQ2Cj4gWyAgMTY5LjEyNzk3MF0gIGZmZmZmZmZmODFjNWQ1MTggMDAwMDAwMDAwMDAw MDI2OCAwMDAwMDAwMDAwMDAwMDAwIGZmZmY4ODAwY2RlNWZhODgKPiBbICAxNjkuMTI3OTgxXSBD YWxsIFRyYWNlOgo+IFsgIDE2OS4xMjc5OTJdICBbPGZmZmZmZmZmODE3ZjY5MDc+XSBkdW1wX3N0 YWNrKzB4NGYvMHg3Ygo+IFsgIDE2OS4xMjgwMDFdICBbPGZmZmZmZmZmODEwYWViZWQ+XSBfX19t aWdodF9zbGVlcCsweDE2ZC8weDI3MAo+IFsgIDE2OS4xMjgwMDhdICBbPGZmZmZmZmZmODEwYWVk Mzg+XSBfX21pZ2h0X3NsZWVwKzB4NDgvMHg5MAo+IFsgIDE2OS4xMjgwMTddICBbPGZmZmZmZmZm ODE3ZmMzNTk+XSBtdXRleF9sb2NrX25lc3RlZCsweDI5LzB4NDEwCj4gWyAgMTY5LjEyODA3M10g IFs8ZmZmZmZmZmZjMDE2MzVmMD5dID8gdmdwdV93cml0ZTY0KzB4MjIwLzB4MjIwIFtpOTE1XQo+ IFsgIDE2OS4xMjgxMzhdICBbPGZmZmZmZmZmYzAxN2ZkZGY+XSA/IGlyb25sYWtlX3VwZGF0ZV9w cmltYXJ5X3BsYW5lKzB4MmZmLzB4NDEwIFtpOTE1XQo+IFsgIDE2OS4xMjgxOThdICBbPGZmZmZm ZmZmYzAxOTBlNzU+XSBpbnRlbF9mcm9udGJ1ZmZlcl9mbHVzaCsweDI1LzB4NzAgW2k5MTVdCj4g WyAgMTY5LjEyODI1M10gIFs8ZmZmZmZmZmZjMDE4MzFhYz5dIGludGVsX2ZpbmlzaF9jcnRjX2Nv bW1pdCsweDRjLzB4MTgwIFtpOTE1XQo+IFsgIDE2OS4xMjgyNzldICBbPGZmZmZmZmZmYzAwNzg0 YWM+XSBkcm1fYXRvbWljX2hlbHBlcl9jb21taXRfcGxhbmVzKzB4MTJjLzB4MjQwIFtkcm1fa21z X2hlbHBlcl0KPiBbICAxNjkuMTI4MzM4XSAgWzxmZmZmZmZmZmMwMTg0MjY0Pl0gX19pbnRlbF9z ZXRfbW9kZSsweDY4NC8weDgzMCBbaTkxNV0KPiBbICAxNjkuMTI4Mzc4XSAgWzxmZmZmZmZmZmMw MThhODRhPl0gaW50ZWxfY3J0Y19zZXRfY29uZmlnKzB4NDlhLzB4NjIwIFtpOTE1XQo+IFsgIDE2 OS4xMjgzODVdICBbPGZmZmZmZmZmODE3ZmRkMzk+XSA/IG11dGV4X3VubG9jaysweDkvMHgxMAo+ IFsgIDE2OS4xMjgzOTFdICBbPGZmZmZmZmZmODE0NjdiNjk+XSBkcm1fbW9kZV9zZXRfY29uZmln X2ludGVybmFsKzB4NjkvMHgxMjAKPiBbICAxNjkuMTI4Mzk4XSAgWzxmZmZmZmZmZjgxMTliNTQ3 Pl0gPyBtaWdodF9mYXVsdCsweDU3LzB4YjAKPiBbICAxNjkuMTI4NDAzXSAgWzxmZmZmZmZmZjgx NDZiZjkzPl0gZHJtX21vZGVfc2V0Y3J0YysweDI1My8weDYyMAo+IFsgIDE2OS4xMjg0MDldICBb PGZmZmZmZmZmODE0NWM2MDA+XSBkcm1faW9jdGwrMHgxYTAvMHg2YTAKPiBbICAxNjkuMTI4NDE1 XSAgWzxmZmZmZmZmZjgxMGIzYjQxPl0gPyBnZXRfcGFyZW50X2lwKzB4MTEvMHg1MAo+IFsgIDE2 OS4xMjg0MjRdICBbPGZmZmZmZmZmODExZTlhYjg+XSBkb192ZnNfaW9jdGwrMHgyZjgvMHg1MzAK PiBbICAxNjkuMTI4NDI5XSAgWzxmZmZmZmZmZjgxMGQwZmNkPl0gPyB0cmFjZV9oYXJkaXJxc19v bisweGQvMHgxMAo+IFsgIDE2OS4xMjg0MzVdICBbPGZmZmZmZmZmODEyZTc2NzY+XSA/IHNlbGlu dXhfZmlsZV9pb2N0bCsweDU2LzB4MTAwCj4gWyAgMTY5LjEyODQzOV0gIFs8ZmZmZmZmZmY4MTFl OWQ3MT5dIFN5U19pb2N0bCsweDgxLzB4YTAKPiBbICAxNjkuMTI4NDQ1XSAgWzxmZmZmZmZmZjgx ODAwNjk3Pl0gc3lzdGVtX2NhbGxfZmFzdHBhdGgrMHgxMi8weDZmCj4gCj4gU29sdmUgaXQgYnkg dXNpbmcgdGhlIG5ld2x5IGludHJvZHVjZWQgZHJtX2F0b21pY19oZWxwZXJfY29tbWl0X3BsYW5l c19vbl9jcnRjLgo+IAo+IFRoZSBwcm9ibGVtIGhlcmUgd2FzIHRoYXQgdGhlIGRybV9hdG9taWNf aGVscGVyX2NvbW1pdF9wbGFuZXMoKSBoZWxwZXIKPiB3ZSB3ZXJlIHVzaW5nIHdhcyBiYXNpY2Fs bHkgZGVzaWduZWQgdG8gZG8KPiAKPiAgICAgYmVnaW5fY3J0Y19jb21taXQoY3J0YyAjMSkKPiAg ICAgYmVnaW5fY3J0Y19jb21taXQoY3J0YyAjMikKPiAgICAgLi4uCj4gICAgIGNvbW1pdCBhbGwg cGxhbmVzCj4gICAgIGZpbmlzaF9jcnRjX2NvbW1pdChjcnRjICMxKQo+ICAgICBmaW5pc2hfY3J0 Y19jb21taXQoY3J0YyAjMikKPiAKPiBUaGUgcHJvYmxlbSBoZXJlIGlzIHRoYXQgc2luY2Ugb3Vy IGhhcmR3YXJlIHJlbGllcyBvbiB2YmxhbmsgZXZhc2lvbiwKPiBvdXIgQ1JUQyAnYmVnaW4nIGZ1 bmN0aW9uIHdhaXRzIHVudGlsIHdlJ3JlIG91dCBvZiB0aGUgZGFuZ2VyIHpvbmUgaW4KPiB3aGlj aCByZWdpc3RlciB3cml0ZXMgbWlnaHQgd2luZCB1cCBzdHJhZGRsaW5nIHRoZSB2YmxhbmssIHRo ZW4gZGlzYWJsZXMKPiBpbnRlcnJ1cHRzOyBvdXIgJ2ZpbmlzaCcgZnVuY3Rpb24gcmUtZW5hYmxl cyBpbnRlcnJ1cHRzIGFmdGVyIHRoZQo+IHJlZ2lzdGVycyBoYXZlIGJlZW4gd3JpdHRlbi4gIFRo ZSBleHBlY3RhdGlvbiBpcyB0aGF0IHRoZSBvcGVyYXRpb25zIGJldHdlZW4KPiAnYmVnaW4nIGFu ZCAnZW5kJyBtdXN0IGJlIHBlcmZvcm1lZCB3aXRob3V0IHNsZWVwaW5nIChzaW5jZSBpbnRlcnJ1 cHRzCj4gYXJlIGRpc2FibGVkKSBhbmQgc2hvdWxkIGhhcHBlbiBhcyBxdWlja2x5IGFzIHBvc3Np YmxlLiAgQnkgY2x1bXBpbmcgYWxsCj4gb2YgdGhlICdiZWdpbicgY2FsbHMgdG9nZXRoZXIsIHdl IGludHJvZHVjaW5nIGEgY291cGxlIHByb2JsZW1zOgo+ICAqIFN1YnNlcXVlbnQgJ2JlZ2luJyBp bnZvY2F0aW9ucyBtaWdodCBzbGVlcCAod2hpY2ggaXMgaWxsZWdhbCkKPiAgKiBUaGUgZmlyc3Qg J2JlZ2luJyBlbnN1cmVkIHRoYXQgd2Ugd2VyZSBmYXIgZW5vdWdoIGZyb20gdGhlIHZibGFuayB0 aGF0Cj4gICAgd2UgY291bGQgd3JpdGUgb3VyIHJlZ2lzdGVycyBzYWZlbHkgYW5kIGVuc3VyZSB0 aGV5IGFsbCBmZWxsIHdpdGhpbgo+ICAgIHRoZSBzYW1lIGZyYW1lLiAgQWRkaW5nIGV4dHJhIGRl bGF5IHdhaXRpbmcgZm9yIHN1YnNlcXVlbnQgQ1JUQydzCj4gICAgd2Fzbid0IGFjY291bnRlZCBm b3IgYW5kIGNvdWxkIHB1dCB1cyBiYWNrIGludG8gdGhlICdkYW5nZXIgem9uZScgZm9yCj4gICAg Q1JUQyAjMS4KPiAKPiBUaGlzIGNvbW1pdCBzb2x2ZXMgdGhlIHByb2JsZW0gYnkgdXNpbmcgYSBu ZXcgaGVscGVyIHRoYXQgYWxsb3dzIGFuCj4gb3JkZXIgb2Ygb3BlcmF0aW9ucyBsaWtlOgo+IAo+ ICAgIGZvciBlYWNoIGNydGMgewo+ICAgICAgICAgYmVnaW5fY3J0Y19jb21taXQoY3J0YykgIC8v IHNsZWVwIChtYXliZSksIHRoZW4gZGlzYWJsZSBpbnRlcnJ1cHRzCj4gICAgICAgICBjb21taXQg cGxhbmVzIGZvciB0aGlzIHNwZWNpZmljIENSVEMKPiAgICAgICAgIGVuZF9jcnRjX2NvbW1pdChj cnRjKSAgICAvLyByZWVuYWJsZSBpbnRlcnJ1cHRzCj4gICAgfQo+IAo+IHNvIHRoYXQgc2xlZXBz IHdpbGwgb25seSBiZSBwZXJmb3JtZWQgd2hpbGUgaW50ZXJydXB0cyBhcmUgZW5hYmxlZCBhbmQK PiB3ZSBjYW4gYmUgc3VyZSB0aGF0IHJlZ2lzdGVycyBmb3IgYSBDUlRDIHdpbGwgYmUgd3JpdHRl biBpbW1lZGlhdGVseQo+IG9uY2Ugd2Uga25vdyB3ZSdyZSBpbiB0aGUgc2FmZSB6b25lLgo+IAo+ IFRoZSBjcnRjLT5jb25maWctPmJhc2UuY3J0YyB1cGRhdGUgbWF5IHNlZW0gdW5yZWxhdGVkLCBi dXQgdGhlIGhlbHBlcgo+IHdpbGwgdXNlIGl0IHRvIG9idGFpbiB0aGUgY3J0YyBmb3IgdGhlIHN0 YXRlLiBXaXRob3V0IHRoZSB1cGRhdGUgaXQKPiB3aWxsIGRlcmVmZXJlbmNlIE5VTEwgYW5kIGNy YXNoLgo+IAo+IENoYW5nZXMgc2luY2UgdjE6Cj4gLSBVc2UgTWF0dCBSb3BlcidzIGNvbW1pdCBt ZXNzYWdlLgo+IAo+IFNpZ25lZC1vZmYtYnk6IE1hYXJ0ZW4gTGFua2hvcnN0IDxtYWFydGVuLmxh bmtob3JzdEBsaW51eC5pbnRlbC5jb20+Cj4gUmV2aWV3ZWQtYnk6IE1hdHQgUm9wZXIgPG1hdHRo ZXcuZC5yb3BlckBpbnRlbC5jb20+Cj4gU2lnbmVkLW9mZi1ieTogSmFuaSBOaWt1bGEgPGphbmku bmlrdWxhQGludGVsLmNvbT4KPiBDYzogc3RhYmxlQHZnZXIua2VybmVsLm9yZyAjdjQuMgo+IFJl ZmVyZW5jZXM6IGh0dHBzOi8vYnVncy5mcmVlZGVza3RvcC5vcmcvc2hvd19idWcuY2dpP2lkPTkw Mzk4Cj4gLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2F0b21pYy5jICB8IDQ1ICsr KysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kaXNwbGF5LmMgfCAxMSArKysrKy0tLS0KPiAgMiBmaWxlcyBjaGFuZ2VkLCAxNCBp bnNlcnRpb25zKCspLCA0MiBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfYXRvbWljLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9h dG9taWMuYwo+IGluZGV4IDdlZDgwMzNhYWU2MC4uOGUzNWUwZDAxM2RmIDEwMDY0NAo+IC0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2F0b21pYy5jCj4gKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfYXRvbWljLmMKPiBAQCAtMTI5LDggKzEyOSw5IEBAIGludCBpbnRlbF9h dG9taWNfY29tbWl0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gIAkJCXN0cnVjdCBkcm1fYXRv bWljX3N0YXRlICpzdGF0ZSwKPiAgCQkJYm9vbCBhc3luYykKPiAgewo+IC0JaW50IHJldDsKPiAt CWludCBpOwo+ICsJc3RydWN0IGRybV9jcnRjX3N0YXRlICpjcnRjX3N0YXRlOwo+ICsJc3RydWN0 IGRybV9jcnRjICpjcnRjOwo+ICsJaW50IHJldCwgaTsKPiAgCj4gIAlpZiAoYXN5bmMpIHsKPiAg CQlEUk1fREVCVUdfS01TKCJpOTE1IGRvZXMgbm90IHlldCBzdXBwb3J0IGFzeW5jIGNvbW1pdFxu Iik7Cj4gQEAgLTE0Miw0OCArMTQzLDE4IEBAIGludCBpbnRlbF9hdG9taWNfY29tbWl0KHN0cnVj dCBkcm1fZGV2aWNlICpkZXYsCj4gIAkJcmV0dXJuIHJldDsKPiAgCj4gIAkvKiBQb2ludCBvZiBu byByZXR1cm4gKi8KPiAtCj4gLQkvKgo+IC0JICogRklYTUU6ICBUaGUgcHJvcGVyIHNlcXVlbmNl IGhlcmUgd2lsbCBldmVudHVhbGx5IGJlOgo+IC0JICoKPiAtCSAqIGRybV9hdG9taWNfaGVscGVy X3N3YXBfc3RhdGUoZGV2LCBzdGF0ZSkKPiAtCSAqIGRybV9hdG9taWNfaGVscGVyX2NvbW1pdF9t b2Rlc2V0X2Rpc2FibGVzKGRldiwgc3RhdGUpOwo+IC0JICogZHJtX2F0b21pY19oZWxwZXJfY29t bWl0X3BsYW5lcyhkZXYsIHN0YXRlKTsKPiAtCSAqIGRybV9hdG9taWNfaGVscGVyX2NvbW1pdF9t b2Rlc2V0X2VuYWJsZXMoZGV2LCBzdGF0ZSk7Cj4gLQkgKiBkcm1fYXRvbWljX2hlbHBlcl93YWl0 X2Zvcl92YmxhbmtzKGRldiwgc3RhdGUpOwo+IC0JICogZHJtX2F0b21pY19oZWxwZXJfY2xlYW51 cF9wbGFuZXMoZGV2LCBzdGF0ZSk7Cj4gLQkgKiBkcm1fYXRvbWljX3N0YXRlX2ZyZWUoc3RhdGUp Owo+IC0JICoKPiAtCSAqIG9uY2Ugd2UgaGF2ZSBmdWxsIGF0b21pYyBtb2Rlc2V0LiAgRm9yIG5v dywganVzdCBtYW51YWxseSB1cGRhdGUKPiAtCSAqIHBsYW5lIHN0YXRlcyB0byBhdm9pZCBjbG9i YmVyaW5nIGdvb2Qgc3RhdGVzIHdpdGggZHVtbXkgc3RhdGVzCj4gLQkgKiB3aGlsZSBudWNsZWFy IHBhZ2VmbGlwcGluZy4KPiAtCSAqLwo+IC0JZm9yIChpID0gMDsgaSA8IGRldi0+bW9kZV9jb25m aWcubnVtX3RvdGFsX3BsYW5lOyBpKyspIHsKPiAtCQlzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSA9 IHN0YXRlLT5wbGFuZXNbaV07Cj4gLQo+IC0JCWlmICghcGxhbmUpCj4gLQkJCWNvbnRpbnVlOwo+ IC0KPiAtCQlwbGFuZS0+c3RhdGUtPnN0YXRlID0gc3RhdGU7Cj4gLQkJc3dhcChzdGF0ZS0+cGxh bmVfc3RhdGVzW2ldLCBwbGFuZS0+c3RhdGUpOwo+IC0JCXBsYW5lLT5zdGF0ZS0+c3RhdGUgPSBO VUxMOwo+IC0JfQo+ICsJZHJtX2F0b21pY19oZWxwZXJfc3dhcF9zdGF0ZShkZXYsIHN0YXRlKTsK PiAgCj4gIAkvKiBzd2FwIGNydGNfc2NhbGVyX3N0YXRlICovCj4gLQlmb3IgKGkgPSAwOyBpIDwg ZGV2LT5tb2RlX2NvbmZpZy5udW1fY3J0YzsgaSsrKSB7Cj4gLQkJc3RydWN0IGRybV9jcnRjICpj cnRjID0gc3RhdGUtPmNydGNzW2ldOwo+IC0JCWlmICghY3J0Yykgewo+IC0JCQljb250aW51ZTsK PiAtCQl9Cj4gLQo+IC0JCXRvX2ludGVsX2NydGMoY3J0YyktPmNvbmZpZy0+c2NhbGVyX3N0YXRl ID0KPiAtCQkJdG9faW50ZWxfY3J0Y19zdGF0ZShzdGF0ZS0+Y3J0Y19zdGF0ZXNbaV0pLT5zY2Fs ZXJfc3RhdGU7Cj4gKwlmb3JfZWFjaF9jcnRjX2luX3N0YXRlKHN0YXRlLCBjcnRjLCBjcnRjX3N0 YXRlLCBpKSB7Cj4gKwkJdG9faW50ZWxfY3J0YyhjcnRjKS0+Y29uZmlnID0gdG9faW50ZWxfY3J0 Y19zdGF0ZShjcnRjLT5zdGF0ZSk7Cj4gIAo+ICAJCWlmIChJTlRFTF9JTkZPKGRldiktPmdlbiA+ PSA5KQo+ICAJCQlza2xfZGV0YWNoX3NjYWxlcnModG9faW50ZWxfY3J0YyhjcnRjKSk7Cj4gKwo+ ICsJCWRybV9hdG9taWNfaGVscGVyX2NvbW1pdF9wbGFuZXNfb25fY3J0YyhjcnRjX3N0YXRlKTsK PiAgCX0KPiAgCj4gLQlkcm1fYXRvbWljX2hlbHBlcl9jb21taXRfcGxhbmVzKGRldiwgc3RhdGUp Owo+ICAJZHJtX2F0b21pY19oZWxwZXJfd2FpdF9mb3JfdmJsYW5rcyhkZXYsIHN0YXRlKTsKPiAg CWRybV9hdG9taWNfaGVscGVyX2NsZWFudXBfcGxhbmVzKGRldiwgc3RhdGUpOwo+ICAJZHJtX2F0 b21pY19zdGF0ZV9mcmVlKHN0YXRlKTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5j Cj4gaW5kZXggYzI1NzlkZWQwYzM2Li5iOTIwZjg4Y2NmZjggMTAwNjQ0Cj4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZGlzcGxheS5jCj4gQEAgLTEyNjI0LDE3ICsxMjYyNCwxNyBAQCBzdGF0aWMgaW50 IF9faW50ZWxfc2V0X21vZGUoc3RydWN0IGRybV9jcnRjICptb2Rlc2V0X2NydGMsCj4gIAo+ICAJ bW9kZXNldF91cGRhdGVfY3J0Y19wb3dlcl9kb21haW5zKHN0YXRlKTsKPiAgCj4gLQlkcm1fYXRv bWljX2hlbHBlcl9jb21taXRfcGxhbmVzKGRldiwgc3RhdGUpOwo+IC0KPiAgCS8qIE5vdyBlbmFi bGUgdGhlIGNsb2NrcywgcGxhbmUsIHBpcGUsIGFuZCBjb25uZWN0b3JzIHRoYXQgd2Ugc2V0IHVw LiAqLwo+ICAJZm9yX2VhY2hfY3J0Y19pbl9zdGF0ZShzdGF0ZSwgY3J0YywgY3J0Y19zdGF0ZSwg aSkgewo+IC0JCWlmICghbmVlZHNfbW9kZXNldChjcnRjLT5zdGF0ZSkgfHwgIWNydGMtPnN0YXRl LT5lbmFibGUpCj4gKwkJaWYgKCFuZWVkc19tb2Rlc2V0KGNydGMtPnN0YXRlKSB8fCAhY3J0Yy0+ c3RhdGUtPmVuYWJsZSkgewo+ICsJCQlkcm1fYXRvbWljX2hlbHBlcl9jb21taXRfcGxhbmVzX29u X2NydGMoY3J0Y19zdGF0ZSk7Cj4gIAkJCWNvbnRpbnVlOwo+ICsJCX0KPiAgCj4gIAkJdXBkYXRl X3NjYW5saW5lX29mZnNldCh0b19pbnRlbF9jcnRjKGNydGMpKTsKPiAgCj4gIAkJZGV2X3ByaXYt PmRpc3BsYXkuY3J0Y19lbmFibGUoY3J0Yyk7Cj4gLQkJaW50ZWxfY3J0Y19lbmFibGVfcGxhbmVz KGNydGMpOwo+ICsJCWRybV9hdG9taWNfaGVscGVyX2NvbW1pdF9wbGFuZXNfb25fY3J0YyhjcnRj X3N0YXRlKTsKPiAgCX0KPiAgCj4gIAkvKiBGSVhNRTogYWRkIHN1YnBpeGVsIG9yZGVyICovCj4g QEAgLTEzMjY3LDcgKzEzMjY3LDcgQEAgaW50ZWxfY2hlY2tfcHJpbWFyeV9wbGFuZShzdHJ1Y3Qg ZHJtX3BsYW5lICpwbGFuZSwKPiAgCQkJaWYgKElTX0JST0FEV0VMTChkZXYpKQo+ICAJCQkJaW50 ZWxfY3J0Yy0+YXRvbWljLndhaXRfdmJsYW5rID0gdHJ1ZTsKPiAgCj4gLQkJCWlmIChjcnRjX3N0 YXRlICYmICFuZWVkc19tb2Rlc2V0KCZjcnRjX3N0YXRlLT5iYXNlKSkKPiArCQkJaWYgKGNydGNf c3RhdGUpCj4gIAkJCQlpbnRlbF9jcnRjLT5hdG9taWMucG9zdF9lbmFibGVfcHJpbWFyeSA9IHRy dWU7Cj4gIAkJfQo+ICAKPiBAQCAtMTUwMDIsNiArMTUwMDIsNyBAQCBzdGF0aWMgdm9pZCBpbnRl bF9tb2Rlc2V0X3JlYWRvdXRfaHdfc3RhdGUoc3RydWN0IGRybV9kZXZpY2UgKmRldikKPiAgCQlz dHJ1Y3QgaW50ZWxfcGxhbmVfc3RhdGUgKnBsYW5lX3N0YXRlOwo+ICAKPiAgCQltZW1zZXQoY3J0 Yy0+Y29uZmlnLCAwLCBzaXplb2YoKmNydGMtPmNvbmZpZykpOwo+ICsJCWNydGMtPmNvbmZpZy0+ YmFzZS5jcnRjID0gJmNydGMtPmJhc2U7Cj4gIAo+ICAJCWNydGMtPmNvbmZpZy0+cXVpcmtzIHw9 IFBJUEVfQ09ORklHX1FVSVJLX0lOSEVSSVRFRF9NT0RFOwo+ICAKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRl bC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcv bWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK