From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tomi Valkeinen Subject: Re: [Patch 4/4] drm/omap: Add virtual plane support to omap_plane Date: Wed, 14 Mar 2018 13:56:17 +0200 Message-ID: References: <20180302134804.3690-1-bparrot@ti.com> <20180302134804.3690-5-bparrot@ti.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180302134804.3690-5-bparrot@ti.com> Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Benoit Parrot , dri-devel@lists.freedesktop.org, Laurent Pinchart , devicetree@vger.kernel.org, Rob Herring Cc: Peter Ujfalusi , Jyri Sarha List-Id: devicetree@vger.kernel.org SGkgQmVub2l0LAoKT24gMDIvMDMvMTggMTU6NDgsIEJlbm9pdCBQYXJyb3Qgd3JvdGU6Cj4gQWRk IHZpcnR1YWwgcGxhbmUgc3VwcG9ydCBieSBhZGRpbmcgYW4gYXJyYXkgdG8gY29udGFpbgo+IGFs bCBvZiB0aGUgYWN0dWFsIHBsYW5lX2lkIGEgIm9tYXBfcGxhbmUiIGNvcnJlc3BvbmQgdG8uCgoi cGxhbmVfaWRzIiwgImFuIiwgImNvcnJlc3BvbmRzIgoKPiBXaGVuIGF0IGxlYXN0IG9uZSAncGxh bmUnIGNoaWxkIG5vZGUgaXMgcHJlc2VudCBpbiBEVCB0aGVuCj4gb21hcF9wbGFuZV9pbml0IHdp bGwgb25seSB1c2VkIHRoZSBwbGFuZSBkZXNjcmliZWQgaW4gRFQuCgoidXNlIgoKPiBTb21lIG9m IHRoZXNlIG5vZGVzIG1heSBiZSBhIHZpcnR1YWwgcGxhbmUgaWYgdGhleSBhcmUgZGVmaW5lZAo+ IGFzIHR3byBwaHlzaWNhbCBwbGFuZXMuCj4gUGxhbmVzIGNhbiBhbHNvIGJlIGFzc29jaWF0ZWQg d2l0aCB2YXJpb3VzIGNydGNzIGluZGVwZW5kZW50bHkuCj4gVGhlcmVmb3JlIHdlIGNhbiByZXN0 cmljdCB0aGUgdXNlIG9mIHZpcnR1YWwgcGxhbmUgdG8gc3BlY2lmaWMKPiBDUlRDL3ZpZGVvIHBv cnQgaWYgbmVlZCBiZSwgaWYgY3J0Y19tYXNrIGlzIG5vdCBzcGVjaWZpZWQgdGhlbgo+IHRoZSBw bGFuZSB3aWxsIGJlIGF2YWlsYWJsZSB0byBhbGwgYXZhaWxhYmxlIGNydGNzLgo+IFBoeXNpY2Fs IHBsYW5lIHdoaWNoIGFyZSBub3QgZGVzY3JpYmVkIHdpbGwgZXNzZW50aWFsbHkgYmUgaGlkZGVu CgoicGxhbmVzIgoKPiBmcm9tIHRoZSBkcml2ZXIuCj4gCj4gSWYgbm8gJ3BsYW5lJyBjaGlsZCBu b2RlIGV4aXN0IHRoZW4gdGhlIGV4aXN0aW5nIHBsYW5lCgoibm9kZXMiCgo+IGFsbG9jYXRpb24g d2lsbCB0YWtlIHBsYWNlLgoKTWF5YmUgIm5vcm1hbCBwbGFuZSBhbGxvY2F0aW9uIj8KCj4gCj4g U2lnbmVkLW9mZi1ieTogQmVub2l0IFBhcnJvdCA8YnBhcnJvdEB0aS5jb20+Cj4gLS0tCj4gIGRy aXZlcnMvZ3B1L2RybS9vbWFwZHJtL29tYXBfZHJ2LmMgICB8ICAxOCArKystLQo+ICBkcml2ZXJz L2dwdS9kcm0vb21hcGRybS9vbWFwX2ZiLmMgICAgfCAgNjYgKysrKysrKysrKystLS0tLS0KPiAg ZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vb21hcF9mYi5oICAgIHwgICA0ICstCj4gIGRyaXZlcnMv Z3B1L2RybS9vbWFwZHJtL29tYXBfcGxhbmUuYyB8IDEzOSArKysrKysrKysrKysrKysrKysrKysr KysrLS0tLS0tLS0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX3BsYW5lLmggfCAg IDMgKy0KPiAgNSBmaWxlcyBjaGFuZ2VkLCAxNjIgaW5zZXJ0aW9ucygrKSwgNjggZGVsZXRpb25z KC0pCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL29tYXBfZHJ2LmMg Yi9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX2Rydi5jCj4gaW5kZXggZGQ2OGIyNTU2ZjVi Li43Mzc5NjM2NGE1OTIgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vb21h cF9kcnYuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL29tYXBfZHJ2LmMKPiBAQCAt MTg4LDEwICsxODgsOSBAQCBzdGF0aWMgaW50IG9tYXBfY29ubmVjdF9kc3NkZXZzKHZvaWQpCj4g IAlyZXR1cm4gcjsKPiAgfQo+ICAKPiAtc3RhdGljIGludCBvbWFwX21vZGVzZXRfaW5pdF9wcm9w ZXJ0aWVzKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gK3N0YXRpYyBpbnQgb21hcF9tb2Rlc2V0 X2luaXRfcHJvcGVydGllcyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB1MzIgbnVtX3BsYW5lcykK PiAgewo+ICAJc3RydWN0IG9tYXBfZHJtX3ByaXZhdGUgKnByaXYgPSBkZXYtPmRldl9wcml2YXRl Owo+IC0JdW5zaWduZWQgaW50IG51bV9wbGFuZXMgPSBwcml2LT5kaXNwY19vcHMtPmdldF9udW1f b3ZscygpOwo+ICAKPiAgCXByaXYtPnpvcmRlcl9wcm9wID0gZHJtX3Byb3BlcnR5X2NyZWF0ZV9y YW5nZShkZXYsIDAsICJ6b3JkZXIiLCAwLAo+ICAJCQkJCQkgICAgICBudW1fcGxhbmVzIC0gMSk7 Cj4gQEAgLTIxMCwxMCArMjA5LDE5IEBAIHN0YXRpYyBpbnQgb21hcF9tb2Rlc2V0X2luaXQoc3Ry dWN0IGRybV9kZXZpY2UgKmRldikKPiAgCWludCBudW1fY3J0Y3MsIGNydGNfaWR4LCBwbGFuZV9p ZHg7Cj4gIAlpbnQgcmV0Owo+ICAJdTMyIHBsYW5lX2NydGNfbWFzazsKPiArCXN0cnVjdCBkaXNw Y19wbGFuZV9tYXBwaW5ncyBwbGFuZV9tYXBwaW5ncyA9IHswfTsKPiAgCj4gIAlkcm1fbW9kZV9j b25maWdfaW5pdChkZXYpOwo+ICAKPiAtCXJldCA9IG9tYXBfbW9kZXNldF9pbml0X3Byb3BlcnRp ZXMoZGV2KTsKPiArCXJldCA9IHByaXYtPmRpc3BjX29wcy0+Z2V0X3BsYW5lX21hcHBpbmcoJnBs YW5lX21hcHBpbmdzKTsKPiArCWlmIChyZXQgPCAwKQo+ICsJCXJldHVybiByZXQ7Cj4gKwo+ICsJ LyogdXNlIHBsYW5lIG1hcHBpbmdzIGluZm8gKi8KPiArCWlmIChwbGFuZV9tYXBwaW5ncy5udW1f cGxhbmVzKQo+ICsJCW51bV9vdmxzID0gcGxhbmVfbWFwcGluZ3MubnVtX3BsYW5lczsKPiArCj4g KwlyZXQgPSBvbWFwX21vZGVzZXRfaW5pdF9wcm9wZXJ0aWVzKGRldiwgbnVtX292bHMpOwo+ICAJ aWYgKHJldCA8IDApCj4gIAkJcmV0dXJuIHJldDsKPiAgCj4gQEAgLTI2Niw3ICsyNzQsNyBAQCBz dGF0aWMgaW50IG9tYXBfbW9kZXNldF9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gIAkJ CXJldHVybiAtRU5PTUVNOwo+ICAKPiAgCQlwbGFuZSA9IG9tYXBfcGxhbmVfaW5pdChkZXYsIHBs YW5lX2lkeCwgRFJNX1BMQU5FX1RZUEVfUFJJTUFSWSwKPiAtCQkJCQlwbGFuZV9jcnRjX21hc2sp Owo+ICsJCQkJCXBsYW5lX2NydGNfbWFzaywgJnBsYW5lX21hcHBpbmdzKTsKPiAgCQlpZiAoSVNf RVJSKHBsYW5lKSkKPiAgCQkJcmV0dXJuIFBUUl9FUlIocGxhbmUpOwo+ICAKPiBAQCAtMjk2LDcg KzMwNCw3IEBAIHN0YXRpYyBpbnQgb21hcF9tb2Rlc2V0X2luaXQoc3RydWN0IGRybV9kZXZpY2Ug KmRldikKPiAgCQkJcmV0dXJuIC1FSU5WQUw7Cj4gIAo+ICAJCXBsYW5lID0gb21hcF9wbGFuZV9p bml0KGRldiwgcGxhbmVfaWR4LCBEUk1fUExBTkVfVFlQRV9PVkVSTEFZLAo+IC0JCQlwbGFuZV9j cnRjX21hc2spOwo+ICsJCQkJCXBsYW5lX2NydGNfbWFzaywgJnBsYW5lX21hcHBpbmdzKTsKPiAg CQlpZiAoSVNfRVJSKHBsYW5lKSkKPiAgCQkJcmV0dXJuIFBUUl9FUlIocGxhbmUpOwo+ICAKPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vb21hcF9mYi5jIGIvZHJpdmVycy9n cHUvZHJtL29tYXBkcm0vb21hcF9mYi5jCj4gaW5kZXggYjI1MzlhOTBlMWE0Li44MGIyOWI3ZjU2 OTYgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vb21hcF9mYi5jCj4gKysr IGIvZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vb21hcF9mYi5jCj4gQEAgLTE1MywyNSArMTUzLDI3 IEBAIHN0YXRpYyB1aW50MzJfdCBkcm1fcm90YXRpb25fdG9fdGlsZXIodW5zaWduZWQgaW50IGRy bV9yb3QpCj4gIC8qIHVwZGF0ZSBvdmwgaW5mbyBmb3Igc2Nhbm91dCwgaGFuZGxlcyBjYXNlcyBv ZiBtdWx0aS1wbGFuYXIgZmIncywgZXRjLgo+ICAgKi8KPiAgdm9pZCBvbWFwX2ZyYW1lYnVmZmVy X3VwZGF0ZV9zY2Fub3V0KHN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiLAo+IC0JCXN0cnVjdCBk cm1fcGxhbmVfc3RhdGUgKnN0YXRlLCBzdHJ1Y3Qgb21hcF9vdmVybGF5X2luZm8gKmluZm8pCj4g KwkJc3RydWN0IGRybV9wbGFuZV9zdGF0ZSAqc3RhdGUsCj4gKwkJc3RydWN0IG9tYXBfb3Zlcmxh eV9pbmZvICptYWluX2luZm8sCj4gKwkJc3RydWN0IG9tYXBfb3ZlcmxheV9pbmZvICphdXhfaW5m bykKPiAgewo+ICAJc3RydWN0IG9tYXBfZnJhbWVidWZmZXIgKm9tYXBfZmIgPSB0b19vbWFwX2Zy YW1lYnVmZmVyKGZiKTsKPiAgCWNvbnN0IHN0cnVjdCBkcm1fZm9ybWF0X2luZm8gKmZvcm1hdCA9 IG9tYXBfZmItPmZvcm1hdDsKPiAgCXN0cnVjdCBwbGFuZSAqcGxhbmUgPSAmb21hcF9mYi0+cGxh bmVzWzBdOwo+ICAJdWludDMyX3QgeCwgeSwgb3JpZW50ID0gMDsKPiAgCj4gLQlpbmZvLT5mb3Vy Y2MgPSBmYi0+Zm9ybWF0LT5mb3JtYXQ7Cj4gKwltYWluX2luZm8tPmZvdXJjYyA9IGZiLT5mb3Jt YXQtPmZvcm1hdDsKPiAgCj4gLQlpbmZvLT5wb3NfeCAgICAgID0gc3RhdGUtPmNydGNfeDsKPiAt CWluZm8tPnBvc195ICAgICAgPSBzdGF0ZS0+Y3J0Y195Owo+IC0JaW5mby0+b3V0X3dpZHRoICA9 IHN0YXRlLT5jcnRjX3c7Cj4gLQlpbmZvLT5vdXRfaGVpZ2h0ID0gc3RhdGUtPmNydGNfaDsKPiAt CWluZm8tPndpZHRoICAgICAgPSBzdGF0ZS0+c3JjX3cgPj4gMTY7Cj4gLQlpbmZvLT5oZWlnaHQg ICAgID0gc3RhdGUtPnNyY19oID4+IDE2Owo+ICsJbWFpbl9pbmZvLT5wb3NfeCAgICAgID0gc3Rh dGUtPmNydGNfeDsKPiArCW1haW5faW5mby0+cG9zX3kgICAgICA9IHN0YXRlLT5jcnRjX3k7Cj4g KwltYWluX2luZm8tPm91dF93aWR0aCAgPSBzdGF0ZS0+Y3J0Y193Owo+ICsJbWFpbl9pbmZvLT5v dXRfaGVpZ2h0ID0gc3RhdGUtPmNydGNfaDsKPiArCW1haW5faW5mby0+d2lkdGggICAgICA9IHN0 YXRlLT5zcmNfdyA+PiAxNjsKPiArCW1haW5faW5mby0+aGVpZ2h0ICAgICA9IHN0YXRlLT5zcmNf aCA+PiAxNjsKPiAgCj4gIAkvKiBEU1MgZHJpdmVyIHdhbnRzIHRoZSB3ICYgaCBpbiByb3RhdGVk IG9yaWVudGF0aW9uICovCj4gIAlpZiAoZHJtX3JvdGF0aW9uXzkwX29yXzI3MChzdGF0ZS0+cm90 YXRpb24pKQo+IC0JCXN3YXAoaW5mby0+d2lkdGgsIGluZm8tPmhlaWdodCk7Cj4gKwkJc3dhcCht YWluX2luZm8tPndpZHRoLCBtYWluX2luZm8tPmhlaWdodCk7Cj4gIAo+ICAJeCA9IHN0YXRlLT5z cmNfeCA+PiAxNjsKPiAgCXkgPSBzdGF0ZS0+c3JjX3kgPj4gMTY7Cj4gQEAgLTIwMiwxMSArMjA0 LDEyIEBAIHZvaWQgb21hcF9mcmFtZWJ1ZmZlcl91cGRhdGVfc2Nhbm91dChzdHJ1Y3QgZHJtX2Zy YW1lYnVmZmVyICpmYiwKPiAgCj4gIAkJLyogTm90ZTogeCBhbmQgeSBhcmUgaW4gVElMRVIgdW5p dHMsIG5vdCBwaXhlbHMgKi8KPiAgCQlvbWFwX2dlbV9yb3RhdGVkX2RtYV9hZGRyKHBsYW5lLT5i bywgb3JpZW50LCB4LCB5LAo+IC0JCQkJCSAgJmluZm8tPnBhZGRyKTsKPiAtCQlpbmZvLT5yb3Rh dGlvbl90eXBlID0gT01BUF9EU1NfUk9UX1RJTEVSOwo+IC0JCWluZm8tPnJvdGF0aW9uID0gc3Rh dGUtPnJvdGF0aW9uID86IERSTV9NT0RFX1JPVEFURV8wOwo+ICsJCQkJCSAgJm1haW5faW5mby0+ cGFkZHIpOwo+ICsJCW1haW5faW5mby0+cm90YXRpb25fdHlwZSA9IE9NQVBfRFNTX1JPVF9USUxF UjsKPiArCQltYWluX2luZm8tPnJvdGF0aW9uID0gc3RhdGUtPnJvdGF0aW9uID86IERSTV9NT0RF X1JPVEFURV8wOwo+ICAJCS8qIE5vdGU6IHN0cmlkZSBpbiBUSUxFUiB1bml0cywgbm90IHBpeGVs cyAqLwo+IC0JCWluZm8tPnNjcmVlbl93aWR0aCAgPSBvbWFwX2dlbV90aWxlZF9zdHJpZGUocGxh bmUtPmJvLCBvcmllbnQpOwo+ICsJCW1haW5faW5mby0+c2NyZWVuX3dpZHRoICA9Cj4gKwkJCQlv bWFwX2dlbV90aWxlZF9zdHJpZGUocGxhbmUtPmJvLCBvcmllbnQpOwo+ICAJfSBlbHNlIHsKPiAg CQlzd2l0Y2ggKHN0YXRlLT5yb3RhdGlvbiAmIERSTV9NT0RFX1JPVEFURV9NQVNLKSB7Cj4gIAkJ Y2FzZSAwOgo+IEBAIC0yMjEsMjcgKzIyNCw0NiBAQCB2b2lkIG9tYXBfZnJhbWVidWZmZXJfdXBk YXRlX3NjYW5vdXQoc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIsCj4gIAkJCWJyZWFrOwo+ICAJ CX0KPiAgCj4gLQkJaW5mby0+cGFkZHIgICAgICAgICA9IGdldF9saW5lYXJfYWRkcihwbGFuZSwg Zm9ybWF0LCAwLCB4LCB5KTsKPiAtCQlpbmZvLT5yb3RhdGlvbl90eXBlID0gT01BUF9EU1NfUk9U X05PTkU7Cj4gLQkJaW5mby0+cm90YXRpb24gICAgICA9IERSTV9NT0RFX1JPVEFURV8wOwo+IC0J CWluZm8tPnNjcmVlbl93aWR0aCAgPSBwbGFuZS0+cGl0Y2g7Cj4gKwkJbWFpbl9pbmZvLT5wYWRk ciA9IGdldF9saW5lYXJfYWRkcihwbGFuZSwgZm9ybWF0LCAwLCB4LCB5KTsKPiArCQltYWluX2lu Zm8tPnJvdGF0aW9uX3R5cGUgPSBPTUFQX0RTU19ST1RfTk9ORTsKPiArCQltYWluX2luZm8tPnJv dGF0aW9uID0gRFJNX01PREVfUk9UQVRFXzA7Cj4gKwkJbWFpbl9pbmZvLT5zY3JlZW5fd2lkdGgg PSBwbGFuZS0+cGl0Y2g7Cj4gIAl9Cj4gIAo+ICAJLyogY29udmVydCB0byBwaXhlbHM6ICovCj4g LQlpbmZvLT5zY3JlZW5fd2lkdGggLz0gZm9ybWF0LT5jcHBbMF07Cj4gKwltYWluX2luZm8tPnNj cmVlbl93aWR0aCAvPSBmb3JtYXQtPmNwcFswXTsKPiAgCj4gIAlpZiAoZmItPmZvcm1hdC0+Zm9y bWF0ID09IERSTV9GT1JNQVRfTlYxMikgewo+ICAJCXBsYW5lID0gJm9tYXBfZmItPnBsYW5lc1sx XTsKPiAgCj4gLQkJaWYgKGluZm8tPnJvdGF0aW9uX3R5cGUgPT0gT01BUF9EU1NfUk9UX1RJTEVS KSB7Cj4gKwkJaWYgKG1haW5faW5mby0+cm90YXRpb25fdHlwZSA9PSBPTUFQX0RTU19ST1RfVElM RVIpIHsKPiAgCQkJV0FSTl9PTighKG9tYXBfZ2VtX2ZsYWdzKHBsYW5lLT5ibykgJiBPTUFQX0JP X1RJTEVEKSk7Cj4gIAkJCW9tYXBfZ2VtX3JvdGF0ZWRfZG1hX2FkZHIocGxhbmUtPmJvLCBvcmll bnQsIHgvMiwgeS8yLAo+IC0JCQkJCQkgICZpbmZvLT5wX3V2X2FkZHIpOwo+ICsJCQkJCQkgICZt YWluX2luZm8tPnBfdXZfYWRkcik7Cj4gIAkJfSBlbHNlIHsKPiAtCQkJaW5mby0+cF91dl9hZGRy ID0gZ2V0X2xpbmVhcl9hZGRyKHBsYW5lLCBmb3JtYXQsIDEsIHgsIHkpOwo+ICsJCQltYWluX2lu Zm8tPnBfdXZfYWRkciA9Cj4gKwkJCQlnZXRfbGluZWFyX2FkZHIocGxhbmUsIGZvcm1hdCwgMSwg eCwgeSk7Cj4gIAkJfQo+ICAJfSBlbHNlIHsKPiAtCQlpbmZvLT5wX3V2X2FkZHIgPSAwOwo+ICsJ CW1haW5faW5mby0+cF91dl9hZGRyID0gMDsKPiArCX0KPiArCj4gKwlpZiAoYXV4X2luZm8pIHsK PiArCQltYWluX2luZm8tPndpZHRoIC89IDI7Cj4gKwkJbWFpbl9pbmZvLT5vdXRfd2lkdGggLz0g MjsKPiArCj4gKwkJKmF1eF9pbmZvID0gKm1haW5faW5mbzsKPiArCj4gKwkJYXV4X2luZm8tPnBv c194ID0gbWFpbl9pbmZvLT5wb3NfeCArIG1haW5faW5mby0+b3V0X3dpZHRoOwo+ICsKPiArCQlh dXhfaW5mby0+cGFkZHIgPQo+ICsJCQkJZ2V0X2xpbmVhcl9hZGRyKCZvbWFwX2ZiLT5wbGFuZXNb MF0sIGZvcm1hdCwgMCwKPiArCQkJCQkJeCArIG1haW5faW5mby0+d2lkdGgsIHkpOwo+ICsJCWlm IChmYi0+Zm9ybWF0LT5mb3JtYXQgPT0gRFJNX0ZPUk1BVF9OVjEyKSB7Cj4gKwkJCWF1eF9pbmZv LT5wX3V2X2FkZHIgPQo+ICsJCQkJZ2V0X2xpbmVhcl9hZGRyKCZvbWFwX2ZiLT5wbGFuZXNbMV0s IGZvcm1hdCwgMSwKPiArCQkJCQkJeCArIG1haW5faW5mby0+d2lkdGgsIHkpOwo+ICsJCX0KPiAg CX0KPiAgfQo+ICAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vb21hcF9m Yi5oIGIvZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vb21hcF9mYi5oCj4gaW5kZXggOTRhZDVmOWU0 NDA0Li5mNjhlODEzNTMyODggMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL29tYXBkcm0v b21hcF9mYi5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vb21hcF9mYi5oCj4gQEAg LTM3LDcgKzM3LDkgQEAgc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqb21hcF9mcmFtZWJ1ZmZlcl9p bml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gIGludCBvbWFwX2ZyYW1lYnVmZmVyX3Bpbihz dHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYik7Cj4gIHZvaWQgb21hcF9mcmFtZWJ1ZmZlcl91bnBp bihzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYik7Cj4gIHZvaWQgb21hcF9mcmFtZWJ1ZmZlcl91 cGRhdGVfc2Nhbm91dChzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYiwKPiAtCQlzdHJ1Y3QgZHJt X3BsYW5lX3N0YXRlICpzdGF0ZSwgc3RydWN0IG9tYXBfb3ZlcmxheV9pbmZvICppbmZvKTsKPiAr CQlzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpzdGF0ZSwKPiArCQlzdHJ1Y3Qgb21hcF9vdmVybGF5 X2luZm8gKm1haW5faW5mbywKPiArCQlzdHJ1Y3Qgb21hcF9vdmVybGF5X2luZm8gKmF1eF9pbmZv KTsKPiAgc3RydWN0IGRybV9jb25uZWN0b3IgKm9tYXBfZnJhbWVidWZmZXJfZ2V0X25leHRfY29u bmVjdG9yKAo+ICAJCXN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiLCBzdHJ1Y3QgZHJtX2Nvbm5l Y3RvciAqZnJvbSk7Cj4gIGJvb2wgb21hcF9mcmFtZWJ1ZmZlcl9zdXBwb3J0c19yb3RhdGlvbihz dHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYik7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9vbWFwZHJtL29tYXBfcGxhbmUuYyBiL2RyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL29tYXBfcGxh bmUuYwo+IGluZGV4IDdkNzg5ZDE1NTFhMS4uZTNlNjYyM2M0MDVkIDEwMDY0NAo+IC0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9vbWFwZHJtL29tYXBfcGxhbmUuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9vbWFwZHJtL29tYXBfcGxhbmUuYwo+IEBAIC0zMCwxMCArMzAsMTQgQEAKPiAgCj4gIHN0cnVj dCBvbWFwX3BsYW5lIHsKPiAgCXN0cnVjdCBkcm1fcGxhbmUgYmFzZTsKPiAtCWVudW0gb21hcF9w bGFuZV9pZCBpZDsKPiArCWVudW0gb21hcF9wbGFuZV9pZCBtYWluX2lkOwo+ICsJZW51bSBvbWFw X3BsYW5lX2lkIGF1eF9pZDsKPiAgCWNvbnN0IGNoYXIgKm5hbWU7Cj4gKwlib29sIHZpcnR1YWxf cGxhbmU7Cj4gIH07Cj4gIAo+ICtzdGF0aWMgY29uc3QgY2hhciAqcGxhbmVfaWRfdG9fbmFtZVtd Owo+ICsKPiAgc3RhdGljIGludCBvbWFwX3BsYW5lX3ByZXBhcmVfZmIoc3RydWN0IGRybV9wbGFu ZSAqcGxhbmUsCj4gIAkJCQkgc3RydWN0IGRybV9wbGFuZV9zdGF0ZSAqbmV3X3N0YXRlKQo+ICB7 Cj4gQEAgLTU2LDM4ICs2MCw3MCBAQCBzdGF0aWMgdm9pZCBvbWFwX3BsYW5lX2F0b21pY191cGRh dGUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCj4gIAlzdHJ1Y3Qgb21hcF9kcm1fcHJpdmF0ZSAq cHJpdiA9IHBsYW5lLT5kZXYtPmRldl9wcml2YXRlOwo+ICAJc3RydWN0IG9tYXBfcGxhbmUgKm9t YXBfcGxhbmUgPSB0b19vbWFwX3BsYW5lKHBsYW5lKTsKPiAgCXN0cnVjdCBkcm1fcGxhbmVfc3Rh dGUgKnN0YXRlID0gcGxhbmUtPnN0YXRlOwo+IC0Jc3RydWN0IG9tYXBfb3ZlcmxheV9pbmZvIGlu Zm87Cj4gKwlzdHJ1Y3Qgb21hcF9vdmVybGF5X2luZm8gbWFpbl9pbmZvLCBhdXhfaW5mbzsKPiAg CWludCByZXQ7Cj4gKwlib29sIGR1YWxfcGxhbmUgPSBvbWFwX3BsYW5lLT52aXJ0dWFsX3BsYW5l Owo+ICAKPiAgCURCRygiJXMsIGNydGM9JXAgZmI9JXAiLCBvbWFwX3BsYW5lLT5uYW1lLCBzdGF0 ZS0+Y3J0Yywgc3RhdGUtPmZiKTsKPiAgCj4gLQltZW1zZXQoJmluZm8sIDAsIHNpemVvZihpbmZv KSk7Cj4gLQlpbmZvLnJvdGF0aW9uX3R5cGUgPSBPTUFQX0RTU19ST1RfTk9ORTsKPiAtCWluZm8u cm90YXRpb24gPSBEUk1fTU9ERV9ST1RBVEVfMDsKPiAtCWluZm8uZ2xvYmFsX2FscGhhID0gMHhm ZjsKPiAtCWluZm8uem9yZGVyID0gc3RhdGUtPnpwb3M7Cj4gKwltZW1zZXQoJm1haW5faW5mbywg MCwgc2l6ZW9mKG1haW5faW5mbykpOwo+ICsJbWFpbl9pbmZvLnJvdGF0aW9uX3R5cGUgPSBPTUFQ X0RTU19ST1RfTk9ORTsKPiArCW1haW5faW5mby5yb3RhdGlvbiA9IERSTV9NT0RFX1JPVEFURV8w Owo+ICsJbWFpbl9pbmZvLmdsb2JhbF9hbHBoYSA9IDB4ZmY7Cj4gKwltYWluX2luZm8uem9yZGVy ID0gc3RhdGUtPnpwb3M7Cj4gIAo+IC0JLyogdXBkYXRlIHNjYW5vdXQ6ICovCj4gLQlvbWFwX2Zy YW1lYnVmZmVyX3VwZGF0ZV9zY2Fub3V0KHN0YXRlLT5mYiwgc3RhdGUsICZpbmZvKTsKPiArCWF1 eF9pbmZvID0gbWFpbl9pbmZvOwo+ICAKPiAtCURCRygiJWR4JWQgLT4gJWR4JWQgKCVkKSIsIGlu Zm8ud2lkdGgsIGluZm8uaGVpZ2h0LAo+IC0JCQlpbmZvLm91dF93aWR0aCwgaW5mby5vdXRfaGVp Z2h0LAo+IC0JCQlpbmZvLnNjcmVlbl93aWR0aCk7Cj4gLQlEQkcoIiVkLCVkICVwYWQgJXBhZCIs IGluZm8ucG9zX3gsIGluZm8ucG9zX3ksCj4gLQkJCSZpbmZvLnBhZGRyLCAmaW5mby5wX3V2X2Fk ZHIpOwo+ICsJLyogdXBkYXRlIHNjYW5vdXQ6ICovCj4gKwlvbWFwX2ZyYW1lYnVmZmVyX3VwZGF0 ZV9zY2Fub3V0KHN0YXRlLT5mYiwgc3RhdGUsICZtYWluX2luZm8sCj4gKwkJCQkJZHVhbF9wbGFu ZSA/ICZhdXhfaW5mbyA6IE5VTEwpOwo+ICsKPiArCURCRygiJXM6ICVkeCVkIC0+ICVkeCVkICgl ZCkiLAo+ICsJICAgIHBsYW5lX2lkX3RvX25hbWVbb21hcF9wbGFuZS0+bWFpbl9pZF0sCj4gKwkg ICAgbWFpbl9pbmZvLndpZHRoLCBtYWluX2luZm8uaGVpZ2h0LAo+ICsJICAgIG1haW5faW5mby5v dXRfd2lkdGgsIG1haW5faW5mby5vdXRfaGVpZ2h0LAo+ICsJICAgIG1haW5faW5mby5zY3JlZW5f d2lkdGgpOwo+ICsJREJHKCIlZCwlZCAlcGFkICVwYWQiLCBtYWluX2luZm8ucG9zX3gsIG1haW5f aW5mby5wb3NfeSwKPiArCSAgICAmbWFpbl9pbmZvLnBhZGRyLCAmbWFpbl9pbmZvLnBfdXZfYWRk cik7Cj4gKwo+ICsJaWYgKGR1YWxfcGxhbmUpIHsKPiArCQlhdXhfaW5mby56b3JkZXIgPSBtYWlu X2luZm8uem9yZGVyICsgMTsgLy8gWFhYCgpUaGlzIGlzIGJyb2tlbiwgYW5kIGl0J3MgZXZlbiBt YXJrZWQgYXMgc3VjaCB3aXRoIHRoZSBYWFguIEZvciBleGFtcGxlLAp0aGlzIGZhaWxzOgoKa21z dGVzdCAtYyAwIC1wIDQwMHg0MDAgLVB6cG9zPTAgLXAgMzAweDMwMCAtUHpwb3M9MSAtcCAyMDB4 MjAwIC1QenBvcz0yCgogVG9taQoKLS0gClRleGFzIEluc3RydW1lbnRzIEZpbmxhbmQgT3ksIFBv cmtrYWxhbmthdHUgMjIsIDAwMTgwIEhlbHNpbmtpLgpZLXR1bm51cy9CdXNpbmVzcyBJRDogMDYx NTUyMS00LiBLb3RpcGFpa2thL0RvbWljaWxlOiBIZWxzaW5raQpfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1k ZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcv bWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK