From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH v3 15/19] drm/i915: atomic plane updates in a nutshell Date: Thu, 18 Jun 2015 18:28:24 +0300 Message-ID: <20150618152824.GP5176@intel.com> References: <1434364436-6366-1-git-send-email-maarten.lankhorst@linux.intel.com> <1434364436-6366-16-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 mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTP id BF7CB6ED38 for ; Thu, 18 Jun 2015 08:28:36 -0700 (PDT) Content-Disposition: inline In-Reply-To: <1434364436-6366-16-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 Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gTW9uLCBKdW4gMTUsIDIwMTUgYXQgMTI6MzM6NTJQTSArMDIwMCwgTWFhcnRlbiBMYW5raG9y c3Qgd3JvdGU6Cj4gTm93IHRoYXQgYWxsIHBsYW5lcyBhcmUgYWRkZWQgZHVyaW5nIGEgbW9kZXNl dCB3ZSBjYW4gdXNlIHRoZQo+IGNhbGN1bGF0ZWQgY2hhbmdlcyBiZWZvcmUgZGlzYWJsaW5nIGEg cGxhbmUsIGFuZCB0aGVuIGVpdGhlciBjb21taXQKPiBvciBmb3JjZSBkaXNhYmxlIGEgcGxhbmUg YmVmb3JlIGRpc2FibGluZyB0aGUgY3J0Yy4KPiAKPiBUaGUgY29kZSBpcyBzaGFyZWQgd2l0aCBh dG9taWNfYmVnaW4vZmx1c2gsIGV4Y2VwdCB3YXRlcm1hcmsgdXBkYXRpbmcKPiBhbmQgdmJsYW5r IGV2YXNpb24gYXJlIG5vdCB1c2VkLgo+IAo+IFRoaXMgaXMgbmVlZGVkIGZvciBwcm9wZXIgYXRv bWljIHN1c3BlbmQvcmVzdW1lIHN1cHBvcnQuCj4gCj4gQnVnemlsbGE6IGh0dHBzOi8vYnVncy5m cmVlZGVza3RvcC5vcmcvc2hvd19idWcuY2dpP2lkPTkwODY4Cj4gU2lnbmVkLW9mZi1ieTogTWFh cnRlbiBMYW5raG9yc3QgPG1hYXJ0ZW4ubGFua2hvcnN0QGxpbnV4LmludGVsLmNvbT4KPiAtLS0K PiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIHwgMTAzICsrKysrKysrLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nw cml0ZS5jICB8ICAgNCArLQo+ICAyIGZpbGVzIGNoYW5nZWQsIDIzIGluc2VydGlvbnMoKyksIDg0 IGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiBpbmRl eCBjYzRjYTQ5NzA3MTYuLmJlYjY5MjgxZjQ1YyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kaXNwbGF5LmMKPiBAQCAtMjIxNywyOCArMjIxNyw2IEBAIHN0YXRpYyB2b2lkIGludGVsX2Rp c2FibGVfcGlwZShzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YykKPiAgCQlpbnRlbF93YWl0X2Zvcl9w aXBlX29mZihjcnRjKTsKPiAgfQo+ICAKPiAtLyoqCj4gLSAqIGludGVsX2VuYWJsZV9wcmltYXJ5 X2h3X3BsYW5lIC0gZW5hYmxlIHRoZSBwcmltYXJ5IHBsYW5lIG9uIGEgZ2l2ZW4gcGlwZQo+IC0g KiBAcGxhbmU6ICBwbGFuZSB0byBiZSBlbmFibGVkCj4gLSAqIEBjcnRjOiBjcnRjIGZvciB0aGUg cGxhbmUKPiAtICoKPiAtICogRW5hYmxlIEBwbGFuZSBvbiBAY3J0YywgbWFraW5nIHN1cmUgdGhh dCB0aGUgcGlwZSBpcyBydW5uaW5nIGZpcnN0Lgo+IC0gKi8KPiAtc3RhdGljIHZvaWQgaW50ZWxf ZW5hYmxlX3ByaW1hcnlfaHdfcGxhbmUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCj4gLQkJCQkJ ICBzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCj4gLXsKPiAtCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYg PSBwbGFuZS0+ZGV2Owo+IC0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2 LT5kZXZfcHJpdmF0ZTsKPiAtCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0gdG9faW50 ZWxfY3J0YyhjcnRjKTsKPiAtCj4gLQkvKiBJZiB0aGUgcGlwZSBpc24ndCBlbmFibGVkLCB3ZSBj YW4ndCBwdW1wIHBpeGVscyBhbmQgbWF5IGhhbmcgKi8KPiAtCWFzc2VydF9waXBlX2VuYWJsZWQo ZGV2X3ByaXYsIGludGVsX2NydGMtPnBpcGUpOwo+IC0JdG9faW50ZWxfcGxhbmVfc3RhdGUocGxh bmUtPnN0YXRlKS0+dmlzaWJsZSA9IHRydWU7Cj4gLQo+IC0JZGV2X3ByaXYtPmRpc3BsYXkudXBk YXRlX3ByaW1hcnlfcGxhbmUoY3J0YywgcGxhbmUtPmZiLAo+IC0JCQkJCSAgICAgICBjcnRjLT54 LCBjcnRjLT55KTsKPiAtfQo+IC0KPiAgc3RhdGljIGJvb2wgbmVlZF92dGRfd2Eoc3RydWN0IGRy bV9kZXZpY2UgKmRldikKPiAgewo+ICAjaWZkZWYgQ09ORklHX0lOVEVMX0lPTU1VCj4gQEAgLTQ1 MDgsMjAgKzQ0ODYsNiBAQCBzdGF0aWMgdm9pZCBpcm9ubGFrZV9wZml0X2VuYWJsZShzdHJ1Y3Qg aW50ZWxfY3J0YyAqY3J0YykKPiAgCX0KPiAgfQo+ICAKPiAtc3RhdGljIHZvaWQgaW50ZWxfZW5h YmxlX3Nwcml0ZV9wbGFuZXMoc3RydWN0IGRybV9jcnRjICpjcnRjKQo+IC17Cj4gLQlzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2ID0gY3J0Yy0+ZGV2Owo+IC0JZW51bSBwaXBlIHBpcGUgPSB0b19pbnRl bF9jcnRjKGNydGMpLT5waXBlOwo+IC0Jc3RydWN0IGRybV9wbGFuZSAqcGxhbmU7Cj4gLQlzdHJ1 Y3QgaW50ZWxfcGxhbmUgKmludGVsX3BsYW5lOwo+IC0KPiAtCWRybV9mb3JfZWFjaF9sZWdhY3lf cGxhbmUocGxhbmUsICZkZXYtPm1vZGVfY29uZmlnLnBsYW5lX2xpc3QpIHsKPiAtCQlpbnRlbF9w bGFuZSA9IHRvX2ludGVsX3BsYW5lKHBsYW5lKTsKPiAtCQlpZiAoaW50ZWxfcGxhbmUtPnBpcGUg PT0gcGlwZSkKPiAtCQkJaW50ZWxfcGxhbmVfcmVzdG9yZSgmaW50ZWxfcGxhbmUtPmJhc2UpOwo+ IC0JfQo+IC19Cj4gLQo+ICB2b2lkIGhzd19lbmFibGVfaXBzKHN0cnVjdCBpbnRlbF9jcnRjICpj cnRjKQo+ICB7Cj4gIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY3J0Yy0+YmFzZS5kZXY7Cj4g QEAgLTQ4MTcsMjcgKzQ3ODEsNiBAQCBzdGF0aWMgdm9pZCBpbnRlbF9wcmVfcGxhbmVfdXBkYXRl KHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjKQo+ICAJCWludGVsX3ByZV9kaXNhYmxlX3ByaW1hcnko JmNydGMtPmJhc2UpOwo+ICB9Cj4gIAo+IC1zdGF0aWMgdm9pZCBpbnRlbF9jcnRjX2VuYWJsZV9w bGFuZXMoc3RydWN0IGRybV9jcnRjICpjcnRjKQo+IC17Cj4gLQlzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2ID0gY3J0Yy0+ZGV2Owo+IC0Jc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMgPSB0b19p bnRlbF9jcnRjKGNydGMpOwo+IC0JaW50IHBpcGUgPSBpbnRlbF9jcnRjLT5waXBlOwo+IC0KPiAt CWludGVsX2VuYWJsZV9wcmltYXJ5X2h3X3BsYW5lKGNydGMtPnByaW1hcnksIGNydGMpOwo+IC0J aW50ZWxfZW5hYmxlX3Nwcml0ZV9wbGFuZXMoY3J0Yyk7Cj4gLQlpZiAodG9faW50ZWxfcGxhbmVf c3RhdGUoY3J0Yy0+Y3Vyc29yLT5zdGF0ZSktPnZpc2libGUpCj4gLQkJaW50ZWxfY3J0Y191cGRh dGVfY3Vyc29yKGNydGMsIHRydWUpOwo+IC0KPiAtCWludGVsX3Bvc3RfZW5hYmxlX3ByaW1hcnko Y3J0Yyk7Cj4gLQo+IC0JLyoKPiAtCSAqIEZJWE1FOiBPbmNlIHdlIGdyb3cgcHJvcGVyIG51Y2xl YXIgZmxpcCBzdXBwb3J0IG91dCBvZiB0aGlzIHdlIG5lZWQKPiAtCSAqIHRvIGNvbXB1dGUgdGhl IG1hc2sgb2YgZmxpcCBwbGFuZXMgcHJlY2lzZWx5LiBGb3IgdGhlIHRpbWUgYmVpbmcKPiAtCSAq IGNvbnNpZGVyIHRoaXMgYSBmbGlwIHRvIGEgTlVMTCBwbGFuZS4KPiAtCSAqLwo+IC0JaW50ZWxf ZnJvbnRidWZmZXJfZmxpcChkZXYsIElOVEVMX0ZST05UQlVGRkVSX0FMTF9NQVNLKHBpcGUpKTsK PiAtfQo+IC0KPiAgc3RhdGljIHZvaWQgaW50ZWxfY3J0Y19kaXNhYmxlX3BsYW5lcyhzdHJ1Y3Qg ZHJtX2NydGMgKmNydGMsIHVuc2lnbmVkIHBsYW5lX21hc2spCj4gIHsKPiAgCXN0cnVjdCBkcm1f ZGV2aWNlICpkZXYgPSBjcnRjLT5kZXY7Cj4gQEAgLTQ4NDUsMTAgKzQ3ODgsNiBAQCBzdGF0aWMg dm9pZCBpbnRlbF9jcnRjX2Rpc2FibGVfcGxhbmVzKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywgdW5z aWduZWQgcGxhbmVfbWFzawo+ICAJc3RydWN0IGRybV9wbGFuZSAqcDsKPiAgCWludCBwaXBlID0g aW50ZWxfY3J0Yy0+cGlwZTsKPiAgCj4gLQlpbnRlbF9jcnRjX3dhaXRfZm9yX3BlbmRpbmdfZmxp cHMoY3J0Yyk7Cj4gLQo+IC0JaW50ZWxfcHJlX2Rpc2FibGVfcHJpbWFyeShjcnRjKTsKPiAtCj4g IAlpbnRlbF9jcnRjX2RwbXNfb3ZlcmxheV9kaXNhYmxlKGludGVsX2NydGMpOwo+ICAKPiAgCWRy bV9mb3JfZWFjaF9wbGFuZV9tYXNrKHAsIGRldiwgcGxhbmVfbWFzaykKPiBAQCAtNjI3MCw2ICs2 MjA5LDExIEBAIHN0YXRpYyB2b2lkIGludGVsX2NydGNfZGlzYWJsZV9ub2F0b21pYyhzdHJ1Y3Qg ZHJtX2NydGMgKmNydGMpCj4gIAlpZiAoIWludGVsX2NydGMtPmFjdGl2ZSkKPiAgCQlyZXR1cm47 Cj4gIAo+ICsJaWYgKHRvX2ludGVsX3BsYW5lX3N0YXRlKGNydGMtPnByaW1hcnktPnN0YXRlKS0+ dmlzaWJsZSkgewo+ICsJCWludGVsX2NydGNfd2FpdF9mb3JfcGVuZGluZ19mbGlwcyhjcnRjKTsK PiArCQlpbnRlbF9wcmVfZGlzYWJsZV9wcmltYXJ5KGNydGMpOwo+ICsJfQo+ICsKPiAgCWludGVs X2NydGNfZGlzYWJsZV9wbGFuZXMoY3J0YywgY3J0Yy0+c3RhdGUtPnBsYW5lX21hc2spOwo+ICAJ ZGV2X3ByaXYtPmRpc3BsYXkuY3J0Y19kaXNhYmxlKGNydGMpOwo+ICAKPiBAQCAtMTE3ODMsMTAg KzExNzI3LDYgQEAgaW50IGludGVsX3BsYW5lX2F0b21pY19jYWxjX2NoYW5nZXMoc3RydWN0IGRy bV9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAo+ICAJaWYgKG9sZF9wbGFuZV9zdGF0ZS0+YmFzZS5m YiAmJiAhZmIpCj4gIAkJaW50ZWxfY3J0Yy0+YXRvbWljLmRpc2FibGVkX3BsYW5lcyB8PSAxIDw8 IGk7Cj4gIAo+IC0JLyogZG9uJ3QgcnVuIHJlc3QgZHVyaW5nIG1vZGVzZXQgeWV0ICovCj4gLQlp ZiAoIWludGVsX2NydGMtPmFjdGl2ZSB8fCBtb2RlX2NoYW5nZWQpCj4gLQkJcmV0dXJuIDA7Cj4g LQo+ICAJd2FzX3Zpc2libGUgPSBvbGRfcGxhbmVfc3RhdGUtPnZpc2libGU7Cj4gIAl2aXNpYmxl ID0gdG9faW50ZWxfcGxhbmVfc3RhdGUocGxhbmVfc3RhdGUpLT52aXNpYmxlOwo+ICAKPiBAQCAt MTMyNTUsMTUgKzEzMTk1LDE4IEBAIHN0YXRpYyBpbnQgX19pbnRlbF9zZXRfbW9kZShzdHJ1Y3Qg ZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpCj4gIAlkcm1fYXRvbWljX2hlbHBlcl9zd2FwX3N0YXRl KGRldiwgc3RhdGUpOwo+ICAKPiAgCWZvcl9lYWNoX2NydGNfaW5fc3RhdGUoc3RhdGUsIGNydGMs IGNydGNfc3RhdGUsIGkpIHsKPiArCQlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YyA9IHRv X2ludGVsX2NydGMoY3J0Yyk7Cj4gKwo+ICAJCWlmICghbmVlZHNfbW9kZXNldChjcnRjLT5zdGF0 ZSkpCj4gIAkJCWNvbnRpbnVlOwo+ICAKPiAgCQlhbnlfbXMgPSB0cnVlOwo+IC0JCWlmICghY3J0 Y19zdGF0ZS0+YWN0aXZlKQo+IC0JCQljb250aW51ZTsKPiArCQlpbnRlbF9wcmVfcGxhbmVfdXBk YXRlKGludGVsX2NydGMpOwo+ICAKPiAtCQlpbnRlbF9jcnRjX2Rpc2FibGVfcGxhbmVzKGNydGMs IGNydGNfc3RhdGUtPnBsYW5lX21hc2spOwo+IC0JCWRldl9wcml2LT5kaXNwbGF5LmNydGNfZGlz YWJsZShjcnRjKTsKPiArCQlpZiAoY3J0Y19zdGF0ZS0+YWN0aXZlKSB7Cj4gKwkJCWludGVsX2Ny dGNfZGlzYWJsZV9wbGFuZXMoY3J0YywgY3J0Y19zdGF0ZS0+cGxhbmVfbWFzayk7Cj4gKwkJCWRl dl9wcml2LT5kaXNwbGF5LmNydGNfZGlzYWJsZShjcnRjKTsKPiArCQl9Cj4gIAl9Cj4gIAo+ICAJ LyogT25seSBhZnRlciBkaXNhYmxpbmcgYWxsIG91dHB1dCBwaXBlbGluZXMgdGhhdCB3aWxsIGJl IGNoYW5nZWQgY2FuIHdlCj4gQEAgLTEzMjc3LDE1ICsxMzIyMCwxMiBAQCBzdGF0aWMgaW50IF9f aW50ZWxfc2V0X21vZGUoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKQo+ICAKPiAgCS8q IE5vdyBlbmFibGUgdGhlIGNsb2NrcywgcGxhbmUsIHBpcGUsIGFuZCBjb25uZWN0b3JzIHRoYXQg d2Ugc2V0IHVwLiAqLwo+ICAJZm9yX2VhY2hfY3J0Y19pbl9zdGF0ZShzdGF0ZSwgY3J0YywgY3J0 Y19zdGF0ZSwgaSkgewo+IC0JCWRybV9hdG9taWNfaGVscGVyX2NvbW1pdF9wbGFuZXNfb25fY3J0 YyhjcnRjX3N0YXRlKTsKPiAtCj4gLQkJaWYgKCFuZWVkc19tb2Rlc2V0KGNydGMtPnN0YXRlKSB8 fCAhY3J0Yy0+c3RhdGUtPmFjdGl2ZSkKPiAtCQkJY29udGludWU7Cj4gLQo+IC0JCXVwZGF0ZV9z Y2FubGluZV9vZmZzZXQodG9faW50ZWxfY3J0YyhjcnRjKSk7Cj4gKwkJaWYgKG5lZWRzX21vZGVz ZXQoY3J0Yy0+c3RhdGUpICYmIGNydGMtPnN0YXRlLT5hY3RpdmUpIHsKPiArCQkJdXBkYXRlX3Nj YW5saW5lX29mZnNldCh0b19pbnRlbF9jcnRjKGNydGMpKTsKPiArCQkJZGV2X3ByaXYtPmRpc3Bs YXkuY3J0Y19lbmFibGUoY3J0Yyk7Cj4gKwkJfQo+ICAKPiAtCQlkZXZfcHJpdi0+ZGlzcGxheS5j cnRjX2VuYWJsZShjcnRjKTsKPiAtCQlpbnRlbF9jcnRjX2VuYWJsZV9wbGFuZXMoY3J0Yyk7Cj4g KwkJZHJtX2F0b21pY19oZWxwZXJfY29tbWl0X3BsYW5lc19vbl9jcnRjKGNydGNfc3RhdGUpOwoK V2h5IGFyZSB3ZSBzdGlsbCBjb21taXRpbmcgcGxhbmVzIG9uIGEgZGlzYWJsZWQgcGlwZXM/CgpU aGUgd2F5IEkgZW52aXNpb25lZCB0aGUgbW9kZXNldCBwYXRoIGxvb2tpbmcgaXMgc29tZXRoaW5n IGxpa2UgdGhpczoKCjEuIGF0b21pY2FsbHkgZGlzYWJsZSBhbGwgcGxhbmVzIGZvciBwaXBlcyBn ZXR0aW5nIGRpc2FibGVkCjIuIGRpc2FibGUgYWxsIHBpcGVzIHRoYXQgbmVlZCBkaXNhYmxpbmcK My4gZW5hYmxlIGFsbCBwaXBlcyB0aGF0IG5lZWQgZW5hYmxpbmcKNC4gYXRvbWljYWxseSB1cGRh dGUgYWxsIHBsYW5lcyB0aGF0IHJlcXVpcmUgaXQgb24gbm93IGFjdGl2ZSBwaXBlcwoKPiAgCX0K PiAgCj4gIAkvKiBGSVhNRTogYWRkIHN1YnBpeGVsIG9yZGVyICovCj4gQEAgLTEzODU4LDcgKzEz Nzk4LDcgQEAgaW50ZWxfY29tbWl0X3ByaW1hcnlfcGxhbmUoc3RydWN0IGRybV9wbGFuZSAqcGxh bmUsCj4gIAljcnRjLT54ID0gc3JjLT54MSA+PiAxNjsKPiAgCWNydGMtPnkgPSBzcmMtPnkxID4+ IDE2Owo+ICAKPiAtCWlmICghaW50ZWxfY3J0Yy0+YWN0aXZlKQo+ICsJaWYgKCFjcnRjLT5zdGF0 ZS0+YWN0aXZlKQo+ICAJCXJldHVybjsKPiAgCj4gIAlpZiAoc3RhdGUtPnZpc2libGUpCj4gQEAg LTEzODg1LDcgKzEzODI1LDggQEAgc3RhdGljIHZvaWQgaW50ZWxfYmVnaW5fY3J0Y19jb21taXQo c3RydWN0IGRybV9jcnRjICpjcnRjLAo+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKPiAgCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRj ID0gdG9faW50ZWxfY3J0YyhjcnRjKTsKPiAgCj4gLQlpbnRlbF9wcmVfcGxhbmVfdXBkYXRlKGlu dGVsX2NydGMpOwo+ICsJaWYgKCFuZWVkc19tb2Rlc2V0KGNydGMtPnN0YXRlKSkKPiArCQlpbnRl bF9wcmVfcGxhbmVfdXBkYXRlKGludGVsX2NydGMpOwo+ICAKPiAgCWlmIChpbnRlbF9jcnRjLT5h dG9taWMudXBkYXRlX3dtKQo+ICAJCWludGVsX3VwZGF0ZV93YXRlcm1hcmtzKGNydGMpOwo+IEBA IC0xMzg5Myw3ICsxMzgzNCw3IEBAIHN0YXRpYyB2b2lkIGludGVsX2JlZ2luX2NydGNfY29tbWl0 KHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKPiAgCWludGVsX3J1bnRpbWVfcG1fZ2V0KGRldl9wcml2 KTsKPiAgCj4gIAkvKiBQZXJmb3JtIHZibGFuayBldmFzaW9uIGFyb3VuZCBjb21taXQgb3BlcmF0 aW9uICovCj4gLQlpZiAoY3J0Yy0+c3RhdGUtPmFjdGl2ZSAmJiAhbmVlZHNfbW9kZXNldChjcnRj LT5zdGF0ZSkpCj4gKwlpZiAoY3J0Yy0+c3RhdGUtPmFjdGl2ZSkKPiAgCQlpbnRlbF9jcnRjLT5h dG9taWMuZXZhZGUgPQo+ICAJCQlpbnRlbF9waXBlX3VwZGF0ZV9zdGFydChpbnRlbF9jcnRjLAo+ ICAJCQkJCQkmaW50ZWxfY3J0Yy0+YXRvbWljLnN0YXJ0X3ZibF9jb3VudCk7Cj4gQEAgLTE0MTAy LDcgKzE0MDQzLDcgQEAgaW50ZWxfY29tbWl0X2N1cnNvcl9wbGFuZShzdHJ1Y3QgZHJtX3BsYW5l ICpwbGFuZSwKPiAgCWludGVsX2NydGMtPmN1cnNvcl9ibyA9IG9iajsKPiAgCj4gIHVwZGF0ZToK PiAtCWlmIChpbnRlbF9jcnRjLT5hY3RpdmUpCj4gKwlpZiAoY3J0Yy0+c3RhdGUtPmFjdGl2ZSkK PiAgCQlpbnRlbF9jcnRjX3VwZGF0ZV9jdXJzb3IoY3J0Yywgc3RhdGUtPnZpc2libGUpOwo+ICB9 Cj4gIAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zcHJpdGUuYyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nwcml0ZS5jCj4gaW5kZXggZjdlYjNiZDBhN2M3 Li4xNjhmOTBmMzQ2YzIgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf c3ByaXRlLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zcHJpdGUuYwo+IEBA IC05MjEsMTYgKzkyMSwxNCBAQCBpbnRlbF9jb21taXRfc3ByaXRlX3BsYW5lKHN0cnVjdCBkcm1f cGxhbmUgKnBsYW5lLAo+ICAJCQkgIHN0cnVjdCBpbnRlbF9wbGFuZV9zdGF0ZSAqc3RhdGUpCj4g IHsKPiAgCXN0cnVjdCBkcm1fY3J0YyAqY3J0YyA9IHN0YXRlLT5iYXNlLmNydGM7Cj4gLQlzdHJ1 Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YzsKPiAgCXN0cnVjdCBpbnRlbF9wbGFuZSAqaW50ZWxf cGxhbmUgPSB0b19pbnRlbF9wbGFuZShwbGFuZSk7Cj4gIAlzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVy ICpmYiA9IHN0YXRlLT5iYXNlLmZiOwo+ICAKPiAgCWNydGMgPSBjcnRjID8gY3J0YyA6IHBsYW5l LT5jcnRjOwo+IC0JaW50ZWxfY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Yyk7Cj4gIAo+ICAJcGxh bmUtPmZiID0gZmI7Cj4gIAo+IC0JaWYgKCFpbnRlbF9jcnRjLT5hY3RpdmUpCj4gKwlpZiAoIWNy dGMtPnN0YXRlLT5hY3RpdmUpCj4gIAkJcmV0dXJuOwo+ICAKPiAgCWlmIChzdGF0ZS0+dmlzaWJs ZSkgewo+IC0tIAo+IDIuMS4wCj4gCj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KPiBJbnRlbC1nZnggbWFpbGluZyBsaXN0Cj4gSW50ZWwtZ2Z4QGxpc3Rz LmZyZWVkZXNrdG9wLm9yZwo+IGh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9s aXN0aW5mby9pbnRlbC1nZngKCi0tIApWaWxsZSBTeXJqw6Rsw6QKSW50ZWwgT1RDCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5n IGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRl c2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==