From mboxrd@z Thu Jan 1 00:00:00 1970 From: Neil Armstrong Subject: Re: [PATCH v2 09/21] drm/bridge: Introduce drm_bridge_chain_get_next_bridge() Date: Tue, 27 Aug 2019 09:19:45 +0200 Message-ID: References: <20190826152649.13820-1-boris.brezillon@collabora.com> <20190826152649.13820-10-boris.brezillon@collabora.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wr1-x442.google.com (mail-wr1-x442.google.com [IPv6:2a00:1450:4864:20::442]) by gabe.freedesktop.org (Postfix) with ESMTPS id 8839B894D4 for ; Tue, 27 Aug 2019 07:19:48 +0000 (UTC) Received: by mail-wr1-x442.google.com with SMTP id r3so17664896wrt.3 for ; Tue, 27 Aug 2019 00:19:48 -0700 (PDT) In-Reply-To: <20190826152649.13820-10-boris.brezillon@collabora.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: Boris Brezillon , dri-devel@lists.freedesktop.org Cc: Nikita Yushchenko , Jernej Skrabec , Laurent Pinchart , Jonas Karlman , Andrey Smirnov , Seung-Woo Kim , Kyungmin Park , Thierry Reding , Chris Healy , kernel@collabora.com, Sam Ravnborg List-Id: dri-devel@lists.freedesktop.org T24gMjYvMDgvMjAxOSAxNzoyNiwgQm9yaXMgQnJlemlsbG9uIHdyb3RlOgo+IEFuZCB1c2UgaXQg aW4gZHJpdmVycyBhY2Nlc3NpbmcgdGhlIGJyaWRnZS0+bmV4dCBmaWVsZCBkaXJlY3RseS4KPiBU aGlzIGlzIHBhcnQgb2Ygb3VyIGF0dGVtcHQgdG8gbWFrZSB0aGUgYnJpZGdlIGNoYWluIGEgZG91 YmxlLWxpbmtlZCBsaXN0Cj4gYmFzZWQgb24gdGhlIGdlbmVyaWMgbGlzdCBoZWxwZXJzLgoKUmV2 aWV3ZWQtYnk6IE5laWwgQXJtc3Ryb25nIDxuYXJtc3Ryb25nQGJheWxpYnJlLmNvbT4KCj4gCj4g U2lnbmVkLW9mZi1ieTogQm9yaXMgQnJlemlsbG9uIDxib3Jpcy5icmV6aWxsb25AY29sbGFib3Jh LmNvbT4KPiAtLS0KPiBDaGFuZ2VzIGluIHYyOgo+ICogS2lsbCB0aGUgbGFzdC9maXJzdCBoZWxw ZXJzICh0aGV5J3JlIG5vdCByZWFsbHkgbmVlZGVkKQo+ICogRHJvcCB0aGUgIWJyaWRnZSB8fCAh YnJpZGdlLT5lbmNvZGVyIHRlc3QKPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL2RybV9icmlkZ2Uu YyAgICAgICAgICAgfCAxNCArKysrKysrKysrKysrKwo+ICBkcml2ZXJzL2dwdS9kcm0vbWVkaWF0 ZWsvbXRrX2hkbWkuYyAgICB8ICA2ICsrKystLQo+ICBkcml2ZXJzL2dwdS9kcm0vbXNtL2VkcC9l ZHBfYnJpZGdlLmMgICB8IDEwICsrKysrKysrLS0KPiAgZHJpdmVycy9ncHUvZHJtL29tYXBkcm0v b21hcF9kcnYuYyAgICAgfCAgNCArKy0tCj4gIGRyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL29tYXBf ZW5jb2Rlci5jIHwgIDMgKystCj4gIGRyaXZlcnMvZ3B1L2RybS9yY2FyLWR1L3JjYXJfZHVfY3J0 Yy5jIHwgMTAgKysrKysrKy0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vdmM0L3ZjNF9kc2kuYyAgICAg ICAgICB8ICA0ICsrKy0KPiAgaW5jbHVkZS9kcm0vZHJtX2JyaWRnZS5oICAgICAgICAgICAgICAg fCAgMiArKwo+ICA4IGZpbGVzIGNoYW5nZWQsIDQyIGluc2VydGlvbnMoKyksIDExIGRlbGV0aW9u cygtKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2JyaWRnZS5jIGIvZHJp dmVycy9ncHUvZHJtL2RybV9icmlkZ2UuYwo+IGluZGV4IDUyZjEyNjM1MzBiNy4uM2Q5YTZjNmE3 ZDRlIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYnJpZGdlLmMKPiArKysgYi9k cml2ZXJzL2dwdS9kcm0vZHJtX2JyaWRnZS5jCj4gQEAgLTE2MCw2ICsxNjAsMjAgQEAgdm9pZCBk cm1fYnJpZGdlX2RldGFjaChzdHJ1Y3QgZHJtX2JyaWRnZSAqYnJpZGdlKQo+ICAJYnJpZGdlLT5k ZXYgPSBOVUxMOwo+ICB9Cj4gIAo+ICsvKioKPiArICogZHJtX2JyaWRnZV9jaGFpbl9nZXRfbmV4 dF9icmlkZ2UoKSAtIEdldCB0aGUgbmV4dCBicmlkZ2UgaW4gdGhlIGNoYWluCj4gKyAqIEBicmlk Z2U6IGJyaWRnZSBvYmplY3QKPiArICoKPiArICogUkVUVVJOUzoKPiArICogdGhlIG5leHQgYnJp ZGdlIGluIHRoZSBjaGFpbiwgb3IgTlVMTCBpZiBAYnJpZGdlIGlzIHRoZSBsYXN0Lgo+ICsgKi8K PiArc3RydWN0IGRybV9icmlkZ2UgKgo+ICtkcm1fYnJpZGdlX2NoYWluX2dldF9uZXh0X2JyaWRn ZShzdHJ1Y3QgZHJtX2JyaWRnZSAqYnJpZGdlKQo+ICt7Cj4gKwlyZXR1cm4gYnJpZGdlLT5uZXh0 Owo+ICt9Cj4gK0VYUE9SVF9TWU1CT0woZHJtX2JyaWRnZV9jaGFpbl9nZXRfbmV4dF9icmlkZ2Up Owo+ICsKPiAgLyoqCj4gICAqIERPQzogYnJpZGdlIGNhbGxiYWNrcwo+ICAgKgo+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2hkbWkuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9tZWRpYXRlay9tdGtfaGRtaS5jCj4gaW5kZXggZWE2OGI1YWRjY2JlLi5jZmFhNWFhYjg4NzYg MTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19oZG1pLmMKPiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2hkbWkuYwo+IEBAIC0xMjM4LDE2ICsxMjM4 LDE4IEBAIHN0YXRpYyBpbnQgbXRrX2hkbWlfY29ubl9tb2RlX3ZhbGlkKHN0cnVjdCBkcm1fY29u bmVjdG9yICpjb25uLAo+ICAJCQkJICAgIHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlKQo+ ICB7Cj4gIAlzdHJ1Y3QgbXRrX2hkbWkgKmhkbWkgPSBoZG1pX2N0eF9mcm9tX2Nvbm4oY29ubik7 Cj4gKwlzdHJ1Y3QgZHJtX2JyaWRnZSAqbmV4dF9icmlkZ2U7Cj4gIAo+ICAJZGV2X2RiZyhoZG1p LT5kZXYsICJ4cmVzPSVkLCB5cmVzPSVkLCByZWZyZXNoPSVkLCBpbnRsPSVkIGNsb2NrPSVkXG4i LAo+ICAJCW1vZGUtPmhkaXNwbGF5LCBtb2RlLT52ZGlzcGxheSwgbW9kZS0+dnJlZnJlc2gsCj4g IAkJISEobW9kZS0+ZmxhZ3MgJiBEUk1fTU9ERV9GTEFHX0lOVEVSTEFDRSksIG1vZGUtPmNsb2Nr ICogMTAwMCk7Cj4gIAo+IC0JaWYgKGhkbWktPmJyaWRnZS5uZXh0KSB7Cj4gKwluZXh0X2JyaWRn ZSA9IGRybV9icmlkZ2VfY2hhaW5fZ2V0X25leHRfYnJpZGdlKCZoZG1pLT5icmlkZ2UpOwo+ICsJ aWYgKG5leHRfYnJpZGdlKSB7Cj4gIAkJc3RydWN0IGRybV9kaXNwbGF5X21vZGUgYWRqdXN0ZWRf bW9kZTsKPiAgCj4gIAkJZHJtX21vZGVfY29weSgmYWRqdXN0ZWRfbW9kZSwgbW9kZSk7Cj4gLQkJ aWYgKCFkcm1fYnJpZGdlX2NoYWluX21vZGVfZml4dXAoaGRtaS0+YnJpZGdlLm5leHQsIG1vZGUs Cj4gKwkJaWYgKCFkcm1fYnJpZGdlX2NoYWluX21vZGVfZml4dXAobmV4dF9icmlkZ2UsIG1vZGUs Cj4gIAkJCQkJCSAmYWRqdXN0ZWRfbW9kZSkpCj4gIAkJCXJldHVybiBNT0RFX0JBRDsKPiAgCX0K PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9lZHAvZWRwX2JyaWRnZS5jIGIvZHJp dmVycy9ncHUvZHJtL21zbS9lZHAvZWRwX2JyaWRnZS5jCj4gaW5kZXggNDQ2YWNjYTExMGU5Li43 NzI0MDhjOTQ2NDMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9lZHAvZWRwX2Jy aWRnZS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9lZHAvZWRwX2JyaWRnZS5jCj4gQEAg LTU1LDggKzU1LDE0IEBAIHN0YXRpYyB2b2lkIGVkcF9icmlkZ2VfbW9kZV9zZXQoc3RydWN0IGRy bV9icmlkZ2UgKmJyaWRnZSwKPiAgCURCRygic2V0IG1vZGU6ICIgRFJNX01PREVfRk1ULCBEUk1f TU9ERV9BUkcobW9kZSkpOwo+ICAKPiAgCWxpc3RfZm9yX2VhY2hfZW50cnkoY29ubmVjdG9yLCAm ZGV2LT5tb2RlX2NvbmZpZy5jb25uZWN0b3JfbGlzdCwgaGVhZCkgewo+IC0JCWlmICgoY29ubmVj dG9yLT5lbmNvZGVyICE9IE5VTEwpICYmCj4gLQkJCShjb25uZWN0b3ItPmVuY29kZXItPmJyaWRn ZS5uZXh0ID09IGJyaWRnZSkpIHsKPiArCQlzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIgPSBj b25uZWN0b3ItPmVuY29kZXI7Cj4gKwkJc3RydWN0IGRybV9icmlkZ2UgKmZpcnN0X2JyaWRnZTsK PiArCj4gKwkJaWYgKCFlbmNvZGVyKQo+ICsJCQljb250aW51ZTsKPiArCj4gKwkJZmlyc3RfYnJp ZGdlID0gZHJtX2JyaWRnZV9jaGFpbl9nZXRfbmV4dF9icmlkZ2UoJmVuY29kZXItPmJyaWRnZSk7 Cj4gKwkJaWYgKGJyaWRnZSA9PSBmaXJzdF9icmlkZ2UpIHsKPiAgCQkJbXNtX2VkcF9jdHJsX3Rp bWluZ19jZmcoZWRwLT5jdHJsLAo+ICAJCQkJYWRqdXN0ZWRfbW9kZSwgJmNvbm5lY3Rvci0+ZGlz cGxheV9pbmZvKTsKPiAgCQkJYnJlYWs7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9v bWFwZHJtL29tYXBfZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX2Rydi5jCj4g aW5kZXggMjI0ZWM2ZmRjODAwLi5iYTU5ODgxYmNmM2YgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9n cHUvZHJtL29tYXBkcm0vb21hcF9kcnYuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9vbWFwZHJt L29tYXBfZHJ2LmMKPiBAQCAtMjE3LDggKzIxNyw4IEBAIHN0YXRpYyBpbnQgb21hcF9kaXNwbGF5 X2lkKHN0cnVjdCBvbWFwX2Rzc19kZXZpY2UgKm91dHB1dCkKPiAgCX0gZWxzZSBpZiAob3V0cHV0 LT5icmlkZ2UpIHsKPiAgCQlzdHJ1Y3QgZHJtX2JyaWRnZSAqYnJpZGdlID0gb3V0cHV0LT5icmlk Z2U7Cj4gIAo+IC0JCXdoaWxlIChicmlkZ2UtPm5leHQpCj4gLQkJCWJyaWRnZSA9IGJyaWRnZS0+ bmV4dDsKPiArCQl3aGlsZSAoZHJtX2JyaWRnZV9jaGFpbl9nZXRfbmV4dF9icmlkZ2UoYnJpZGdl KSkKPiArCQkJYnJpZGdlID0gZHJtX2JyaWRnZV9jaGFpbl9nZXRfbmV4dF9icmlkZ2UoYnJpZGdl KTsKPiAgCj4gIAkJbm9kZSA9IGJyaWRnZS0+b2Zfbm9kZTsKPiAgCX0gZWxzZSBpZiAob3V0cHV0 LT5wYW5lbCkgewo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX2Vu Y29kZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL29tYXBfZW5jb2Rlci5jCj4gaW5kZXgg MjRiYmU5ZjJhMzJlLi44Y2E1NDA4MTk5N2UgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L29tYXBkcm0vb21hcF9lbmNvZGVyLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9v bWFwX2VuY29kZXIuYwo+IEBAIC0xMjYsNyArMTI2LDggQEAgc3RhdGljIHZvaWQgb21hcF9lbmNv ZGVyX21vZGVfc2V0KHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciwKPiAgCWZvciAoZHNzZGV2 ID0gb3V0cHV0OyBkc3NkZXY7IGRzc2RldiA9IGRzc2Rldi0+bmV4dCkKPiAgCQlvbWFwX2VuY29k ZXJfdXBkYXRlX3ZpZGVvbW9kZV9mbGFncygmdm0sIGRzc2Rldi0+YnVzX2ZsYWdzKTsKPiAgCj4g LQlmb3IgKGJyaWRnZSA9IG91dHB1dC0+YnJpZGdlOyBicmlkZ2U7IGJyaWRnZSA9IGJyaWRnZS0+ bmV4dCkgewo+ICsJZm9yIChicmlkZ2UgPSBvdXRwdXQtPmJyaWRnZTsgYnJpZGdlOwo+ICsJICAg ICBicmlkZ2UgPSBkcm1fYnJpZGdlX2NoYWluX2dldF9uZXh0X2JyaWRnZShicmlkZ2UpKSB7Cj4g IAkJaWYgKCFicmlkZ2UtPnRpbWluZ3MpCj4gIAkJCWNvbnRpbnVlOwo+ICAKPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL3JjYXItZHUvcmNhcl9kdV9jcnRjLmMgYi9kcml2ZXJzL2dwdS9k cm0vcmNhci1kdS9yY2FyX2R1X2NydGMuYwo+IGluZGV4IDFiZDc0ODIwMjk0Ni4uYmNjY2RjY2Qy ODc4IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yY2FyLWR1L3JjYXJfZHVfY3J0Yy5j Cj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3JjYXItZHUvcmNhcl9kdV9jcnRjLmMKPiBAQCAtMTQs NiArMTQsNyBAQAo+ICAKPiAgI2luY2x1ZGUgPGRybS9kcm1fYXRvbWljLmg+Cj4gICNpbmNsdWRl IDxkcm0vZHJtX2F0b21pY19oZWxwZXIuaD4KPiArI2luY2x1ZGUgPGRybS9kcm1fYnJpZGdlLmg+ Cj4gICNpbmNsdWRlIDxkcm0vZHJtX2NydGMuaD4KPiAgI2luY2x1ZGUgPGRybS9kcm1fZGV2aWNl Lmg+Cj4gICNpbmNsdWRlIDxkcm0vZHJtX2ZiX2NtYV9oZWxwZXIuaD4KPiBAQCAtNjgwLDkgKzY4 MSwxMCBAQCBzdGF0aWMgdm9pZCByY2FyX2R1X2NydGNfYXRvbWljX2VuYWJsZShzdHJ1Y3QgZHJt X2NydGMgKmNydGMsCj4gIAkJCXJjZHUtPmVuY29kZXJzW1JDQVJfRFVfT1VUUFVUX0xWRFMwICsg cmNydGMtPmluZGV4XTsKPiAgCQljb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSA9 Cj4gIAkJCSZjcnRjLT5zdGF0ZS0+YWRqdXN0ZWRfbW9kZTsKPiArCQlzdHJ1Y3QgZHJtX2JyaWRn ZSAqYnJpZGdlOwo+ICAKPiAtCQlyY2FyX2x2ZHNfY2xrX2VuYWJsZShlbmNvZGVyLT5iYXNlLmJy aWRnZS5uZXh0LAo+IC0JCQkJICAgICBtb2RlLT5jbG9jayAqIDEwMDApOwo+ICsJCWJyaWRnZSA9 IGRybV9icmlkZ2VfY2hhaW5fZ2V0X25leHRfYnJpZGdlKCZlbmNvZGVyLT5iYXNlLmJyaWRnZSk7 Cj4gKwkJcmNhcl9sdmRzX2Nsa19lbmFibGUoYnJpZGdlLCBtb2RlLT5jbG9jayAqIDEwMDApOwo+ ICAJfQo+ICAKPiAgCXJjYXJfZHVfY3J0Y19zdGFydChyY3J0Yyk7Cj4gQEAgLTcwMiwxMiArNzA0 LDE0IEBAIHN0YXRpYyB2b2lkIHJjYXJfZHVfY3J0Y19hdG9taWNfZGlzYWJsZShzdHJ1Y3QgZHJt X2NydGMgKmNydGMsCj4gIAkgICAgcnN0YXRlLT5vdXRwdXRzID09IEJJVChSQ0FSX0RVX09VVFBV VF9EUEFEMCkpIHsKPiAgCQlzdHJ1Y3QgcmNhcl9kdV9lbmNvZGVyICplbmNvZGVyID0KPiAgCQkJ cmNkdS0+ZW5jb2RlcnNbUkNBUl9EVV9PVVRQVVRfTFZEUzAgKyByY3J0Yy0+aW5kZXhdOwo+ICsJ CXN0cnVjdCBkcm1fYnJpZGdlICpicmlkZ2U7Cj4gIAo+ICAJCS8qCj4gIAkJICogRGlzYWJsZSB0 aGUgTFZEUyBjbG9jayBvdXRwdXQsIHNlZQo+ICAJCSAqIHJjYXJfZHVfY3J0Y19hdG9taWNfZW5h YmxlKCkuCj4gIAkJICovCj4gLQkJcmNhcl9sdmRzX2Nsa19kaXNhYmxlKGVuY29kZXItPmJhc2Uu YnJpZGdlLm5leHQpOwo+ICsJCWJyaWRnZSA9IGRybV9icmlkZ2VfY2hhaW5fZ2V0X25leHRfYnJp ZGdlKCZlbmNvZGVyLT5iYXNlLmJyaWRnZSk7Cj4gKwkJcmNhcl9sdmRzX2Nsa19kaXNhYmxlKGJy aWRnZSk7Cj4gIAl9Cj4gIAo+ICAJc3Bpbl9sb2NrX2lycSgmY3J0Yy0+ZGV2LT5ldmVudF9sb2Nr KTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRfZHNpLmMgYi9kcml2ZXJz L2dwdS9kcm0vdmM0L3ZjNF9kc2kuYwo+IGluZGV4IDRhYTRjMWE5NGYxNy4uNGVhMzUyNTY3Y2Zi IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS92YzQvdmM0X2RzaS5jCj4gKysrIGIvZHJp dmVycy9ncHUvZHJtL3ZjNC92YzRfZHNpLmMKPiBAQCAtMTYzNiw4ICsxNjM2LDEwIEBAIHN0YXRp YyB2b2lkIHZjNF9kc2lfdW5iaW5kKHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IGRldmljZSAq bWFzdGVyLAo+ICAJc3RydWN0IGRybV9kZXZpY2UgKmRybSA9IGRldl9nZXRfZHJ2ZGF0YShtYXN0 ZXIpOwo+ICAJc3RydWN0IHZjNF9kZXYgKnZjNCA9IHRvX3ZjNF9kZXYoZHJtKTsKPiAgCXN0cnVj dCB2YzRfZHNpICpkc2kgPSBkZXZfZ2V0X2RydmRhdGEoZGV2KTsKPiArCXN0cnVjdCBkcm1fYnJp ZGdlICpicmlkZ2U7Cj4gIAo+IC0JaWYgKGRzaS0+ZW5jb2Rlci0+YnJpZGdlLm5leHQpCj4gKwli cmlkZ2UgPSBkcm1fYnJpZGdlX2NoYWluX2dldF9uZXh0X2JyaWRnZSgmZHNpLT5lbmNvZGVyLT5i cmlkZ2UpOwo+ICsJaWYgKGJyaWRnZSkKPiAgCQlwbV9ydW50aW1lX2Rpc2FibGUoZGV2KTsKPiAg Cj4gIAl2YzRfZHNpX2VuY29kZXJfZGVzdHJveShkc2ktPmVuY29kZXIpOwo+IGRpZmYgLS1naXQg YS9pbmNsdWRlL2RybS9kcm1fYnJpZGdlLmggYi9pbmNsdWRlL2RybS9kcm1fYnJpZGdlLmgKPiBp bmRleCA0NDJhMDY1NGUxYmYuLjc4MDlmY2E5OWIyZCAxMDA2NDQKPiAtLS0gYS9pbmNsdWRlL2Ry bS9kcm1fYnJpZGdlLmgKPiArKysgYi9pbmNsdWRlL2RybS9kcm1fYnJpZGdlLmgKPiBAQCAtNDA5 LDYgKzQwOSw4IEBAIHN0cnVjdCBkcm1fYnJpZGdlICpvZl9kcm1fZmluZF9icmlkZ2Uoc3RydWN0 IGRldmljZV9ub2RlICpucCk7Cj4gIGludCBkcm1fYnJpZGdlX2F0dGFjaChzdHJ1Y3QgZHJtX2Vu Y29kZXIgKmVuY29kZXIsIHN0cnVjdCBkcm1fYnJpZGdlICpicmlkZ2UsCj4gIAkJICAgICAgc3Ry dWN0IGRybV9icmlkZ2UgKnByZXZpb3VzKTsKPiAgCj4gK3N0cnVjdCBkcm1fYnJpZGdlICoKPiAr ZHJtX2JyaWRnZV9jaGFpbl9nZXRfbmV4dF9icmlkZ2Uoc3RydWN0IGRybV9icmlkZ2UgKmJyaWRn ZSk7Cj4gIGJvb2wgZHJtX2JyaWRnZV9jaGFpbl9tb2RlX2ZpeHVwKHN0cnVjdCBkcm1fYnJpZGdl ICpicmlkZ2UsCj4gIAkJCQkgY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUsCj4g IAkJCQkgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmFkanVzdGVkX21vZGUpOwo+IAoKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxp bmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJl ZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVs