From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ander Conselvan De Oliveira Subject: Re: [PATCH 2/6] drm/atomic: pass old crtc state to atomic_begin/flush. Date: Thu, 23 Jul 2015 15:37:28 +0300 Message-ID: <1437655048.3604.11.camel@gmail.com> References: <1437478142-416-1-git-send-email-maarten.lankhorst@linux.intel.com> <1437478142-416-3-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: In-Reply-To: <1437478142-416-3-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: dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org UmV2aWV3ZWQtYnk6IEFuZGVyIENvbnNlbHZhbiBkZSBPbGl2ZWlyYSA8Y29uc2VsdmFuMkBnbWFp bC5jb20+CgpPbiBUdWUsIDIwMTUtMDctMjEgYXQgMTM6MjggKzAyMDAsIE1hYXJ0ZW4gTGFua2hv cnN0IHdyb3RlOgo+IEluIGludGVsIGl0J3MgdXNlZnVsIHRvIGtlZXAgdHJhY2sgb2Ygc29tZSBz dGF0ZSBjaGFuZ2VzIHdpdGggb2xkCj4gY3J0YyBzdGF0ZSB2cyBuZXcgc3RhdGUsIGZvciBleGFt cGxlIHRvIGRpc2FibGUgaW5pdGlhbCBwbGFuZXMgb3IKPiB3aGVuIGEgbW9kZXNldCdzIHByZXZl bnRlZCBkdXJpbmcgZmFzdGJvb3QuCj4gCj4gQ2M6IGRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3Rv cC5vcmcKPiBTaWduZWQtb2ZmLWJ5OiBNYWFydGVuIExhbmtob3JzdCA8bWFhcnRlbi5sYW5raG9y c3RAbGludXguaW50ZWwuY29tPgo+IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vYXRtZWwtaGxjZGMv YXRtZWxfaGxjZGNfY3J0Yy5jIHwgIDYgKysrKy0tCj4gIGRyaXZlcnMvZ3B1L2RybS9kcm1fYXRv bWljX2hlbHBlci5jICAgICAgICAgICAgfCAgOCArKysrLS0tLQo+ICBkcml2ZXJzL2dwdS9kcm0v ZHJtX3BsYW5lX2hlbHBlci5jICAgICAgICAgICAgIHwgIDQgKystLQo+ICBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgICAgICAgICAgIHwgMTAgKysrKysrLS0tLQo+ICBkcml2 ZXJzL2dwdS9kcm0vbXNtL21kcC9tZHA0L21kcDRfY3J0Yy5jICAgICAgIHwgIDYgKysrKy0tCj4g IGRyaXZlcnMvZ3B1L2RybS9tc20vbWRwL21kcDUvbWRwNV9jcnRjLmMgICAgICAgfCAgNiArKysr LS0KPiAgZHJpdmVycy9ncHUvZHJtL3JjYXItZHUvcmNhcl9kdV9jcnRjLmMgICAgICAgICB8ICA2 ICsrKystLQo+ICBkcml2ZXJzL2dwdS9kcm0vc3RpL3N0aV9kcm1fY3J0Yy5jICAgICAgICAgICAg IHwgIDYgKysrKy0tCj4gIGRyaXZlcnMvZ3B1L2RybS90ZWdyYS9kYy5jICAgICAgICAgICAgICAg ICAgICAgfCAgNiArKysrLS0KPiAgaW5jbHVkZS9kcm0vZHJtX2NydGNfaGVscGVyLmggICAgICAg ICAgICAgICAgICB8ICA2ICsrKystLQo+ICAxMCBmaWxlcyBjaGFuZ2VkLCA0MCBpbnNlcnRpb25z KCspLCAyNCBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2F0 bWVsLWhsY2RjL2F0bWVsX2hsY2RjX2NydGMuYyAKPiBiL2RyaXZlcnMvZ3B1L2RybS9hdG1lbC1o bGNkYy9hdG1lbF9obGNkY19jcnRjLmMKPiBpbmRleCBmNjliOTI1MzU1MDUuLjhiOGZlMzc2MmNh OSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYXRtZWwtaGxjZGMvYXRtZWxfaGxjZGNf Y3J0Yy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2F0bWVsLWhsY2RjL2F0bWVsX2hsY2RjX2Ny dGMuYwo+IEBAIC0yMzksNyArMjM5LDggQEAgc3RhdGljIGludCBhdG1lbF9obGNkY19jcnRjX2F0 b21pY19jaGVjayhzdHJ1Y3QgCj4gZHJtX2NydGMgKmMsCj4gIAlyZXR1cm4gYXRtZWxfaGxjZGNf cGxhbmVfcHJlcGFyZV9kaXNjX2FyZWEocyk7Cj4gIH0KPiAgCj4gLXN0YXRpYyB2b2lkIGF0bWVs X2hsY2RjX2NydGNfYXRvbWljX2JlZ2luKHN0cnVjdCBkcm1fY3J0YyAqYykKPiArc3RhdGljIHZv aWQgYXRtZWxfaGxjZGNfY3J0Y19hdG9taWNfYmVnaW4oc3RydWN0IGRybV9jcnRjICpjLAo+ICsJ CQkJCSAgc3RydWN0IGRybV9jcnRjX3N0YXRlIAo+ICpvbGRfcykKPiAgewo+ICAJc3RydWN0IGF0 bWVsX2hsY2RjX2NydGMgKmNydGMgPSAKPiBkcm1fY3J0Y190b19hdG1lbF9obGNkY19jcnRjKGMp Owo+ICAKPiBAQCAtMjUzLDcgKzI1NCw4IEBAIHN0YXRpYyB2b2lkIGF0bWVsX2hsY2RjX2NydGNf YXRvbWljX2JlZ2luKHN0cnVjdCAKPiBkcm1fY3J0YyAqYykKPiAgCX0KPiAgfQo+ICAKPiAtc3Rh dGljIHZvaWQgYXRtZWxfaGxjZGNfY3J0Y19hdG9taWNfZmx1c2goc3RydWN0IGRybV9jcnRjICpj cnRjKQo+ICtzdGF0aWMgdm9pZCBhdG1lbF9obGNkY19jcnRjX2F0b21pY19mbHVzaChzdHJ1Y3Qg ZHJtX2NydGMgKmNydGMsCj4gKwkJCQkJICBzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgCj4gKm9sZF9z KQo+ICB7Cj4gIAkvKiBUT0RPOiB3cml0ZSBjb21tb24gcGxhbmUgY29udHJvbCByZWdpc3RlciBp ZiBhdmFpbGFibGUgKi8KPiAgfQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0 b21pY19oZWxwZXIuYyAKPiBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBlci5jCj4g aW5kZXggYWM2NjAxMDcxNDE0Li40YTQ4ZDc2YzRmYjEgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9n cHUvZHJtL2RybV9hdG9taWNfaGVscGVyLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0 b21pY19oZWxwZXIuYwo+IEBAIC0xMTcwLDcgKzExNzAsNyBAQCB2b2lkIGRybV9hdG9taWNfaGVs cGVyX2NvbW1pdF9wbGFuZXMoc3RydWN0IAo+IGRybV9kZXZpY2UgKmRldiwKPiAgCQlpZiAoIWZ1 bmNzIHx8ICFmdW5jcy0+YXRvbWljX2JlZ2luKQo+ICAJCQljb250aW51ZTsKPiAgCj4gLQkJZnVu Y3MtPmF0b21pY19iZWdpbihjcnRjKTsKPiArCQlmdW5jcy0+YXRvbWljX2JlZ2luKGNydGMsIG9s ZF9jcnRjX3N0YXRlKTsKPiAgCX0KPiAgCj4gIAlmb3JfZWFjaF9wbGFuZV9pbl9zdGF0ZShvbGRf c3RhdGUsIHBsYW5lLCBvbGRfcGxhbmVfc3RhdGUsIAo+IGkpIHsKPiBAQCAtMTIwMCw3ICsxMjAw LDcgQEAgdm9pZCBkcm1fYXRvbWljX2hlbHBlcl9jb21taXRfcGxhbmVzKHN0cnVjdCAKPiBkcm1f ZGV2aWNlICpkZXYsCj4gIAkJaWYgKCFmdW5jcyB8fCAhZnVuY3MtPmF0b21pY19mbHVzaCkKPiAg CQkJY29udGludWU7Cj4gIAo+IC0JCWZ1bmNzLT5hdG9taWNfZmx1c2goY3J0Yyk7Cj4gKwkJZnVu Y3MtPmF0b21pY19mbHVzaChjcnRjLCBvbGRfY3J0Y19zdGF0ZSk7Cj4gIAl9Cj4gIH0KPiAgRVhQ T1JUX1NZTUJPTChkcm1fYXRvbWljX2hlbHBlcl9jb21taXRfcGxhbmVzKTsKPiBAQCAtMTIzNiw3 ICsxMjM2LDcgQEAgZHJtX2F0b21pY19oZWxwZXJfY29tbWl0X3BsYW5lc19vbl9jcnRjKHN0cnVj dCAKPiBkcm1fY3J0Y19zdGF0ZSAqb2xkX2NydGNfc3RhdGUpCj4gIAo+ICAJY3J0Y19mdW5jcyA9 IGNydGMtPmhlbHBlcl9wcml2YXRlOwo+ICAJaWYgKGNydGNfZnVuY3MgJiYgY3J0Y19mdW5jcy0+ YXRvbWljX2JlZ2luKQo+IC0JCWNydGNfZnVuY3MtPmF0b21pY19iZWdpbihjcnRjKTsKPiArCQlj cnRjX2Z1bmNzLT5hdG9taWNfYmVnaW4oY3J0Yywgb2xkX2NydGNfc3RhdGUpOwo+ICAKPiAgCWRy bV9mb3JfZWFjaF9wbGFuZV9tYXNrKHBsYW5lLCBjcnRjLT5kZXYsIHBsYW5lX21hc2spIHsKPiAg CQlzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpvbGRfcGxhbmVfc3RhdGUgPQo+IEBAIC0xMjU5LDcg KzEyNTksNyBAQCBkcm1fYXRvbWljX2hlbHBlcl9jb21taXRfcGxhbmVzX29uX2NydGMoc3RydWN0 IAo+IGRybV9jcnRjX3N0YXRlICpvbGRfY3J0Y19zdGF0ZSkKPiAgCX0KPiAgCj4gIAlpZiAoY3J0 Y19mdW5jcyAmJiBjcnRjX2Z1bmNzLT5hdG9taWNfZmx1c2gpCj4gLQkJY3J0Y19mdW5jcy0+YXRv bWljX2ZsdXNoKGNydGMpOwo+ICsJCWNydGNfZnVuY3MtPmF0b21pY19mbHVzaChjcnRjLCBvbGRf Y3J0Y19zdGF0ZSk7Cj4gIH0KPiAgRVhQT1JUX1NZTUJPTChkcm1fYXRvbWljX2hlbHBlcl9jb21t aXRfcGxhbmVzX29uX2NydGMpOwo+ICAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2Ry bV9wbGFuZV9oZWxwZXIuYyAKPiBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fcGxhbmVfaGVscGVyLmMK PiBpbmRleCAwM2I3YWZlNDU1ZTYuLmNiNWRhYjRjNDMzNyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJz L2dwdS9kcm0vZHJtX3BsYW5lX2hlbHBlci5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9w bGFuZV9oZWxwZXIuYwo+IEBAIC00MzYsNyArNDM2LDcgQEAgaW50IGRybV9wbGFuZV9oZWxwZXJf Y29tbWl0KHN0cnVjdCBkcm1fcGxhbmUgCj4gKnBsYW5lLAo+ICAKPiAgCWZvciAoaSA9IDA7IGkg PCAyOyBpKyspIHsKPiAgCQlpZiAoY3J0Y19mdW5jc1tpXSAmJiBjcnRjX2Z1bmNzW2ldLT5hdG9t aWNfYmVnaW4pCj4gLQkJCWNydGNfZnVuY3NbaV0tPmF0b21pY19iZWdpbihjcnRjW2ldKTsKPiAr CQkJY3J0Y19mdW5jc1tpXS0+YXRvbWljX2JlZ2luKGNydGNbaV0sIGNydGNbaV0KPiAtPnN0YXRl KTsKPiAgCX0KPiAgCj4gIAkvKgo+IEBAIC00NTEsNyArNDUxLDcgQEAgaW50IGRybV9wbGFuZV9o ZWxwZXJfY29tbWl0KHN0cnVjdCBkcm1fcGxhbmUgCj4gKnBsYW5lLAo+ICAKPiAgCWZvciAoaSA9 IDA7IGkgPCAyOyBpKyspIHsKPiAgCQlpZiAoY3J0Y19mdW5jc1tpXSAmJiBjcnRjX2Z1bmNzW2ld LT5hdG9taWNfZmx1c2gpCj4gLQkJCWNydGNfZnVuY3NbaV0tPmF0b21pY19mbHVzaChjcnRjW2ld KTsKPiArCQkJY3J0Y19mdW5jc1tpXS0+YXRvbWljX2ZsdXNoKGNydGNbaV0sIGNydGNbaV0KPiAt PnN0YXRlKTsKPiAgCX0KPiAgCj4gIAkvKgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kaXNwbGF5LmMgCj4gYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNw bGF5LmMKPiBpbmRleCA2NzFjYTI4MjBmODIuLmRlZjk0NDRlZWFlMiAxMDA2NDQKPiAtLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiArKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiBAQCAtMTAyLDggKzEwMiw4IEBAIHN0YXRpYyB2b2lk IHZsdl9wcmVwYXJlX3BsbChzdHJ1Y3QgaW50ZWxfY3J0YyAKPiAqY3J0YywKPiAgCQkJICAgIGNv bnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlIAo+ICpwaXBlX2NvbmZpZyk7Cj4gIHN0YXRpYyB2 b2lkIGNodl9wcmVwYXJlX3BsbChzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YywKPiAgCQkJICAgIGNv bnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlIAo+ICpwaXBlX2NvbmZpZyk7Cj4gLXN0YXRpYyB2 b2lkIGludGVsX2JlZ2luX2NydGNfY29tbWl0KHN0cnVjdCBkcm1fY3J0YyAqY3J0Yyk7Cj4gLXN0 YXRpYyB2b2lkIGludGVsX2ZpbmlzaF9jcnRjX2NvbW1pdChzdHJ1Y3QgZHJtX2NydGMgKmNydGMp Owo+ICtzdGF0aWMgdm9pZCBpbnRlbF9iZWdpbl9jcnRjX2NvbW1pdChzdHJ1Y3QgZHJtX2NydGMg Kiwgc3RydWN0IAo+IGRybV9jcnRjX3N0YXRlICopOwo+ICtzdGF0aWMgdm9pZCBpbnRlbF9maW5p c2hfY3J0Y19jb21taXQoc3RydWN0IGRybV9jcnRjICosIHN0cnVjdCAKPiBkcm1fY3J0Y19zdGF0 ZSAqKTsKPiAgc3RhdGljIHZvaWQgc2tsX2luaXRfc2NhbGVycyhzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2LCBzdHJ1Y3QgCj4gaW50ZWxfY3J0YyAqaW50ZWxfY3J0YywKPiAgCXN0cnVjdCBpbnRlbF9j cnRjX3N0YXRlICpjcnRjX3N0YXRlKTsKPiAgc3RhdGljIGludCBpOXh4X2dldF9yZWZjbGsoY29u c3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgCj4gKmNydGNfc3RhdGUsCj4gQEAgLTEzNDQwLDcg KzEzNDQwLDggQEAgaW50ZWxfZGlzYWJsZV9wcmltYXJ5X3BsYW5lKHN0cnVjdCBkcm1fcGxhbmUg Cj4gKnBsYW5lLAo+ICAJZGV2X3ByaXYtPmRpc3BsYXkudXBkYXRlX3ByaW1hcnlfcGxhbmUoY3J0 YywgTlVMTCwgMCwgMCk7Cj4gIH0KPiAgCj4gLXN0YXRpYyB2b2lkIGludGVsX2JlZ2luX2NydGNf Y29tbWl0KHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKPiArc3RhdGljIHZvaWQgaW50ZWxfYmVnaW5f Y3J0Y19jb21taXQoc3RydWN0IGRybV9jcnRjICpjcnRjLAo+ICsJCQkJICAgIHN0cnVjdCBkcm1f Y3J0Y19zdGF0ZSAKPiAqb2xkX2NydGNfc3RhdGUpCj4gIHsKPiAgCXN0cnVjdCBkcm1fZGV2aWNl ICpkZXYgPSBjcnRjLT5kZXY7Cj4gIAlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YyA9IHRv X2ludGVsX2NydGMoY3J0Yyk7Cj4gQEAgLTEzNDU2LDcgKzEzNDU3LDggQEAgc3RhdGljIHZvaWQg aW50ZWxfYmVnaW5fY3J0Y19jb21taXQoc3RydWN0IAo+IGRybV9jcnRjICpjcnRjKQo+ICAJCXNr bF9kZXRhY2hfc2NhbGVycyhpbnRlbF9jcnRjKTsKPiAgfQo+ICAKPiAtc3RhdGljIHZvaWQgaW50 ZWxfZmluaXNoX2NydGNfY29tbWl0KHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKPiArc3RhdGljIHZv aWQgaW50ZWxfZmluaXNoX2NydGNfY29tbWl0KHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKPiArCQkJ CSAgICAgc3RydWN0IGRybV9jcnRjX3N0YXRlIAo+ICpvbGRfY3J0Y19zdGF0ZSkKPiAgewo+ICAJ c3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMgPSB0b19pbnRlbF9jcnRjKGNydGMpOwo+ICAK PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9tZHAvbWRwNC9tZHA0X2NydGMuYyAK PiBiL2RyaXZlcnMvZ3B1L2RybS9tc20vbWRwL21kcDQvbWRwNF9jcnRjLmMKPiBpbmRleCBjNGJi OWQ5Yzc2NjcuLjRkYzE1OGVkMmU5NSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNt L21kcC9tZHA0L21kcDRfY3J0Yy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9tZHAvbWRw NC9tZHA0X2NydGMuYwo+IEBAIC0zMzQsMTMgKzMzNCwxNSBAQCBzdGF0aWMgaW50IG1kcDRfY3J0 Y19hdG9taWNfY2hlY2soc3RydWN0IAo+IGRybV9jcnRjICpjcnRjLAo+ICAJcmV0dXJuIDA7Cj4g IH0KPiAgCj4gLXN0YXRpYyB2b2lkIG1kcDRfY3J0Y19hdG9taWNfYmVnaW4oc3RydWN0IGRybV9j cnRjICpjcnRjKQo+ICtzdGF0aWMgdm9pZCBtZHA0X2NydGNfYXRvbWljX2JlZ2luKHN0cnVjdCBk cm1fY3J0YyAqY3J0YywKPiArCQkJCSAgIHN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAKPiAqb2xkX2Ny dGNfc3RhdGUpCj4gIHsKPiAgCXN0cnVjdCBtZHA0X2NydGMgKm1kcDRfY3J0YyA9IHRvX21kcDRf Y3J0YyhjcnRjKTsKPiAgCURCRygiJXM6IGJlZ2luIiwgbWRwNF9jcnRjLT5uYW1lKTsKPiAgfQo+ ICAKPiAtc3RhdGljIHZvaWQgbWRwNF9jcnRjX2F0b21pY19mbHVzaChzdHJ1Y3QgZHJtX2NydGMg KmNydGMpCj4gK3N0YXRpYyB2b2lkIG1kcDRfY3J0Y19hdG9taWNfZmx1c2goc3RydWN0IGRybV9j cnRjICpjcnRjLAo+ICsJCQkJICAgc3RydWN0IGRybV9jcnRjX3N0YXRlIAo+ICpvbGRfY3J0Y19z dGF0ZSkKPiAgewo+ICAJc3RydWN0IG1kcDRfY3J0YyAqbWRwNF9jcnRjID0gdG9fbWRwNF9jcnRj KGNydGMpOwo+ICAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNydGMtPmRldjsKPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9tZHAvbWRwNS9tZHA1X2NydGMuYyAKPiBiL2RyaXZl cnMvZ3B1L2RybS9tc20vbWRwL21kcDUvbWRwNV9jcnRjLmMKPiBpbmRleCBkZWEzZDJlNTU5YjEu LjRjMWRmNGU2ZTViYyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL21kcC9tZHA1 L21kcDVfY3J0Yy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9tZHAvbWRwNS9tZHA1X2Ny dGMuYwo+IEBAIC0zODgsMTMgKzM4OCwxNSBAQCBzdGF0aWMgaW50IG1kcDVfY3J0Y19hdG9taWNf Y2hlY2soc3RydWN0IAo+IGRybV9jcnRjICpjcnRjLAo+ICAJcmV0dXJuIDA7Cj4gIH0KPiAgCj4g LXN0YXRpYyB2b2lkIG1kcDVfY3J0Y19hdG9taWNfYmVnaW4oc3RydWN0IGRybV9jcnRjICpjcnRj KQo+ICtzdGF0aWMgdm9pZCBtZHA1X2NydGNfYXRvbWljX2JlZ2luKHN0cnVjdCBkcm1fY3J0YyAq Y3J0YywKPiArCQkJCSAgIHN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAKPiAqb2xkX2NydGNfc3RhdGUp Cj4gIHsKPiAgCXN0cnVjdCBtZHA1X2NydGMgKm1kcDVfY3J0YyA9IHRvX21kcDVfY3J0YyhjcnRj KTsKPiAgCURCRygiJXM6IGJlZ2luIiwgbWRwNV9jcnRjLT5uYW1lKTsKPiAgfQo+ICAKPiAtc3Rh dGljIHZvaWQgbWRwNV9jcnRjX2F0b21pY19mbHVzaChzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCj4g K3N0YXRpYyB2b2lkIG1kcDVfY3J0Y19hdG9taWNfZmx1c2goc3RydWN0IGRybV9jcnRjICpjcnRj LAo+ICsJCQkJICAgc3RydWN0IGRybV9jcnRjX3N0YXRlIAo+ICpvbGRfY3J0Y19zdGF0ZSkKPiAg ewo+ICAJc3RydWN0IG1kcDVfY3J0YyAqbWRwNV9jcnRjID0gdG9fbWRwNV9jcnRjKGNydGMpOwo+ ICAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNydGMtPmRldjsKPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL3JjYXItZHUvcmNhcl9kdV9jcnRjLmMgCj4gYi9kcml2ZXJzL2dwdS9kcm0v cmNhci1kdS9yY2FyX2R1X2NydGMuYwo+IGluZGV4IDY1ZDZiYTY2MjFhYy4uNDhjYjE5OTQ5Y2Ez IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yY2FyLWR1L3JjYXJfZHVfY3J0Yy5jCj4g KysrIGIvZHJpdmVycy9ncHUvZHJtL3JjYXItZHUvcmNhcl9kdV9jcnRjLmMKPiBAQCAtNDk2LDcg KzQ5Niw4IEBAIHN0YXRpYyBib29sIHJjYXJfZHVfY3J0Y19tb2RlX2ZpeHVwKHN0cnVjdCAKPiBk cm1fY3J0YyAqY3J0YywKPiAgCXJldHVybiB0cnVlOwo+ICB9Cj4gIAo+IC1zdGF0aWMgdm9pZCBy Y2FyX2R1X2NydGNfYXRvbWljX2JlZ2luKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKPiArc3RhdGlj IHZvaWQgcmNhcl9kdV9jcnRjX2F0b21pY19iZWdpbihzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4g KwkJCQkgICAgICBzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgCj4gKm9sZF9jcnRjX3N0YXRlKQo+ICB7 Cj4gIAlzdHJ1Y3QgZHJtX3BlbmRpbmdfdmJsYW5rX2V2ZW50ICpldmVudCA9IGNydGMtPnN0YXRl LT5ldmVudDsKPiAgCXN0cnVjdCByY2FyX2R1X2NydGMgKnJjcnRjID0gdG9fcmNhcl9jcnRjKGNy dGMpOwo+IEBAIC01MTIsNyArNTEzLDggQEAgc3RhdGljIHZvaWQgcmNhcl9kdV9jcnRjX2F0b21p Y19iZWdpbihzdHJ1Y3QgCj4gZHJtX2NydGMgKmNydGMpCj4gIAl9Cj4gIH0KPiAgCj4gLXN0YXRp YyB2b2lkIHJjYXJfZHVfY3J0Y19hdG9taWNfZmx1c2goc3RydWN0IGRybV9jcnRjICpjcnRjKQo+ ICtzdGF0aWMgdm9pZCByY2FyX2R1X2NydGNfYXRvbWljX2ZsdXNoKHN0cnVjdCBkcm1fY3J0YyAq Y3J0YywKPiArCQkJCSAgICAgIHN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAKPiAqb2xkX2NydGNfc3Rh dGUpCj4gIHsKPiAgCXN0cnVjdCByY2FyX2R1X2NydGMgKnJjcnRjID0gdG9fcmNhcl9jcnRjKGNy dGMpOwo+ICAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3N0aS9zdGlfZHJtX2NydGMu YyAKPiBiL2RyaXZlcnMvZ3B1L2RybS9zdGkvc3RpX2RybV9jcnRjLmMKPiBpbmRleCA2YjY0MWM1 YTJlYzcuLjI2ZTYzYmYxNGVmZSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vc3RpL3N0 aV9kcm1fY3J0Yy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3N0aS9zdGlfZHJtX2NydGMuYwo+ IEBAIC0xNjQsNyArMTY0LDggQEAgc3RpX2RybV9jcnRjX21vZGVfc2V0X25vZmIoc3RydWN0IGRy bV9jcnRjICpjcnRjKQo+ICAJc3RpX2RybV9jcnRjX21vZGVfc2V0KGNydGMsICZjcnRjLT5zdGF0 ZS0+YWRqdXN0ZWRfbW9kZSk7Cj4gIH0KPiAgCj4gLXN0YXRpYyB2b2lkIHN0aV9kcm1fYXRvbWlj X2JlZ2luKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKPiArc3RhdGljIHZvaWQgc3RpX2RybV9hdG9t aWNfYmVnaW4oc3RydWN0IGRybV9jcnRjICpjcnRjLAo+ICsJCQkJIHN0cnVjdCBkcm1fY3J0Y19z dGF0ZSAKPiAqb2xkX2NydGNfc3RhdGUpCj4gIHsKPiAgCXN0cnVjdCBzdGlfbWl4ZXIgKm1peGVy ID0gdG9fc3RpX21peGVyKGNydGMpOwo+ICAKPiBAQCAtMTc4LDcgKzE3OSw4IEBAIHN0YXRpYyB2 b2lkIHN0aV9kcm1fYXRvbWljX2JlZ2luKHN0cnVjdCBkcm1fY3J0YyAKPiAqY3J0YykKPiAgCX0K PiAgfQo+ICAKPiAtc3RhdGljIHZvaWQgc3RpX2RybV9hdG9taWNfZmx1c2goc3RydWN0IGRybV9j cnRjICpjcnRjKQo+ICtzdGF0aWMgdm9pZCBzdGlfZHJtX2F0b21pY19mbHVzaChzdHJ1Y3QgZHJt X2NydGMgKmNydGMsCj4gKwkJCQkgc3RydWN0IGRybV9jcnRjX3N0YXRlIAo+ICpvbGRfY3J0Y19z dGF0ZSkKPiAgewo+ICB9Cj4gIAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdGVncmEv ZGMuYyBiL2RyaXZlcnMvZ3B1L2RybS90ZWdyYS9kYy5jCj4gaW5kZXggZDQ0NzcwMTE3M2U2Li4y NGIzODA5MGRmZDMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3RlZ3JhL2RjLmMKPiAr KysgYi9kcml2ZXJzL2dwdS9kcm0vdGVncmEvZGMuYwo+IEBAIC0xMjc1LDcgKzEyNzUsOCBAQCBz dGF0aWMgaW50IHRlZ3JhX2NydGNfYXRvbWljX2NoZWNrKHN0cnVjdCAKPiBkcm1fY3J0YyAqY3J0 YywKPiAgCXJldHVybiAwOwo+ICB9Cj4gIAo+IC1zdGF0aWMgdm9pZCB0ZWdyYV9jcnRjX2F0b21p Y19iZWdpbihzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCj4gK3N0YXRpYyB2b2lkIHRlZ3JhX2NydGNf YXRvbWljX2JlZ2luKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKPiArCQkJCSAgICBzdHJ1Y3QgZHJt X2NydGNfc3RhdGUgCj4gKm9sZF9jcnRjX3N0YXRlKQo+ICB7Cj4gIAlzdHJ1Y3QgdGVncmFfZGMg KmRjID0gdG9fdGVncmFfZGMoY3J0Yyk7Cj4gIAo+IEBAIC0xMjg5LDcgKzEyOTAsOCBAQCBzdGF0 aWMgdm9pZCB0ZWdyYV9jcnRjX2F0b21pY19iZWdpbihzdHJ1Y3QgCj4gZHJtX2NydGMgKmNydGMp Cj4gIAl9Cj4gIH0KPiAgCj4gLXN0YXRpYyB2b2lkIHRlZ3JhX2NydGNfYXRvbWljX2ZsdXNoKHN0 cnVjdCBkcm1fY3J0YyAqY3J0YykKPiArc3RhdGljIHZvaWQgdGVncmFfY3J0Y19hdG9taWNfZmx1 c2goc3RydWN0IGRybV9jcnRjICpjcnRjLAo+ICsJCQkJICAgIHN0cnVjdCBkcm1fY3J0Y19zdGF0 ZSAKPiAqb2xkX2NydGNfc3RhdGUpCj4gIHsKPiAgCXN0cnVjdCB0ZWdyYV9kY19zdGF0ZSAqc3Rh dGUgPSB0b19kY19zdGF0ZShjcnRjLT5zdGF0ZSk7Cj4gIAlzdHJ1Y3QgdGVncmFfZGMgKmRjID0g dG9fdGVncmFfZGMoY3J0Yyk7Cj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9jcnRjX2hl bHBlci5oIAo+IGIvaW5jbHVkZS9kcm0vZHJtX2NydGNfaGVscGVyLmgKPiBpbmRleCA0NTYyYmQx MmJiNGEuLjgwMGUwZDFjZjMyYyAxMDA2NDQKPiAtLS0gYS9pbmNsdWRlL2RybS9kcm1fY3J0Y19o ZWxwZXIuaAo+ICsrKyBiL2luY2x1ZGUvZHJtL2RybV9jcnRjX2hlbHBlci5oCj4gQEAgLTEwOCw4 ICsxMDgsMTAgQEAgc3RydWN0IGRybV9jcnRjX2hlbHBlcl9mdW5jcyB7Cj4gIAkvKiBhdG9taWMg aGVscGVycyAqLwo+ICAJaW50ICgqYXRvbWljX2NoZWNrKShzdHJ1Y3QgZHJtX2NydGMgKmNydGMs Cj4gIAkJCSAgICBzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKnN0YXRlKTsKPiAtCXZvaWQgKCphdG9t aWNfYmVnaW4pKHN0cnVjdCBkcm1fY3J0YyAqY3J0Yyk7Cj4gLQl2b2lkICgqYXRvbWljX2ZsdXNo KShzdHJ1Y3QgZHJtX2NydGMgKmNydGMpOwo+ICsJdm9pZCAoKmF0b21pY19iZWdpbikoc3RydWN0 IGRybV9jcnRjICpjcnRjLAo+ICsJCQkgICAgIHN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqb2xkX2Ny dGNfc3RhdGUpOwo+ICsJdm9pZCAoKmF0b21pY19mbHVzaCkoc3RydWN0IGRybV9jcnRjICpjcnRj LAo+ICsJCQkgICAgIHN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqb2xkX2NydGNfc3RhdGUpOwo+ICB9 Owo+ICAKPiAgLyoqCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9y ZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4 Cg==