From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matt Roper Subject: Re: [PATCH v3 13/22] drm/i915: Swap planes on each crtc separately. Date: Thu, 28 May 2015 17:56:35 -0700 Message-ID: <20150529005635.GD15716@intel.com> References: <1432129094-11765-1-git-send-email-maarten.lankhorst@linux.intel.com> <1432137874-20543-1-git-send-email-maarten.lankhorst@linux.intel.com> <1432137874-20543-4-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 mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTP id 1212B6EC9C for ; Thu, 28 May 2015 17:56:47 -0700 (PDT) Content-Disposition: inline In-Reply-To: <1432137874-20543-4-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@linux.intel.com Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gV2VkLCBNYXkgMjAsIDIwMTUgYXQgMDY6MDQ6MjVQTSArMDIwMCwgbWFhcnRlbi5sYW5raG9y c3RAbGludXguaW50ZWwuY29tIHdyb3RlOgo+IEZyb206IE1hYXJ0ZW4gTGFua2hvcnN0IDxtYWFy dGVuLmxhbmtob3JzdEBsaW51eC5pbnRlbC5jb20+Cj4gCj4gUmVwZWF0ZWQgY2FsbHMgdG8gYmVn aW5fY3J0Y19jb21taXQgY2FuIGNhdXNlIHdhcm5pbmdzIGxpa2UgdGhpczoKPiBbICAxNjkuMTI3 NzQ2XSBCVUc6IHNsZWVwaW5nIGZ1bmN0aW9uIGNhbGxlZCBmcm9tIGludmFsaWQgY29udGV4dCBh dCBrZXJuZWwvbG9ja2luZy9tdXRleC5jOjYxNgo+IFsgIDE2OS4xMjc4MzVdIGluX2F0b21pYygp OiAwLCBpcnFzX2Rpc2FibGVkKCk6IDEsIHBpZDogMTk0NywgbmFtZToga21zX2ZsaXAKPiBbICAx NjkuMTI3ODQwXSAzIGxvY2tzIGhlbGQgYnkga21zX2ZsaXAvMTk0NzoKPiBbICAxNjkuMTI3ODQz XSAgIzA6ICAoJmRldi0+bW9kZV9jb25maWcubXV0ZXgpeysuKy4rLn0sIGF0OiBbPGZmZmZmZmZm ODE0Nzc0YmM+XSBfX2RybV9tb2Rlc2V0X2xvY2tfYWxsKzB4OWMvMHgxMzAKPiBbICAxNjkuMTI3 ODYwXSAgIzE6ICAoY3J0Y193d19jbGFzc19hY3F1aXJlKXsrLisuKy59LCBhdDogWzxmZmZmZmZm ZjgxNDc3NGNkPl0gX19kcm1fbW9kZXNldF9sb2NrX2FsbCsweGFkLzB4MTMwCj4gWyAgMTY5LjEy Nzg3MF0gICMyOiAgKGNydGNfd3dfY2xhc3NfbXV0ZXgpeysuKy4rLn0sIGF0OiBbPGZmZmZmZmZm ODE0NzcxNzg+XSBkcm1fbW9kZXNldF9sb2NrKzB4MzgvMHgxMTAKPiBbICAxNjkuMTI3ODc5XSBp cnEgZXZlbnQgc3RhbXA6IDY2NTY5MAo+IFsgIDE2OS4xMjc4ODJdIGhhcmRpcnFzIGxhc3QgIGVu YWJsZWQgYXQgKDY2NTY4OSk6IFs8ZmZmZmZmZmY4MTdmZmRiNT5dIF9yYXdfc3Bpbl91bmxvY2tf aXJxcmVzdG9yZSsweDU1LzB4NzAKPiBbICAxNjkuMTI3ODg5XSBoYXJkaXJxcyBsYXN0IGRpc2Fi bGVkIGF0ICg2NjU2OTApOiBbPGZmZmZmZmZmYzAxOTdhMjM+XSBpbnRlbF9waXBlX3VwZGF0ZV9z dGFydCsweDExMy8weDVjMCBbaTkxNV0KPiBbICAxNjkuMTI3OTM2XSBzb2Z0aXJxcyBsYXN0ICBl bmFibGVkIGF0ICg2NjU0NzApOiBbPGZmZmZmZmZmODEwOGE3NjY+XSBfX2RvX3NvZnRpcnErMHgy MzYvMHg2NTAKPiBbICAxNjkuMTI3OTQyXSBzb2Z0aXJxcyBsYXN0IGRpc2FibGVkIGF0ICg2NjU0 NjUpOiBbPGZmZmZmZmZmODEwOGFlNzU+XSBpcnFfZXhpdCsweGM1LzB4ZDAKPiBbICAxNjkuMTI3 OTUxXSBDUFU6IDEgUElEOiAxOTQ3IENvbW06IGttc19mbGlwIE5vdCB0YWludGVkIDQuMS4wLXJj NC1wYXRzZXIrICM0MDM5Cj4gWyAgMTY5LjEyNzk1NF0gSGFyZHdhcmUgbmFtZTogTEVOT1ZPIDIz NDlBVjgvMjM0OUFWOCwgQklPUyBHMUVUQTVXVyAoMi42NSApIDA0LzE1LzIwMTQKPiBbICAxNjku MTI3OTU3XSAgZmZmZjg4MDBjNDkwMzZmMCBmZmZmODgwMGNkZTVmYTI4IGZmZmZmZmZmODE3ZjY5 MDcgMDAwMDAwMDA4MDAwMDAwMQo+IFsgIDE2OS4xMjc5NjRdICAwMDAwMDAwMDAwMDAwMDAwIGZm ZmY4ODAwY2RlNWZhNTggZmZmZmZmZmY4MTBhZWJlZCAwMDAwMDAwMDAwMDAwMDQ2Cj4gWyAgMTY5 LjEyNzk3MF0gIGZmZmZmZmZmODFjNWQ1MTggMDAwMDAwMDAwMDAwMDI2OCAwMDAwMDAwMDAwMDAw MDAwIGZmZmY4ODAwY2RlNWZhODgKPiBbICAxNjkuMTI3OTgxXSBDYWxsIFRyYWNlOgo+IFsgIDE2 OS4xMjc5OTJdICBbPGZmZmZmZmZmODE3ZjY5MDc+XSBkdW1wX3N0YWNrKzB4NGYvMHg3Ygo+IFsg IDE2OS4xMjgwMDFdICBbPGZmZmZmZmZmODEwYWViZWQ+XSBfX19taWdodF9zbGVlcCsweDE2ZC8w eDI3MAo+IFsgIDE2OS4xMjgwMDhdICBbPGZmZmZmZmZmODEwYWVkMzg+XSBfX21pZ2h0X3NsZWVw KzB4NDgvMHg5MAo+IFsgIDE2OS4xMjgwMTddICBbPGZmZmZmZmZmODE3ZmMzNTk+XSBtdXRleF9s b2NrX25lc3RlZCsweDI5LzB4NDEwCj4gWyAgMTY5LjEyODA3M10gIFs8ZmZmZmZmZmZjMDE2MzVm MD5dID8gdmdwdV93cml0ZTY0KzB4MjIwLzB4MjIwIFtpOTE1XQo+IFsgIDE2OS4xMjgxMzhdICBb PGZmZmZmZmZmYzAxN2ZkZGY+XSA/IGlyb25sYWtlX3VwZGF0ZV9wcmltYXJ5X3BsYW5lKzB4MmZm LzB4NDEwIFtpOTE1XQo+IFsgIDE2OS4xMjgxOThdICBbPGZmZmZmZmZmYzAxOTBlNzU+XSBpbnRl bF9mcm9udGJ1ZmZlcl9mbHVzaCsweDI1LzB4NzAgW2k5MTVdCj4gWyAgMTY5LjEyODI1M10gIFs8 ZmZmZmZmZmZjMDE4MzFhYz5dIGludGVsX2ZpbmlzaF9jcnRjX2NvbW1pdCsweDRjLzB4MTgwIFtp OTE1XQo+IFsgIDE2OS4xMjgyNzldICBbPGZmZmZmZmZmYzAwNzg0YWM+XSBkcm1fYXRvbWljX2hl bHBlcl9jb21taXRfcGxhbmVzKzB4MTJjLzB4MjQwIFtkcm1fa21zX2hlbHBlcl0KPiBbICAxNjku MTI4MzM4XSAgWzxmZmZmZmZmZmMwMTg0MjY0Pl0gX19pbnRlbF9zZXRfbW9kZSsweDY4NC8weDgz MCBbaTkxNV0KPiBbICAxNjkuMTI4Mzc4XSAgWzxmZmZmZmZmZmMwMThhODRhPl0gaW50ZWxfY3J0 Y19zZXRfY29uZmlnKzB4NDlhLzB4NjIwIFtpOTE1XQo+IFsgIDE2OS4xMjgzODVdICBbPGZmZmZm ZmZmODE3ZmRkMzk+XSA/IG11dGV4X3VubG9jaysweDkvMHgxMAo+IFsgIDE2OS4xMjgzOTFdICBb PGZmZmZmZmZmODE0NjdiNjk+XSBkcm1fbW9kZV9zZXRfY29uZmlnX2ludGVybmFsKzB4NjkvMHgx MjAKPiBbICAxNjkuMTI4Mzk4XSAgWzxmZmZmZmZmZjgxMTliNTQ3Pl0gPyBtaWdodF9mYXVsdCsw eDU3LzB4YjAKPiBbICAxNjkuMTI4NDAzXSAgWzxmZmZmZmZmZjgxNDZiZjkzPl0gZHJtX21vZGVf c2V0Y3J0YysweDI1My8weDYyMAo+IFsgIDE2OS4xMjg0MDldICBbPGZmZmZmZmZmODE0NWM2MDA+ XSBkcm1faW9jdGwrMHgxYTAvMHg2YTAKPiBbICAxNjkuMTI4NDE1XSAgWzxmZmZmZmZmZjgxMGIz YjQxPl0gPyBnZXRfcGFyZW50X2lwKzB4MTEvMHg1MAo+IFsgIDE2OS4xMjg0MjRdICBbPGZmZmZm ZmZmODExZTlhYjg+XSBkb192ZnNfaW9jdGwrMHgyZjgvMHg1MzAKPiBbICAxNjkuMTI4NDI5XSAg WzxmZmZmZmZmZjgxMGQwZmNkPl0gPyB0cmFjZV9oYXJkaXJxc19vbisweGQvMHgxMAo+IFsgIDE2 OS4xMjg0MzVdICBbPGZmZmZmZmZmODEyZTc2NzY+XSA/IHNlbGludXhfZmlsZV9pb2N0bCsweDU2 LzB4MTAwCj4gWyAgMTY5LjEyODQzOV0gIFs8ZmZmZmZmZmY4MTFlOWQ3MT5dIFN5U19pb2N0bCsw eDgxLzB4YTAKPiBbICAxNjkuMTI4NDQ1XSAgWzxmZmZmZmZmZjgxODAwNjk3Pl0gc3lzdGVtX2Nh bGxfZmFzdHBhdGgrMHgxMi8weDZmCj4gCj4gU29sdmUgaXQgYnkgdXNpbmcgdGhlIG5ld2x5IGlu dHJvZHVjZWQgZHJtX2F0b21pY19oZWxwZXJfY29tbWl0X3BsYW5lc19vbl9jcnRjLgo+IAo+IFNp Z25lZC1vZmYtYnk6IE1hYXJ0ZW4gTGFua2hvcnN0IDxtYWFydGVuLmxhbmtob3JzdEBsaW51eC5p bnRlbC5jb20+CgpUaGlzIGNvbW1pdCBsb29rcyBnb29kLCBidXQgSSB0aGluayB5b3UgbWlnaHQg d2FudCB0byBlbGFib3JhdGUgb24gdGhlCmNvbW1pdCBtZXNzYWdlIGEgYml0IGZvciBwZW9wbGUg bm90IHN1cGVyIGZhbWlsaWFyIHdpdGggdGhlIGF0b21pYyB3b3JrLgpUaGUgcHJvYmxlbSBoZXJl IHdhcyB0aGF0IHRoZSBkcm1fYXRvbWljX2hlbHBlcl9jb21taXRfcGxhbmVzKCkgaGVscGVyCndl IHdlcmUgdXNpbmcgd2FzIGJhc2ljYWxseSBkZXNpZ25lZCB0byBkbwoKICAgIGJlZ2luX2NydGNf Y29tbWl0KGNydGMgIzEpCiAgICBiZWdpbl9jcnRjX2NvbW1pdChjcnRjICMyKQogICAgLi4uCiAg ICBjb21taXQgYWxsIHBsYW5lcwogICAgZmluaXNoX2NydGNfY29tbWl0KGNydGMgIzEpCiAgICBm aW5pc2hfY3J0Y19jb21taXQoY3J0YyAjMikKClRoZSBwcm9ibGVtIGhlcmUgaXMgdGhhdCBzaW5j ZSBvdXIgaGFyZHdhcmUgcmVsaWVzIG9uIHZibGFuayBldmFzaW9uLApvdXIgQ1JUQyAnYmVnaW4n IGZ1bmN0aW9uIHdhaXRzIHVudGlsIHdlJ3JlIG91dCBvZiB0aGUgZGFuZ2VyIHpvbmUgaW4Kd2hp Y2ggcmVnaXN0ZXIgd3JpdGVzIG1pZ2h0IHdpbmQgdXAgc3RyYWRkbGluZyB0aGUgdmJsYW5rLCB0 aGVuIGRpc2FibGVzCmludGVycnVwdHM7IG91ciAnZmluaXNoJyBmdW5jdGlvbiByZS1lbmFibGVz IGludGVycnVwdHMgYWZ0ZXIgdGhlCnJlZ2lzdGVycyBoYXZlIGJlZW4gd3JpdHRlbi4gIFRoZSBl eHBlY3RhdGlvbiBpcyB0aGF0IHRoZSBvcGVyYXRpb25zIGJldHdlZW4KJ2JlZ2luJyBhbmQgJ2Vu ZCcgbXVzdCBiZSBwZXJmb3JtZWQgd2l0aG91dCBzbGVlcGluZyAoc2luY2UgaW50ZXJydXB0cwph cmUgZGlzYWJsZWQpIGFuZCBzaG91bGQgaGFwcGVuIGFzIHF1aWNrbHkgYXMgcG9zc2libGUuICBC eSBjbHVtcGluZyBhbGwKb2YgdGhlICdiZWdpbicgY2FsbHMgdG9nZXRoZXIsIHdlIGludHJvZHVj aW5nIGEgY291cGxlIHByb2JsZW1zOgogKiBTdWJzZXF1ZW50ICdiZWdpbicgaW52b2NhdGlvbnMg bWlnaHQgc2xlZXAgKHdoaWNoIGlzIGlsbGVnYWwpCiAqIFRoZSBmaXJzdCAnYmVnaW4nIGVuc3Vy ZWQgdGhhdCB3ZSB3ZXJlIGZhciBlbm91Z2ggZnJvbSB0aGUgdmJsYW5rIHRoYXQKICAgd2UgY291 bGQgd3JpdGUgb3VyIHJlZ2lzdGVycyBzYWZlbHkgYW5kIGVuc3VyZSB0aGV5IGFsbCBmZWxsIHdp dGhpbgogICB0aGUgc2FtZSBmcmFtZS4gIEFkZGluZyBleHRyYSBkZWxheSB3YWl0aW5nIGZvciBz dWJzZXF1ZW50IENSVEMncwogICB3YXNuJ3QgYWNjb3VudGVkIGZvciBhbmQgY291bGQgcHV0IHVz IGJhY2sgaW50byB0aGUgJ2RhbmdlciB6b25lJyBmb3IKICAgQ1JUQyAjMS4KClRoaXMgY29tbWl0 IHNvbHZlcyB0aGUgcHJvYmxlbSBieSB1c2luZyBhIG5ldyBoZWxwZXIgdGhhdCBhbGxvd3MgYW4K b3JkZXIgb2Ygb3BlcmF0aW9ucyBsaWtlOgoKICAgZm9yIGVhY2ggY3J0YyB7CiAgICAgICAgYmVn aW5fY3J0Y19jb21taXQoY3J0YykgIC8vIHNsZWVwIChtYXliZSksIHRoZW4gZGlzYWJsZSBpbnRl cnJ1cHRzCiAgICAgICAgY29tbWl0IHBsYW5lcyBmb3IgdGhpcyBzcGVjaWZpYyBDUlRDCiAgICAg ICAgZW5kX2NydGNfY29tbWl0KGNydGMpICAgIC8vIHJlZW5hYmxlIGludGVycnVwdHMKICAgfQoK c28gdGhhdCBzbGVlcHMgd2lsbCBvbmx5IGJlIHBlcmZvcm1lZCB3aGlsZSBpbnRlcnJ1cHRzIGFy ZSBlbmFibGVkIGFuZAp3ZSBjYW4gYmUgc3VyZSB0aGF0IHJlZ2lzdGVycyBmb3IgYSBDUlRDIHdp bGwgYmUgd3JpdHRlbiBpbW1lZGlhdGVseQpvbmNlIHdlIGtub3cgd2UncmUgaW4gdGhlIHNhZmUg em9uZS4KCgpUaGUgb25seSBvdGhlciB0aGluZyBJIG5vdGVkIGlzIHRoYXQgdGhlIENSVEMgYmFj a3BvaW50ZXIgdXBkYXRlIGluCmludGVsX21vZGVzZXRfcmVhZG91dF9od19zdGF0ZSgpIHNlZW1z IHNvbWV3aGF0IHVucmVsYXRlZCB0aGF0IG1pZ2h0CmhhdmUgZml0IGJldHRlciBpbiBvbmUgb2Yg dGhlIGVhcmxpZXIgcGF0Y2hlcyAoYnV0IGlzIG5lY2Vzc2FyeSBhdCB0aGlzCnBvaW50IHNpbmNl IG90aGVyd2lzZSB0aGUgaGVscGVyIHdpbGwgZGVyZWZlcmVuY2UgTlVMTCkuICBZb3UgbWlnaHQg d2FudAp0byBtYWtlIGEgcXVpY2sgbm90ZSBhYm91dCB0aGF0LgoKTWF0dAoKPiAtLS0KPiAgZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYXRvbWljLmMgIHwgMTMgKysrLS0tLS0tLS0tLQo+ICBk cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgfCAgNSArKystLQo+ICAyIGZpbGVz IGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgMTIgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2F0b21pYy5jIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfYXRvbWljLmMKPiBpbmRleCBlOTNhYWRlMGYyZGMuLjgzMDc4NzYzYmExNCAx MDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9hdG9taWMuYwo+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2F0b21pYy5jCj4gQEAgLTE1MSwxOCArMTUxLDEx IEBAIGludCBpbnRlbF9hdG9taWNfY29tbWl0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gIAo+ ICAJCWlmIChJTlRFTF9JTkZPKGRldiktPmdlbiA+PSA5KQo+ICAJCQlza2xfZGV0YWNoX3NjYWxl cnModG9faW50ZWxfY3J0YyhjcnRjKSk7Cj4gKwo+ICsJCWRybV9hdG9taWNfaGVscGVyX2NvbW1p dF9wbGFuZXNfb25fY3J0YyhjcnRjX3N0YXRlKTsKPiAgCX0KPiAgCj4gLQkvKgo+IC0JICogRklY TUU6ICBUaGUgcHJvcGVyIHNlcXVlbmNlIGhlcmUgd2lsbCBldmVudHVhbGx5IGJlOgo+IC0JICoK PiAtCSAqIGRybV9hdG9taWNfaGVscGVyX2NvbW1pdF9tb2Rlc2V0X2Rpc2FibGVzKGRldiwgc3Rh dGUpOwo+IC0JICogZHJtX2F0b21pY19oZWxwZXJfY29tbWl0X3BsYW5lcyhkZXYsIHN0YXRlKTsK PiAtCSAqIGRybV9hdG9taWNfaGVscGVyX2NvbW1pdF9tb2Rlc2V0X2VuYWJsZXMoZGV2LCBzdGF0 ZSk7Cj4gLQkgKgo+IC0JICogb25jZSB3ZSBoYXZlIGZ1bGwgYXRvbWljIG1vZGVzZXQuCj4gLQkg Ki8KPiAtCWRybV9hdG9taWNfaGVscGVyX2NvbW1pdF9wbGFuZXMoZGV2LCBzdGF0ZSk7Cj4gKwkv KiBGSVhNRTogVGhpcyBmdW5jdGlvbiBzaG91bGQgZXZlbnR1YWxseSBjYWxsIF9faW50ZWxfc2V0 X21vZGUgd2hlbiBuZWVkZWQgKi8KPiAgCj4gIAlkcm1fYXRvbWljX2hlbHBlcl93YWl0X2Zvcl92 YmxhbmtzKGRldiwgc3RhdGUpOwo+ICAJZHJtX2F0b21pY19oZWxwZXJfY2xlYW51cF9wbGFuZXMo ZGV2LCBzdGF0ZSk7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rp c3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+IGluZGV4IGFk YjE5YzNjOTE3Mi4uODFkNTM1OGVmZGRlIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2Rpc3BsYXkuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rp c3BsYXkuYwo+IEBAIC0xMjIyNSwxMCArMTIyMjUsMTAgQEAgc3RhdGljIGludCBfX2ludGVsX3Nl dF9tb2RlKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSkKPiAgCj4gIAltb2Rlc2V0X3Vw ZGF0ZV9jcnRjX3Bvd2VyX2RvbWFpbnMoc3RhdGUpOwo+ICAKPiAtCWRybV9hdG9taWNfaGVscGVy X2NvbW1pdF9wbGFuZXMoZGV2LCBzdGF0ZSk7Cj4gLQo+ICAJLyogTm93IGVuYWJsZSB0aGUgY2xv Y2tzLCBwbGFuZSwgcGlwZSwgYW5kIGNvbm5lY3RvcnMgdGhhdCB3ZSBzZXQgdXAuICovCj4gIAlm b3JfZWFjaF9jcnRjX2luX3N0YXRlKHN0YXRlLCBjcnRjLCBjcnRjX3N0YXRlLCBpKSB7Cj4gKwkJ ZHJtX2F0b21pY19oZWxwZXJfY29tbWl0X3BsYW5lc19vbl9jcnRjKGNydGNfc3RhdGUpOwo+ICsK PiAgCQlpZiAoIW5lZWRzX21vZGVzZXQoY3J0Yy0+c3RhdGUpIHx8ICFjcnRjLT5zdGF0ZS0+YWN0 aXZlKQo+ICAJCQljb250aW51ZTsKPiAgCj4gQEAgLTE0NTcyLDYgKzE0NTcyLDcgQEAgc3RhdGlj IHZvaWQgaW50ZWxfbW9kZXNldF9yZWFkb3V0X2h3X3N0YXRlKHN0cnVjdCBkcm1fZGV2aWNlICpk ZXYpCj4gIAkJc3RydWN0IGludGVsX3BsYW5lX3N0YXRlICpwbGFuZV9zdGF0ZTsKPiAgCj4gIAkJ bWVtc2V0KGNydGMtPmNvbmZpZywgMCwgc2l6ZW9mKCpjcnRjLT5jb25maWcpKTsKPiArCQljcnRj LT5jb25maWctPmJhc2UuY3J0YyA9ICZjcnRjLT5iYXNlOwo+ICAKPiAgCQljcnRjLT5jb25maWct PnF1aXJrcyB8PSBQSVBFX0NPTkZJR19RVUlSS19JTkhFUklURURfTU9ERTsKPiAgCj4gLS0gCj4g Mi4xLjAKPiAKPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f Xwo+IEludGVsLWdmeCBtYWlsaW5nIGxpc3QKPiBJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Au b3JnCj4gaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVs LWdmeAoKLS0gCk1hdHQgUm9wZXIKR3JhcGhpY3MgU29mdHdhcmUgRW5naW5lZXIKSW9URyBQbGF0 Zm9ybSBFbmFibGluZyAmIERldmVsb3BtZW50CkludGVsIENvcnBvcmF0aW9uCig5MTYpIDM1Ni0y Nzk1Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVs LWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8v bGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==