From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH 1/2] drm/connector: Share with non-atomic drivers the function to get the single encoder Date: Wed, 11 Sep 2019 21:10:05 +0300 Message-ID: <20190911181005.GD7482@intel.com> References: <20190911175603.30356-1-jose.souza@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: <20190911175603.30356-1-jose.souza@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: =?iso-8859-1?Q?Jos=E9?= Roberto de Souza Cc: Daniel Vetter , intel-gfx@lists.freedesktop.org, Laurent Pinchart , dri-devel@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gV2VkLCBTZXAgMTEsIDIwMTkgYXQgMTA6NTY6MDJBTSAtMDcwMCwgSm9zw6kgUm9iZXJ0byBk ZSBTb3V6YSB3cm90ZToKPiBUaGlzIDMgbm9uLWF0b21pYyBkcml2ZXJzIGFsbCBoYXZlIHRoZSBz YW1lIGZ1bmN0aW9uIGdldHRpbmcgdGhlCj4gb25seSBlbmNvZGVyIGF2YWlsYWJsZSBpbiB0aGUg Y29ubmVjdG9yLCBhbHNvIGF0b21pYyBkcml2ZXJzIGhhdmUKPiB0aGlzIGZhbGxiYWNrLiBTbyBt b3ZpbmcgaXQgYSBjb21tb24gcGxhY2UgYW5kIHNoYXJpbmcgYmV0d2VlbiBhdG9taWMKPiBhbmQg bm9uLWF0b21pYyBkcml2ZXJzLgo+IAo+IFdoaWxlIGF0IGl0IEkgYWxzbyByZW1vdmVkIHRoZSBt ZW50aW9uIG9mCj4gZHJtX2F0b21pY19oZWxwZXJfYmVzdF9lbmNvZGVyKCkgdGhhdCB3YXMgcmVu YW1lZCBpbgo+IGNvbW1pdCAyOTdlMzBiNWQ5YjYgKCJkcm0vYXRvbWljLWhlbHBlcjogVW5leHBv cnQKPiBkcm1fYXRvbWljX2hlbHBlcl9iZXN0X2VuY29kZXIiKS4KPiAKPiBTdWdnZXN0ZWQtYnk6 IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+Cj4gQ2M6IFZp bGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+Cj4gQ2M6IERhbmll bCBWZXR0ZXIgPGRhbmllbC52ZXR0ZXJAZmZ3bGwuY2g+Cj4gQ2M6IExhdXJlbnQgUGluY2hhcnQg PGxhdXJlbnQucGluY2hhcnRAaWRlYXNvbmJvYXJkLmNvbT4KPiBDYzogZHJpLWRldmVsQGxpc3Rz LmZyZWVkZXNrdG9wLm9yZwo+IENjOiBpbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4g U2lnbmVkLW9mZi1ieTogSm9zw6kgUm9iZXJ0byBkZSBTb3V6YSA8am9zZS5zb3V6YUBpbnRlbC5j b20+Cj4gLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9hc3QvYXN0X21vZGUuYyAgICAgICAgICAgfCAx MiAtLS0tLS0tLS0tLS0KPiAgZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfaGVscGVyLmMgICAg ICB8IDE1ICsrLS0tLS0tLS0tLS0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vZHJtX2Nvbm5lY3Rvci5j ICAgICAgICAgIHwgMTEgKysrKysrKysrKysKPiAgZHJpdmVycy9ncHUvZHJtL2RybV9jcnRjX2hl bHBlci5jICAgICAgICB8ICA4ICsrKysrKystCj4gIGRyaXZlcnMvZ3B1L2RybS9kcm1fY3J0Y19p bnRlcm5hbC5oICAgICAgfCAgMiArKwo+ICBkcml2ZXJzL2dwdS9kcm0vbWdhZzIwMC9tZ2FnMjAw X21vZGUuYyAgIHwgMTEgLS0tLS0tLS0tLS0KPiAgZHJpdmVycy9ncHUvZHJtL3VkbC91ZGxfY29u bmVjdG9yLmMgICAgICB8ICA4IC0tLS0tLS0tCj4gIGluY2x1ZGUvZHJtL2RybV9tb2Rlc2V0X2hl bHBlcl92dGFibGVzLmggfCAgNiArKystLS0KPiAgOCBmaWxlcyBjaGFuZ2VkLCAyNSBpbnNlcnRp b25zKCspLCA0OCBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2FzdC9hc3RfbW9kZS5jIGIvZHJpdmVycy9ncHUvZHJtL2FzdC9hc3RfbW9kZS5jCj4gaW5kZXgg ZDM0OWM3MjE1MDFjLi5lZWY5NWUxYWYwNmIgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L2FzdC9hc3RfbW9kZS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FzdC9hc3RfbW9kZS5jCj4g QEAgLTY4NywxNyArNjg3LDYgQEAgc3RhdGljIHZvaWQgYXN0X2VuY29kZXJfZGVzdHJveShzdHJ1 Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIpCj4gIAlrZnJlZShlbmNvZGVyKTsKPiAgfQo+ICAKPiAt Cj4gLXN0YXRpYyBzdHJ1Y3QgZHJtX2VuY29kZXIgKmFzdF9iZXN0X3NpbmdsZV9lbmNvZGVyKHN0 cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCj4gLXsKPiAtCWludCBlbmNfaWQgPSBjb25u ZWN0b3ItPmVuY29kZXJfaWRzWzBdOwo+IC0JLyogcGljayB0aGUgZW5jb2RlciBpZHMgKi8KPiAt CWlmIChlbmNfaWQpCj4gLQkJcmV0dXJuIGRybV9lbmNvZGVyX2ZpbmQoY29ubmVjdG9yLT5kZXYs IE5VTEwsIGVuY19pZCk7Cj4gLQlyZXR1cm4gTlVMTDsKPiAtfQo+IC0KPiAtCj4gIHN0YXRpYyBj b25zdCBzdHJ1Y3QgZHJtX2VuY29kZXJfZnVuY3MgYXN0X2VuY19mdW5jcyA9IHsKPiAgCS5kZXN0 cm95ID0gYXN0X2VuY29kZXJfZGVzdHJveSwKPiAgfTsKPiBAQCAtODQ3LDcgKzgzNiw2IEBAIHN0 YXRpYyB2b2lkIGFzdF9jb25uZWN0b3JfZGVzdHJveShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29u bmVjdG9yKQo+ICBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9jb25uZWN0b3JfaGVscGVyX2Z1bmNz IGFzdF9jb25uZWN0b3JfaGVscGVyX2Z1bmNzID0gewo+ICAJLm1vZGVfdmFsaWQgPSBhc3RfbW9k ZV92YWxpZCwKPiAgCS5nZXRfbW9kZXMgPSBhc3RfZ2V0X21vZGVzLAo+IC0JLmJlc3RfZW5jb2Rl ciA9IGFzdF9iZXN0X3NpbmdsZV9lbmNvZGVyLAo+ICB9Owo+ICAKPiAgc3RhdGljIGNvbnN0IHN0 cnVjdCBkcm1fY29ubmVjdG9yX2Z1bmNzIGFzdF9jb25uZWN0b3JfZnVuY3MgPSB7Cj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBlci5jIGIvZHJpdmVycy9ncHUv ZHJtL2RybV9hdG9taWNfaGVscGVyLmMKPiBpbmRleCA0NzA2NDM5ZmI0OTAuLjlkN2U0ZGE2YzI5 MiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19oZWxwZXIuYwo+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBlci5jCj4gQEAgLTk3LDE3ICs5Nyw2 IEBAIGRybV9hdG9taWNfaGVscGVyX3BsYW5lX2NoYW5nZWQoc3RydWN0IGRybV9hdG9taWNfc3Rh dGUgKnN0YXRlLAo+ICAJfQo+ICB9Cj4gIAo+IC0vKgo+IC0gKiBGb3IgY29ubmVjdG9ycyB0aGF0 IHN1cHBvcnQgbXVsdGlwbGUgZW5jb2RlcnMsIGVpdGhlciB0aGUKPiAtICogLmF0b21pY19iZXN0 X2VuY29kZXIoKSBvciAuYmVzdF9lbmNvZGVyKCkgb3BlcmF0aW9uIG11c3QgYmUgaW1wbGVtZW50 ZWQuCj4gLSAqLwo+IC1zdGF0aWMgc3RydWN0IGRybV9lbmNvZGVyICoKPiAtcGlja19zaW5nbGVf ZW5jb2Rlcl9mb3JfY29ubmVjdG9yKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCj4g LXsKPiAtCVdBUk5fT04oY29ubmVjdG9yLT5lbmNvZGVyX2lkc1sxXSk7Cj4gLQlyZXR1cm4gZHJt X2VuY29kZXJfZmluZChjb25uZWN0b3ItPmRldiwgTlVMTCwgY29ubmVjdG9yLT5lbmNvZGVyX2lk c1swXSk7Cj4gLX0KPiAtCj4gIHN0YXRpYyBpbnQgaGFuZGxlX2NvbmZsaWN0aW5nX2VuY29kZXJz KHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSwKPiAgCQkJCSAgICAgICBib29sIGRpc2Fi bGVfY29uZmxpY3RpbmdfZW5jb2RlcnMpCj4gIHsKPiBAQCAtMTM1LDcgKzEyNCw3IEBAIHN0YXRp YyBpbnQgaGFuZGxlX2NvbmZsaWN0aW5nX2VuY29kZXJzKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRl ICpzdGF0ZSwKPiAgCQllbHNlIGlmIChmdW5jcy0+YmVzdF9lbmNvZGVyKQo+ICAJCQluZXdfZW5j b2RlciA9IGZ1bmNzLT5iZXN0X2VuY29kZXIoY29ubmVjdG9yKTsKPiAgCQllbHNlCj4gLQkJCW5l d19lbmNvZGVyID0gcGlja19zaW5nbGVfZW5jb2Rlcl9mb3JfY29ubmVjdG9yKGNvbm5lY3Rvcik7 Cj4gKwkJCW5ld19lbmNvZGVyID0gZHJtX2Nvbm5lY3Rvcl9nZXRfc2luZ2xlX2VuY29kZXIoY29u bmVjdG9yKTsKPiAgCj4gIAkJaWYgKG5ld19lbmNvZGVyKSB7Cj4gIAkJCWlmIChlbmNvZGVyX21h c2sgJiBkcm1fZW5jb2Rlcl9tYXNrKG5ld19lbmNvZGVyKSkgewo+IEBAIC0zNTksNyArMzQ4LDcg QEAgdXBkYXRlX2Nvbm5lY3Rvcl9yb3V0aW5nKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0 ZSwKPiAgCWVsc2UgaWYgKGZ1bmNzLT5iZXN0X2VuY29kZXIpCj4gIAkJbmV3X2VuY29kZXIgPSBm dW5jcy0+YmVzdF9lbmNvZGVyKGNvbm5lY3Rvcik7Cj4gIAllbHNlCj4gLQkJbmV3X2VuY29kZXIg PSBwaWNrX3NpbmdsZV9lbmNvZGVyX2Zvcl9jb25uZWN0b3IoY29ubmVjdG9yKTsKPiArCQluZXdf ZW5jb2RlciA9IGRybV9jb25uZWN0b3JfZ2V0X3NpbmdsZV9lbmNvZGVyKGNvbm5lY3Rvcik7Cj4g IAo+ICAJaWYgKCFuZXdfZW5jb2Rlcikgewo+ICAJCURSTV9ERUJVR19BVE9NSUMoIk5vIHN1aXRh YmxlIGVuY29kZXIgZm91bmQgZm9yIFtDT05ORUNUT1I6JWQ6JXNdXG4iLAo+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vZHJtX2Nvbm5lY3Rvci5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9j b25uZWN0b3IuYwo+IGluZGV4IDRjNzY2NjI0YjIwZC4uM2UyYTYzMmNmODYxIDEwMDY0NAo+IC0t LSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fY29ubmVjdG9yLmMKPiArKysgYi9kcml2ZXJzL2dwdS9k cm0vZHJtX2Nvbm5lY3Rvci5jCj4gQEAgLTIzMzQsMyArMjMzNCwxNCBAQCBzdHJ1Y3QgZHJtX3Rp bGVfZ3JvdXAgKmRybV9tb2RlX2NyZWF0ZV90aWxlX2dyb3VwKHN0cnVjdCBkcm1fZGV2aWNlICpk ZXYsCj4gIAlyZXR1cm4gdGc7Cj4gIH0KPiAgRVhQT1JUX1NZTUJPTChkcm1fbW9kZV9jcmVhdGVf dGlsZV9ncm91cCk7Cj4gKwo+ICsvKgo+ICsgKiBGb3IgY29ubmVjdG9ycyB0aGF0IHN1cHBvcnQg bXVsdGlwbGUgZW5jb2RlcnMsIGVpdGhlciB0aGUKPiArICogLmF0b21pY19iZXN0X2VuY29kZXIo KSBvciAuYmVzdF9lbmNvZGVyKCkgb3BlcmF0aW9uIG11c3QgYmUgaW1wbGVtZW50ZWQuCj4gKyAq Lwo+ICtzdHJ1Y3QgZHJtX2VuY29kZXIgKgo+ICtkcm1fY29ubmVjdG9yX2dldF9zaW5nbGVfZW5j b2RlcihzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+ICt7Cj4gKwlXQVJOX09OKGNv bm5lY3Rvci0+ZW5jb2Rlcl9pZHNbMV0pOwo+ICsJcmV0dXJuIGRybV9lbmNvZGVyX2ZpbmQoY29u bmVjdG9yLT5kZXYsIE5VTEwsIGNvbm5lY3Rvci0+ZW5jb2Rlcl9pZHNbMF0pOwo+ICt9CgpJIGJl bGlldmUgd2UgbmVlZCBFWFBPUlRfU1lNQk9MLgoKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2RybV9jcnRjX2hlbHBlci5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9jcnRjX2hlbHBlci5j Cj4gaW5kZXggYTUxODI0YTdlN2MxLi5hMWYzYzM4OGUzOTggMTAwNjQ0Cj4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2RybV9jcnRjX2hlbHBlci5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9j cnRjX2hlbHBlci5jCj4gQEAgLTQ4LDYgKzQ4LDggQEAKPiAgI2luY2x1ZGUgPGRybS9kcm1fcHJp bnQuaD4KPiAgI2luY2x1ZGUgPGRybS9kcm1fdmJsYW5rLmg+Cj4gIAo+ICsjaW5jbHVkZSAiZHJt X2NydGNfaW50ZXJuYWwuaCIKPiArCj4gIC8qKgo+ICAgKiBET0M6IG92ZXJ2aWV3Cj4gICAqCj4g QEAgLTYyNSw3ICs2MjcsMTEgQEAgaW50IGRybV9jcnRjX2hlbHBlcl9zZXRfY29uZmlnKHN0cnVj dCBkcm1fbW9kZV9zZXQgKnNldCwKPiAgCQluZXdfZW5jb2RlciA9IGNvbm5lY3Rvci0+ZW5jb2Rl cjsKPiAgCQlmb3IgKHJvID0gMDsgcm8gPCBzZXQtPm51bV9jb25uZWN0b3JzOyBybysrKSB7Cj4g IAkJCWlmIChzZXQtPmNvbm5lY3RvcnNbcm9dID09IGNvbm5lY3Rvcikgewo+IC0JCQkJbmV3X2Vu Y29kZXIgPSBjb25uZWN0b3JfZnVuY3MtPmJlc3RfZW5jb2Rlcihjb25uZWN0b3IpOwo+ICsJCQkJ aWYgKGNvbm5lY3Rvcl9mdW5jcy0+YmVzdF9lbmNvZGVyKQo+ICsJCQkJCW5ld19lbmNvZGVyID0g Y29ubmVjdG9yX2Z1bmNzLT5iZXN0X2VuY29kZXIoY29ubmVjdG9yKTsKPiArCQkJCWVsc2UKPiAr CQkJCQluZXdfZW5jb2RlciA9IGRybV9jb25uZWN0b3JfZ2V0X3NpbmdsZV9lbmNvZGVyKGNvbm5l Y3Rvcik7Cj4gKwo+ICAJCQkJLyogaWYgd2UgY2FuJ3QgZ2V0IGFuIGVuY29kZXIgZm9yIGEgY29u bmVjdG9yCj4gIAkJCQkgICB3ZSBhcmUgc2V0dGluZyBub3cgLSB0aGVuIGZhaWwgKi8KPiAgCQkJ CWlmIChuZXdfZW5jb2RlciA9PSBOVUxMKQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v ZHJtX2NydGNfaW50ZXJuYWwuaCBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fY3J0Y19pbnRlcm5hbC5o Cj4gaW5kZXggYzdkNWU0YzIxNDIzLi44MGFkZTFmYTY2ZTUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2RybV9jcnRjX2ludGVybmFsLmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJt X2NydGNfaW50ZXJuYWwuaAo+IEBAIC0xODEsNiArMTgxLDggQEAgaW50IGRybV9jb25uZWN0b3Jf c2V0X29ial9wcm9wKHN0cnVjdCBkcm1fbW9kZV9vYmplY3QgKm9iaiwKPiAgaW50IGRybV9jb25u ZWN0b3JfY3JlYXRlX3N0YW5kYXJkX3Byb3BlcnRpZXMoc3RydWN0IGRybV9kZXZpY2UgKmRldik7 Cj4gIGNvbnN0IGNoYXIgKmRybV9nZXRfY29ubmVjdG9yX2ZvcmNlX25hbWUoZW51bSBkcm1fY29u bmVjdG9yX2ZvcmNlIGZvcmNlKTsKPiAgdm9pZCBkcm1fY29ubmVjdG9yX2ZyZWVfd29ya19mbihz dHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspOwo+ICtzdHJ1Y3QgZHJtX2VuY29kZXIgKgo+ICtkcm1f Y29ubmVjdG9yX2dldF9zaW5nbGVfZW5jb2RlcihzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVj dG9yKTsKPiAgCj4gIC8qIElPQ1RMICovCj4gIGludCBkcm1fY29ubmVjdG9yX3Byb3BlcnR5X3Nl dF9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vbWdhZzIwMC9tZ2FnMjAwX21vZGUuYyBiL2RyaXZlcnMvZ3B1L2RybS9tZ2FnMjAwL21n YWcyMDBfbW9kZS5jCj4gaW5kZXggNWU3NzhiNWYxYTEwLi42ODIyNjU1NjA0NGIgMTAwNjQ0Cj4g LS0tIGEvZHJpdmVycy9ncHUvZHJtL21nYWcyMDAvbWdhZzIwMF9tb2RlLmMKPiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vbWdhZzIwMC9tZ2FnMjAwX21vZGUuYwo+IEBAIC0xNjM4LDE2ICsxNjM4LDYg QEAgc3RhdGljIGVudW0gZHJtX21vZGVfc3RhdHVzIG1nYV92Z2FfbW9kZV92YWxpZChzdHJ1Y3Qg ZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+ICAJcmV0dXJuIE1PREVfT0s7Cj4gIH0KPiAgCj4g LXN0YXRpYyBzdHJ1Y3QgZHJtX2VuY29kZXIgKm1nYV9jb25uZWN0b3JfYmVzdF9lbmNvZGVyKHN0 cnVjdCBkcm1fY29ubmVjdG9yCj4gLQkJCQkJCSAgKmNvbm5lY3RvcikKPiAtewo+IC0JaW50IGVu Y19pZCA9IGNvbm5lY3Rvci0+ZW5jb2Rlcl9pZHNbMF07Cj4gLQkvKiBwaWNrIHRoZSBlbmNvZGVy IGlkcyAqLwo+IC0JaWYgKGVuY19pZCkKPiAtCQlyZXR1cm4gZHJtX2VuY29kZXJfZmluZChjb25u ZWN0b3ItPmRldiwgTlVMTCwgZW5jX2lkKTsKPiAtCXJldHVybiBOVUxMOwo+IC19Cj4gLQo+ICBz dGF0aWMgdm9pZCBtZ2FfY29ubmVjdG9yX2Rlc3Ryb3koc3RydWN0IGRybV9jb25uZWN0b3IgKmNv bm5lY3RvcikKPiAgewo+ICAJc3RydWN0IG1nYV9jb25uZWN0b3IgKm1nYV9jb25uZWN0b3IgPSB0 b19tZ2FfY29ubmVjdG9yKGNvbm5lY3Rvcik7Cj4gQEAgLTE2NTksNyArMTY0OSw2IEBAIHN0YXRp YyB2b2lkIG1nYV9jb25uZWN0b3JfZGVzdHJveShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVj dG9yKQo+ICBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9jb25uZWN0b3JfaGVscGVyX2Z1bmNzIG1n YV92Z2FfY29ubmVjdG9yX2hlbHBlcl9mdW5jcyA9IHsKPiAgCS5nZXRfbW9kZXMgPSBtZ2Ffdmdh X2dldF9tb2RlcywKPiAgCS5tb2RlX3ZhbGlkID0gbWdhX3ZnYV9tb2RlX3ZhbGlkLAo+IC0JLmJl c3RfZW5jb2RlciA9IG1nYV9jb25uZWN0b3JfYmVzdF9lbmNvZGVyLAo+ICB9Owo+ICAKPiAgc3Rh dGljIGNvbnN0IHN0cnVjdCBkcm1fY29ubmVjdG9yX2Z1bmNzIG1nYV92Z2FfY29ubmVjdG9yX2Z1 bmNzID0gewo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdWRsL3VkbF9jb25uZWN0b3Iu YyBiL2RyaXZlcnMvZ3B1L2RybS91ZGwvdWRsX2Nvbm5lY3Rvci5jCj4gaW5kZXggZGRiNjFhNjBj NjEwLi5iNGFlM2U4OWE3YjQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3VkbC91ZGxf Y29ubmVjdG9yLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vdWRsL3VkbF9jb25uZWN0b3IuYwo+ IEBAIC05MCwxMyArOTAsNiBAQCB1ZGxfZGV0ZWN0KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25u ZWN0b3IsIGJvb2wgZm9yY2UpCj4gIAlyZXR1cm4gY29ubmVjdG9yX3N0YXR1c19jb25uZWN0ZWQ7 Cj4gIH0KPiAgCj4gLXN0YXRpYyBzdHJ1Y3QgZHJtX2VuY29kZXIqCj4gLXVkbF9iZXN0X3Npbmds ZV9lbmNvZGVyKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCj4gLXsKPiAtCWludCBl bmNfaWQgPSBjb25uZWN0b3ItPmVuY29kZXJfaWRzWzBdOwo+IC0JcmV0dXJuIGRybV9lbmNvZGVy X2ZpbmQoY29ubmVjdG9yLT5kZXYsIE5VTEwsIGVuY19pZCk7Cj4gLX0KPiAtCj4gIHN0YXRpYyBp bnQgdWRsX2Nvbm5lY3Rvcl9zZXRfcHJvcGVydHkoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5l Y3RvciwKPiAgCQkJCSAgICAgIHN0cnVjdCBkcm1fcHJvcGVydHkgKnByb3BlcnR5LAo+ICAJCQkJ ICAgICAgdWludDY0X3QgdmFsKQo+IEBAIC0xMjAsNyArMTEzLDYgQEAgc3RhdGljIHZvaWQgdWRs X2Nvbm5lY3Rvcl9kZXN0cm95KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCj4gIHN0 YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9oZWxwZXJfZnVuY3MgdWRsX2Nvbm5lY3Rv cl9oZWxwZXJfZnVuY3MgPSB7Cj4gIAkuZ2V0X21vZGVzID0gdWRsX2dldF9tb2RlcywKPiAgCS5t b2RlX3ZhbGlkID0gdWRsX21vZGVfdmFsaWQsCj4gLQkuYmVzdF9lbmNvZGVyID0gdWRsX2Jlc3Rf c2luZ2xlX2VuY29kZXIsCj4gIH07Cj4gIAo+ICBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9jb25u ZWN0b3JfZnVuY3MgdWRsX2Nvbm5lY3Rvcl9mdW5jcyA9IHsKPiBkaWZmIC0tZ2l0IGEvaW5jbHVk ZS9kcm0vZHJtX21vZGVzZXRfaGVscGVyX3Z0YWJsZXMuaCBiL2luY2x1ZGUvZHJtL2RybV9tb2Rl c2V0X2hlbHBlcl92dGFibGVzLmgKPiBpbmRleCA2YjE4YzhhZGZlOWQuLmI1NTQxMmM2Y2UzYSAx MDA2NDQKPiAtLS0gYS9pbmNsdWRlL2RybS9kcm1fbW9kZXNldF9oZWxwZXJfdnRhYmxlcy5oCj4g KysrIGIvaW5jbHVkZS9kcm0vZHJtX21vZGVzZXRfaGVscGVyX3Z0YWJsZXMuaAo+IEBAIC05NTUs OCArOTU1LDggQEAgc3RydWN0IGRybV9jb25uZWN0b3JfaGVscGVyX2Z1bmNzIHsKPiAgCSAqIEBh dG9taWNfYmVzdF9lbmNvZGVyLgo+ICAJICoKPiAgCSAqIFlvdSBjYW4gbGVhdmUgdGhpcyBmdW5j dGlvbiB0byBOVUxMIGlmIHRoZSBjb25uZWN0b3IgaXMgb25seQo+IC0JICogYXR0YWNoZWQgdG8g YSBzaW5nbGUgZW5jb2RlciBhbmQgeW91IGFyZSB1c2luZyB0aGUgYXRvbWljIGhlbHBlcnMuCj4g LQkgKiBJbiB0aGlzIGNhc2UsIHRoZSBjb3JlIHdpbGwgY2FsbCBkcm1fYXRvbWljX2hlbHBlcl9i ZXN0X2VuY29kZXIoKQo+ICsJICogYXR0YWNoZWQgdG8gYSBzaW5nbGUgZW5jb2Rlci4KPiArCSAq IEluIHRoaXMgY2FzZSwgdGhlIGNvcmUgd2lsbCBjYWxsIGRybV9jb25uZWN0b3JfZ2V0X3Npbmds ZV9lbmNvZGVyKCkKPiAgCSAqIGZvciB5b3UuCj4gIAkgKgo+ICAJICogUkVUVVJOUzoKPiBAQCAt OTc3LDcgKzk3Nyw3IEBAIHN0cnVjdCBkcm1fY29ubmVjdG9yX2hlbHBlcl9mdW5jcyB7Cj4gIAkg Kgo+ICAJICogVGhpcyBmdW5jdGlvbiBpcyB1c2VkIGJ5IGRybV9hdG9taWNfaGVscGVyX2NoZWNr X21vZGVzZXQoKS4KPiAgCSAqIElmIGl0IGlzIG5vdCBpbXBsZW1lbnRlZCwgdGhlIGNvcmUgd2ls bCBmYWxsYmFjayB0byBAYmVzdF9lbmNvZGVyCj4gLQkgKiAob3IgZHJtX2F0b21pY19oZWxwZXJf YmVzdF9lbmNvZGVyKCkgaWYgQGJlc3RfZW5jb2RlciBpcyBOVUxMKS4KPiArCSAqIChvciBkcm1f Y29ubmVjdG9yX2dldF9zaW5nbGVfZW5jb2RlcigpIGlmIEBiZXN0X2VuY29kZXIgaXMgTlVMTCku Cj4gIAkgKgo+ICAJICogTk9URToKPiAgCSAqCj4gLS0gCj4gMi4yMy4wCgotLSAKVmlsbGUgU3ly asOkbMOkCkludGVsCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9y ZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZl bA==