From mboxrd@z Thu Jan 1 00:00:00 1970 From: Laurent Pinchart Subject: Re: [PATCH 3/5] drm/atomic: Move drm_crtc_commit to drm_crtc_state, v2. Date: Wed, 30 Aug 2017 16:09:43 +0300 Message-ID: <2468114.YG9N6uFBhb@avalon> References: <20170830121752.31291-1-maarten.lankhorst@linux.intel.com> <20170830121752.31291-4-maarten.lankhorst@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20170830121752.31291-4-maarten.lankhorst@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org SGkgTWFhcnRlbiwKClRoYW5rIHlvdSBmb3IgdGhlIHBhdGNoLgoKT24gV2VkbmVzZGF5LCAzMCBB dWd1c3QgMjAxNyAxNToxNzo1MCBFRVNUIE1hYXJ0ZW4gTGFua2hvcnN0IHdyb3RlOgo+IE1vc3Qg Y29kZSBvbmx5IGNhcmVzIGFib3V0IHRoZSBjdXJyZW50IGNvbW1pdCBvciBwcmV2aW91cyBjb21t aXQuCj4gRm9ydHVhbnRlbHkgd2UgYWxyZWFkeSBoYXZlIGEgcGxhY2UgdG8gdHJhY2sgdGhvc2Uu IE1vdmUgaXQgdG8KPiBkcm1fY3J0Y19zdGF0ZSB3aGVyZSBpdCBiZWxvbmdzLiA6KQo+IAo+IFRo ZSBwZXItY3J0YyBjb21taXRfbGlzdCBpcyBrZXB0IGZvciBwbGFjZXMgd2hlcmUgd2UgaGF2ZSB0 byBsb29rCj4gZGVlcGVyIHRoYW4gdGhlIGN1cnJlbnQgb3IgcHJldmlvdXMgY29tbWl0IGZvciBj aGVja2luZyB3aGV0aGVyIHRvIHN0YWxsCj4gb24gdW5waW4uIFRoaXMgaXMgdXNlZCBpbiBkcm1f YXRvbWljX2hlbHBlcl9zZXR1cF9jb21taXQgYW5kCj4gaW50ZWxfaGFzX3BlbmRpbmdfZmJfdW5w aW4uCj4gCj4gQ2hhbmdlcyBzaW5jZSB2MToKPiAtIFVwZGF0ZSBrZXJuZWxkb2MgZm9yIGRybV9j cnRjLmNvbW1pdF9saXN0LiAoZGFudmV0KQo+IAo+IFNpZ25lZC1vZmYtYnk6IE1hYXJ0ZW4gTGFu a2hvcnN0IDxtYWFydGVuLmxhbmtob3JzdEBsaW51eC5pbnRlbC5jb20+Cj4gUmV2aWV3ZWQtYnk6 IERhbmllbCBWZXR0ZXIgPGRhbmllbC52ZXR0ZXJAZmZ3bGwuY2g+Cj4gLS0tCj4gIGRyaXZlcnMv Z3B1L2RybS9kcm1fYXRvbWljLmMgICAgICAgIHwgIDcgLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9k cm1fYXRvbWljX2hlbHBlci5jIHwgOTIgKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQo+ICBpbmNsdWRlL2RybS9kcm1fYXRvbWljLmggICAgICAgICAgICB8ICAxIC0KPiAgaW5jbHVk ZS9kcm0vZHJtX2NydGMuaCAgICAgICAgICAgICAgfCAyMyArKysrKysrKy0tCj4gIDQgZmlsZXMg Y2hhbmdlZCwgNDIgaW5zZXJ0aW9ucygrKSwgODEgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0 b21pYy5jCj4gaW5kZXggMmZkMzgzZDcyNTNhLi4yY2NlNDhmMjAzZTAgMTAwNjQ0Cj4gLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1f YXRvbWljLmMKPiBAQCAtMTYzLDEzICsxNjMsNiBAQCB2b2lkIGRybV9hdG9taWNfc3RhdGVfZGVm YXVsdF9jbGVhcihzdHJ1Y3QKPiBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSkgY3J0Yy0+ZnVuY3Mt PmF0b21pY19kZXN0cm95X3N0YXRlKGNydGMsCj4gIAkJCQkJCSAgc3RhdGUtPmNydGNzW2ldLnN0 YXRlKTsKPiAKPiAtCQlpZiAoc3RhdGUtPmNydGNzW2ldLmNvbW1pdCkgewo+IC0JCQlrZnJlZShz dGF0ZS0+Y3J0Y3NbaV0uY29tbWl0LT5ldmVudCk7Cj4gLQkJCXN0YXRlLT5jcnRjc1tpXS5jb21t aXQtPmV2ZW50ID0gTlVMTDsKPiAtCQkJZHJtX2NydGNfY29tbWl0X3B1dChzdGF0ZS0+Y3J0Y3Nb aV0uY29tbWl0KTsKPiAtCQl9Cj4gLQo+IC0JCXN0YXRlLT5jcnRjc1tpXS5jb21taXQgPSBOVUxM Owo+ICAJCXN0YXRlLT5jcnRjc1tpXS5wdHIgPSBOVUxMOwo+ICAJCXN0YXRlLT5jcnRjc1tpXS5z dGF0ZSA9IE5VTEw7Cj4gIAl9Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRv bWljX2hlbHBlci5jCj4gYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19oZWxwZXIuYyBpbmRl eCAxMWQwZTk0YTIxODEuLjhjY2I4YjY1MzZjMAo+IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9kcm1fYXRvbWljX2hlbHBlci5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9t aWNfaGVscGVyLmMKPiBAQCAtMTI2MiwxMiArMTI2MiwxMiBAQCBFWFBPUlRfU1lNQk9MKGRybV9h dG9taWNfaGVscGVyX3dhaXRfZm9yX3ZibGFua3MpOwo+ICB2b2lkIGRybV9hdG9taWNfaGVscGVy X3dhaXRfZm9yX2ZsaXBfZG9uZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ICAJCQkJCSAgc3Ry dWN0IGRybV9hdG9taWNfc3RhdGUgKm9sZF9zdGF0ZSkKPiAgewo+IC0Jc3RydWN0IGRybV9jcnRj X3N0YXRlICp1bnVzZWQ7Cj4gKwlzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKm5ld19jcnRjX3N0YXRl Owo+ICAJc3RydWN0IGRybV9jcnRjICpjcnRjOwo+ICAJaW50IGk7Cj4gCj4gLQlmb3JfZWFjaF9u ZXdfY3J0Y19pbl9zdGF0ZShvbGRfc3RhdGUsIGNydGMsIHVudXNlZCwgaSkgewo+IC0JCXN0cnVj dCBkcm1fY3J0Y19jb21taXQgKmNvbW1pdCA9IG9sZF9zdGF0ZS0+Y3J0Y3NbaV0uY29tbWl0Owo+ ICsJZm9yX2VhY2hfbmV3X2NydGNfaW5fc3RhdGUob2xkX3N0YXRlLCBjcnRjLCBuZXdfY3J0Y19z dGF0ZSwgaSkgewo+ICsJCXN0cnVjdCBkcm1fY3J0Y19jb21taXQgKmNvbW1pdCA9IG5ld19jcnRj X3N0YXRlLT5jb21taXQ7Cj4gIAkJaW50IHJldDsKPiAKPiAgCQlpZiAoIWNvbW1pdCkKPiBAQCAt MTM4OCwxMSArMTM4OCwxMCBAQCBpbnQgZHJtX2F0b21pY19oZWxwZXJfYXN5bmNfY2hlY2soc3Ry dWN0IGRybV9kZXZpY2UKPiAqZGV2LCB7Cj4gIAlzdHJ1Y3QgZHJtX2NydGMgKmNydGM7Cj4gIAlz dHJ1Y3QgZHJtX2NydGNfc3RhdGUgKmNydGNfc3RhdGU7Cj4gLQlzdHJ1Y3QgZHJtX2NydGNfY29t bWl0ICpjb21taXQ7Cj4gIAlzdHJ1Y3QgZHJtX3BsYW5lICpfX3BsYW5lLCAqcGxhbmUgPSBOVUxM Owo+ICAJc3RydWN0IGRybV9wbGFuZV9zdGF0ZSAqX19wbGFuZV9zdGF0ZSwgKnBsYW5lX3N0YXRl ID0gTlVMTDsKPiAgCWNvbnN0IHN0cnVjdCBkcm1fcGxhbmVfaGVscGVyX2Z1bmNzICpmdW5jczsK PiAtCWludCBpLCBqLCBuX3BsYW5lcyA9IDA7Cj4gKwlpbnQgaSwgbl9wbGFuZXMgPSAwOwo+IAo+ ICAJZm9yX2VhY2hfbmV3X2NydGNfaW5fc3RhdGUoc3RhdGUsIGNydGMsIGNydGNfc3RhdGUsIGkp IHsKPiAgCQlpZiAoZHJtX2F0b21pY19jcnRjX25lZWRzX21vZGVzZXQoY3J0Y19zdGF0ZSkpCj4g QEAgLTE0MjAsMzMgKzE0MTksMTAgQEAgaW50IGRybV9hdG9taWNfaGVscGVyX2FzeW5jX2NoZWNr KHN0cnVjdCBkcm1fZGV2aWNlCj4gKmRldiwgcmV0dXJuIC1FSU5WQUw7Cj4gCj4gIAkvKgo+IC0J ICogRG9uJ3QgZG8gYW4gYXN5bmMgdXBkYXRlIGlmIHRoZXJlIGlzIGFuIG91dHN0YW5kaW5nIGNv bW1pdCBtb2RpZnlpbmcKPiArCSAqIFRPRE86IERvbid0IGRvIGFuIGFzeW5jIHVwZGF0ZSBpZiB0 aGVyZSBpcyBhbiBvdXRzdGFuZGluZyBjb21taXQKPiBtb2RpZnlpbmcKPiAJICogdGhlIHBsYW5l LiAgVGhpcyBwcmV2ZW50cyBvdXIgYXN5bmMgdXBkYXRlJ3MgY2hhbmdlcyBmcm9tIGdldHRpbmcK PiAJICogb3ZlcnJpZGRlbiBieSBhIHByZXZpb3VzIHN5bmNocm9ub3VzIHVwZGF0ZSdzIHN0YXRl Lgo+ICAJICovCgpBcyBtZW50aW9uZWQgaW4gYSBjb21tZW50IHRvIHlvdXIgcHJldmlvdXMgcGF0 Y2gsIHRoaXMgaXMgdW5yZWxhdGVkIHRvIAokU1VCSkVDVC4gWW91IHNob3VsZCBtZW50aW9uIGFu ZCBleHBsYWluIHRoaXMgY2hhbmdlIGluIHRoZSBjb21taXQgbWVzc2FnZSAKKHBvc3NpYmx5IHNw bGl0dGluZyBpdCBvdXQgaW4gYSBzZXBhcmF0ZSBjb21taXQgaWYgeW91IHRoaW5rIHRoYXQgd291 bGQgbWFrZSAKbW9yZSBzZW5zZSwgdXAgdG8geW91KS4KCj4gLQlmb3JfZWFjaF9uZXdfY3J0Y19p bl9zdGF0ZShzdGF0ZSwgY3J0YywgY3J0Y19zdGF0ZSwgaSkgewo+IC0JCWlmIChwbGFuZS0+Y3J0 YyAhPSBjcnRjKQo+IC0JCQljb250aW51ZTsKPiAtCj4gLQkJc3Bpbl9sb2NrKCZjcnRjLT5jb21t aXRfbG9jayk7Cj4gLQkJY29tbWl0ID0gbGlzdF9maXJzdF9lbnRyeV9vcl9udWxsKCZjcnRjLT5j b21taXRfbGlzdCwKPiAtCQkJCQkJICBzdHJ1Y3QgZHJtX2NydGNfY29tbWl0LAo+IC0JCQkJCQkg IGNvbW1pdF9lbnRyeSk7Cj4gLQkJaWYgKCFjb21taXQpIHsKPiAtCQkJc3Bpbl91bmxvY2soJmNy dGMtPmNvbW1pdF9sb2NrKTsKPiAtCQkJY29udGludWU7Cj4gLQkJfQo+IC0JCXNwaW5fdW5sb2Nr KCZjcnRjLT5jb21taXRfbG9jayk7Cj4gLQo+IC0JCWlmICghY3J0Yy0+c3RhdGUtPnN0YXRlKQo+ IC0JCQljb250aW51ZTsKPiAtCj4gLQkJZm9yX2VhY2hfcGxhbmVfaW5fc3RhdGUoY3J0Yy0+c3Rh dGUtPnN0YXRlLCBfX3BsYW5lLAo+IC0JCQkJCV9fcGxhbmVfc3RhdGUsIGopIHsKPiAtCQkJaWYg KF9fcGxhbmUgPT0gcGxhbmUpCj4gLQkJCQlyZXR1cm4gLUVJTlZBTDsKPiAtCQl9Cj4gLQl9Cj4g Cj4gIAlyZXR1cm4gZnVuY3MtPmF0b21pY19hc3luY19jaGVjayhwbGFuZSwgcGxhbmVfc3RhdGUp Owo+ICB9Cj4gQEAgLTE3MzEsNyArMTcwNyw3IEBAIGludCBkcm1fYXRvbWljX2hlbHBlcl9zZXR1 cF9jb21taXQoc3RydWN0Cj4gZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUsIGtyZWZfaW5pdCgmY29t bWl0LT5yZWYpOwo+ICAJCWNvbW1pdC0+Y3J0YyA9IGNydGM7Cj4gCj4gLQkJc3RhdGUtPmNydGNz W2ldLmNvbW1pdCA9IGNvbW1pdDsKPiArCQluZXdfY3J0Y19zdGF0ZS0+Y29tbWl0ID0gY29tbWl0 Owo+IAo+ICAJCXJldCA9IHN0YWxsX2NoZWNrcyhjcnRjLCBub25ibG9jayk7Cj4gIAkJaWYgKHJl dCkKPiBAQCAtMTc2OSwyMiArMTc0NSw2IEBAIGludCBkcm1fYXRvbWljX2hlbHBlcl9zZXR1cF9j b21taXQoc3RydWN0Cj4gZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUsIH0KPiAgRVhQT1JUX1NZTUJP TChkcm1fYXRvbWljX2hlbHBlcl9zZXR1cF9jb21taXQpOwo+IAo+IC0KPiAtc3RhdGljIHN0cnVj dCBkcm1fY3J0Y19jb21taXQgKnByZWNlZWRpbmdfY29tbWl0KHN0cnVjdCBkcm1fY3J0YyAqY3J0 YykKPiAtewo+IC0Jc3RydWN0IGRybV9jcnRjX2NvbW1pdCAqY29tbWl0Owo+IC0JaW50IGkgPSAw Owo+IC0KPiAtCWxpc3RfZm9yX2VhY2hfZW50cnkoY29tbWl0LCAmY3J0Yy0+Y29tbWl0X2xpc3Qs IGNvbW1pdF9lbnRyeSkgewo+IC0JCS8qIHNraXAgdGhlIGZpcnN0IGVudHJ5LCB0aGF0J3MgdGhl IGN1cnJlbnQgY29tbWl0ICovCj4gLQkJaWYgKGkgPT0gMSkKPiAtCQkJcmV0dXJuIGNvbW1pdDsK PiAtCQlpKys7Cj4gLQl9Cj4gLQo+IC0JcmV0dXJuIE5VTEw7Cj4gLX0KPiAtCj4gIC8qKgo+ICAg KiBkcm1fYXRvbWljX2hlbHBlcl93YWl0X2Zvcl9kZXBlbmRlbmNpZXMgLSB3YWl0IGZvciByZXF1 aXJlZCBwcmVjZWVkaW5nCj4gY29tbWl0cyAqIEBvbGRfc3RhdGU6IGF0b21pYyBzdGF0ZSBvYmpl Y3Qgd2l0aCBvbGQgc3RhdGUgc3RydWN0dXJlcwo+IEBAIC0xODAwLDE3ICsxNzYwLDEzIEBAIHN0 YXRpYyBzdHJ1Y3QgZHJtX2NydGNfY29tbWl0Cj4gKnByZWNlZWRpbmdfY29tbWl0KHN0cnVjdCBk cm1fY3J0YyAqY3J0Yykgdm9pZAo+IGRybV9hdG9taWNfaGVscGVyX3dhaXRfZm9yX2RlcGVuZGVu Y2llcyhzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqb2xkX3N0YXRlKQo+IHsKPiAgCXN0cnVjdCBk cm1fY3J0YyAqY3J0YzsKPiAtCXN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqbmV3X2NydGNfc3RhdGU7 Cj4gKwlzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKm9sZF9jcnRjX3N0YXRlOwo+ICAJc3RydWN0IGRy bV9jcnRjX2NvbW1pdCAqY29tbWl0Owo+ICAJaW50IGk7Cj4gIAlsb25nIHJldDsKPiAKPiAtCWZv cl9lYWNoX25ld19jcnRjX2luX3N0YXRlKG9sZF9zdGF0ZSwgY3J0YywgbmV3X2NydGNfc3RhdGUs IGkpIHsKPiAtCQlzcGluX2xvY2soJmNydGMtPmNvbW1pdF9sb2NrKTsKPiAtCQljb21taXQgPSBw cmVjZWVkaW5nX2NvbW1pdChjcnRjKTsKPiAtCQlpZiAoY29tbWl0KQo+IC0JCQlkcm1fY3J0Y19j b21taXRfZ2V0KGNvbW1pdCk7Cj4gLQkJc3Bpbl91bmxvY2soJmNydGMtPmNvbW1pdF9sb2NrKTsK PiArCWZvcl9lYWNoX29sZF9jcnRjX2luX3N0YXRlKG9sZF9zdGF0ZSwgY3J0Yywgb2xkX2NydGNf c3RhdGUsIGkpIHsKPiArCQljb21taXQgPSBvbGRfY3J0Y19zdGF0ZS0+Y29tbWl0Owo+IAo+ICAJ CWlmICghY29tbWl0KQo+ICAJCQljb250aW51ZTsKPiBAQCAtMTgyOCw4ICsxNzg0LDYgQEAgdm9p ZCBkcm1fYXRvbWljX2hlbHBlcl93YWl0X2Zvcl9kZXBlbmRlbmNpZXMoc3RydWN0Cj4gZHJtX2F0 b21pY19zdGF0ZSAqb2xkX3N0YXRlKSBpZiAocmV0ID09IDApCj4gIAkJCURSTV9FUlJPUigiW0NS VEM6JWQ6JXNdIGZsaXBfZG9uZSB0aW1lZCBvdXRcbiIsCj4gIAkJCQkgIGNydGMtPmJhc2UuaWQs IGNydGMtPm5hbWUpOwo+IC0KPiAtCQlkcm1fY3J0Y19jb21taXRfcHV0KGNvbW1pdCk7Cj4gIAl9 Cj4gIH0KPiAgRVhQT1JUX1NZTUJPTChkcm1fYXRvbWljX2hlbHBlcl93YWl0X2Zvcl9kZXBlbmRl bmNpZXMpOwo+IEBAIC0xODU3LDcgKzE4MTEsNyBAQCB2b2lkIGRybV9hdG9taWNfaGVscGVyX2Nv bW1pdF9od19kb25lKHN0cnVjdAo+IGRybV9hdG9taWNfc3RhdGUgKm9sZF9zdGF0ZSkgaW50IGk7 Cj4gCj4gIAlmb3JfZWFjaF9uZXdfY3J0Y19pbl9zdGF0ZShvbGRfc3RhdGUsIGNydGMsIG5ld19j cnRjX3N0YXRlLCBpKSB7Cj4gLQkJY29tbWl0ID0gb2xkX3N0YXRlLT5jcnRjc1tpXS5jb21taXQ7 Cj4gKwkJY29tbWl0ID0gbmV3X2NydGNfc3RhdGUtPmNvbW1pdDsKPiAgCQlpZiAoIWNvbW1pdCkK PiAgCQkJY29udGludWU7Cj4gCj4gQEAgLTE4ODcsNyArMTg0MSw3IEBAIHZvaWQgZHJtX2F0b21p Y19oZWxwZXJfY29tbWl0X2NsZWFudXBfZG9uZShzdHJ1Y3QKPiBkcm1fYXRvbWljX3N0YXRlICpv bGRfc3RhdGUpIGludCBpOwo+IAo+ICAJZm9yX2VhY2hfbmV3X2NydGNfaW5fc3RhdGUob2xkX3N0 YXRlLCBjcnRjLCBuZXdfY3J0Y19zdGF0ZSwgaSkgewo+IC0JCWNvbW1pdCA9IG9sZF9zdGF0ZS0+ Y3J0Y3NbaV0uY29tbWl0Owo+ICsJCWNvbW1pdCA9IG5ld19jcnRjX3N0YXRlLT5jb21taXQ7Cj4g IAkJaWYgKFdBUk5fT04oIWNvbW1pdCkpCj4gIAkJCWNvbnRpbnVlOwo+IAo+IEBAIC0yMjc3LDIw ICsyMjMxLDEzIEBAIGludCBkcm1fYXRvbWljX2hlbHBlcl9zd2FwX3N0YXRlKHN0cnVjdAo+IGRy bV9hdG9taWNfc3RhdGUgKnN0YXRlLCBzdHJ1Y3QgZHJtX3ByaXZhdGVfc3RhdGUgKm9sZF9vYmpf c3RhdGUsCj4gKm5ld19vYmpfc3RhdGU7Cj4gCj4gIAlpZiAoc3RhbGwpIHsKPiAtCQlmb3JfZWFj aF9uZXdfY3J0Y19pbl9zdGF0ZShzdGF0ZSwgY3J0YywgbmV3X2NydGNfc3RhdGUsIGkpIHsKPiAt CQkJc3Bpbl9sb2NrKCZjcnRjLT5jb21taXRfbG9jayk7Cj4gLQkJCWNvbW1pdCA9IGxpc3RfZmly c3RfZW50cnlfb3JfbnVsbCgmY3J0Yy0+Y29tbWl0X2xpc3QsCj4gLQkJCQkJc3RydWN0IGRybV9j cnRjX2NvbW1pdCwgY29tbWl0X2VudHJ5KTsKPiAtCQkJaWYgKGNvbW1pdCkKPiAtCQkJCWRybV9j cnRjX2NvbW1pdF9nZXQoY29tbWl0KTsKPiAtCQkJc3Bpbl91bmxvY2soJmNydGMtPmNvbW1pdF9s b2NrKTsKPiArCQlmb3JfZWFjaF9vbGRfY3J0Y19pbl9zdGF0ZShzdGF0ZSwgY3J0Yywgb2xkX2Ny dGNfc3RhdGUsIGkpIHsKPiArCQkJY29tbWl0ID0gb2xkX2NydGNfc3RhdGUtPmNvbW1pdDsKPiAK PiAgCQkJaWYgKCFjb21taXQpCj4gIAkJCQljb250aW51ZTsKPiAKPiAgCQkJcmV0ID0gd2FpdF9m b3JfY29tcGxldGlvbl9pbnRlcnJ1cHRpYmxlKCZjb21taXQtPmh3X2RvbmUpOwo+IC0JCQlkcm1f Y3J0Y19jb21taXRfcHV0KGNvbW1pdCk7Cj4gLQo+ICAJCQlpZiAocmV0KQo+ICAJCQkJcmV0dXJu IHJldDsKPiAgCQl9Cj4gQEAgLTIzMTUsMTMgKzIyNjIsMTMgQEAgaW50IGRybV9hdG9taWNfaGVs cGVyX3N3YXBfc3RhdGUoc3RydWN0Cj4gZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUsIHN0YXRlLT5j cnRjc1tpXS5zdGF0ZSA9IG9sZF9jcnRjX3N0YXRlOwo+ICAJCWNydGMtPnN0YXRlID0gbmV3X2Ny dGNfc3RhdGU7Cj4gCj4gLQkJaWYgKHN0YXRlLT5jcnRjc1tpXS5jb21taXQpIHsKPiArCQlpZiAo bmV3X2NydGNfc3RhdGUtPmNvbW1pdCkgewo+ICAJCQlzcGluX2xvY2soJmNydGMtPmNvbW1pdF9s b2NrKTsKPiAtCQkJbGlzdF9hZGQoJnN0YXRlLT5jcnRjc1tpXS5jb21taXQtPmNvbW1pdF9lbnRy eSwKPiArCQkJbGlzdF9hZGQoJm5ld19jcnRjX3N0YXRlLT5jb21taXQtPmNvbW1pdF9lbnRyeSwK PiAgCQkJCSAmY3J0Yy0+Y29tbWl0X2xpc3QpOwo+ICAJCQlzcGluX3VubG9jaygmY3J0Yy0+Y29t bWl0X2xvY2spOwo+IAo+IC0JCQlzdGF0ZS0+Y3J0Y3NbaV0uY29tbWl0LT5ldmVudCA9IE5VTEw7 Cj4gKwkJCW5ld19jcnRjX3N0YXRlLT5jb21taXQtPmV2ZW50ID0gTlVMTDsKPiAgCQl9Cj4gIAl9 Cj4gCj4gQEAgLTMxNjksNiArMzExNiw3IEBAIHZvaWQgX19kcm1fYXRvbWljX2hlbHBlcl9jcnRj X2R1cGxpY2F0ZV9zdGF0ZShzdHJ1Y3QKPiBkcm1fY3J0YyAqY3J0Yywgc3RhdGUtPmNvbm5lY3Rv cnNfY2hhbmdlZCA9IGZhbHNlOwo+ICAJc3RhdGUtPmNvbG9yX21nbXRfY2hhbmdlZCA9IGZhbHNl Owo+ICAJc3RhdGUtPnpwb3NfY2hhbmdlZCA9IGZhbHNlOwo+ICsJc3RhdGUtPmNvbW1pdCA9IE5V TEw7Cj4gIAlzdGF0ZS0+ZXZlbnQgPSBOVUxMOwo+ICAJc3RhdGUtPnBhZ2VmbGlwX2ZsYWdzID0g MDsKPiAgfQo+IEBAIC0zMjA3LDYgKzMxNTUsMTIgQEAKPiBFWFBPUlRfU1lNQk9MKGRybV9hdG9t aWNfaGVscGVyX2NydGNfZHVwbGljYXRlX3N0YXRlKTsgKi8KPiAgdm9pZCBfX2RybV9hdG9taWNf aGVscGVyX2NydGNfZGVzdHJveV9zdGF0ZShzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKnN0YXRlKQo+ ICB7Cj4gKwlpZiAoc3RhdGUtPmNvbW1pdCkgewo+ICsJCWtmcmVlKHN0YXRlLT5jb21taXQtPmV2 ZW50KTsKPiArCQlzdGF0ZS0+Y29tbWl0LT5ldmVudCA9IE5VTEw7Cj4gKwkJZHJtX2NydGNfY29t bWl0X3B1dChzdGF0ZS0+Y29tbWl0KTsKPiArCX0KPiArCj4gIAlkcm1fcHJvcGVydHlfYmxvYl9w dXQoc3RhdGUtPm1vZGVfYmxvYik7Cj4gIAlkcm1fcHJvcGVydHlfYmxvYl9wdXQoc3RhdGUtPmRl Z2FtbWFfbHV0KTsKPiAgCWRybV9wcm9wZXJ0eV9ibG9iX3B1dChzdGF0ZS0+Y3RtKTsKPiBkaWZm IC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX2F0b21pYy5oIGIvaW5jbHVkZS9kcm0vZHJtX2F0b21p Yy5oCj4gaW5kZXggOGE1ODA4ZWI1NjI4Li5lNzZkOWY5NWMxOTEgMTAwNjQ0Cj4gLS0tIGEvaW5j bHVkZS9kcm0vZHJtX2F0b21pYy5oCj4gKysrIGIvaW5jbHVkZS9kcm0vZHJtX2F0b21pYy5oCj4g QEAgLTE0NCw3ICsxNDQsNiBAQCBzdHJ1Y3QgX19kcm1fcGxhbmVzX3N0YXRlIHsKPiAgc3RydWN0 IF9fZHJtX2NydGNzX3N0YXRlIHsKPiAgCXN0cnVjdCBkcm1fY3J0YyAqcHRyOwo+ICAJc3RydWN0 IGRybV9jcnRjX3N0YXRlICpzdGF0ZSwgKm9sZF9zdGF0ZSwgKm5ld19zdGF0ZTsKPiAtCXN0cnVj dCBkcm1fY3J0Y19jb21taXQgKmNvbW1pdDsKPiAgCXMzMiBfX3VzZXIgKm91dF9mZW5jZV9wdHI7 Cj4gIAl1bnNpZ25lZCBsYXN0X3ZibGFua19jb3VudDsKPiAgfTsKPiBkaWZmIC0tZ2l0IGEvaW5j bHVkZS9kcm0vZHJtX2NydGMuaCBiL2luY2x1ZGUvZHJtL2RybV9jcnRjLmgKPiBpbmRleCAxYTY0 MjAyMGUzMDYuLjFhMDFmZjRlYTAyMyAxMDA2NDQKPiAtLS0gYS9pbmNsdWRlL2RybS9kcm1fY3J0 Yy5oCj4gKysrIGIvaW5jbHVkZS9kcm0vZHJtX2NydGMuaAo+IEBAIC0yNTMsNiArMjUzLDE1IEBA IHN0cnVjdCBkcm1fY3J0Y19zdGF0ZSB7Cj4gIAkgKi8KPiAgCXN0cnVjdCBkcm1fcGVuZGluZ192 YmxhbmtfZXZlbnQgKmV2ZW50Owo+IAo+ICsJLyoqCj4gKwkgKiBAY29tbWl0Ogo+ICsJICoKPiAr CSAqIFRoaXMgdHJhY2tzIGhvdyB0aGUgY29tbWl0IGZvciB0aGlzIHVwZGF0ZSBwcm9jZWVkcyB0 aHJvdWdoIHRoZQo+ICsJICogdmFyaW91cyBwaGFzZXMuIFRoaXMgaXMgbmV2ZXIgY2xlYXJlZCwg ZXhjZXB0IHdoZW4gd2UgZGVzdHJveSB0aGUKPiArCSAqIHN0YXRlLCBzbyB0aGF0IHN1YnNlcXVl bnQgY29tbWl0cyBjYW4gc3luY2hyb25pemUgd2l0aCBwcmV2aW91cyBvbmVzLgo+ICsJICovCj4g KwlzdHJ1Y3QgZHJtX2NydGNfY29tbWl0ICpjb21taXQ7Cj4gKwo+ICAJc3RydWN0IGRybV9hdG9t aWNfc3RhdGUgKnN0YXRlOwo+ICB9Owo+IAo+IEBAIC04MDgsMTAgKzgxNywxNiBAQCBzdHJ1Y3Qg ZHJtX2NydGMgewo+ICAJICogQGNvbW1pdF9saXN0Ogo+ICAJICoKPiAgCSAqIExpc3Qgb2YgJmRy bV9jcnRjX2NvbW1pdCBzdHJ1Y3R1cmVzIHRyYWNraW5nIHBlbmRpbmcgY29tbWl0cy4KPiAtCSAq IFByb3RlY3RlZCBieSBAY29tbWl0X2xvY2suIFRoaXMgbGlzdCBkb2Vzbid0IGhvbGQgaXRzIG93 biBmdWxsCj4gLQkgKiByZWZlcmVuY2UsIGJ1dCBidXJyb3dzIGl0IGZyb20gdGhlIG9uZ29pbmcg Y29tbWl0LiBDb21taXQgZW50cmllcwo+IC0JICogbXVzdCBiZSByZW1vdmVkIGZyb20gdGhpcyBs aXN0IG9uY2UgdGhlIGNvbW1pdCBpcyBmdWxseSBjb21wbGV0ZWQsCj4gLQkgKiBidXQgYmVmb3Jl IGl0J3MgY29ycmVzcG9kaW5nICZkcm1fYXRvbWljX3N0YXRlIGdldHMgZGVzdHJveWVkLgo+ICsJ ICogUHJvdGVjdGVkIGJ5IEBjb21taXRfbG9jay4gVGhpcyBsaXN0IGhvbGRzIGl0cyBvd24gZnVs bCByZWZlcmVuY2UsCj4gKwkgKiBhcyBkb2VzIHRoZSBvbmdvaW5nIGNvbW1pdC4KPiArCSAqCj4g KwkgKiAiTm90ZSB0aGF0IHRoZSBjb21taXQgZm9yIGEgc3RhdGUgY2hhbmdlIGlzIGFsc28gdHJh Y2tlZCBpbgo+ICsJICogJmRybV9jcnRjX3N0YXRlLmNvbW1pdC4gRm9yIGFjY2Vzc2luZyB0aGUg aW1tZWRpYXRlbHkgcHJlY2VlZGluZwo+ICsJICogY29tbWl0IGluIGFuIGF0b21pYyB1cGRhdGUg aXQgaXMgcmVjb21tZW5kZWQgdG8ganVzdCB1c2UgdGhhdAo+ICsJICogcG9pbnRlciBpbiB0aGUg b2xkIENSVEMgc3RhdGUsIHNpbmNlIGFjY2Vzc2luZyB0aGF0IGRvZXNuJ3QgbmVlZAo+ICsJICog YW55IGxvY2tpbmcgb3IgbGlzdC13YWxraW5nLiBAY29tbWl0X2xpc3Qgc2hvdWxkIG9ubHkgYmUg dXNlZCB0bwo+ICsJICogc3RhbGwgZm9yIGZyYW1lYnVmZmVyIGNsZWFudXAgdGhhdCdzIHNpZ25h bGxlZCB0aHJvdWdoCj4gKwkgKiAmZHJtX2NydGNfY29tbWl0LmNsZWFudXBfZG9uZS4iCj4gIAkg Ki8KPiAgCXN0cnVjdCBsaXN0X2hlYWQgY29tbWl0X2xpc3Q7CgoKLS0gClJlZ2FyZHMsCgpMYXVy ZW50IFBpbmNoYXJ0CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5v cmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2 ZWwK