From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH] drm/atomic: Move drm_crtc_commit to drm_crtc_state, v4. Date: Tue, 5 Sep 2017 08:25:29 +0200 Message-ID: <20170905062529.qtl2tx6b3hxpflea@phenom.ffwll.local> References: <20170904104838.23822-3-maarten.lankhorst@linux.intel.com> <20170904150456.31049-1-maarten.lankhorst@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <20170904150456.31049-1-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, dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org T24gTW9uLCBTZXAgMDQsIDIwMTcgYXQgMDU6MDQ6NTZQTSArMDIwMCwgTWFhcnRlbiBMYW5raG9y c3Qgd3JvdGU6Cj4gTW9zdCBjb2RlIG9ubHkgY2FyZXMgYWJvdXQgdGhlIGN1cnJlbnQgY29tbWl0 IG9yIHByZXZpb3VzIGNvbW1pdC4KPiBGb3J0dWFudGVseSB3ZSBhbHJlYWR5IGhhdmUgYSBwbGFj ZSB0byB0cmFjayB0aG9zZS4gTW92ZSBpdCB0bwo+IGRybV9jcnRjX3N0YXRlIHdoZXJlIGl0IGJl bG9uZ3MuIDopCj4gCj4gVGhlIHBlci1jcnRjIGNvbW1pdF9saXN0IGlzIGtlcHQgZm9yIHBsYWNl cyB3aGVyZSB3ZSBoYXZlIHRvIGxvb2sKPiBkZWVwZXIgdGhhbiB0aGUgY3VycmVudCBvciBwcmV2 aW91cyBjb21taXQgZm9yIGNoZWNraW5nIHdoZXRoZXIgdG8gc3RhbGwKPiBvbiB1bnBpbi4gVGhp cyBpcyB1c2VkIGluIGRybV9hdG9taWNfaGVscGVyX3NldHVwX2NvbW1pdCBhbmQKPiBpbnRlbF9o YXNfcGVuZGluZ19mYl91bnBpbi4KPiAKPiBDaGFuZ2VzIHNpbmNlIHYxOgo+IC0gVXBkYXRlIGtl cm5lbGRvYyBmb3IgZHJtX2NydGMuY29tbWl0X2xpc3QuIChkYW52ZXQpCj4gQ2hhbmdlcyBzaW5j ZSB2MjoKPiAtIFJlbW92ZSBkcm1fYXRvbWljX2hlbHBlcl9hc3luY19jaGVjayBodW5rLiAocGlu Y2hhcnRsKQo+IENoYW5nZXMgc2luY2UgdjM6Cj4gLSBGaXggdXNlLWFmdGVyLWZyZWUgaW4gZHJt X2F0b21pY19oZWxwZXJfY29tbWl0X2NsZWFudXBfZG9uZSgpLgo+IAo+IFNpZ25lZC1vZmYtYnk6 IE1hYXJ0ZW4gTGFua2hvcnN0IDxtYWFydGVuLmxhbmtob3JzdEBsaW51eC5pbnRlbC5jb20+Cj4g UmV2aWV3ZWQtYnk6IERhbmllbCBWZXR0ZXIgPGRhbmllbC52ZXR0ZXJAZmZ3bGwuY2g+CgpNaWdo dCBiZSBnb29kIHRvIGRyb3AgdGhpcywgb3IgYXQgbGVhc3QgYW5ub2F0ZSB0aGF0IHRoZSByLWIg aXMgZm9yIHYzLApqdXN0IGZvciBuZXh0IHRpbWUgYXJvdW5kLiBCdXQgSSBsb29rZWQgYXQgdGhl IHBhdGNoIGFnYWluLCByLWI6IG1lIHN0aWxsCmhvbGRzIEkgdGhpbmsuIEJ1dCB0aGVuIEkgbWlz c2VkIHRoZSBidWcgaW4gdjQgLi4uCi1EYW5pZWwKCgo+IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0v ZHJtX2F0b21pYy5jICAgICAgICB8ICA3IC0tLS0KPiAgZHJpdmVycy9ncHUvZHJtL2RybV9hdG9t aWNfaGVscGVyLmMgfCA4MiArKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4g IGluY2x1ZGUvZHJtL2RybV9hdG9taWMuaCAgICAgICAgICAgIHwgIDEgLQo+ICBpbmNsdWRlL2Ry bS9kcm1fY3J0Yy5oICAgICAgICAgICAgICB8IDIzICsrKysrKysrKy0tCj4gIDQgZmlsZXMgY2hh bmdlZCwgNTQgaW5zZXJ0aW9ucygrKSwgNTkgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21p Yy5jCj4gaW5kZXggMmZkMzgzZDcyNTNhLi4yY2NlNDhmMjAzZTAgMTAwNjQ0Cj4gLS0tIGEvZHJp dmVycy9ncHUvZHJtL2RybV9hdG9taWMuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRv bWljLmMKPiBAQCAtMTYzLDEzICsxNjMsNiBAQCB2b2lkIGRybV9hdG9taWNfc3RhdGVfZGVmYXVs dF9jbGVhcihzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpCj4gIAkJY3J0Yy0+ZnVuY3Mt PmF0b21pY19kZXN0cm95X3N0YXRlKGNydGMsCj4gIAkJCQkJCSAgc3RhdGUtPmNydGNzW2ldLnN0 YXRlKTsKPiAgCj4gLQkJaWYgKHN0YXRlLT5jcnRjc1tpXS5jb21taXQpIHsKPiAtCQkJa2ZyZWUo c3RhdGUtPmNydGNzW2ldLmNvbW1pdC0+ZXZlbnQpOwo+IC0JCQlzdGF0ZS0+Y3J0Y3NbaV0uY29t bWl0LT5ldmVudCA9IE5VTEw7Cj4gLQkJCWRybV9jcnRjX2NvbW1pdF9wdXQoc3RhdGUtPmNydGNz W2ldLmNvbW1pdCk7Cj4gLQkJfQo+IC0KPiAtCQlzdGF0ZS0+Y3J0Y3NbaV0uY29tbWl0ID0gTlVM TDsKPiAgCQlzdGF0ZS0+Y3J0Y3NbaV0ucHRyID0gTlVMTDsKPiAgCQlzdGF0ZS0+Y3J0Y3NbaV0u c3RhdGUgPSBOVUxMOwo+ICAJfQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0 b21pY19oZWxwZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBlci5jCj4gaW5k ZXggNGU1M2FhZTlhMWZiLi44MGMxMzhjYmRlOWEgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2RybV9hdG9taWNfaGVscGVyLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21p Y19oZWxwZXIuYwo+IEBAIC0xMjYyLDEyICsxMjYyLDEyIEBAIEVYUE9SVF9TWU1CT0woZHJtX2F0 b21pY19oZWxwZXJfd2FpdF9mb3JfdmJsYW5rcyk7Cj4gIHZvaWQgZHJtX2F0b21pY19oZWxwZXJf d2FpdF9mb3JfZmxpcF9kb25lKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gIAkJCQkJICBzdHJ1 Y3QgZHJtX2F0b21pY19zdGF0ZSAqb2xkX3N0YXRlKQo+ICB7Cj4gLQlzdHJ1Y3QgZHJtX2NydGNf c3RhdGUgKnVudXNlZDsKPiArCXN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqbmV3X2NydGNfc3RhdGU7 Cj4gIAlzdHJ1Y3QgZHJtX2NydGMgKmNydGM7Cj4gIAlpbnQgaTsKPiAgCj4gLQlmb3JfZWFjaF9u ZXdfY3J0Y19pbl9zdGF0ZShvbGRfc3RhdGUsIGNydGMsIHVudXNlZCwgaSkgewo+IC0JCXN0cnVj dCBkcm1fY3J0Y19jb21taXQgKmNvbW1pdCA9IG9sZF9zdGF0ZS0+Y3J0Y3NbaV0uY29tbWl0Owo+ ICsJZm9yX2VhY2hfbmV3X2NydGNfaW5fc3RhdGUob2xkX3N0YXRlLCBjcnRjLCBuZXdfY3J0Y19z dGF0ZSwgaSkgewo+ICsJCXN0cnVjdCBkcm1fY3J0Y19jb21taXQgKmNvbW1pdCA9IG5ld19jcnRj X3N0YXRlLT5jb21taXQ7Cj4gIAkJaW50IHJldDsKPiAgCj4gIAkJaWYgKCFjb21taXQpCj4gQEAg LTE3MzEsNyArMTczMSw3IEBAIGludCBkcm1fYXRvbWljX2hlbHBlcl9zZXR1cF9jb21taXQoc3Ry dWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlLAo+ICAJCWtyZWZfaW5pdCgmY29tbWl0LT5yZWYp Owo+ICAJCWNvbW1pdC0+Y3J0YyA9IGNydGM7Cj4gIAo+IC0JCXN0YXRlLT5jcnRjc1tpXS5jb21t aXQgPSBjb21taXQ7Cj4gKwkJbmV3X2NydGNfc3RhdGUtPmNvbW1pdCA9IGNvbW1pdDsKPiAgCj4g IAkJcmV0ID0gc3RhbGxfY2hlY2tzKGNydGMsIG5vbmJsb2NrKTsKPiAgCQlpZiAocmV0KQo+IEBA IC0xNzY5LDIyICsxNzY5LDYgQEAgaW50IGRybV9hdG9taWNfaGVscGVyX3NldHVwX2NvbW1pdChz dHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUsCj4gIH0KPiAgRVhQT1JUX1NZTUJPTChkcm1f YXRvbWljX2hlbHBlcl9zZXR1cF9jb21taXQpOwo+ICAKPiAtCj4gLXN0YXRpYyBzdHJ1Y3QgZHJt X2NydGNfY29tbWl0ICpwcmVjZWVkaW5nX2NvbW1pdChzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCj4g LXsKPiAtCXN0cnVjdCBkcm1fY3J0Y19jb21taXQgKmNvbW1pdDsKPiAtCWludCBpID0gMDsKPiAt Cj4gLQlsaXN0X2Zvcl9lYWNoX2VudHJ5KGNvbW1pdCwgJmNydGMtPmNvbW1pdF9saXN0LCBjb21t aXRfZW50cnkpIHsKPiAtCQkvKiBza2lwIHRoZSBmaXJzdCBlbnRyeSwgdGhhdCdzIHRoZSBjdXJy ZW50IGNvbW1pdCAqLwo+IC0JCWlmIChpID09IDEpCj4gLQkJCXJldHVybiBjb21taXQ7Cj4gLQkJ aSsrOwo+IC0JfQo+IC0KPiAtCXJldHVybiBOVUxMOwo+IC19Cj4gLQo+ICAvKioKPiAgICogZHJt X2F0b21pY19oZWxwZXJfd2FpdF9mb3JfZGVwZW5kZW5jaWVzIC0gd2FpdCBmb3IgcmVxdWlyZWQg cHJlY2VlZGluZyBjb21taXRzCj4gICAqIEBvbGRfc3RhdGU6IGF0b21pYyBzdGF0ZSBvYmplY3Qg d2l0aCBvbGQgc3RhdGUgc3RydWN0dXJlcwo+IEBAIC0xODAwLDE3ICsxNzg0LDEzIEBAIHN0YXRp YyBzdHJ1Y3QgZHJtX2NydGNfY29tbWl0ICpwcmVjZWVkaW5nX2NvbW1pdChzdHJ1Y3QgZHJtX2Ny dGMgKmNydGMpCj4gIHZvaWQgZHJtX2F0b21pY19oZWxwZXJfd2FpdF9mb3JfZGVwZW5kZW5jaWVz KHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpvbGRfc3RhdGUpCj4gIHsKPiAgCXN0cnVjdCBkcm1f Y3J0YyAqY3J0YzsKPiAtCXN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqbmV3X2NydGNfc3RhdGU7Cj4g KwlzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKm9sZF9jcnRjX3N0YXRlOwo+ICAJc3RydWN0IGRybV9j cnRjX2NvbW1pdCAqY29tbWl0Owo+ICAJaW50IGk7Cj4gIAlsb25nIHJldDsKPiAgCj4gLQlmb3Jf ZWFjaF9uZXdfY3J0Y19pbl9zdGF0ZShvbGRfc3RhdGUsIGNydGMsIG5ld19jcnRjX3N0YXRlLCBp KSB7Cj4gLQkJc3Bpbl9sb2NrKCZjcnRjLT5jb21taXRfbG9jayk7Cj4gLQkJY29tbWl0ID0gcHJl Y2VlZGluZ19jb21taXQoY3J0Yyk7Cj4gLQkJaWYgKGNvbW1pdCkKPiAtCQkJZHJtX2NydGNfY29t bWl0X2dldChjb21taXQpOwo+IC0JCXNwaW5fdW5sb2NrKCZjcnRjLT5jb21taXRfbG9jayk7Cj4g Kwlmb3JfZWFjaF9vbGRfY3J0Y19pbl9zdGF0ZShvbGRfc3RhdGUsIGNydGMsIG9sZF9jcnRjX3N0 YXRlLCBpKSB7Cj4gKwkJY29tbWl0ID0gb2xkX2NydGNfc3RhdGUtPmNvbW1pdDsKPiAgCj4gIAkJ aWYgKCFjb21taXQpCj4gIAkJCWNvbnRpbnVlOwo+IEBAIC0xODI4LDggKzE4MDgsNiBAQCB2b2lk IGRybV9hdG9taWNfaGVscGVyX3dhaXRfZm9yX2RlcGVuZGVuY2llcyhzdHJ1Y3QgZHJtX2F0b21p Y19zdGF0ZSAqb2xkX3N0YXRlKQo+ICAJCWlmIChyZXQgPT0gMCkKPiAgCQkJRFJNX0VSUk9SKCJb Q1JUQzolZDolc10gZmxpcF9kb25lIHRpbWVkIG91dFxuIiwKPiAgCQkJCSAgY3J0Yy0+YmFzZS5p ZCwgY3J0Yy0+bmFtZSk7Cj4gLQo+IC0JCWRybV9jcnRjX2NvbW1pdF9wdXQoY29tbWl0KTsKPiAg CX0KPiAgfQo+ICBFWFBPUlRfU1lNQk9MKGRybV9hdG9taWNfaGVscGVyX3dhaXRfZm9yX2RlcGVu ZGVuY2llcyk7Cj4gQEAgLTE4NTIsMTUgKzE4MzAsMjUgQEAgRVhQT1JUX1NZTUJPTChkcm1fYXRv bWljX2hlbHBlcl93YWl0X2Zvcl9kZXBlbmRlbmNpZXMpOwo+ICB2b2lkIGRybV9hdG9taWNfaGVs cGVyX2NvbW1pdF9od19kb25lKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpvbGRfc3RhdGUpCj4g IHsKPiAgCXN0cnVjdCBkcm1fY3J0YyAqY3J0YzsKPiAtCXN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAq bmV3X2NydGNfc3RhdGU7Cj4gKwlzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKm9sZF9jcnRjX3N0YXRl LCAqbmV3X2NydGNfc3RhdGU7Cj4gIAlzdHJ1Y3QgZHJtX2NydGNfY29tbWl0ICpjb21taXQ7Cj4g IAlpbnQgaTsKPiAgCj4gLQlmb3JfZWFjaF9uZXdfY3J0Y19pbl9zdGF0ZShvbGRfc3RhdGUsIGNy dGMsIG5ld19jcnRjX3N0YXRlLCBpKSB7Cj4gLQkJY29tbWl0ID0gb2xkX3N0YXRlLT5jcnRjc1tp XS5jb21taXQ7Cj4gKwlmb3JfZWFjaF9vbGRuZXdfY3J0Y19pbl9zdGF0ZShvbGRfc3RhdGUsIGNy dGMsIG9sZF9jcnRjX3N0YXRlLCBuZXdfY3J0Y19zdGF0ZSwgaSkgewo+ICsJCWNvbW1pdCA9IG5l d19jcnRjX3N0YXRlLT5jb21taXQ7Cj4gIAkJaWYgKCFjb21taXQpCj4gIAkJCWNvbnRpbnVlOwo+ ICAKPiArCQkvKgo+ICsJCSAqIGNvcHkgbmV3X2NydGNfc3RhdGUtPmNvbW1pdCB0byBvbGRfY3J0 Y19zdGF0ZS0+Y29tbWl0LAo+ICsJCSAqIGl0J3MgdW5zYWZlIHRvIHRvdWNoIG5ld19jcnRjX3N0 YXRlIGFmdGVyIGh3X2RvbmUsCj4gKwkJICogYnV0IHdlIHN0aWxsIG5lZWQgdG8gZG8gc28gaW4g Y2xlYW51cF9kb25lKCkuCj4gKwkJICovCj4gKwkJaWYgKG9sZF9jcnRjX3N0YXRlLT5jb21taXQp Cj4gKwkJCWRybV9jcnRjX2NvbW1pdF9wdXQob2xkX2NydGNfc3RhdGUtPmNvbW1pdCk7Cj4gKwo+ ICsJCW9sZF9jcnRjX3N0YXRlLT5jb21taXQgPSBkcm1fY3J0Y19jb21taXRfZ2V0KGNvbW1pdCk7 Cj4gKwo+ICAJCS8qIGJhY2tlbmQgbXVzdCBoYXZlIGNvbnN1bWVkIGFueSBldmVudCBieSBub3cg Ki8KPiAgCQlXQVJOX09OKG5ld19jcnRjX3N0YXRlLT5ldmVudCk7Cj4gIAkJY29tcGxldGVfYWxs KCZjb21taXQtPmh3X2RvbmUpOwo+IEBAIC0xODgyLDEzICsxODcwLDEzIEBAIEVYUE9SVF9TWU1C T0woZHJtX2F0b21pY19oZWxwZXJfY29tbWl0X2h3X2RvbmUpOwo+ICB2b2lkIGRybV9hdG9taWNf aGVscGVyX2NvbW1pdF9jbGVhbnVwX2RvbmUoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKm9sZF9z dGF0ZSkKPiAgewo+ICAJc3RydWN0IGRybV9jcnRjICpjcnRjOwo+IC0Jc3RydWN0IGRybV9jcnRj X3N0YXRlICpuZXdfY3J0Y19zdGF0ZTsKPiArCXN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqb2xkX2Ny dGNfc3RhdGU7Cj4gIAlzdHJ1Y3QgZHJtX2NydGNfY29tbWl0ICpjb21taXQ7Cj4gIAlpbnQgaTsK PiAgCWxvbmcgcmV0Owo+ICAKPiAtCWZvcl9lYWNoX25ld19jcnRjX2luX3N0YXRlKG9sZF9zdGF0 ZSwgY3J0YywgbmV3X2NydGNfc3RhdGUsIGkpIHsKPiAtCQljb21taXQgPSBvbGRfc3RhdGUtPmNy dGNzW2ldLmNvbW1pdDsKPiArCWZvcl9lYWNoX29sZF9jcnRjX2luX3N0YXRlKG9sZF9zdGF0ZSwg Y3J0Yywgb2xkX2NydGNfc3RhdGUsIGkpIHsKPiArCQljb21taXQgPSBvbGRfY3J0Y19zdGF0ZS0+ Y29tbWl0Owo+ICAJCWlmIChXQVJOX09OKCFjb21taXQpKQo+ICAJCQljb250aW51ZTsKPiAgCj4g QEAgLTIyOTQsMjAgKzIyODIsMTMgQEAgaW50IGRybV9hdG9taWNfaGVscGVyX3N3YXBfc3RhdGUo c3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlLAo+ICAJc3RydWN0IGRybV9wcml2YXRlX3N0 YXRlICpvbGRfb2JqX3N0YXRlLCAqbmV3X29ial9zdGF0ZTsKPiAgCj4gIAlpZiAoc3RhbGwpIHsK PiAtCQlmb3JfZWFjaF9uZXdfY3J0Y19pbl9zdGF0ZShzdGF0ZSwgY3J0YywgbmV3X2NydGNfc3Rh dGUsIGkpIHsKPiAtCQkJc3Bpbl9sb2NrKCZjcnRjLT5jb21taXRfbG9jayk7Cj4gLQkJCWNvbW1p dCA9IGxpc3RfZmlyc3RfZW50cnlfb3JfbnVsbCgmY3J0Yy0+Y29tbWl0X2xpc3QsCj4gLQkJCQkJ c3RydWN0IGRybV9jcnRjX2NvbW1pdCwgY29tbWl0X2VudHJ5KTsKPiAtCQkJaWYgKGNvbW1pdCkK PiAtCQkJCWRybV9jcnRjX2NvbW1pdF9nZXQoY29tbWl0KTsKPiAtCQkJc3Bpbl91bmxvY2soJmNy dGMtPmNvbW1pdF9sb2NrKTsKPiArCQlmb3JfZWFjaF9vbGRfY3J0Y19pbl9zdGF0ZShzdGF0ZSwg Y3J0Yywgb2xkX2NydGNfc3RhdGUsIGkpIHsKPiArCQkJY29tbWl0ID0gb2xkX2NydGNfc3RhdGUt PmNvbW1pdDsKPiAgCj4gIAkJCWlmICghY29tbWl0KQo+ICAJCQkJY29udGludWU7Cj4gIAo+ICAJ CQlyZXQgPSB3YWl0X2Zvcl9jb21wbGV0aW9uX2ludGVycnVwdGlibGUoJmNvbW1pdC0+aHdfZG9u ZSk7Cj4gLQkJCWRybV9jcnRjX2NvbW1pdF9wdXQoY29tbWl0KTsKPiAtCj4gIAkJCWlmIChyZXQp Cj4gIAkJCQlyZXR1cm4gcmV0Owo+ICAJCX0KPiBAQCAtMjMzMiwxMyArMjMxMywxMyBAQCBpbnQg ZHJtX2F0b21pY19oZWxwZXJfc3dhcF9zdGF0ZShzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3Rh dGUsCj4gIAkJc3RhdGUtPmNydGNzW2ldLnN0YXRlID0gb2xkX2NydGNfc3RhdGU7Cj4gIAkJY3J0 Yy0+c3RhdGUgPSBuZXdfY3J0Y19zdGF0ZTsKPiAgCj4gLQkJaWYgKHN0YXRlLT5jcnRjc1tpXS5j b21taXQpIHsKPiArCQlpZiAobmV3X2NydGNfc3RhdGUtPmNvbW1pdCkgewo+ICAJCQlzcGluX2xv Y2soJmNydGMtPmNvbW1pdF9sb2NrKTsKPiAtCQkJbGlzdF9hZGQoJnN0YXRlLT5jcnRjc1tpXS5j b21taXQtPmNvbW1pdF9lbnRyeSwKPiArCQkJbGlzdF9hZGQoJm5ld19jcnRjX3N0YXRlLT5jb21t aXQtPmNvbW1pdF9lbnRyeSwKPiAgCQkJCSAmY3J0Yy0+Y29tbWl0X2xpc3QpOwo+ICAJCQlzcGlu X3VubG9jaygmY3J0Yy0+Y29tbWl0X2xvY2spOwo+ICAKPiAtCQkJc3RhdGUtPmNydGNzW2ldLmNv bW1pdC0+ZXZlbnQgPSBOVUxMOwo+ICsJCQluZXdfY3J0Y19zdGF0ZS0+Y29tbWl0LT5ldmVudCA9 IE5VTEw7Cj4gIAkJfQo+ICAJfQo+ICAKPiBAQCAtMzE4Niw2ICszMTY3LDcgQEAgdm9pZCBfX2Ry bV9hdG9taWNfaGVscGVyX2NydGNfZHVwbGljYXRlX3N0YXRlKHN0cnVjdCBkcm1fY3J0YyAqY3J0 YywKPiAgCXN0YXRlLT5jb25uZWN0b3JzX2NoYW5nZWQgPSBmYWxzZTsKPiAgCXN0YXRlLT5jb2xv cl9tZ210X2NoYW5nZWQgPSBmYWxzZTsKPiAgCXN0YXRlLT56cG9zX2NoYW5nZWQgPSBmYWxzZTsK PiArCXN0YXRlLT5jb21taXQgPSBOVUxMOwo+ICAJc3RhdGUtPmV2ZW50ID0gTlVMTDsKPiAgCXN0 YXRlLT5wYWdlZmxpcF9mbGFncyA9IDA7Cj4gIH0KPiBAQCAtMzIyNCw2ICszMjA2LDEyIEBAIEVY UE9SVF9TWU1CT0woZHJtX2F0b21pY19oZWxwZXJfY3J0Y19kdXBsaWNhdGVfc3RhdGUpOwo+ICAg Ki8KPiAgdm9pZCBfX2RybV9hdG9taWNfaGVscGVyX2NydGNfZGVzdHJveV9zdGF0ZShzdHJ1Y3Qg ZHJtX2NydGNfc3RhdGUgKnN0YXRlKQo+ICB7Cj4gKwlpZiAoc3RhdGUtPmNvbW1pdCkgewo+ICsJ CWtmcmVlKHN0YXRlLT5jb21taXQtPmV2ZW50KTsKPiArCQlzdGF0ZS0+Y29tbWl0LT5ldmVudCA9 IE5VTEw7Cj4gKwkJZHJtX2NydGNfY29tbWl0X3B1dChzdGF0ZS0+Y29tbWl0KTsKPiArCX0KPiAr Cj4gIAlkcm1fcHJvcGVydHlfYmxvYl9wdXQoc3RhdGUtPm1vZGVfYmxvYik7Cj4gIAlkcm1fcHJv cGVydHlfYmxvYl9wdXQoc3RhdGUtPmRlZ2FtbWFfbHV0KTsKPiAgCWRybV9wcm9wZXJ0eV9ibG9i X3B1dChzdGF0ZS0+Y3RtKTsKPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX2F0b21pYy5o IGIvaW5jbHVkZS9kcm0vZHJtX2F0b21pYy5oCj4gaW5kZXggZjczYjY2M2MxZjc2Li4yODVmYmM0 ZWMzNjAgMTAwNjQ0Cj4gLS0tIGEvaW5jbHVkZS9kcm0vZHJtX2F0b21pYy5oCj4gKysrIGIvaW5j bHVkZS9kcm0vZHJtX2F0b21pYy5oCj4gQEAgLTE0NCw3ICsxNDQsNiBAQCBzdHJ1Y3QgX19kcm1f cGxhbmVzX3N0YXRlIHsKPiAgc3RydWN0IF9fZHJtX2NydGNzX3N0YXRlIHsKPiAgCXN0cnVjdCBk cm1fY3J0YyAqcHRyOwo+ICAJc3RydWN0IGRybV9jcnRjX3N0YXRlICpzdGF0ZSwgKm9sZF9zdGF0 ZSwgKm5ld19zdGF0ZTsKPiAtCXN0cnVjdCBkcm1fY3J0Y19jb21taXQgKmNvbW1pdDsKPiAgCXMz MiBfX3VzZXIgKm91dF9mZW5jZV9wdHI7Cj4gIAl1bnNpZ25lZCBsYXN0X3ZibGFua19jb3VudDsK PiAgfTsKPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX2NydGMuaCBiL2luY2x1ZGUvZHJt L2RybV9jcnRjLmgKPiBpbmRleCAxYTY0MjAyMGUzMDYuLjFhMDFmZjRlYTAyMyAxMDA2NDQKPiAt LS0gYS9pbmNsdWRlL2RybS9kcm1fY3J0Yy5oCj4gKysrIGIvaW5jbHVkZS9kcm0vZHJtX2NydGMu aAo+IEBAIC0yNTMsNiArMjUzLDE1IEBAIHN0cnVjdCBkcm1fY3J0Y19zdGF0ZSB7Cj4gIAkgKi8K PiAgCXN0cnVjdCBkcm1fcGVuZGluZ192YmxhbmtfZXZlbnQgKmV2ZW50Owo+ICAKPiArCS8qKgo+ ICsJICogQGNvbW1pdDoKPiArCSAqCj4gKwkgKiBUaGlzIHRyYWNrcyBob3cgdGhlIGNvbW1pdCBm b3IgdGhpcyB1cGRhdGUgcHJvY2VlZHMgdGhyb3VnaCB0aGUKPiArCSAqIHZhcmlvdXMgcGhhc2Vz LiBUaGlzIGlzIG5ldmVyIGNsZWFyZWQsIGV4Y2VwdCB3aGVuIHdlIGRlc3Ryb3kgdGhlCj4gKwkg KiBzdGF0ZSwgc28gdGhhdCBzdWJzZXF1ZW50IGNvbW1pdHMgY2FuIHN5bmNocm9uaXplIHdpdGgg cHJldmlvdXMgb25lcy4KPiArCSAqLwo+ICsJc3RydWN0IGRybV9jcnRjX2NvbW1pdCAqY29tbWl0 Owo+ICsKPiAgCXN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZTsKPiAgfTsKPiAgCj4gQEAg LTgwOCwxMCArODE3LDE2IEBAIHN0cnVjdCBkcm1fY3J0YyB7Cj4gIAkgKiBAY29tbWl0X2xpc3Q6 Cj4gIAkgKgo+ICAJICogTGlzdCBvZiAmZHJtX2NydGNfY29tbWl0IHN0cnVjdHVyZXMgdHJhY2tp bmcgcGVuZGluZyBjb21taXRzLgo+IC0JICogUHJvdGVjdGVkIGJ5IEBjb21taXRfbG9jay4gVGhp cyBsaXN0IGRvZXNuJ3QgaG9sZCBpdHMgb3duIGZ1bGwKPiAtCSAqIHJlZmVyZW5jZSwgYnV0IGJ1 cnJvd3MgaXQgZnJvbSB0aGUgb25nb2luZyBjb21taXQuIENvbW1pdCBlbnRyaWVzCj4gLQkgKiBt dXN0IGJlIHJlbW92ZWQgZnJvbSB0aGlzIGxpc3Qgb25jZSB0aGUgY29tbWl0IGlzIGZ1bGx5IGNv bXBsZXRlZCwKPiAtCSAqIGJ1dCBiZWZvcmUgaXQncyBjb3JyZXNwb2RpbmcgJmRybV9hdG9taWNf c3RhdGUgZ2V0cyBkZXN0cm95ZWQuCj4gKwkgKiBQcm90ZWN0ZWQgYnkgQGNvbW1pdF9sb2NrLiBU aGlzIGxpc3QgaG9sZHMgaXRzIG93biBmdWxsIHJlZmVyZW5jZSwKPiArCSAqIGFzIGRvZXMgdGhl IG9uZ29pbmcgY29tbWl0Lgo+ICsJICoKPiArCSAqICJOb3RlIHRoYXQgdGhlIGNvbW1pdCBmb3Ig YSBzdGF0ZSBjaGFuZ2UgaXMgYWxzbyB0cmFja2VkIGluCj4gKwkgKiAmZHJtX2NydGNfc3RhdGUu Y29tbWl0LiBGb3IgYWNjZXNzaW5nIHRoZSBpbW1lZGlhdGVseSBwcmVjZWVkaW5nCj4gKwkgKiBj b21taXQgaW4gYW4gYXRvbWljIHVwZGF0ZSBpdCBpcyByZWNvbW1lbmRlZCB0byBqdXN0IHVzZSB0 aGF0Cj4gKwkgKiBwb2ludGVyIGluIHRoZSBvbGQgQ1JUQyBzdGF0ZSwgc2luY2UgYWNjZXNzaW5n IHRoYXQgZG9lc24ndCBuZWVkCj4gKwkgKiBhbnkgbG9ja2luZyBvciBsaXN0LXdhbGtpbmcuIEBj b21taXRfbGlzdCBzaG91bGQgb25seSBiZSB1c2VkIHRvCj4gKwkgKiBzdGFsbCBmb3IgZnJhbWVi dWZmZXIgY2xlYW51cCB0aGF0J3Mgc2lnbmFsbGVkIHRocm91Z2gKPiArCSAqICZkcm1fY3J0Y19j b21taXQuY2xlYW51cF9kb25lLiIKPiAgCSAqLwo+ICAJc3RydWN0IGxpc3RfaGVhZCBjb21taXRf bGlzdDsKPiAgCj4gLS0gCj4gMi4xMS4wCj4gCj4gX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KPiBkcmktZGV2ZWwgbWFpbGluZyBsaXN0Cj4gZHJpLWRldmVs QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21h aWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCgotLSAKRGFuaWVsIFZldHRlcgpTb2Z0d2FyZSBFbmdp bmVlciwgSW50ZWwgQ29ycG9yYXRpb24KaHR0cDovL2Jsb2cuZmZ3bGwuY2gKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlz dApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0 b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==