From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?Q?Noralf_Tr=c3=b8nnes?= Subject: Re: [PATCH 04/11] drm/tinydrm: Remove tinydrm_display_pipe_init() Date: Mon, 28 Jan 2019 15:46:02 +0100 Message-ID: <502b84dd-bdf0-e5f5-0f92-52a430ba7887@tronnes.org> References: <20190120114318.49199-1-noralf@tronnes.org> <20190120114318.49199-5-noralf@tronnes.org> <20190121091555.GL3271@phenom.ffwll.local> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from smtp.domeneshop.no (smtp.domeneshop.no [IPv6:2a01:5b40:0:3005::1]) by gabe.freedesktop.org (Postfix) with ESMTPS id 0B6AE6E2A6 for ; Mon, 28 Jan 2019 14:46:08 +0000 (UTC) In-Reply-To: <20190121091555.GL3271@phenom.ffwll.local> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Daniel Vetter Cc: david@lechnology.com, dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org CgpEZW4gMjEuMDEuMjAxOSAxMC4xNSwgc2tyZXYgRGFuaWVsIFZldHRlcjoKPiBPbiBTdW4sIEph biAyMCwgMjAxOSBhdCAxMjo0MzoxMVBNICswMTAwLCBOb3JhbGYgVHLDuG5uZXMgd3JvdGU6Cj4+ IEZ1cnRoZXIgc3RyaXAgZG93biB0aW55ZHJtLmtvIGFuZCBzd2l0Y2ggdG8gZHJtX3NpbXBsZV9j b25uZWN0b3JfY3JlYXRlKCkuCj4+Cj4+IFNpZ25lZC1vZmYtYnk6IE5vcmFsZiBUcsO4bm5lcyA8 bm9yYWxmQHRyb25uZXMub3JnPgo+PiAtLS0KPj4gIERvY3VtZW50YXRpb24vZ3B1L3Rpbnlkcm0u cnN0ICAgICAgICAgICAgICAgfCAgIDMgLQo+PiAgZHJpdmVycy9ncHUvZHJtL3Rpbnlkcm0vY29y ZS9NYWtlZmlsZSAgICAgICB8ICAgMiArLQo+PiAgZHJpdmVycy9ncHUvZHJtL3Rpbnlkcm0vY29y ZS90aW55ZHJtLXBpcGUuYyB8IDE4MyAtLS0tLS0tLS0tLS0tLS0tLS0tLQo+PiAgZHJpdmVycy9n cHUvZHJtL3Rpbnlkcm0vbWlwaS1kYmkuYyAgICAgICAgICB8ICAyNCArKy0KPj4gIGRyaXZlcnMv Z3B1L2RybS90aW55ZHJtL3JlcGFwZXIuYyAgICAgICAgICAgfCAgMTYgKy0KPj4gIGRyaXZlcnMv Z3B1L2RybS90aW55ZHJtL3N0NzU4Ni5jICAgICAgICAgICAgfCAgMTkgKy0KPj4gIGluY2x1ZGUv ZHJtL3Rpbnlkcm0vdGlueWRybS5oICAgICAgICAgICAgICAgfCAgIDkgLQo+PiAgNyBmaWxlcyBj aGFuZ2VkLCA0MyBpbnNlcnRpb25zKCspLCAyMTMgZGVsZXRpb25zKC0pCj4+ICBkZWxldGUgbW9k ZSAxMDA2NDQgZHJpdmVycy9ncHUvZHJtL3Rpbnlkcm0vY29yZS90aW55ZHJtLXBpcGUuYwo+Pgo+ PiBkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9ncHUvdGlueWRybS5yc3QgYi9Eb2N1bWVudGF0 aW9uL2dwdS90aW55ZHJtLnJzdAo+PiBpbmRleCBhOTEzNjQ0YmZjMTkuLjFjYTcyNjQ3NGFmNCAx MDA2NDQKPj4gLS0tIGEvRG9jdW1lbnRhdGlvbi9ncHUvdGlueWRybS5yc3QKPj4gKysrIGIvRG9j dW1lbnRhdGlvbi9ncHUvdGlueWRybS5yc3QKPj4gQEAgLTE3LDkgKzE3LDYgQEAgQ29yZSBmdW5j dGlvbmFsaXR5Cj4+ICAuLiBrZXJuZWwtZG9jOjogZHJpdmVycy9ncHUvZHJtL3Rpbnlkcm0vY29y ZS90aW55ZHJtLWNvcmUuYwo+PiAgICAgOmV4cG9ydDoKPj4gIAo+PiAtLi4ga2VybmVsLWRvYzo6 IGRyaXZlcnMvZ3B1L2RybS90aW55ZHJtL2NvcmUvdGlueWRybS1waXBlLmMKPj4gLSAgIDpleHBv cnQ6Cj4+IC0KPj4gIEFkZGl0aW9uYWwgaGVscGVycwo+PiAgPT09PT09PT09PT09PT09PT09Cj4+ ICAKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS90aW55ZHJtL2NvcmUvTWFrZWZpbGUg Yi9kcml2ZXJzL2dwdS9kcm0vdGlueWRybS9jb3JlL01ha2VmaWxlCj4+IGluZGV4IGZiMjIxZTZm ODg4NS4uYmYyZGY3MzI2ZGY3IDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vdGlueWRy bS9jb3JlL01ha2VmaWxlCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS90aW55ZHJtL2NvcmUvTWFr ZWZpbGUKPj4gQEAgLTEsMyArMSwzIEBACj4+IC10aW55ZHJtLXkgOj0gdGlueWRybS1jb3JlLm8g dGlueWRybS1waXBlLm8gdGlueWRybS1oZWxwZXJzLm8KPj4gK3Rpbnlkcm0teSA6PSB0aW55ZHJt LWNvcmUubyB0aW55ZHJtLWhlbHBlcnMubwo+PiAgCj4+ICBvYmotJChDT05GSUdfRFJNX1RJTllE Uk0pICs9IHRpbnlkcm0ubwo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3Rpbnlkcm0v Y29yZS90aW55ZHJtLXBpcGUuYyBiL2RyaXZlcnMvZ3B1L2RybS90aW55ZHJtL2NvcmUvdGlueWRy bS1waXBlLmMKPj4gZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cj4+IGluZGV4IDMyMzU2NDMyOTUz NS4uMDAwMDAwMDAwMDAwCj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS90aW55ZHJtL2NvcmUvdGlu eWRybS1waXBlLmMKPj4gKysrIC9kZXYvbnVsbAo+PiBAQCAtMSwxODMgKzAsMCBAQAo+PiAtLyoK Pj4gLSAqIENvcHlyaWdodCAoQykgMjAxNiBOb3JhbGYgVHLDuG5uZXMKPj4gLSAqCj4+IC0gKiBU aGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5k L29yIG1vZGlmeQo+PiAtICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQ dWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKPj4gLSAqIHRoZSBGcmVlIFNvZnR3YXJlIEZv dW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCj4+IC0gKiAoYXQg eW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgo+PiAtICovCj4+IC0KPj4gLSNpbmNsdWRl IDxkcm0vZHJtX2F0b21pY19oZWxwZXIuaD4KPj4gLSNpbmNsdWRlIDxkcm0vZHJtX2NydGNfaGVs cGVyLmg+Cj4+IC0jaW5jbHVkZSA8ZHJtL2RybV9kcnYuaD4KPj4gLSNpbmNsdWRlIDxkcm0vZHJt X2dlbV9mcmFtZWJ1ZmZlcl9oZWxwZXIuaD4KPj4gLSNpbmNsdWRlIDxkcm0vZHJtX21vZGVzLmg+ Cj4+IC0jaW5jbHVkZSA8ZHJtL2RybV9wcmludC5oPgo+PiAtI2luY2x1ZGUgPGRybS90aW55ZHJt L3Rpbnlkcm0uaD4KPj4gLQo+PiAtc3RydWN0IHRpbnlkcm1fY29ubmVjdG9yIHsKPj4gLQlzdHJ1 Y3QgZHJtX2Nvbm5lY3RvciBiYXNlOwo+PiAtCXN0cnVjdCBkcm1fZGlzcGxheV9tb2RlIG1vZGU7 Cj4+IC19Owo+PiAtCj4+IC1zdGF0aWMgaW5saW5lIHN0cnVjdCB0aW55ZHJtX2Nvbm5lY3RvciAq Cj4+IC10b190aW55ZHJtX2Nvbm5lY3RvcihzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9y KQo+PiAtewo+PiAtCXJldHVybiBjb250YWluZXJfb2YoY29ubmVjdG9yLCBzdHJ1Y3QgdGlueWRy bV9jb25uZWN0b3IsIGJhc2UpOwo+PiAtfQo+PiAtCj4+IC1zdGF0aWMgaW50IHRpbnlkcm1fY29u bmVjdG9yX2dldF9tb2RlcyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+PiAtewo+ PiAtCXN0cnVjdCB0aW55ZHJtX2Nvbm5lY3RvciAqdGNvbm4gPSB0b190aW55ZHJtX2Nvbm5lY3Rv cihjb25uZWN0b3IpOwo+PiAtCXN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlOwo+PiAtCj4+ IC0JbW9kZSA9IGRybV9tb2RlX2R1cGxpY2F0ZShjb25uZWN0b3ItPmRldiwgJnRjb25uLT5tb2Rl KTsKPj4gLQlpZiAoIW1vZGUpIHsKPj4gLQkJRFJNX0VSUk9SKCJGYWlsZWQgdG8gZHVwbGljYXRl IG1vZGVcbiIpOwo+PiAtCQlyZXR1cm4gMDsKPj4gLQl9Cj4+IC0KPj4gLQlpZiAobW9kZS0+bmFt ZVswXSA9PSAnXDAnKQo+PiAtCQlkcm1fbW9kZV9zZXRfbmFtZShtb2RlKTsKPj4gLQo+PiAtCW1v ZGUtPnR5cGUgfD0gRFJNX01PREVfVFlQRV9QUkVGRVJSRUQ7Cj4+IC0JZHJtX21vZGVfcHJvYmVk X2FkZChjb25uZWN0b3IsIG1vZGUpOwo+PiAtCj4+IC0JaWYgKG1vZGUtPndpZHRoX21tKSB7Cj4+ IC0JCWNvbm5lY3Rvci0+ZGlzcGxheV9pbmZvLndpZHRoX21tID0gbW9kZS0+d2lkdGhfbW07Cj4+ IC0JCWNvbm5lY3Rvci0+ZGlzcGxheV9pbmZvLmhlaWdodF9tbSA9IG1vZGUtPmhlaWdodF9tbTsK Pj4gLQl9Cj4+IC0KPj4gLQlyZXR1cm4gMTsKPj4gLX0KPj4gLQo+PiAtc3RhdGljIGNvbnN0IHN0 cnVjdCBkcm1fY29ubmVjdG9yX2hlbHBlcl9mdW5jcyB0aW55ZHJtX2Nvbm5lY3Rvcl9oZnVuY3Mg PSB7Cj4+IC0JLmdldF9tb2RlcyA9IHRpbnlkcm1fY29ubmVjdG9yX2dldF9tb2RlcywKPj4gLX07 Cj4+IC0KPj4gLXN0YXRpYyBlbnVtIGRybV9jb25uZWN0b3Jfc3RhdHVzCj4+IC10aW55ZHJtX2Nv bm5lY3Rvcl9kZXRlY3Qoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwgYm9vbCBmb3Jj ZSkKPj4gLXsKPj4gLQlpZiAoZHJtX2Rldl9pc191bnBsdWdnZWQoY29ubmVjdG9yLT5kZXYpKQo+ PiAtCQlyZXR1cm4gY29ubmVjdG9yX3N0YXR1c19kaXNjb25uZWN0ZWQ7Cj4+IC0KPj4gLQlyZXR1 cm4gY29ubmVjdG9yLT5zdGF0dXM7Cj4+IC19Cj4+IC0KPj4gLXN0YXRpYyB2b2lkIHRpbnlkcm1f Y29ubmVjdG9yX2Rlc3Ryb3koc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKPj4gLXsK Pj4gLQlzdHJ1Y3QgdGlueWRybV9jb25uZWN0b3IgKnRjb25uID0gdG9fdGlueWRybV9jb25uZWN0 b3IoY29ubmVjdG9yKTsKPj4gLQo+PiAtCWRybV9jb25uZWN0b3JfY2xlYW51cChjb25uZWN0b3Ip Owo+PiAtCWtmcmVlKHRjb25uKTsKPj4gLX0KPj4gLQo+PiAtc3RhdGljIGNvbnN0IHN0cnVjdCBk cm1fY29ubmVjdG9yX2Z1bmNzIHRpbnlkcm1fY29ubmVjdG9yX2Z1bmNzID0gewo+PiAtCS5yZXNl dCA9IGRybV9hdG9taWNfaGVscGVyX2Nvbm5lY3Rvcl9yZXNldCwKPj4gLQkuZGV0ZWN0ID0gdGlu eWRybV9jb25uZWN0b3JfZGV0ZWN0LAo+PiAtCS5maWxsX21vZGVzID0gZHJtX2hlbHBlcl9wcm9i ZV9zaW5nbGVfY29ubmVjdG9yX21vZGVzLAo+PiAtCS5kZXN0cm95ID0gdGlueWRybV9jb25uZWN0 b3JfZGVzdHJveSwKPj4gLQkuYXRvbWljX2R1cGxpY2F0ZV9zdGF0ZSA9IGRybV9hdG9taWNfaGVs cGVyX2Nvbm5lY3Rvcl9kdXBsaWNhdGVfc3RhdGUsCj4+IC0JLmF0b21pY19kZXN0cm95X3N0YXRl ID0gZHJtX2F0b21pY19oZWxwZXJfY29ubmVjdG9yX2Rlc3Ryb3lfc3RhdGUsCj4+IC19Owo+PiAt Cj4+IC1zdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqCj4+IC10aW55ZHJtX2Nvbm5lY3Rvcl9jcmVhdGUo c3RydWN0IGRybV9kZXZpY2UgKmRybSwKPj4gLQkJCSBjb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlf bW9kZSAqbW9kZSwKPj4gLQkJCSBpbnQgY29ubmVjdG9yX3R5cGUpCj4+IC17Cj4+IC0Jc3RydWN0 IHRpbnlkcm1fY29ubmVjdG9yICp0Y29ubjsKPj4gLQlzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29u bmVjdG9yOwo+PiAtCWludCByZXQ7Cj4+IC0KPj4gLQl0Y29ubiA9IGt6YWxsb2Moc2l6ZW9mKCp0 Y29ubiksIEdGUF9LRVJORUwpOwo+PiAtCWlmICghdGNvbm4pCj4+IC0JCXJldHVybiBFUlJfUFRS KC1FTk9NRU0pOwo+PiAtCj4+IC0JZHJtX21vZGVfY29weSgmdGNvbm4tPm1vZGUsIG1vZGUpOwo+ PiAtCWNvbm5lY3RvciA9ICZ0Y29ubi0+YmFzZTsKPj4gLQo+PiAtCWRybV9jb25uZWN0b3JfaGVs cGVyX2FkZChjb25uZWN0b3IsICZ0aW55ZHJtX2Nvbm5lY3Rvcl9oZnVuY3MpOwo+PiAtCXJldCA9 IGRybV9jb25uZWN0b3JfaW5pdChkcm0sIGNvbm5lY3RvciwgJnRpbnlkcm1fY29ubmVjdG9yX2Z1 bmNzLAo+PiAtCQkJCSBjb25uZWN0b3JfdHlwZSk7Cj4+IC0JaWYgKHJldCkgewo+PiAtCQlrZnJl ZSh0Y29ubik7Cj4+IC0JCXJldHVybiBFUlJfUFRSKHJldCk7Cj4+IC0JfQo+PiAtCj4+IC0JY29u bmVjdG9yLT5zdGF0dXMgPSBjb25uZWN0b3Jfc3RhdHVzX2Nvbm5lY3RlZDsKPj4gLQo+PiAtCXJl dHVybiBjb25uZWN0b3I7Cj4+IC19Cj4+IC0KPj4gLXN0YXRpYyBpbnQgdGlueWRybV9yb3RhdGVf bW9kZShzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSwKPj4gLQkJCSAgICAgICB1bnNpZ25l ZCBpbnQgcm90YXRpb24pCj4+IC17Cj4+IC0JaWYgKHJvdGF0aW9uID09IDAgfHwgcm90YXRpb24g PT0gMTgwKSB7Cj4+IC0JCXJldHVybiAwOwo+PiAtCX0gZWxzZSBpZiAocm90YXRpb24gPT0gOTAg fHwgcm90YXRpb24gPT0gMjcwKSB7Cj4+IC0JCXN3YXAobW9kZS0+aGRpc3BsYXksIG1vZGUtPnZk aXNwbGF5KTsKPj4gLQkJc3dhcChtb2RlLT5oc3luY19zdGFydCwgbW9kZS0+dnN5bmNfc3RhcnQp Owo+PiAtCQlzd2FwKG1vZGUtPmhzeW5jX2VuZCwgbW9kZS0+dnN5bmNfZW5kKTsKPj4gLQkJc3dh cChtb2RlLT5odG90YWwsIG1vZGUtPnZ0b3RhbCk7Cj4+IC0JCXN3YXAobW9kZS0+d2lkdGhfbW0s IG1vZGUtPmhlaWdodF9tbSk7Cj4+IC0JCXJldHVybiAwOwo+PiAtCX0gZWxzZSB7Cj4+IC0JCXJl dHVybiAtRUlOVkFMOwo+PiAtCX0KPj4gLX0KPj4gLQo+PiAtLyoqCj4+IC0gKiB0aW55ZHJtX2Rp c3BsYXlfcGlwZV9pbml0IC0gSW5pdGlhbGl6ZSBkaXNwbGF5IHBpcGUKPj4gLSAqIEB0ZGV2OiB0 aW55ZHJtIGRldmljZQo+PiAtICogQGZ1bmNzOiBEaXNwbGF5IHBpcGUgZnVuY3Rpb25zCj4+IC0g KiBAY29ubmVjdG9yX3R5cGU6IENvbm5lY3RvciB0eXBlCj4+IC0gKiBAZm9ybWF0czogQXJyYXkg b2Ygc3VwcG9ydGVkIGZvcm1hdHMgKERSTV9GT1JNQVRcX1wqKQo+PiAtICogQGZvcm1hdF9jb3Vu dDogTnVtYmVyIG9mIGVsZW1lbnRzIGluIEBmb3JtYXRzCj4+IC0gKiBAbW9kZTogU3VwcG9ydGVk IG1vZGUKPj4gLSAqIEByb3RhdGlvbjogSW5pdGlhbCBAbW9kZSByb3RhdGlvbiBpbiBkZWdyZWVz IENvdW50ZXIgQ2xvY2sgV2lzZQo+PiAtICoKPj4gLSAqIFRoaXMgZnVuY3Rpb24gc2V0cyB1cCBh ICZkcm1fc2ltcGxlX2Rpc3BsYXlfcGlwZSB3aXRoIGEgJmRybV9jb25uZWN0b3IgdGhhdAo+PiAt ICogaGFzIG9uZSBmaXhlZCAmZHJtX2Rpc3BsYXlfbW9kZSB3aGljaCBpcyByb3RhdGVkIGFjY29y ZGluZyB0byBAcm90YXRpb24uCj4+IC0gKgo+PiAtICogUmV0dXJuczoKPj4gLSAqIFplcm8gb24g c3VjY2VzcywgbmVnYXRpdmUgZXJyb3IgY29kZSBvbiBmYWlsdXJlLgo+PiAtICovCj4+IC1pbnQK Pj4gLXRpbnlkcm1fZGlzcGxheV9waXBlX2luaXQoc3RydWN0IHRpbnlkcm1fZGV2aWNlICp0ZGV2 LAo+PiAtCQkJICBjb25zdCBzdHJ1Y3QgZHJtX3NpbXBsZV9kaXNwbGF5X3BpcGVfZnVuY3MgKmZ1 bmNzLAo+PiAtCQkJICBpbnQgY29ubmVjdG9yX3R5cGUsCj4+IC0JCQkgIGNvbnN0IHVpbnQzMl90 ICpmb3JtYXRzLAo+PiAtCQkJICB1bnNpZ25lZCBpbnQgZm9ybWF0X2NvdW50LAo+PiAtCQkJICBj b25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSwKPj4gLQkJCSAgdW5zaWduZWQgaW50 IHJvdGF0aW9uKQo+PiAtewo+PiAtCXN0cnVjdCBkcm1fZGV2aWNlICpkcm0gPSB0ZGV2LT5kcm07 Cj4+IC0Jc3RydWN0IGRybV9kaXNwbGF5X21vZGUgbW9kZV9jb3B5Owo+PiAtCXN0cnVjdCBkcm1f Y29ubmVjdG9yICpjb25uZWN0b3I7Cj4+IC0JaW50IHJldDsKPj4gLQlzdGF0aWMgY29uc3QgdWlu dDY0X3QgbW9kaWZpZXJzW10gPSB7Cj4+IC0JCURSTV9GT1JNQVRfTU9EX0xJTkVBUiwKPj4gLQkJ RFJNX0ZPUk1BVF9NT0RfSU5WQUxJRAo+PiAtCX07Cj4+IC0KPj4gLQlkcm1fbW9kZV9jb3B5KCZt b2RlX2NvcHksIG1vZGUpOwo+PiAtCXJldCA9IHRpbnlkcm1fcm90YXRlX21vZGUoJm1vZGVfY29w eSwgcm90YXRpb24pOwo+PiAtCWlmIChyZXQpIHsKPj4gLQkJRFJNX0VSUk9SKCJJbGxlZ2FsIHJv dGF0aW9uIHZhbHVlICV1XG4iLCByb3RhdGlvbik7Cj4+IC0JCXJldHVybiAtRUlOVkFMOwo+PiAt CX0KPj4gLQo+PiAtCWRybS0+bW9kZV9jb25maWcubWluX3dpZHRoID0gbW9kZV9jb3B5LmhkaXNw bGF5Owo+PiAtCWRybS0+bW9kZV9jb25maWcubWF4X3dpZHRoID0gbW9kZV9jb3B5LmhkaXNwbGF5 Owo+PiAtCWRybS0+bW9kZV9jb25maWcubWluX2hlaWdodCA9IG1vZGVfY29weS52ZGlzcGxheTsK Pj4gLQlkcm0tPm1vZGVfY29uZmlnLm1heF9oZWlnaHQgPSBtb2RlX2NvcHkudmRpc3BsYXk7Cj4+ IC0KPj4gLQljb25uZWN0b3IgPSB0aW55ZHJtX2Nvbm5lY3Rvcl9jcmVhdGUoZHJtLCAmbW9kZV9j b3B5LCBjb25uZWN0b3JfdHlwZSk7Cj4+IC0JaWYgKElTX0VSUihjb25uZWN0b3IpKQo+PiAtCQly ZXR1cm4gUFRSX0VSUihjb25uZWN0b3IpOwo+PiAtCj4+IC0JcmV0dXJuIGRybV9zaW1wbGVfZGlz cGxheV9waXBlX2luaXQoZHJtLCAmdGRldi0+cGlwZSwgZnVuY3MsIGZvcm1hdHMsCj4+IC0JCQkJ CSAgICBmb3JtYXRfY291bnQsIG1vZGlmaWVycywgY29ubmVjdG9yKTsKPj4gLX0KPj4gLUVYUE9S VF9TWU1CT0wodGlueWRybV9kaXNwbGF5X3BpcGVfaW5pdCk7Cj4+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vdGlueWRybS9taXBpLWRiaS5jIGIvZHJpdmVycy9ncHUvZHJtL3Rpbnlkcm0v bWlwaS1kYmkuYwo+PiBpbmRleCA5MThmNzdjN2RlMzQuLmQxZDU0NmYzYTY2NCAxMDA2NDQKPj4g LS0tIGEvZHJpdmVycy9ncHUvZHJtL3Rpbnlkcm0vbWlwaS1kYmkuYwo+PiArKysgYi9kcml2ZXJz L2dwdS9kcm0vdGlueWRybS9taXBpLWRiaS5jCj4+IEBAIC0zOTEsNyArMzkxLDEzIEBAIGludCBt aXBpX2RiaV9pbml0KHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IG1pcGlfZGJpICptaXBpLAo+ PiAgewo+PiAgCXNpemVfdCBidWZzaXplID0gbW9kZS0+dmRpc3BsYXkgKiBtb2RlLT5oZGlzcGxh eSAqIHNpemVvZih1MTYpOwo+PiAgCXN0cnVjdCB0aW55ZHJtX2RldmljZSAqdGRldiA9ICZtaXBp LT50aW55ZHJtOwo+PiArCXN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3I7Cj4+ICsJc3Ry dWN0IGRybV9kZXZpY2UgKmRybTsKPj4gIAlpbnQgcmV0Owo+PiArCXN0YXRpYyBjb25zdCB1aW50 NjRfdCBtb2RpZmllcnNbXSA9IHsKPj4gKwkJRFJNX0ZPUk1BVF9NT0RfTElORUFSLAo+PiArCQlE Uk1fRk9STUFUX01PRF9JTlZBTElECj4+ICsJfTsKPj4gIAo+PiAgCWlmICghbWlwaS0+Y29tbWFu ZCkKPj4gIAkJcmV0dXJuIC1FSU5WQUw7Cj4+IEBAIC00MDYsMTggKzQxMiwyMiBAQCBpbnQgbWlw aV9kYmlfaW5pdChzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBtaXBpX2RiaSAqbWlwaSwKPj4g IAlpZiAocmV0KQo+PiAgCQlyZXR1cm4gcmV0Owo+PiAgCj4+IC0JLyogVE9ETzogTWF5YmUgYWRk IERSTV9NT0RFX0NPTk5FQ1RPUl9TUEkgKi8KPj4gLQlyZXQgPSB0aW55ZHJtX2Rpc3BsYXlfcGlw ZV9pbml0KHRkZXYsIHBpcGVfZnVuY3MsCj4+IC0JCQkJCURSTV9NT0RFX0NPTk5FQ1RPUl9WSVJU VUFMLAo+PiAtCQkJCQltaXBpX2RiaV9mb3JtYXRzLAo+PiAtCQkJCQlBUlJBWV9TSVpFKG1pcGlf ZGJpX2Zvcm1hdHMpLCBtb2RlLAo+PiAtCQkJCQlyb3RhdGlvbik7Cj4+ICsJZHJtID0gdGRldi0+ ZHJtOwo+PiArCj4+ICsJY29ubmVjdG9yID0gZHJtX3NpbXBsZV9jb25uZWN0b3JfY3JlYXRlKGRy bSwgRFJNX01PREVfQ09OTkVDVE9SX1ZJUlRVQUwsIG1vZGUsIHJvdGF0aW9uKTsKPiAKPiBZb3Ug bG9zdCB0aGUgdG9kbyBoZXJlIC4uLiBfVklSVFVBTCBpcyBraW5kYSBhIHByZXR0eSBnb29kIGxp ZSwgc2luY2UgdGhpcwo+IGlzIGRlZmluaXRlbHkgbm90IHZpcnR1YWwgaHcgOi0pCgpJIHN1c3Bl Y3QgdGhhdCBpZiBJIGFkZGVkIERSTV9NT0RFX0NPTk5FQ1RPUl9TUEksIGl0IHdvdWxkIG1lYW4g dGhhdCBJCmhhZCB0byB1cGRhdGUgdmFyaW91cyB1c2Vyc3BhY2UgbGlicmFyaWVzIGFzIHdlbGw/ CkkgaGF2ZSB6ZXJvIGV4cGVyaWVuY2Ugd2l0aCBhbGwgdGhhdCB0aGF0LCBoZW5jZSB3aHkgSSd2 ZSBuZXZlciB0YWNrbGVkCnRoaXMuCgpOb3JhbGYuCgo+IC1EYW5pZWwKPiAKPj4gKwlpZiAoSVNf RVJSKGNvbm5lY3RvcikpCj4+ICsJCXJldHVybiBQVFJfRVJSKGNvbm5lY3Rvcik7Cj4+ICsKPj4g KwlyZXQgPSBkcm1fc2ltcGxlX2Rpc3BsYXlfcGlwZV9pbml0KGRybSwgJnRkZXYtPnBpcGUsIHBp cGVfZnVuY3MsCj4+ICsJCQkJCSAgIG1pcGlfZGJpX2Zvcm1hdHMsIEFSUkFZX1NJWkUobWlwaV9k YmlfZm9ybWF0cyksCj4+ICsJCQkJCSAgIG1vZGlmaWVycywgY29ubmVjdG9yKTsKPj4gIAlpZiAo cmV0KQo+PiAgCQlyZXR1cm4gcmV0Owo+PiAgCj4+ICAJZHJtX3BsYW5lX2VuYWJsZV9mYl9kYW1h Z2VfY2xpcHMoJnRkZXYtPnBpcGUucGxhbmUpOwo+PiAgCj4+IC0JdGRldi0+ZHJtLT5tb2RlX2Nv bmZpZy5wcmVmZXJyZWRfZGVwdGggPSAxNjsKPj4gKwlkcm1fc2ltcGxlX2Nvbm5lY3Rvcl9zZXRf bW9kZV9jb25maWcoY29ubmVjdG9yKTsKPj4gKwlkcm0tPm1vZGVfY29uZmlnLnByZWZlcnJlZF9k ZXB0aCA9IDE2Owo+PiAgCW1pcGktPnJvdGF0aW9uID0gcm90YXRpb247Cj4+ICAKPj4gIAlkcm1f bW9kZV9jb25maWdfcmVzZXQodGRldi0+ZHJtKTsKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS90aW55ZHJtL3JlcGFwZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS90aW55ZHJtL3JlcGFwZXIu Ywo+PiBpbmRleCA3MmQzMDE1MWVjZDguLjFkNTUxNzQ0Y2M5YiAxMDA2NDQKPj4gLS0tIGEvZHJp dmVycy9ncHUvZHJtL3Rpbnlkcm0vcmVwYXBlci5jCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS90 aW55ZHJtL3JlcGFwZXIuYwo+PiBAQCAtOTI0LDEyICs5MjQsMTQgQEAgc3RhdGljIGludCByZXBh cGVyX3Byb2JlKHN0cnVjdCBzcGlfZGV2aWNlICpzcGkpCj4+ICAJY29uc3Qgc3RydWN0IGRybV9k aXNwbGF5X21vZGUgKm1vZGU7Cj4+ICAJY29uc3Qgc3RydWN0IHNwaV9kZXZpY2VfaWQgKnNwaV9p ZDsKPj4gIAljb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkICptYXRjaDsKPj4gKwlzdHJ1Y3QgZHJt X2Nvbm5lY3RvciAqY29ubmVjdG9yOwo+PiAgCXN0cnVjdCBkZXZpY2UgKmRldiA9ICZzcGktPmRl djsKPj4gIAlzdHJ1Y3QgdGlueWRybV9kZXZpY2UgKnRkZXY7Cj4+ICAJZW51bSByZXBhcGVyX21v ZGVsIG1vZGVsOwo+PiAgCWNvbnN0IGNoYXIgKnRoZXJtYWxfem9uZTsKPj4gIAlzdHJ1Y3QgcmVw YXBlcl9lcGQgKmVwZDsKPj4gIAlzaXplX3QgbGluZV9idWZmZXJfc2l6ZTsKPj4gKwlzdHJ1Y3Qg ZHJtX2RldmljZSAqZHJtOwo+PiAgCWludCByZXQ7Cj4+ICAKPj4gIAltYXRjaCA9IG9mX21hdGNo X2RldmljZShyZXBhcGVyX29mX21hdGNoLCBkZXYpOwo+PiBAQCAtMTA2OSwxMyArMTA3MSwxOSBA QCBzdGF0aWMgaW50IHJlcGFwZXJfcHJvYmUoc3RydWN0IHNwaV9kZXZpY2UgKnNwaSkKPj4gIAlp ZiAocmV0KQo+PiAgCQlyZXR1cm4gcmV0Owo+PiAgCj4+IC0JcmV0ID0gdGlueWRybV9kaXNwbGF5 X3BpcGVfaW5pdCh0ZGV2LCAmcmVwYXBlcl9waXBlX2Z1bmNzLAo+PiAtCQkJCQlEUk1fTU9ERV9D T05ORUNUT1JfVklSVFVBTCwKPj4gLQkJCQkJcmVwYXBlcl9mb3JtYXRzLAo+PiAtCQkJCQlBUlJB WV9TSVpFKHJlcGFwZXJfZm9ybWF0cyksIG1vZGUsIDApOwo+PiArCWRybSA9IHRkZXYtPmRybTsK Pj4gKwo+PiArCWNvbm5lY3RvciA9IGRybV9zaW1wbGVfY29ubmVjdG9yX2NyZWF0ZShkcm0sIERS TV9NT0RFX0NPTk5FQ1RPUl9WSVJUVUFMLCBtb2RlLCAwKTsKPj4gKwlpZiAoSVNfRVJSKGNvbm5l Y3RvcikpCj4+ICsJCXJldHVybiBQVFJfRVJSKGNvbm5lY3Rvcik7Cj4+ICsKPj4gKwlyZXQgPSBk cm1fc2ltcGxlX2Rpc3BsYXlfcGlwZV9pbml0KGRybSwgJnRkZXYtPnBpcGUsICZyZXBhcGVyX3Bp cGVfZnVuY3MsCj4+ICsJCQkJCSAgIHJlcGFwZXJfZm9ybWF0cywgQVJSQVlfU0laRShyZXBhcGVy X2Zvcm1hdHMpLAo+PiArCQkJCQkgICBOVUxMLCBjb25uZWN0b3IpOwo+PiAgCWlmIChyZXQpCj4+ ICAJCXJldHVybiByZXQ7Cj4+ICAKPj4gKwlkcm1fc2ltcGxlX2Nvbm5lY3Rvcl9zZXRfbW9kZV9j b25maWcoY29ubmVjdG9yKTsKPj4gIAlkcm1fbW9kZV9jb25maWdfcmVzZXQodGRldi0+ZHJtKTsK Pj4gIAlzcGlfc2V0X2RydmRhdGEoc3BpLCB0ZGV2KTsKPj4gIAo+PiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL3Rpbnlkcm0vc3Q3NTg2LmMgYi9kcml2ZXJzL2dwdS9kcm0vdGlueWRybS9z dDc1ODYuYwo+PiBpbmRleCA1ZWU3ZGI1NjEzNDkuLjZjYjY4ZGQ3ZTdiNiAxMDA2NDQKPj4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL3Rpbnlkcm0vc3Q3NTg2LmMKPj4gKysrIGIvZHJpdmVycy9ncHUv ZHJtL3Rpbnlkcm0vc3Q3NTg2LmMKPj4gQEAgLTI3MSw2ICsyNzEsOCBAQCBzdGF0aWMgaW50IHN0 NzU4Nl9pbml0KHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IG1pcGlfZGJpICptaXBpLAo+PiAg ewo+PiAgCXNpemVfdCBidWZzaXplID0gKG1vZGUtPnZkaXNwbGF5ICsgMikgLyAzICogbW9kZS0+ aGRpc3BsYXk7Cj4+ICAJc3RydWN0IHRpbnlkcm1fZGV2aWNlICp0ZGV2ID0gJm1pcGktPnRpbnlk cm07Cj4+ICsJc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcjsKPj4gKwlzdHJ1Y3QgZHJt X2RldmljZSAqZHJtOwo+PiAgCWludCByZXQ7Cj4+ICAKPj4gIAltdXRleF9pbml0KCZtaXBpLT5j bWRsb2NrKTsKPj4gQEAgLTI4MywxNyArMjg1LDIyIEBAIHN0YXRpYyBpbnQgc3Q3NTg2X2luaXQo c3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgbWlwaV9kYmkgKm1pcGksCj4+ICAJaWYgKHJldCkK Pj4gIAkJcmV0dXJuIHJldDsKPj4gIAo+PiAtCXJldCA9IHRpbnlkcm1fZGlzcGxheV9waXBlX2lu aXQodGRldiwgcGlwZV9mdW5jcywKPj4gLQkJCQkJRFJNX01PREVfQ09OTkVDVE9SX1ZJUlRVQUws Cj4+IC0JCQkJCXN0NzU4Nl9mb3JtYXRzLAo+PiAtCQkJCQlBUlJBWV9TSVpFKHN0NzU4Nl9mb3Jt YXRzKSwKPj4gLQkJCQkJbW9kZSwgcm90YXRpb24pOwo+PiArCWRybSA9IHRkZXYtPmRybTsKPj4g Kwo+PiArCWNvbm5lY3RvciA9IGRybV9zaW1wbGVfY29ubmVjdG9yX2NyZWF0ZShkcm0sIERSTV9N T0RFX0NPTk5FQ1RPUl9WSVJUVUFMLCBtb2RlLCByb3RhdGlvbik7Cj4+ICsJaWYgKElTX0VSUihj b25uZWN0b3IpKQo+PiArCQlyZXR1cm4gUFRSX0VSUihjb25uZWN0b3IpOwo+PiArCj4+ICsJcmV0 ID0gZHJtX3NpbXBsZV9kaXNwbGF5X3BpcGVfaW5pdChkcm0sICZ0ZGV2LT5waXBlLCBwaXBlX2Z1 bmNzLAo+PiArCQkJCQkgICBzdDc1ODZfZm9ybWF0cywgQVJSQVlfU0laRShzdDc1ODZfZm9ybWF0 cyksCj4+ICsJCQkJCSAgIE5VTEwsIGNvbm5lY3Rvcik7Cj4+ICAJaWYgKHJldCkKPj4gIAkJcmV0 dXJuIHJldDsKPj4gIAo+PiAgCWRybV9wbGFuZV9lbmFibGVfZmJfZGFtYWdlX2NsaXBzKCZ0ZGV2 LT5waXBlLnBsYW5lKTsKPj4gIAo+PiAtCXRkZXYtPmRybS0+bW9kZV9jb25maWcucHJlZmVycmVk X2RlcHRoID0gMzI7Cj4+ICsJZHJtX3NpbXBsZV9jb25uZWN0b3Jfc2V0X21vZGVfY29uZmlnKGNv bm5lY3Rvcik7Cj4+ICsJZHJtLT5tb2RlX2NvbmZpZy5wcmVmZXJyZWRfZGVwdGggPSAzMjsKPj4g IAltaXBpLT5yb3RhdGlvbiA9IHJvdGF0aW9uOwo+PiAgCj4+ICAJZHJtX21vZGVfY29uZmlnX3Jl c2V0KHRkZXYtPmRybSk7Cj4+IGRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS90aW55ZHJtL3Rpbnlk cm0uaCBiL2luY2x1ZGUvZHJtL3Rpbnlkcm0vdGlueWRybS5oCj4+IGluZGV4IDg3ZTdmOWI5M2Ez Ny4uNjljNDM2M2ZkODhlIDEwMDY0NAo+PiAtLS0gYS9pbmNsdWRlL2RybS90aW55ZHJtL3Rpbnlk cm0uaAo+PiArKysgYi9pbmNsdWRlL2RybS90aW55ZHJtL3Rpbnlkcm0uaAo+PiBAQCAtNDAsMTMg KzQwLDQgQEAgaW50IGRldm1fdGlueWRybV9pbml0KHN0cnVjdCBkZXZpY2UgKnBhcmVudCwgc3Ry dWN0IHRpbnlkcm1fZGV2aWNlICp0ZGV2LAo+PiAgaW50IGRldm1fdGlueWRybV9yZWdpc3Rlcihz dHJ1Y3QgdGlueWRybV9kZXZpY2UgKnRkZXYpOwo+PiAgdm9pZCB0aW55ZHJtX3NodXRkb3duKHN0 cnVjdCB0aW55ZHJtX2RldmljZSAqdGRldik7Cj4+ICAKPj4gLWludAo+PiAtdGlueWRybV9kaXNw bGF5X3BpcGVfaW5pdChzdHJ1Y3QgdGlueWRybV9kZXZpY2UgKnRkZXYsCj4+IC0JCQkgIGNvbnN0 IHN0cnVjdCBkcm1fc2ltcGxlX2Rpc3BsYXlfcGlwZV9mdW5jcyAqZnVuY3MsCj4+IC0JCQkgIGlu dCBjb25uZWN0b3JfdHlwZSwKPj4gLQkJCSAgY29uc3QgdWludDMyX3QgKmZvcm1hdHMsCj4+IC0J CQkgIHVuc2lnbmVkIGludCBmb3JtYXRfY291bnQsCj4+IC0JCQkgIGNvbnN0IHN0cnVjdCBkcm1f ZGlzcGxheV9tb2RlICptb2RlLAo+PiAtCQkJICB1bnNpZ25lZCBpbnQgcm90YXRpb24pOwo+PiAt Cj4+ICAjZW5kaWYgLyogX19MSU5VWF9USU5ZRFJNX0ggKi8KPj4gLS0gCj4+IDIuMjAuMQo+Pgo+ PiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+PiBkcmkt ZGV2ZWwgbWFpbGluZyBsaXN0Cj4+IGRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPj4g aHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK PiAKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRl dmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8v bGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==