From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH 04/11] drm/tinydrm: Remove tinydrm_display_pipe_init() Date: Mon, 21 Jan 2019 10:15:55 +0100 Message-ID: <20190121091555.GL3271@phenom.ffwll.local> References: <20190120114318.49199-1-noralf@tronnes.org> <20190120114318.49199-5-noralf@tronnes.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-ed1-x542.google.com (mail-ed1-x542.google.com [IPv6:2a00:1450:4864:20::542]) by gabe.freedesktop.org (Postfix) with ESMTPS id BABE76E6E9 for ; Mon, 21 Jan 2019 09:15:59 +0000 (UTC) Received: by mail-ed1-x542.google.com with SMTP id b3so16058980ede.1 for ; Mon, 21 Jan 2019 01:15:59 -0800 (PST) Content-Disposition: inline In-Reply-To: <20190120114318.49199-5-noralf@tronnes.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Noralf =?iso-8859-1?Q?Tr=F8nnes?= Cc: david@lechnology.com, dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org T24gU3VuLCBKYW4gMjAsIDIwMTkgYXQgMTI6NDM6MTFQTSArMDEwMCwgTm9yYWxmIFRyw7hubmVz IHdyb3RlOgo+IEZ1cnRoZXIgc3RyaXAgZG93biB0aW55ZHJtLmtvIGFuZCBzd2l0Y2ggdG8gZHJt X3NpbXBsZV9jb25uZWN0b3JfY3JlYXRlKCkuCj4gCj4gU2lnbmVkLW9mZi1ieTogTm9yYWxmIFRy w7hubmVzIDxub3JhbGZAdHJvbm5lcy5vcmc+Cj4gLS0tCj4gIERvY3VtZW50YXRpb24vZ3B1L3Rp bnlkcm0ucnN0ICAgICAgICAgICAgICAgfCAgIDMgLQo+ICBkcml2ZXJzL2dwdS9kcm0vdGlueWRy bS9jb3JlL01ha2VmaWxlICAgICAgIHwgICAyICstCj4gIGRyaXZlcnMvZ3B1L2RybS90aW55ZHJt L2NvcmUvdGlueWRybS1waXBlLmMgfCAxODMgLS0tLS0tLS0tLS0tLS0tLS0tLS0KPiAgZHJpdmVy cy9ncHUvZHJtL3Rpbnlkcm0vbWlwaS1kYmkuYyAgICAgICAgICB8ICAyNCArKy0KPiAgZHJpdmVy cy9ncHUvZHJtL3Rpbnlkcm0vcmVwYXBlci5jICAgICAgICAgICB8ICAxNiArLQo+ICBkcml2ZXJz L2dwdS9kcm0vdGlueWRybS9zdDc1ODYuYyAgICAgICAgICAgIHwgIDE5ICstCj4gIGluY2x1ZGUv ZHJtL3Rpbnlkcm0vdGlueWRybS5oICAgICAgICAgICAgICAgfCAgIDkgLQo+ICA3IGZpbGVzIGNo YW5nZWQsIDQzIGluc2VydGlvbnMoKyksIDIxMyBkZWxldGlvbnMoLSkKPiAgZGVsZXRlIG1vZGUg MTAwNjQ0IGRyaXZlcnMvZ3B1L2RybS90aW55ZHJtL2NvcmUvdGlueWRybS1waXBlLmMKPiAKPiBk aWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9ncHUvdGlueWRybS5yc3QgYi9Eb2N1bWVudGF0aW9u L2dwdS90aW55ZHJtLnJzdAo+IGluZGV4IGE5MTM2NDRiZmMxOS4uMWNhNzI2NDc0YWY0IDEwMDY0 NAo+IC0tLSBhL0RvY3VtZW50YXRpb24vZ3B1L3Rpbnlkcm0ucnN0Cj4gKysrIGIvRG9jdW1lbnRh dGlvbi9ncHUvdGlueWRybS5yc3QKPiBAQCAtMTcsOSArMTcsNiBAQCBDb3JlIGZ1bmN0aW9uYWxp dHkKPiAgLi4ga2VybmVsLWRvYzo6IGRyaXZlcnMvZ3B1L2RybS90aW55ZHJtL2NvcmUvdGlueWRy bS1jb3JlLmMKPiAgICAgOmV4cG9ydDoKPiAgCj4gLS4uIGtlcm5lbC1kb2M6OiBkcml2ZXJzL2dw dS9kcm0vdGlueWRybS9jb3JlL3Rpbnlkcm0tcGlwZS5jCj4gLSAgIDpleHBvcnQ6Cj4gLQo+ICBB ZGRpdGlvbmFsIGhlbHBlcnMKPiAgPT09PT09PT09PT09PT09PT09Cj4gIAo+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vdGlueWRybS9jb3JlL01ha2VmaWxlIGIvZHJpdmVycy9ncHUvZHJt L3Rpbnlkcm0vY29yZS9NYWtlZmlsZQo+IGluZGV4IGZiMjIxZTZmODg4NS4uYmYyZGY3MzI2ZGY3 IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS90aW55ZHJtL2NvcmUvTWFrZWZpbGUKPiAr KysgYi9kcml2ZXJzL2dwdS9kcm0vdGlueWRybS9jb3JlL01ha2VmaWxlCj4gQEAgLTEsMyArMSwz IEBACj4gLXRpbnlkcm0teSA6PSB0aW55ZHJtLWNvcmUubyB0aW55ZHJtLXBpcGUubyB0aW55ZHJt LWhlbHBlcnMubwo+ICt0aW55ZHJtLXkgOj0gdGlueWRybS1jb3JlLm8gdGlueWRybS1oZWxwZXJz Lm8KPiAgCj4gIG9iai0kKENPTkZJR19EUk1fVElOWURSTSkgKz0gdGlueWRybS5vCj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS90aW55ZHJtL2NvcmUvdGlueWRybS1waXBlLmMgYi9kcml2 ZXJzL2dwdS9kcm0vdGlueWRybS9jb3JlL3Rpbnlkcm0tcGlwZS5jCj4gZGVsZXRlZCBmaWxlIG1v ZGUgMTAwNjQ0Cj4gaW5kZXggMzIzNTY0MzI5NTM1Li4wMDAwMDAwMDAwMDAKPiAtLS0gYS9kcml2 ZXJzL2dwdS9kcm0vdGlueWRybS9jb3JlL3Rpbnlkcm0tcGlwZS5jCj4gKysrIC9kZXYvbnVsbAo+ IEBAIC0xLDE4MyArMCwwIEBACj4gLS8qCj4gLSAqIENvcHlyaWdodCAoQykgMjAxNiBOb3JhbGYg VHLDuG5uZXMKPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBj YW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKPiAtICogaXQgdW5kZXIgdGhlIHRlcm1z IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKPiAtICog dGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGlj ZW5zZSwgb3IKPiAtICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KPiAtICov Cj4gLQo+IC0jaW5jbHVkZSA8ZHJtL2RybV9hdG9taWNfaGVscGVyLmg+Cj4gLSNpbmNsdWRlIDxk cm0vZHJtX2NydGNfaGVscGVyLmg+Cj4gLSNpbmNsdWRlIDxkcm0vZHJtX2Rydi5oPgo+IC0jaW5j bHVkZSA8ZHJtL2RybV9nZW1fZnJhbWVidWZmZXJfaGVscGVyLmg+Cj4gLSNpbmNsdWRlIDxkcm0v ZHJtX21vZGVzLmg+Cj4gLSNpbmNsdWRlIDxkcm0vZHJtX3ByaW50Lmg+Cj4gLSNpbmNsdWRlIDxk cm0vdGlueWRybS90aW55ZHJtLmg+Cj4gLQo+IC1zdHJ1Y3QgdGlueWRybV9jb25uZWN0b3Igewo+ IC0Jc3RydWN0IGRybV9jb25uZWN0b3IgYmFzZTsKPiAtCXN0cnVjdCBkcm1fZGlzcGxheV9tb2Rl IG1vZGU7Cj4gLX07Cj4gLQo+IC1zdGF0aWMgaW5saW5lIHN0cnVjdCB0aW55ZHJtX2Nvbm5lY3Rv ciAqCj4gLXRvX3Rpbnlkcm1fY29ubmVjdG9yKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0 b3IpCj4gLXsKPiAtCXJldHVybiBjb250YWluZXJfb2YoY29ubmVjdG9yLCBzdHJ1Y3QgdGlueWRy bV9jb25uZWN0b3IsIGJhc2UpOwo+IC19Cj4gLQo+IC1zdGF0aWMgaW50IHRpbnlkcm1fY29ubmVj dG9yX2dldF9tb2RlcyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+IC17Cj4gLQlz dHJ1Y3QgdGlueWRybV9jb25uZWN0b3IgKnRjb25uID0gdG9fdGlueWRybV9jb25uZWN0b3IoY29u bmVjdG9yKTsKPiAtCXN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlOwo+IC0KPiAtCW1vZGUg PSBkcm1fbW9kZV9kdXBsaWNhdGUoY29ubmVjdG9yLT5kZXYsICZ0Y29ubi0+bW9kZSk7Cj4gLQlp ZiAoIW1vZGUpIHsKPiAtCQlEUk1fRVJST1IoIkZhaWxlZCB0byBkdXBsaWNhdGUgbW9kZVxuIik7 Cj4gLQkJcmV0dXJuIDA7Cj4gLQl9Cj4gLQo+IC0JaWYgKG1vZGUtPm5hbWVbMF0gPT0gJ1wwJykK PiAtCQlkcm1fbW9kZV9zZXRfbmFtZShtb2RlKTsKPiAtCj4gLQltb2RlLT50eXBlIHw9IERSTV9N T0RFX1RZUEVfUFJFRkVSUkVEOwo+IC0JZHJtX21vZGVfcHJvYmVkX2FkZChjb25uZWN0b3IsIG1v ZGUpOwo+IC0KPiAtCWlmIChtb2RlLT53aWR0aF9tbSkgewo+IC0JCWNvbm5lY3Rvci0+ZGlzcGxh eV9pbmZvLndpZHRoX21tID0gbW9kZS0+d2lkdGhfbW07Cj4gLQkJY29ubmVjdG9yLT5kaXNwbGF5 X2luZm8uaGVpZ2h0X21tID0gbW9kZS0+aGVpZ2h0X21tOwo+IC0JfQo+IC0KPiAtCXJldHVybiAx Owo+IC19Cj4gLQo+IC1zdGF0aWMgY29uc3Qgc3RydWN0IGRybV9jb25uZWN0b3JfaGVscGVyX2Z1 bmNzIHRpbnlkcm1fY29ubmVjdG9yX2hmdW5jcyA9IHsKPiAtCS5nZXRfbW9kZXMgPSB0aW55ZHJt X2Nvbm5lY3Rvcl9nZXRfbW9kZXMsCj4gLX07Cj4gLQo+IC1zdGF0aWMgZW51bSBkcm1fY29ubmVj dG9yX3N0YXR1cwo+IC10aW55ZHJtX2Nvbm5lY3Rvcl9kZXRlY3Qoc3RydWN0IGRybV9jb25uZWN0 b3IgKmNvbm5lY3RvciwgYm9vbCBmb3JjZSkKPiAtewo+IC0JaWYgKGRybV9kZXZfaXNfdW5wbHVn Z2VkKGNvbm5lY3Rvci0+ZGV2KSkKPiAtCQlyZXR1cm4gY29ubmVjdG9yX3N0YXR1c19kaXNjb25u ZWN0ZWQ7Cj4gLQo+IC0JcmV0dXJuIGNvbm5lY3Rvci0+c3RhdHVzOwo+IC19Cj4gLQo+IC1zdGF0 aWMgdm9pZCB0aW55ZHJtX2Nvbm5lY3Rvcl9kZXN0cm95KHN0cnVjdCBkcm1fY29ubmVjdG9yICpj b25uZWN0b3IpCj4gLXsKPiAtCXN0cnVjdCB0aW55ZHJtX2Nvbm5lY3RvciAqdGNvbm4gPSB0b190 aW55ZHJtX2Nvbm5lY3Rvcihjb25uZWN0b3IpOwo+IC0KPiAtCWRybV9jb25uZWN0b3JfY2xlYW51 cChjb25uZWN0b3IpOwo+IC0Ja2ZyZWUodGNvbm4pOwo+IC19Cj4gLQo+IC1zdGF0aWMgY29uc3Qg c3RydWN0IGRybV9jb25uZWN0b3JfZnVuY3MgdGlueWRybV9jb25uZWN0b3JfZnVuY3MgPSB7Cj4g LQkucmVzZXQgPSBkcm1fYXRvbWljX2hlbHBlcl9jb25uZWN0b3JfcmVzZXQsCj4gLQkuZGV0ZWN0 ID0gdGlueWRybV9jb25uZWN0b3JfZGV0ZWN0LAo+IC0JLmZpbGxfbW9kZXMgPSBkcm1faGVscGVy X3Byb2JlX3NpbmdsZV9jb25uZWN0b3JfbW9kZXMsCj4gLQkuZGVzdHJveSA9IHRpbnlkcm1fY29u bmVjdG9yX2Rlc3Ryb3ksCj4gLQkuYXRvbWljX2R1cGxpY2F0ZV9zdGF0ZSA9IGRybV9hdG9taWNf aGVscGVyX2Nvbm5lY3Rvcl9kdXBsaWNhdGVfc3RhdGUsCj4gLQkuYXRvbWljX2Rlc3Ryb3lfc3Rh dGUgPSBkcm1fYXRvbWljX2hlbHBlcl9jb25uZWN0b3JfZGVzdHJveV9zdGF0ZSwKPiAtfTsKPiAt Cj4gLXN0cnVjdCBkcm1fY29ubmVjdG9yICoKPiAtdGlueWRybV9jb25uZWN0b3JfY3JlYXRlKHN0 cnVjdCBkcm1fZGV2aWNlICpkcm0sCj4gLQkJCSBjb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9k ZSAqbW9kZSwKPiAtCQkJIGludCBjb25uZWN0b3JfdHlwZSkKPiAtewo+IC0Jc3RydWN0IHRpbnlk cm1fY29ubmVjdG9yICp0Y29ubjsKPiAtCXN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3I7 Cj4gLQlpbnQgcmV0Owo+IC0KPiAtCXRjb25uID0ga3phbGxvYyhzaXplb2YoKnRjb25uKSwgR0ZQ X0tFUk5FTCk7Cj4gLQlpZiAoIXRjb25uKQo+IC0JCXJldHVybiBFUlJfUFRSKC1FTk9NRU0pOwo+ IC0KPiAtCWRybV9tb2RlX2NvcHkoJnRjb25uLT5tb2RlLCBtb2RlKTsKPiAtCWNvbm5lY3RvciA9 ICZ0Y29ubi0+YmFzZTsKPiAtCj4gLQlkcm1fY29ubmVjdG9yX2hlbHBlcl9hZGQoY29ubmVjdG9y LCAmdGlueWRybV9jb25uZWN0b3JfaGZ1bmNzKTsKPiAtCXJldCA9IGRybV9jb25uZWN0b3JfaW5p dChkcm0sIGNvbm5lY3RvciwgJnRpbnlkcm1fY29ubmVjdG9yX2Z1bmNzLAo+IC0JCQkJIGNvbm5l Y3Rvcl90eXBlKTsKPiAtCWlmIChyZXQpIHsKPiAtCQlrZnJlZSh0Y29ubik7Cj4gLQkJcmV0dXJu IEVSUl9QVFIocmV0KTsKPiAtCX0KPiAtCj4gLQljb25uZWN0b3ItPnN0YXR1cyA9IGNvbm5lY3Rv cl9zdGF0dXNfY29ubmVjdGVkOwo+IC0KPiAtCXJldHVybiBjb25uZWN0b3I7Cj4gLX0KPiAtCj4g LXN0YXRpYyBpbnQgdGlueWRybV9yb3RhdGVfbW9kZShzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAq bW9kZSwKPiAtCQkJICAgICAgIHVuc2lnbmVkIGludCByb3RhdGlvbikKPiAtewo+IC0JaWYgKHJv dGF0aW9uID09IDAgfHwgcm90YXRpb24gPT0gMTgwKSB7Cj4gLQkJcmV0dXJuIDA7Cj4gLQl9IGVs c2UgaWYgKHJvdGF0aW9uID09IDkwIHx8IHJvdGF0aW9uID09IDI3MCkgewo+IC0JCXN3YXAobW9k ZS0+aGRpc3BsYXksIG1vZGUtPnZkaXNwbGF5KTsKPiAtCQlzd2FwKG1vZGUtPmhzeW5jX3N0YXJ0 LCBtb2RlLT52c3luY19zdGFydCk7Cj4gLQkJc3dhcChtb2RlLT5oc3luY19lbmQsIG1vZGUtPnZz eW5jX2VuZCk7Cj4gLQkJc3dhcChtb2RlLT5odG90YWwsIG1vZGUtPnZ0b3RhbCk7Cj4gLQkJc3dh cChtb2RlLT53aWR0aF9tbSwgbW9kZS0+aGVpZ2h0X21tKTsKPiAtCQlyZXR1cm4gMDsKPiAtCX0g ZWxzZSB7Cj4gLQkJcmV0dXJuIC1FSU5WQUw7Cj4gLQl9Cj4gLX0KPiAtCj4gLS8qKgo+IC0gKiB0 aW55ZHJtX2Rpc3BsYXlfcGlwZV9pbml0IC0gSW5pdGlhbGl6ZSBkaXNwbGF5IHBpcGUKPiAtICog QHRkZXY6IHRpbnlkcm0gZGV2aWNlCj4gLSAqIEBmdW5jczogRGlzcGxheSBwaXBlIGZ1bmN0aW9u cwo+IC0gKiBAY29ubmVjdG9yX3R5cGU6IENvbm5lY3RvciB0eXBlCj4gLSAqIEBmb3JtYXRzOiBB cnJheSBvZiBzdXBwb3J0ZWQgZm9ybWF0cyAoRFJNX0ZPUk1BVFxfXCopCj4gLSAqIEBmb3JtYXRf Y291bnQ6IE51bWJlciBvZiBlbGVtZW50cyBpbiBAZm9ybWF0cwo+IC0gKiBAbW9kZTogU3VwcG9y dGVkIG1vZGUKPiAtICogQHJvdGF0aW9uOiBJbml0aWFsIEBtb2RlIHJvdGF0aW9uIGluIGRlZ3Jl ZXMgQ291bnRlciBDbG9jayBXaXNlCj4gLSAqCj4gLSAqIFRoaXMgZnVuY3Rpb24gc2V0cyB1cCBh ICZkcm1fc2ltcGxlX2Rpc3BsYXlfcGlwZSB3aXRoIGEgJmRybV9jb25uZWN0b3IgdGhhdAo+IC0g KiBoYXMgb25lIGZpeGVkICZkcm1fZGlzcGxheV9tb2RlIHdoaWNoIGlzIHJvdGF0ZWQgYWNjb3Jk aW5nIHRvIEByb3RhdGlvbi4KPiAtICoKPiAtICogUmV0dXJuczoKPiAtICogWmVybyBvbiBzdWNj ZXNzLCBuZWdhdGl2ZSBlcnJvciBjb2RlIG9uIGZhaWx1cmUuCj4gLSAqLwo+IC1pbnQKPiAtdGlu eWRybV9kaXNwbGF5X3BpcGVfaW5pdChzdHJ1Y3QgdGlueWRybV9kZXZpY2UgKnRkZXYsCj4gLQkJ CSAgY29uc3Qgc3RydWN0IGRybV9zaW1wbGVfZGlzcGxheV9waXBlX2Z1bmNzICpmdW5jcywKPiAt CQkJICBpbnQgY29ubmVjdG9yX3R5cGUsCj4gLQkJCSAgY29uc3QgdWludDMyX3QgKmZvcm1hdHMs Cj4gLQkJCSAgdW5zaWduZWQgaW50IGZvcm1hdF9jb3VudCwKPiAtCQkJICBjb25zdCBzdHJ1Y3Qg ZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSwKPiAtCQkJICB1bnNpZ25lZCBpbnQgcm90YXRpb24pCj4g LXsKPiAtCXN0cnVjdCBkcm1fZGV2aWNlICpkcm0gPSB0ZGV2LT5kcm07Cj4gLQlzdHJ1Y3QgZHJt X2Rpc3BsYXlfbW9kZSBtb2RlX2NvcHk7Cj4gLQlzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVj dG9yOwo+IC0JaW50IHJldDsKPiAtCXN0YXRpYyBjb25zdCB1aW50NjRfdCBtb2RpZmllcnNbXSA9 IHsKPiAtCQlEUk1fRk9STUFUX01PRF9MSU5FQVIsCj4gLQkJRFJNX0ZPUk1BVF9NT0RfSU5WQUxJ RAo+IC0JfTsKPiAtCj4gLQlkcm1fbW9kZV9jb3B5KCZtb2RlX2NvcHksIG1vZGUpOwo+IC0JcmV0 ID0gdGlueWRybV9yb3RhdGVfbW9kZSgmbW9kZV9jb3B5LCByb3RhdGlvbik7Cj4gLQlpZiAocmV0 KSB7Cj4gLQkJRFJNX0VSUk9SKCJJbGxlZ2FsIHJvdGF0aW9uIHZhbHVlICV1XG4iLCByb3RhdGlv bik7Cj4gLQkJcmV0dXJuIC1FSU5WQUw7Cj4gLQl9Cj4gLQo+IC0JZHJtLT5tb2RlX2NvbmZpZy5t aW5fd2lkdGggPSBtb2RlX2NvcHkuaGRpc3BsYXk7Cj4gLQlkcm0tPm1vZGVfY29uZmlnLm1heF93 aWR0aCA9IG1vZGVfY29weS5oZGlzcGxheTsKPiAtCWRybS0+bW9kZV9jb25maWcubWluX2hlaWdo dCA9IG1vZGVfY29weS52ZGlzcGxheTsKPiAtCWRybS0+bW9kZV9jb25maWcubWF4X2hlaWdodCA9 IG1vZGVfY29weS52ZGlzcGxheTsKPiAtCj4gLQljb25uZWN0b3IgPSB0aW55ZHJtX2Nvbm5lY3Rv cl9jcmVhdGUoZHJtLCAmbW9kZV9jb3B5LCBjb25uZWN0b3JfdHlwZSk7Cj4gLQlpZiAoSVNfRVJS KGNvbm5lY3RvcikpCj4gLQkJcmV0dXJuIFBUUl9FUlIoY29ubmVjdG9yKTsKPiAtCj4gLQlyZXR1 cm4gZHJtX3NpbXBsZV9kaXNwbGF5X3BpcGVfaW5pdChkcm0sICZ0ZGV2LT5waXBlLCBmdW5jcywg Zm9ybWF0cywKPiAtCQkJCQkgICAgZm9ybWF0X2NvdW50LCBtb2RpZmllcnMsIGNvbm5lY3Rvcik7 Cj4gLX0KPiAtRVhQT1JUX1NZTUJPTCh0aW55ZHJtX2Rpc3BsYXlfcGlwZV9pbml0KTsKPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3Rpbnlkcm0vbWlwaS1kYmkuYyBiL2RyaXZlcnMvZ3B1 L2RybS90aW55ZHJtL21pcGktZGJpLmMKPiBpbmRleCA5MThmNzdjN2RlMzQuLmQxZDU0NmYzYTY2 NCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vdGlueWRybS9taXBpLWRiaS5jCj4gKysr IGIvZHJpdmVycy9ncHUvZHJtL3Rpbnlkcm0vbWlwaS1kYmkuYwo+IEBAIC0zOTEsNyArMzkxLDEz IEBAIGludCBtaXBpX2RiaV9pbml0KHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IG1pcGlfZGJp ICptaXBpLAo+ICB7Cj4gIAlzaXplX3QgYnVmc2l6ZSA9IG1vZGUtPnZkaXNwbGF5ICogbW9kZS0+ aGRpc3BsYXkgKiBzaXplb2YodTE2KTsKPiAgCXN0cnVjdCB0aW55ZHJtX2RldmljZSAqdGRldiA9 ICZtaXBpLT50aW55ZHJtOwo+ICsJc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcjsKPiAr CXN0cnVjdCBkcm1fZGV2aWNlICpkcm07Cj4gIAlpbnQgcmV0Owo+ICsJc3RhdGljIGNvbnN0IHVp bnQ2NF90IG1vZGlmaWVyc1tdID0gewo+ICsJCURSTV9GT1JNQVRfTU9EX0xJTkVBUiwKPiArCQlE Uk1fRk9STUFUX01PRF9JTlZBTElECj4gKwl9Owo+ICAKPiAgCWlmICghbWlwaS0+Y29tbWFuZCkK PiAgCQlyZXR1cm4gLUVJTlZBTDsKPiBAQCAtNDA2LDE4ICs0MTIsMjIgQEAgaW50IG1pcGlfZGJp X2luaXQoc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgbWlwaV9kYmkgKm1pcGksCj4gIAlpZiAo cmV0KQo+ICAJCXJldHVybiByZXQ7Cj4gIAo+IC0JLyogVE9ETzogTWF5YmUgYWRkIERSTV9NT0RF X0NPTk5FQ1RPUl9TUEkgKi8KPiAtCXJldCA9IHRpbnlkcm1fZGlzcGxheV9waXBlX2luaXQodGRl diwgcGlwZV9mdW5jcywKPiAtCQkJCQlEUk1fTU9ERV9DT05ORUNUT1JfVklSVFVBTCwKPiAtCQkJ CQltaXBpX2RiaV9mb3JtYXRzLAo+IC0JCQkJCUFSUkFZX1NJWkUobWlwaV9kYmlfZm9ybWF0cyks IG1vZGUsCj4gLQkJCQkJcm90YXRpb24pOwo+ICsJZHJtID0gdGRldi0+ZHJtOwo+ICsKPiArCWNv bm5lY3RvciA9IGRybV9zaW1wbGVfY29ubmVjdG9yX2NyZWF0ZShkcm0sIERSTV9NT0RFX0NPTk5F Q1RPUl9WSVJUVUFMLCBtb2RlLCByb3RhdGlvbik7CgpZb3UgbG9zdCB0aGUgdG9kbyBoZXJlIC4u LiBfVklSVFVBTCBpcyBraW5kYSBhIHByZXR0eSBnb29kIGxpZSwgc2luY2UgdGhpcwppcyBkZWZp bml0ZWx5IG5vdCB2aXJ0dWFsIGh3IDotKQotRGFuaWVsCgo+ICsJaWYgKElTX0VSUihjb25uZWN0 b3IpKQo+ICsJCXJldHVybiBQVFJfRVJSKGNvbm5lY3Rvcik7Cj4gKwo+ICsJcmV0ID0gZHJtX3Np bXBsZV9kaXNwbGF5X3BpcGVfaW5pdChkcm0sICZ0ZGV2LT5waXBlLCBwaXBlX2Z1bmNzLAo+ICsJ CQkJCSAgIG1pcGlfZGJpX2Zvcm1hdHMsIEFSUkFZX1NJWkUobWlwaV9kYmlfZm9ybWF0cyksCj4g KwkJCQkJICAgbW9kaWZpZXJzLCBjb25uZWN0b3IpOwo+ICAJaWYgKHJldCkKPiAgCQlyZXR1cm4g cmV0Owo+ICAKPiAgCWRybV9wbGFuZV9lbmFibGVfZmJfZGFtYWdlX2NsaXBzKCZ0ZGV2LT5waXBl LnBsYW5lKTsKPiAgCj4gLQl0ZGV2LT5kcm0tPm1vZGVfY29uZmlnLnByZWZlcnJlZF9kZXB0aCA9 IDE2Owo+ICsJZHJtX3NpbXBsZV9jb25uZWN0b3Jfc2V0X21vZGVfY29uZmlnKGNvbm5lY3Rvcik7 Cj4gKwlkcm0tPm1vZGVfY29uZmlnLnByZWZlcnJlZF9kZXB0aCA9IDE2Owo+ICAJbWlwaS0+cm90 YXRpb24gPSByb3RhdGlvbjsKPiAgCj4gIAlkcm1fbW9kZV9jb25maWdfcmVzZXQodGRldi0+ZHJt KTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3Rpbnlkcm0vcmVwYXBlci5jIGIvZHJp dmVycy9ncHUvZHJtL3Rpbnlkcm0vcmVwYXBlci5jCj4gaW5kZXggNzJkMzAxNTFlY2Q4Li4xZDU1 MTc0NGNjOWIgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3Rpbnlkcm0vcmVwYXBlci5j Cj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3Rpbnlkcm0vcmVwYXBlci5jCj4gQEAgLTkyNCwxMiAr OTI0LDE0IEBAIHN0YXRpYyBpbnQgcmVwYXBlcl9wcm9iZShzdHJ1Y3Qgc3BpX2RldmljZSAqc3Bp KQo+ICAJY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGU7Cj4gIAljb25zdCBzdHJ1 Y3Qgc3BpX2RldmljZV9pZCAqc3BpX2lkOwo+ICAJY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCAq bWF0Y2g7Cj4gKwlzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yOwo+ICAJc3RydWN0IGRl dmljZSAqZGV2ID0gJnNwaS0+ZGV2Owo+ICAJc3RydWN0IHRpbnlkcm1fZGV2aWNlICp0ZGV2Owo+ ICAJZW51bSByZXBhcGVyX21vZGVsIG1vZGVsOwo+ICAJY29uc3QgY2hhciAqdGhlcm1hbF96b25l Owo+ICAJc3RydWN0IHJlcGFwZXJfZXBkICplcGQ7Cj4gIAlzaXplX3QgbGluZV9idWZmZXJfc2l6 ZTsKPiArCXN0cnVjdCBkcm1fZGV2aWNlICpkcm07Cj4gIAlpbnQgcmV0Owo+ICAKPiAgCW1hdGNo ID0gb2ZfbWF0Y2hfZGV2aWNlKHJlcGFwZXJfb2ZfbWF0Y2gsIGRldik7Cj4gQEAgLTEwNjksMTMg KzEwNzEsMTkgQEAgc3RhdGljIGludCByZXBhcGVyX3Byb2JlKHN0cnVjdCBzcGlfZGV2aWNlICpz cGkpCj4gIAlpZiAocmV0KQo+ICAJCXJldHVybiByZXQ7Cj4gIAo+IC0JcmV0ID0gdGlueWRybV9k aXNwbGF5X3BpcGVfaW5pdCh0ZGV2LCAmcmVwYXBlcl9waXBlX2Z1bmNzLAo+IC0JCQkJCURSTV9N T0RFX0NPTk5FQ1RPUl9WSVJUVUFMLAo+IC0JCQkJCXJlcGFwZXJfZm9ybWF0cywKPiAtCQkJCQlB UlJBWV9TSVpFKHJlcGFwZXJfZm9ybWF0cyksIG1vZGUsIDApOwo+ICsJZHJtID0gdGRldi0+ZHJt Owo+ICsKPiArCWNvbm5lY3RvciA9IGRybV9zaW1wbGVfY29ubmVjdG9yX2NyZWF0ZShkcm0sIERS TV9NT0RFX0NPTk5FQ1RPUl9WSVJUVUFMLCBtb2RlLCAwKTsKPiArCWlmIChJU19FUlIoY29ubmVj dG9yKSkKPiArCQlyZXR1cm4gUFRSX0VSUihjb25uZWN0b3IpOwo+ICsKPiArCXJldCA9IGRybV9z aW1wbGVfZGlzcGxheV9waXBlX2luaXQoZHJtLCAmdGRldi0+cGlwZSwgJnJlcGFwZXJfcGlwZV9m dW5jcywKPiArCQkJCQkgICByZXBhcGVyX2Zvcm1hdHMsIEFSUkFZX1NJWkUocmVwYXBlcl9mb3Jt YXRzKSwKPiArCQkJCQkgICBOVUxMLCBjb25uZWN0b3IpOwo+ICAJaWYgKHJldCkKPiAgCQlyZXR1 cm4gcmV0Owo+ICAKPiArCWRybV9zaW1wbGVfY29ubmVjdG9yX3NldF9tb2RlX2NvbmZpZyhjb25u ZWN0b3IpOwo+ICAJZHJtX21vZGVfY29uZmlnX3Jlc2V0KHRkZXYtPmRybSk7Cj4gIAlzcGlfc2V0 X2RydmRhdGEoc3BpLCB0ZGV2KTsKPiAgCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS90 aW55ZHJtL3N0NzU4Ni5jIGIvZHJpdmVycy9ncHUvZHJtL3Rpbnlkcm0vc3Q3NTg2LmMKPiBpbmRl eCA1ZWU3ZGI1NjEzNDkuLjZjYjY4ZGQ3ZTdiNiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9k cm0vdGlueWRybS9zdDc1ODYuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS90aW55ZHJtL3N0NzU4 Ni5jCj4gQEAgLTI3MSw2ICsyNzEsOCBAQCBzdGF0aWMgaW50IHN0NzU4Nl9pbml0KHN0cnVjdCBk ZXZpY2UgKmRldiwgc3RydWN0IG1pcGlfZGJpICptaXBpLAo+ICB7Cj4gIAlzaXplX3QgYnVmc2l6 ZSA9IChtb2RlLT52ZGlzcGxheSArIDIpIC8gMyAqIG1vZGUtPmhkaXNwbGF5Owo+ICAJc3RydWN0 IHRpbnlkcm1fZGV2aWNlICp0ZGV2ID0gJm1pcGktPnRpbnlkcm07Cj4gKwlzdHJ1Y3QgZHJtX2Nv bm5lY3RvciAqY29ubmVjdG9yOwo+ICsJc3RydWN0IGRybV9kZXZpY2UgKmRybTsKPiAgCWludCBy ZXQ7Cj4gIAo+ICAJbXV0ZXhfaW5pdCgmbWlwaS0+Y21kbG9jayk7Cj4gQEAgLTI4MywxNyArMjg1 LDIyIEBAIHN0YXRpYyBpbnQgc3Q3NTg2X2luaXQoc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3Qg bWlwaV9kYmkgKm1pcGksCj4gIAlpZiAocmV0KQo+ICAJCXJldHVybiByZXQ7Cj4gIAo+IC0JcmV0 ID0gdGlueWRybV9kaXNwbGF5X3BpcGVfaW5pdCh0ZGV2LCBwaXBlX2Z1bmNzLAo+IC0JCQkJCURS TV9NT0RFX0NPTk5FQ1RPUl9WSVJUVUFMLAo+IC0JCQkJCXN0NzU4Nl9mb3JtYXRzLAo+IC0JCQkJ CUFSUkFZX1NJWkUoc3Q3NTg2X2Zvcm1hdHMpLAo+IC0JCQkJCW1vZGUsIHJvdGF0aW9uKTsKPiAr CWRybSA9IHRkZXYtPmRybTsKPiArCj4gKwljb25uZWN0b3IgPSBkcm1fc2ltcGxlX2Nvbm5lY3Rv cl9jcmVhdGUoZHJtLCBEUk1fTU9ERV9DT05ORUNUT1JfVklSVFVBTCwgbW9kZSwgcm90YXRpb24p Owo+ICsJaWYgKElTX0VSUihjb25uZWN0b3IpKQo+ICsJCXJldHVybiBQVFJfRVJSKGNvbm5lY3Rv cik7Cj4gKwo+ICsJcmV0ID0gZHJtX3NpbXBsZV9kaXNwbGF5X3BpcGVfaW5pdChkcm0sICZ0ZGV2 LT5waXBlLCBwaXBlX2Z1bmNzLAo+ICsJCQkJCSAgIHN0NzU4Nl9mb3JtYXRzLCBBUlJBWV9TSVpF KHN0NzU4Nl9mb3JtYXRzKSwKPiArCQkJCQkgICBOVUxMLCBjb25uZWN0b3IpOwo+ICAJaWYgKHJl dCkKPiAgCQlyZXR1cm4gcmV0Owo+ICAKPiAgCWRybV9wbGFuZV9lbmFibGVfZmJfZGFtYWdlX2Ns aXBzKCZ0ZGV2LT5waXBlLnBsYW5lKTsKPiAgCj4gLQl0ZGV2LT5kcm0tPm1vZGVfY29uZmlnLnBy ZWZlcnJlZF9kZXB0aCA9IDMyOwo+ICsJZHJtX3NpbXBsZV9jb25uZWN0b3Jfc2V0X21vZGVfY29u ZmlnKGNvbm5lY3Rvcik7Cj4gKwlkcm0tPm1vZGVfY29uZmlnLnByZWZlcnJlZF9kZXB0aCA9IDMy Owo+ICAJbWlwaS0+cm90YXRpb24gPSByb3RhdGlvbjsKPiAgCj4gIAlkcm1fbW9kZV9jb25maWdf cmVzZXQodGRldi0+ZHJtKTsKPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vdGlueWRybS90aW55 ZHJtLmggYi9pbmNsdWRlL2RybS90aW55ZHJtL3Rpbnlkcm0uaAo+IGluZGV4IDg3ZTdmOWI5M2Ez Ny4uNjljNDM2M2ZkODhlIDEwMDY0NAo+IC0tLSBhL2luY2x1ZGUvZHJtL3Rpbnlkcm0vdGlueWRy bS5oCj4gKysrIGIvaW5jbHVkZS9kcm0vdGlueWRybS90aW55ZHJtLmgKPiBAQCAtNDAsMTMgKzQw LDQgQEAgaW50IGRldm1fdGlueWRybV9pbml0KHN0cnVjdCBkZXZpY2UgKnBhcmVudCwgc3RydWN0 IHRpbnlkcm1fZGV2aWNlICp0ZGV2LAo+ICBpbnQgZGV2bV90aW55ZHJtX3JlZ2lzdGVyKHN0cnVj dCB0aW55ZHJtX2RldmljZSAqdGRldik7Cj4gIHZvaWQgdGlueWRybV9zaHV0ZG93bihzdHJ1Y3Qg dGlueWRybV9kZXZpY2UgKnRkZXYpOwo+ICAKPiAtaW50Cj4gLXRpbnlkcm1fZGlzcGxheV9waXBl X2luaXQoc3RydWN0IHRpbnlkcm1fZGV2aWNlICp0ZGV2LAo+IC0JCQkgIGNvbnN0IHN0cnVjdCBk cm1fc2ltcGxlX2Rpc3BsYXlfcGlwZV9mdW5jcyAqZnVuY3MsCj4gLQkJCSAgaW50IGNvbm5lY3Rv cl90eXBlLAo+IC0JCQkgIGNvbnN0IHVpbnQzMl90ICpmb3JtYXRzLAo+IC0JCQkgIHVuc2lnbmVk IGludCBmb3JtYXRfY291bnQsCj4gLQkJCSAgY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUg Km1vZGUsCj4gLQkJCSAgdW5zaWduZWQgaW50IHJvdGF0aW9uKTsKPiAtCj4gICNlbmRpZiAvKiBf X0xJTlVYX1RJTllEUk1fSCAqLwo+IC0tIAo+IDIuMjAuMQo+IAo+IF9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gZHJpLWRldmVsIG1haWxpbmcgbGlzdAo+ IGRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPiBodHRwczovL2xpc3RzLmZyZWVkZXNr dG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAoKLS0gCkRhbmllbCBWZXR0ZXIKU29m dHdhcmUgRW5naW5lZXIsIEludGVsIENvcnBvcmF0aW9uCmh0dHA6Ly9ibG9nLmZmd2xsLmNoCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBt YWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3Rz LmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=