From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [PATCH] drm/i915: add a common connector type independent destroy hook Date: Tue, 09 Oct 2018 17:13:36 +0300 Message-ID: <87lg77nr73.fsf@intel.com> References: <20181009141103.20387-1-jani.nikula@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTPS id 7CC7A6E272 for ; Tue, 9 Oct 2018 14:13:47 +0000 (UTC) In-Reply-To: <20181009141103.20387-1-jani.nikula@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVHVlLCAwOSBPY3QgMjAxOCwgSmFuaSBOaWt1bGEgPGphbmkubmlrdWxhQGludGVsLmNvbT4g d3JvdGU6Cj4gQWxtb3N0IGFsbCBvZiB0aGUgY29ubmVjdG9yIGRlc3Ryb3kgZnVuY3Rpb25zIGRv IHRoZSBzYW1lIHRoaW5nLiBUaGUKPiBkaWZmZXJlbmNlcyBhcmUgaW4gdGhlIGVkaWQsIGRldGVj dF9lZGlkIGFuZCBwYW5lbCBjbGVhbnVwcywgYnV0IHRob3NlCj4gYXJlIHNhZmVseSBOVUxMIHdo ZW4gbm90IGluaXRpYWxpemVkLiBSb2xsIG91dCBhIGNvbW1vbiBjb25uZWN0b3IKPiBkZXN0cm95 IGhvb2suCj4KPiBJbnNwaXJlZCBieSBjb21taXQgYmMzMjEzYzQ0NDE1ICgiZHJtL2k5MTU6IERy b3AgdGhlIGVEUCBjaGVjayBmcm9tCj4gaW50ZWxfZHBfY29ubmVjdG9yX2Rlc3Ryb3koKSIpLgo+ Cj4gQ2M6IFZpbGxlIFN5cmphbGEgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgo+IFNp Z25lZC1vZmYtYnk6IEphbmkgTmlrdWxhIDxqYW5pLm5pa3VsYUBpbnRlbC5jb20+Cj4gLS0tCj4g IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NydC5jICAgICB8ICA4ICstLS0tLS0tCj4gIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyB8IDIwICsrKysrKysrKysrKysrKysr KystCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMgICAgICB8IDE4ICstLS0tLS0t LS0tLS0tLS0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcF9tc3QuYyAgfCAxNCAr LS0tLS0tLS0tLS0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCAgICAgfCAg MSArCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2R2by5jICAgICB8ICA5ICstLS0tLS0t LQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMgICAgfCAgNSArKy0tLQo+ICBk cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9sdmRzLmMgICAgfCAyMyArLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zZHZvLmMgICAgfCAxNiArKysr LS0tLS0tLS0tLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3R2LmMgICAgICB8ICA5 ICstLS0tLS0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS92bHZfZHNpLmMgICAgICAgfCAxMiAr LS0tLS0tLS0tLS0KPiAgMTEgZmlsZXMgY2hhbmdlZCwgMzMgaW5zZXJ0aW9ucygrKSwgMTAyIGRl bGV0aW9ucygtKQo+Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Ny dC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY3J0LmMKPiBpbmRleCAwYzZiZjgyYmIw NTkuLmFiM2Q2YjA3NDIyMiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9jcnQuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NydC5jCj4gQEAgLTg0 OSwxMiArODQ5LDYgQEAgaW50ZWxfY3J0X2RldGVjdChzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29u bmVjdG9yLAo+ICAJcmV0dXJuIHN0YXR1czsKPiAgfQo+ICAKPiAtc3RhdGljIHZvaWQgaW50ZWxf Y3J0X2Rlc3Ryb3koc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKPiAtewo+IC0JZHJt X2Nvbm5lY3Rvcl9jbGVhbnVwKGNvbm5lY3Rvcik7Cj4gLQlrZnJlZShjb25uZWN0b3IpOwo+IC19 Cj4gLQo+ICBzdGF0aWMgaW50IGludGVsX2NydF9nZXRfbW9kZXMoc3RydWN0IGRybV9jb25uZWN0 b3IgKmNvbm5lY3RvcikKPiAgewo+ICAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNvbm5lY3Rv ci0+ZGV2Owo+IEBAIC05MDksNyArOTAzLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fY29u bmVjdG9yX2Z1bmNzIGludGVsX2NydF9jb25uZWN0b3JfZnVuY3MgPSB7Cj4gIAkuZmlsbF9tb2Rl cyA9IGRybV9oZWxwZXJfcHJvYmVfc2luZ2xlX2Nvbm5lY3Rvcl9tb2RlcywKPiAgCS5sYXRlX3Jl Z2lzdGVyID0gaW50ZWxfY29ubmVjdG9yX3JlZ2lzdGVyLAo+ICAJLmVhcmx5X3VucmVnaXN0ZXIg PSBpbnRlbF9jb25uZWN0b3JfdW5yZWdpc3RlciwKPiAtCS5kZXN0cm95ID0gaW50ZWxfY3J0X2Rl c3Ryb3ksCj4gKwkuZGVzdHJveSA9IGludGVsX2Nvbm5lY3Rvcl9kZXN0cm95LAo+ICAJLmF0b21p Y19kZXN0cm95X3N0YXRlID0gZHJtX2F0b21pY19oZWxwZXJfY29ubmVjdG9yX2Rlc3Ryb3lfc3Rh dGUsCj4gIAkuYXRvbWljX2R1cGxpY2F0ZV9zdGF0ZSA9IGRybV9hdG9taWNfaGVscGVyX2Nvbm5l Y3Rvcl9kdXBsaWNhdGVfc3RhdGUsCj4gIH07Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3Bs YXkuYwo+IGluZGV4IGUxNGUzMjY4YTg0Yy4uYTE0NWVmYmE5MTU3IDEwMDY0NAo+IC0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+IEBAIC02MzY1LDcgKzYzNjUsNyBAQCBzdHJ1Y3QgaW50 ZWxfY29ubmVjdG9yICppbnRlbF9jb25uZWN0b3JfYWxsb2Modm9pZCkKPiAgICogVGhpcyBzaG91 bGQgb25seSBiZSB1c2VkIGFmdGVyIGludGVsX2Nvbm5lY3Rvcl9hbGxvYyBoYXMgcmV0dXJuZWQK PiAgICogc3VjY2Vzc2Z1bGx5LCBhbmQgYmVmb3JlIGRybV9jb25uZWN0b3JfaW5pdCByZXR1cm5z IHN1Y2Nlc3NmdWxseS4KPiAgICogT3RoZXJ3aXNlIHRoZSBkZXN0cm95IGNhbGxiYWNrcyBmb3Ig dGhlIGNvbm5lY3RvciBhbmQgdGhlIHN0YXRlIHNob3VsZAo+IC0gKiB0YWtlIGNhcmUgb2YgcHJv cGVyIGNsZWFudXAvZnJlZQo+ICsgKiB0YWtlIGNhcmUgb2YgcHJvcGVyIGNsZWFudXAvZnJlZSAo c2VlIGludGVsX2Nvbm5lY3Rvcl9kZXN0cm95KS4KPiAgICovCj4gIHZvaWQgaW50ZWxfY29ubmVj dG9yX2ZyZWUoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+ICB7Cj4gQEAgLTYz NzMsNiArNjM3MywyNCBAQCB2b2lkIGludGVsX2Nvbm5lY3Rvcl9mcmVlKHN0cnVjdCBpbnRlbF9j b25uZWN0b3IgKmNvbm5lY3RvcikKPiAgCWtmcmVlKGNvbm5lY3Rvcik7Cj4gIH0KPiAgCj4gKy8q Cj4gKyAqIENvbm5lY3RvciB0eXBlIGluZGVwZW5kZW50IGRlc3Ryb3kgaG9vayBmb3IgZHJtX2Nv bm5lY3Rvcl9mdW5jcy4KPiArICovCj4gK3ZvaWQgaW50ZWxfY29ubmVjdG9yX2Rlc3Ryb3koc3Ry dWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKPiArewo+ICsJc3RydWN0IGludGVsX2Nvbm5l Y3RvciAqaW50ZWxfY29ubmVjdG9yID0gdG9faW50ZWxfY29ubmVjdG9yKGNvbm5lY3Rvcik7Cj4g Kwo+ICsJa2ZyZWUoaW50ZWxfY29ubmVjdG9yLT5kZXRlY3RfZWRpZCk7Cj4gKwo+ICsJaWYgKCFJ U19FUlJfT1JfTlVMTChpbnRlbF9jb25uZWN0b3ItPmVkaWQpKQo+ICsJCWtmcmVlKGludGVsX2Nv bm5lY3Rvci0+ZWRpZCk7Cj4gKwo+ICsJaW50ZWxfcGFuZWxfZmluaSgmaW50ZWxfY29ubmVjdG9y LT5wYW5lbCk7Cj4gKwo+ICsJZHJtX2Nvbm5lY3Rvcl9jbGVhbnVwKGNvbm5lY3Rvcik7Cj4gKwlr ZnJlZShjb25uZWN0b3IpOwo+ICt9Cj4gKwo+ICAvKiBTaW1wbGUgY29ubmVjdG9yLT5nZXRfaHdf c3RhdGUgaW1wbGVtZW50YXRpb24gZm9yIGVuY29kZXJzIHRoYXQgc3VwcG9ydCBvbmx5Cj4gICAq IG9uZSBjb25uZWN0b3IgYW5kIG5vIGNsb25pbmcgYW5kIGhlbmNlIHRoZSBlbmNvZGVyIHN0YXRl IGRldGVybWluZXMgdGhlIHN0YXRlCj4gICAqIG9mIHRoZSBjb25uZWN0b3IuICovCj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kcC5jCj4gaW5kZXggZDEyZjk4N2E2YzQzLi4wODU1Yjk3ODVmN2IgMTAwNjQ0 Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYwo+ICsrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2RwLmMKPiBAQCAtNTI1MSwyMiArNTI1MSw2IEBAIGludGVsX2Rw X2Nvbm5lY3Rvcl91bnJlZ2lzdGVyKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCj4g IAlpbnRlbF9jb25uZWN0b3JfdW5yZWdpc3Rlcihjb25uZWN0b3IpOwo+ICB9Cj4gIAo+IC1zdGF0 aWMgdm9pZAo+IC1pbnRlbF9kcF9jb25uZWN0b3JfZGVzdHJveShzdHJ1Y3QgZHJtX2Nvbm5lY3Rv ciAqY29ubmVjdG9yKQo+IC17Cj4gLQlzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICppbnRlbF9jb25u ZWN0b3IgPSB0b19pbnRlbF9jb25uZWN0b3IoY29ubmVjdG9yKTsKPiAtCj4gLQlrZnJlZShpbnRl bF9jb25uZWN0b3ItPmRldGVjdF9lZGlkKTsKPiAtCj4gLQlpZiAoIUlTX0VSUl9PUl9OVUxMKGlu dGVsX2Nvbm5lY3Rvci0+ZWRpZCkpCj4gLQkJa2ZyZWUoaW50ZWxfY29ubmVjdG9yLT5lZGlkKTsK PiAtCj4gLQlpbnRlbF9wYW5lbF9maW5pKCZpbnRlbF9jb25uZWN0b3ItPnBhbmVsKTsKPiAtCj4g LQlkcm1fY29ubmVjdG9yX2NsZWFudXAoY29ubmVjdG9yKTsKPiAtCWtmcmVlKGNvbm5lY3Rvcik7 Cj4gLX0KPiAtCj4gIHZvaWQgaW50ZWxfZHBfZW5jb2Rlcl9kZXN0cm95KHN0cnVjdCBkcm1fZW5j b2RlciAqZW5jb2RlcikKPiAgewo+ICAJc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxf ZGlnX3BvcnQgPSBlbmNfdG9fZGlnX3BvcnQoZW5jb2Rlcik7Cj4gQEAgLTU2MTMsNyArNTU5Nyw3 IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9mdW5jcyBpbnRlbF9kcF9jb25u ZWN0b3JfZnVuY3MgPSB7Cj4gIAkuYXRvbWljX3NldF9wcm9wZXJ0eSA9IGludGVsX2RpZ2l0YWxf Y29ubmVjdG9yX2F0b21pY19zZXRfcHJvcGVydHksCj4gIAkubGF0ZV9yZWdpc3RlciA9IGludGVs X2RwX2Nvbm5lY3Rvcl9yZWdpc3RlciwKPiAgCS5lYXJseV91bnJlZ2lzdGVyID0gaW50ZWxfZHBf Y29ubmVjdG9yX3VucmVnaXN0ZXIsCj4gLQkuZGVzdHJveSA9IGludGVsX2RwX2Nvbm5lY3Rvcl9k ZXN0cm95LAo+ICsJLmRlc3Ryb3kgPSBpbnRlbF9jb25uZWN0b3JfZGVzdHJveSwKPiAgCS5hdG9t aWNfZGVzdHJveV9zdGF0ZSA9IGRybV9hdG9taWNfaGVscGVyX2Nvbm5lY3Rvcl9kZXN0cm95X3N0 YXRlLAo+ICAJLmF0b21pY19kdXBsaWNhdGVfc3RhdGUgPSBpbnRlbF9kaWdpdGFsX2Nvbm5lY3Rv cl9kdXBsaWNhdGVfc3RhdGUsCj4gIH07Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2RwX21zdC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHBfbXN0LmMK PiBpbmRleCA0M2RiMmU5YWM1NzUuLjlhZDQ5N2U4YWUzNiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kcF9tc3QuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2RwX21zdC5jCj4gQEAgLTMyOSwyNCArMzI5LDEyIEBAIGludGVsX2RwX21zdF9kZXRl Y3Qoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwgYm9vbCBmb3JjZSkKPiAgCXJldHVy biBkcm1fZHBfbXN0X2RldGVjdF9wb3J0KGNvbm5lY3RvciwgJmludGVsX2RwLT5tc3RfbWdyLCBp bnRlbF9jb25uZWN0b3ItPnBvcnQpOwo+ICB9Cj4gIAo+IC1zdGF0aWMgdm9pZAo+IC1pbnRlbF9k cF9tc3RfY29ubmVjdG9yX2Rlc3Ryb3koc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikK PiAtewo+IC0Jc3RydWN0IGludGVsX2Nvbm5lY3RvciAqaW50ZWxfY29ubmVjdG9yID0gdG9faW50 ZWxfY29ubmVjdG9yKGNvbm5lY3Rvcik7Cj4gLQo+IC0JaWYgKCFJU19FUlJfT1JfTlVMTChpbnRl bF9jb25uZWN0b3ItPmVkaWQpKQo+IC0JCWtmcmVlKGludGVsX2Nvbm5lY3Rvci0+ZWRpZCk7Cj4g LQo+IC0JZHJtX2Nvbm5lY3Rvcl9jbGVhbnVwKGNvbm5lY3Rvcik7Cj4gLQlrZnJlZShjb25uZWN0 b3IpOwo+IC19Cj4gLQo+ICBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9jb25uZWN0b3JfZnVuY3Mg aW50ZWxfZHBfbXN0X2Nvbm5lY3Rvcl9mdW5jcyA9IHsKPiAgCS5kZXRlY3QgPSBpbnRlbF9kcF9t c3RfZGV0ZWN0LAo+ICAJLmZpbGxfbW9kZXMgPSBkcm1faGVscGVyX3Byb2JlX3NpbmdsZV9jb25u ZWN0b3JfbW9kZXMsCj4gIAkubGF0ZV9yZWdpc3RlciA9IGludGVsX2Nvbm5lY3Rvcl9yZWdpc3Rl ciwKPiAgCS5lYXJseV91bnJlZ2lzdGVyID0gaW50ZWxfY29ubmVjdG9yX3VucmVnaXN0ZXIsCj4g LQkuZGVzdHJveSA9IGludGVsX2RwX21zdF9jb25uZWN0b3JfZGVzdHJveSwKPiArCS5kZXN0cm95 ID0gaW50ZWxfY29ubmVjdG9yX2Rlc3Ryb3ksCj4gIAkuYXRvbWljX2Rlc3Ryb3lfc3RhdGUgPSBk cm1fYXRvbWljX2hlbHBlcl9jb25uZWN0b3JfZGVzdHJveV9zdGF0ZSwKPiAgCS5hdG9taWNfZHVw bGljYXRlX3N0YXRlID0gZHJtX2F0b21pY19oZWxwZXJfY29ubmVjdG9yX2R1cGxpY2F0ZV9zdGF0 ZSwKPiAgfTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2Lmgg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+IGluZGV4IDgwNTBkMDZjNzIyYS4u NGI4ZmVjNzRhZDQ5IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Ry di5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiBAQCAtMTUxMCw2 ICsxNTEwLDcgQEAgdm9pZCBpbnRlbF9lbmNvZGVyX2Rlc3Ryb3koc3RydWN0IGRybV9lbmNvZGVy ICplbmNvZGVyKTsKPiAgaW50IGludGVsX2Nvbm5lY3Rvcl9pbml0KHN0cnVjdCBpbnRlbF9jb25u ZWN0b3IgKik7Cj4gIHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmludGVsX2Nvbm5lY3Rvcl9hbGxv Yyh2b2lkKTsKPiAgdm9pZCBpbnRlbF9jb25uZWN0b3JfZnJlZShzdHJ1Y3QgaW50ZWxfY29ubmVj dG9yICpjb25uZWN0b3IpOwo+ICt2b2lkIGludGVsX2Nvbm5lY3Rvcl9kZXN0cm95KHN0cnVjdCBk cm1fY29ubmVjdG9yICpjb25uZWN0b3IpOwo+ICBib29sIGludGVsX2Nvbm5lY3Rvcl9nZXRfaHdf c3RhdGUoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKTsKPiAgdm9pZCBpbnRlbF9j b25uZWN0b3JfYXR0YWNoX2VuY29kZXIoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9y LAo+ICAJCQkJICAgIHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKTsKPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHZvLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kdm8uYwo+IGluZGV4IDRlMTQyZmY0OTcwOC4uYmUzYzBhNWY0NDdkIDEwMDY0NAo+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2R2by5jCj4gKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZHZvLmMKPiBAQCAtMzMzLDE4ICszMzMsMTEgQEAgc3RhdGljIGlu dCBpbnRlbF9kdm9fZ2V0X21vZGVzKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCj4g IAlyZXR1cm4gMDsKPiAgfQo+ICAKPiAtc3RhdGljIHZvaWQgaW50ZWxfZHZvX2Rlc3Ryb3koc3Ry dWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKPiAtewo+IC0JZHJtX2Nvbm5lY3Rvcl9jbGVh bnVwKGNvbm5lY3Rvcik7Cj4gLQlpbnRlbF9wYW5lbF9maW5pKCZ0b19pbnRlbF9jb25uZWN0b3Io Y29ubmVjdG9yKS0+cGFuZWwpOwo+IC0Ja2ZyZWUoY29ubmVjdG9yKTsKPiAtfQo+IC0KPiAgc3Rh dGljIGNvbnN0IHN0cnVjdCBkcm1fY29ubmVjdG9yX2Z1bmNzIGludGVsX2R2b19jb25uZWN0b3Jf ZnVuY3MgPSB7Cj4gIAkuZGV0ZWN0ID0gaW50ZWxfZHZvX2RldGVjdCwKPiAgCS5sYXRlX3JlZ2lz dGVyID0gaW50ZWxfY29ubmVjdG9yX3JlZ2lzdGVyLAo+ICAJLmVhcmx5X3VucmVnaXN0ZXIgPSBp bnRlbF9jb25uZWN0b3JfdW5yZWdpc3RlciwKPiAtCS5kZXN0cm95ID0gaW50ZWxfZHZvX2Rlc3Ry b3ksCj4gKwkuZGVzdHJveSA9IGludGVsX2Nvbm5lY3Rvcl9kZXN0cm95LAo+ICAJLmZpbGxfbW9k ZXMgPSBkcm1faGVscGVyX3Byb2JlX3NpbmdsZV9jb25uZWN0b3JfbW9kZXMsCj4gIAkuYXRvbWlj X2Rlc3Ryb3lfc3RhdGUgPSBkcm1fYXRvbWljX2hlbHBlcl9jb25uZWN0b3JfZGVzdHJveV9zdGF0 ZSwKPiAgCS5hdG9taWNfZHVwbGljYXRlX3N0YXRlID0gZHJtX2F0b21pY19oZWxwZXJfY29ubmVj dG9yX2R1cGxpY2F0ZV9zdGF0ZSwKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfaGRtaS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jCj4gaW5kZXgg NDU0ZjU3MDI3NWU5Li4yYzUzZWZjNDYzZTYgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfaGRtaS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRt aS5jCj4gQEAgLTIwNzMsOSArMjA3Myw4IEBAIHN0YXRpYyB2b2lkIGludGVsX2hkbWlfZGVzdHJv eShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+ICB7Cj4gIAlpZiAoaW50ZWxfYXR0 YWNoZWRfaGRtaShjb25uZWN0b3IpLT5jZWNfbm90aWZpZXIpCj4gIAkJY2VjX25vdGlmaWVyX3B1 dChpbnRlbF9hdHRhY2hlZF9oZG1pKGNvbm5lY3RvciktPmNlY19ub3RpZmllcik7Cj4gLQlrZnJl ZSh0b19pbnRlbF9jb25uZWN0b3IoY29ubmVjdG9yKS0+ZGV0ZWN0X2VkaWQpOwo+IC0JZHJtX2Nv bm5lY3Rvcl9jbGVhbnVwKGNvbm5lY3Rvcik7Cj4gLQlrZnJlZShjb25uZWN0b3IpOwo+ICsKPiAr CWludGVsX2Nvbm5lY3Rvcl9kZXN0cm95KGNvbm5lY3Rvcik7Cj4gIH0KPiAgCj4gIHN0YXRpYyBj b25zdCBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9mdW5jcyBpbnRlbF9oZG1pX2Nvbm5lY3Rvcl9mdW5j cyA9IHsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHZkcy5jIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHZkcy5jCj4gaW5kZXggZjlmM2IwODg1YmE1Li4x ZmU5NzBjZjk5MDkgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHZk cy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHZkcy5jCj4gQEAgLTQ3Nywy NyArNDc3LDYgQEAgc3RhdGljIGludCBpbnRlbF9sdmRzX2dldF9tb2RlcyhzdHJ1Y3QgZHJtX2Nv bm5lY3RvciAqY29ubmVjdG9yKQo+ICAJcmV0dXJuIDE7Cj4gIH0KPiAgCj4gLS8qKgo+IC0gKiBp bnRlbF9sdmRzX2Rlc3Ryb3kgLSB1bnJlZ2lzdGVyIGFuZCBmcmVlIExWRFMgc3RydWN0dXJlcwo+ IC0gKiBAY29ubmVjdG9yOiBjb25uZWN0b3IgdG8gZnJlZQo+IC0gKgo+IC0gKiBVbnJlZ2lzdGVy IHRoZSBEREMgYnVzIGZvciB0aGlzIGNvbm5lY3RvciB0aGVuIGZyZWUgdGhlIGRyaXZlciBwcml2 YXRlCj4gLSAqIHN0cnVjdHVyZS4KPiAtICovCj4gLXN0YXRpYyB2b2lkIGludGVsX2x2ZHNfZGVz dHJveShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+IC17Cj4gLQlzdHJ1Y3QgaW50 ZWxfbHZkc19jb25uZWN0b3IgKmx2ZHNfY29ubmVjdG9yID0KPiAtCQl0b19sdmRzX2Nvbm5lY3Rv cihjb25uZWN0b3IpOwo+IC0KPiAtCWlmICghSVNfRVJSX09SX05VTEwobHZkc19jb25uZWN0b3It PmJhc2UuZWRpZCkpCj4gLQkJa2ZyZWUobHZkc19jb25uZWN0b3ItPmJhc2UuZWRpZCk7Cj4gLQo+ IC0JaW50ZWxfcGFuZWxfZmluaSgmbHZkc19jb25uZWN0b3ItPmJhc2UucGFuZWwpOwo+IC0KPiAt CWRybV9jb25uZWN0b3JfY2xlYW51cChjb25uZWN0b3IpOwo+IC0Ja2ZyZWUoY29ubmVjdG9yKTsK PiAtfQo+IC0KPiAgc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fY29ubmVjdG9yX2hlbHBlcl9mdW5j cyBpbnRlbF9sdmRzX2Nvbm5lY3Rvcl9oZWxwZXJfZnVuY3MgPSB7Cj4gIAkuZ2V0X21vZGVzID0g aW50ZWxfbHZkc19nZXRfbW9kZXMsCj4gIAkubW9kZV92YWxpZCA9IGludGVsX2x2ZHNfbW9kZV92 YWxpZCwKPiBAQCAtNTExLDcgKzQ5MCw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2Nvbm5l Y3Rvcl9mdW5jcyBpbnRlbF9sdmRzX2Nvbm5lY3Rvcl9mdW5jcyA9IHsKPiAgCS5hdG9taWNfc2V0 X3Byb3BlcnR5ID0gaW50ZWxfZGlnaXRhbF9jb25uZWN0b3JfYXRvbWljX3NldF9wcm9wZXJ0eSwK PiAgCS5sYXRlX3JlZ2lzdGVyID0gaW50ZWxfY29ubmVjdG9yX3JlZ2lzdGVyLAo+ICAJLmVhcmx5 X3VucmVnaXN0ZXIgPSBpbnRlbF9jb25uZWN0b3JfdW5yZWdpc3RlciwKPiAtCS5kZXN0cm95ID0g aW50ZWxfbHZkc19kZXN0cm95LAo+ICsJLmRlc3Ryb3kgPSBpbnRlbF9jb25uZWN0b3JfZGVzdHJv eSwKPiAgCS5hdG9taWNfZGVzdHJveV9zdGF0ZSA9IGRybV9hdG9taWNfaGVscGVyX2Nvbm5lY3Rv cl9kZXN0cm95X3N0YXRlLAo+ICAJLmF0b21pY19kdXBsaWNhdGVfc3RhdGUgPSBpbnRlbF9kaWdp dGFsX2Nvbm5lY3Rvcl9kdXBsaWNhdGVfc3RhdGUsCj4gIH07Cj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nkdm8uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X3Nkdm8uYwo+IGluZGV4IDcwMTM3MmU1MTJhOC4uMTgyNGQ5NGFlMTIzIDEwMDY0NAo+IC0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nkdm8uYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX3Nkdm8uYwo+IEBAIC0yMDU4LDE0ICsyMDU4LDYgQEAgc3RhdGljIGludCBp bnRlbF9zZHZvX2dldF9tb2RlcyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+ICAJ cmV0dXJuICFsaXN0X2VtcHR5KCZjb25uZWN0b3ItPnByb2JlZF9tb2Rlcyk7Cj4gIH0KPiAgCj4g LXN0YXRpYyB2b2lkIGludGVsX3Nkdm9fZGVzdHJveShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29u bmVjdG9yKQo+IC17Cj4gLQlzdHJ1Y3QgaW50ZWxfc2R2b19jb25uZWN0b3IgKmludGVsX3Nkdm9f Y29ubmVjdG9yID0gdG9faW50ZWxfc2R2b19jb25uZWN0b3IoY29ubmVjdG9yKTsKPiAtCj4gLQlk cm1fY29ubmVjdG9yX2NsZWFudXAoY29ubmVjdG9yKTsKPiAtCWtmcmVlKGludGVsX3Nkdm9fY29u bmVjdG9yKTsKPiAtfQo+IC0KPiAgc3RhdGljIGludAo+ICBpbnRlbF9zZHZvX2Nvbm5lY3Rvcl9h dG9taWNfZ2V0X3Byb3BlcnR5KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCj4gIAkJ CQkJIGNvbnN0IHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpzdGF0ZSwKPiBAQCAtMjIyOCw3 ICsyMjIwLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fY29ubmVjdG9yX2Z1bmNzIGludGVs X3Nkdm9fY29ubmVjdG9yX2Z1bmNzID0gewo+ICAJLmF0b21pY19zZXRfcHJvcGVydHkgPSBpbnRl bF9zZHZvX2Nvbm5lY3Rvcl9hdG9taWNfc2V0X3Byb3BlcnR5LAo+ICAJLmxhdGVfcmVnaXN0ZXIg PSBpbnRlbF9zZHZvX2Nvbm5lY3Rvcl9yZWdpc3RlciwKPiAgCS5lYXJseV91bnJlZ2lzdGVyID0g aW50ZWxfc2R2b19jb25uZWN0b3JfdW5yZWdpc3RlciwKPiAtCS5kZXN0cm95ID0gaW50ZWxfc2R2 b19kZXN0cm95LAo+ICsJLmRlc3Ryb3kgPSBpbnRlbF9jb25uZWN0b3JfZGVzdHJveSwKCk9rYXks IHRoaXMgd29ya3MgYnkgYWNjaWRlbnQuIEknbGwgcHJvYmFibHkgZHJvcCB0aGUgc2R2byBodW5r cy4KCkJSLApKYW5pLgoKPiAgCS5hdG9taWNfZGVzdHJveV9zdGF0ZSA9IGRybV9hdG9taWNfaGVs cGVyX2Nvbm5lY3Rvcl9kZXN0cm95X3N0YXRlLAo+ICAJLmF0b21pY19kdXBsaWNhdGVfc3RhdGUg PSBpbnRlbF9zZHZvX2Nvbm5lY3Rvcl9kdXBsaWNhdGVfc3RhdGUsCj4gIH07Cj4gQEAgLTI1ODMs NyArMjU3NSw3IEBAIGludGVsX3Nkdm9fdHZfaW5pdChzdHJ1Y3QgaW50ZWxfc2R2byAqaW50ZWxf c2R2bywgaW50IHR5cGUpCj4gIAlyZXR1cm4gdHJ1ZTsKPiAgCj4gIGVycjoKPiAtCWludGVsX3Nk dm9fZGVzdHJveShjb25uZWN0b3IpOwo+ICsJaW50ZWxfY29ubmVjdG9yX2Rlc3Ryb3koY29ubmVj dG9yKTsKPiAgCXJldHVybiBmYWxzZTsKPiAgfQo+ICAKPiBAQCAtMjY3NSw3ICsyNjY3LDcgQEAg aW50ZWxfc2R2b19sdmRzX2luaXQoc3RydWN0IGludGVsX3Nkdm8gKmludGVsX3Nkdm8sIGludCBk ZXZpY2UpCj4gIAlyZXR1cm4gdHJ1ZTsKPiAgCj4gIGVycjoKPiAtCWludGVsX3Nkdm9fZGVzdHJv eShjb25uZWN0b3IpOwo+ICsJaW50ZWxfY29ubmVjdG9yX2Rlc3Ryb3koY29ubmVjdG9yKTsKPiAg CXJldHVybiBmYWxzZTsKPiAgfQo+ICAKPiBAQCAtMjc0NSw3ICsyNzM3LDcgQEAgc3RhdGljIHZv aWQgaW50ZWxfc2R2b19vdXRwdXRfY2xlYW51cChzdHJ1Y3QgaW50ZWxfc2R2byAqaW50ZWxfc2R2 bykKPiAgCQkJCSAmZGV2LT5tb2RlX2NvbmZpZy5jb25uZWN0b3JfbGlzdCwgaGVhZCkgewo+ICAJ CWlmIChpbnRlbF9hdHRhY2hlZF9lbmNvZGVyKGNvbm5lY3RvcikgPT0gJmludGVsX3Nkdm8tPmJh c2UpIHsKPiAgCQkJZHJtX2Nvbm5lY3Rvcl91bnJlZ2lzdGVyKGNvbm5lY3Rvcik7Cj4gLQkJCWlu dGVsX3Nkdm9fZGVzdHJveShjb25uZWN0b3IpOwo+ICsJCQlpbnRlbF9jb25uZWN0b3JfZGVzdHJv eShjb25uZWN0b3IpOwo+ICAJCX0KPiAgCX0KPiAgfQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF90di5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdHYuYwo+ IGluZGV4IGI1YjA0Y2I4OTJlOS4uOGI5Y2UwZGM3OGU1IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX3R2LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF90di5jCj4gQEAgLTEzNzcsMTcgKzEzNzcsMTAgQEAgaW50ZWxfdHZfZ2V0X21vZGVzKHN0cnVj dCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCj4gIAlyZXR1cm4gY291bnQ7Cj4gIH0KPiAgCj4g LXN0YXRpYyB2b2lkCj4gLWludGVsX3R2X2Rlc3Ryb3koc3RydWN0IGRybV9jb25uZWN0b3IgKmNv bm5lY3RvcikKPiAtewo+IC0JZHJtX2Nvbm5lY3Rvcl9jbGVhbnVwKGNvbm5lY3Rvcik7Cj4gLQlr ZnJlZShjb25uZWN0b3IpOwo+IC19Cj4gLQo+ICBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9jb25u ZWN0b3JfZnVuY3MgaW50ZWxfdHZfY29ubmVjdG9yX2Z1bmNzID0gewo+ICAJLmxhdGVfcmVnaXN0 ZXIgPSBpbnRlbF9jb25uZWN0b3JfcmVnaXN0ZXIsCj4gIAkuZWFybHlfdW5yZWdpc3RlciA9IGlu dGVsX2Nvbm5lY3Rvcl91bnJlZ2lzdGVyLAo+IC0JLmRlc3Ryb3kgPSBpbnRlbF90dl9kZXN0cm95 LAo+ICsJLmRlc3Ryb3kgPSBpbnRlbF9jb25uZWN0b3JfZGVzdHJveSwKPiAgCS5maWxsX21vZGVz ID0gZHJtX2hlbHBlcl9wcm9iZV9zaW5nbGVfY29ubmVjdG9yX21vZGVzLAo+ICAJLmF0b21pY19k ZXN0cm95X3N0YXRlID0gZHJtX2F0b21pY19oZWxwZXJfY29ubmVjdG9yX2Rlc3Ryb3lfc3RhdGUs Cj4gIAkuYXRvbWljX2R1cGxpY2F0ZV9zdGF0ZSA9IGRybV9hdG9taWNfaGVscGVyX2Nvbm5lY3Rv cl9kdXBsaWNhdGVfc3RhdGUsCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3Zs dl9kc2kuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3Zsdl9kc2kuYwo+IGluZGV4IDQzNWEyYzM1 ZWU4Yy4uNWFjY2QwYzM2MGY5IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3Zs dl9kc2kuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3Zsdl9kc2kuYwo+IEBAIC0xNjQy LDE2ICsxNjQyLDYgQEAgc3RhdGljIGludCBpbnRlbF9kc2lfZ2V0X21vZGVzKHN0cnVjdCBkcm1f Y29ubmVjdG9yICpjb25uZWN0b3IpCj4gIAlyZXR1cm4gMTsKPiAgfQo+ICAKPiAtc3RhdGljIHZv aWQgaW50ZWxfZHNpX2Nvbm5lY3Rvcl9kZXN0cm95KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25u ZWN0b3IpCj4gLXsKPiAtCXN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmludGVsX2Nvbm5lY3RvciA9 IHRvX2ludGVsX2Nvbm5lY3Rvcihjb25uZWN0b3IpOwo+IC0KPiAtCURSTV9ERUJVR19LTVMoIlxu Iik7Cj4gLQlpbnRlbF9wYW5lbF9maW5pKCZpbnRlbF9jb25uZWN0b3ItPnBhbmVsKTsKPiAtCWRy bV9jb25uZWN0b3JfY2xlYW51cChjb25uZWN0b3IpOwo+IC0Ja2ZyZWUoY29ubmVjdG9yKTsKPiAt fQo+IC0KPiAgc3RhdGljIHZvaWQgaW50ZWxfZHNpX2VuY29kZXJfZGVzdHJveShzdHJ1Y3QgZHJt X2VuY29kZXIgKmVuY29kZXIpCj4gIHsKPiAgCXN0cnVjdCBpbnRlbF9kc2kgKmludGVsX2RzaSA9 IGVuY190b19pbnRlbF9kc2koZW5jb2Rlcik7Cj4gQEAgLTE2NzYsNyArMTY2Niw3IEBAIHN0YXRp YyBjb25zdCBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9oZWxwZXJfZnVuY3MgaW50ZWxfZHNpX2Nvbm5l Y3Rvcl9oZWxwZXJfZnVuY3MKPiAgc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fY29ubmVjdG9yX2Z1 bmNzIGludGVsX2RzaV9jb25uZWN0b3JfZnVuY3MgPSB7Cj4gIAkubGF0ZV9yZWdpc3RlciA9IGlu dGVsX2Nvbm5lY3Rvcl9yZWdpc3RlciwKPiAgCS5lYXJseV91bnJlZ2lzdGVyID0gaW50ZWxfY29u bmVjdG9yX3VucmVnaXN0ZXIsCj4gLQkuZGVzdHJveSA9IGludGVsX2RzaV9jb25uZWN0b3JfZGVz dHJveSwKPiArCS5kZXN0cm95ID0gaW50ZWxfY29ubmVjdG9yX2Rlc3Ryb3ksCj4gIAkuZmlsbF9t b2RlcyA9IGRybV9oZWxwZXJfcHJvYmVfc2luZ2xlX2Nvbm5lY3Rvcl9tb2RlcywKPiAgCS5hdG9t aWNfZ2V0X3Byb3BlcnR5ID0gaW50ZWxfZGlnaXRhbF9jb25uZWN0b3JfYXRvbWljX2dldF9wcm9w ZXJ0eSwKPiAgCS5hdG9taWNfc2V0X3Byb3BlcnR5ID0gaW50ZWxfZGlnaXRhbF9jb25uZWN0b3Jf YXRvbWljX3NldF9wcm9wZXJ0eSwKCi0tIApKYW5pIE5pa3VsYSwgSW50ZWwgT3BlbiBTb3VyY2Ug R3JhcGhpY3MgQ2VudGVyCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9w Lm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVs LWdmeAo=