From: Boris Brezillon Subject: Re: [PATCH v2 3/7] drm/vc4: Switch DPI to using the panel-bridge helper. Date: Fri, 12 May 2017 10:04:26 +0200 Message-ID: <20170512100426.265e638b@bbrezillon> References: <20170511183128.25085-1-eric@anholt.net> <20170511183128.25085-3-eric@anholt.net> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail.free-electrons.com (mail.free-electrons.com [62.4.15.54]) by gabe.freedesktop.org (Postfix) with ESMTP id BB6EC6E62E for ; Fri, 12 May 2017 08:04:37 +0000 (UTC) In-Reply-To: <20170511183128.25085-3-eric@anholt.net> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Eric Anholt Cc: Philippe Cornu , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, Yannick Fertre , Laurent Pinchart List-Id: dri-devel@lists.freedesktop.org T24gVGh1LCAxMSBNYXkgMjAxNyAxMTozMToyNCAtMDcwMApFcmljIEFuaG9sdCA8ZXJpY0Bhbmhv bHQubmV0PiB3cm90ZToKCj4gQW5vdGhlciAxMDAgbGluZXMgb2YgYm9pbGVycGxhdGUgZ29uZSwg d2hpbGUgYWxsb3dpbmcgZm9yIGJyaWRnZXMgdG8KPiBiZSBjb25uZWN0ZWQgaW4gdGhlIGRpc3Bs YXkgY2hhaW4uCj4gCj4gU2lnbmVkLW9mZi1ieTogRXJpYyBBbmhvbHQgPGVyaWNAYW5ob2x0Lm5l dD4KClJldmlld2VkLWJ5OiBCb3JpcyBCcmV6aWxsb24gPGJvcmlzLmJyZXppbGxvbkBmcmVlLWVs ZWN0cm9ucy5jb20+Cgo+IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vdmM0L3ZjNF9kcGkuYyB8IDE2 NCArKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPiAgMSBmaWxlIGNo YW5nZWQsIDMwIGluc2VydGlvbnMoKyksIDEzNCBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRfZHBpLmMgYi9kcml2ZXJzL2dwdS9kcm0vdmM0L3Zj NF9kcGkuYwo+IGluZGV4IGM2ZDcwMzkwM2ZkOS4uOTg1MzJlMmNkMmI3IDEwMDY0NAo+IC0tLSBh L2RyaXZlcnMvZ3B1L2RybS92YzQvdmM0X2RwaS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3Zj NC92YzRfZHBpLmMKPiBAQCAtMjMsOCArMjMsMTAgQEAKPiAgICovCj4gIAo+ICAjaW5jbHVkZSAi ZHJtX2F0b21pY19oZWxwZXIuaCIKPiArI2luY2x1ZGUgImRybV9icmlkZ2UuaCIKPiAgI2luY2x1 ZGUgImRybV9jcnRjX2hlbHBlci5oIgo+ICAjaW5jbHVkZSAiZHJtX2VkaWQuaCIKPiArI2luY2x1 ZGUgImRybV9vZi5oIgo+ICAjaW5jbHVkZSAiZHJtX3BhbmVsLmgiCj4gICNpbmNsdWRlICJsaW51 eC9jbGsuaCIKPiAgI2luY2x1ZGUgImxpbnV4L2NvbXBvbmVudC5oIgo+IEBAIC05NSw3ICs5Nyw4 IEBAIHN0cnVjdCB2YzRfZHBpIHsKPiAgCj4gIAlzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXI7 Cj4gIAlzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yOwo+IC0Jc3RydWN0IGRybV9wYW5l bCAqcGFuZWw7Cj4gKwlzdHJ1Y3QgZHJtX2JyaWRnZSAqYnJpZGdlOwo+ICsJYm9vbCBpc19wYW5l bF9icmlkZ2U7Cj4gIAo+ICAJdm9pZCBfX2lvbWVtICpyZWdzOwo+ICAKPiBAQCAtMTE4LDI0ICsx MjEsNiBAQCB0b192YzRfZHBpX2VuY29kZXIoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyKQo+ ICAJcmV0dXJuIGNvbnRhaW5lcl9vZihlbmNvZGVyLCBzdHJ1Y3QgdmM0X2RwaV9lbmNvZGVyLCBi YXNlLmJhc2UpOwo+ICB9Cj4gIAo+IC0vKiBWQzQgRFBJIGNvbm5lY3RvciBLTVMgc3RydWN0ICov Cj4gLXN0cnVjdCB2YzRfZHBpX2Nvbm5lY3RvciB7Cj4gLQlzdHJ1Y3QgZHJtX2Nvbm5lY3RvciBi YXNlOwo+IC0Jc3RydWN0IHZjNF9kcGkgKmRwaTsKPiAtCj4gLQkvKiBTaW5jZSB0aGUgY29ubmVj dG9yIGlzIGF0dGFjaGVkIHRvIGp1c3QgdGhlIG9uZSBlbmNvZGVyLAo+IC0JICogdGhpcyBpcyB0 aGUgcmVmZXJlbmNlIHRvIGl0IHNvIHdlIGNhbiBkbyB0aGUgYmVzdF9lbmNvZGVyKCkKPiAtCSAq IGhvb2suCj4gLQkgKi8KPiAtCXN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlcjsKPiAtfTsKPiAt Cj4gLXN0YXRpYyBpbmxpbmUgc3RydWN0IHZjNF9kcGlfY29ubmVjdG9yICoKPiAtdG9fdmM0X2Rw aV9jb25uZWN0b3Ioc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKPiAtewo+IC0JcmV0 dXJuIGNvbnRhaW5lcl9vZihjb25uZWN0b3IsIHN0cnVjdCB2YzRfZHBpX2Nvbm5lY3RvciwgYmFz ZSk7Cj4gLX0KPiAtCj4gICNkZWZpbmUgRFBJX1JFRyhyZWcpIHsgcmVnLCAjcmVnIH0KPiAgc3Rh dGljIGNvbnN0IHN0cnVjdCB7Cj4gIAl1MzIgcmVnOwo+IEBAIC0xNjcsODAgKzE1Miw2IEBAIGlu dCB2YzRfZHBpX2RlYnVnZnNfcmVncyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHZvaWQgKnVudXNlZCkK PiAgfQo+ICAjZW5kaWYKPiAgCj4gLXN0YXRpYyBlbnVtIGRybV9jb25uZWN0b3Jfc3RhdHVzCj4g LXZjNF9kcGlfY29ubmVjdG9yX2RldGVjdChzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9y LCBib29sIGZvcmNlKQo+IC17Cj4gLQlzdHJ1Y3QgdmM0X2RwaV9jb25uZWN0b3IgKnZjNF9jb25u ZWN0b3IgPQo+IC0JCXRvX3ZjNF9kcGlfY29ubmVjdG9yKGNvbm5lY3Rvcik7Cj4gLQlzdHJ1Y3Qg dmM0X2RwaSAqZHBpID0gdmM0X2Nvbm5lY3Rvci0+ZHBpOwo+IC0KPiAtCWlmIChkcGktPnBhbmVs KQo+IC0JCXJldHVybiBjb25uZWN0b3Jfc3RhdHVzX2Nvbm5lY3RlZDsKPiAtCWVsc2UKPiAtCQly ZXR1cm4gY29ubmVjdG9yX3N0YXR1c19kaXNjb25uZWN0ZWQ7Cj4gLX0KPiAtCj4gLXN0YXRpYyB2 b2lkIHZjNF9kcGlfY29ubmVjdG9yX2Rlc3Ryb3koc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5l Y3RvcikKPiAtewo+IC0JZHJtX2Nvbm5lY3Rvcl91bnJlZ2lzdGVyKGNvbm5lY3Rvcik7Cj4gLQlk cm1fY29ubmVjdG9yX2NsZWFudXAoY29ubmVjdG9yKTsKPiAtfQo+IC0KPiAtc3RhdGljIGludCB2 YzRfZHBpX2Nvbm5lY3Rvcl9nZXRfbW9kZXMoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3Rv cikKPiAtewo+IC0Jc3RydWN0IHZjNF9kcGlfY29ubmVjdG9yICp2YzRfY29ubmVjdG9yID0KPiAt CQl0b192YzRfZHBpX2Nvbm5lY3Rvcihjb25uZWN0b3IpOwo+IC0Jc3RydWN0IHZjNF9kcGkgKmRw aSA9IHZjNF9jb25uZWN0b3ItPmRwaTsKPiAtCj4gLQlpZiAoZHBpLT5wYW5lbCkKPiAtCQlyZXR1 cm4gZHJtX3BhbmVsX2dldF9tb2RlcyhkcGktPnBhbmVsKTsKPiAtCj4gLQlyZXR1cm4gMDsKPiAt fQo+IC0KPiAtc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fY29ubmVjdG9yX2Z1bmNzIHZjNF9kcGlf Y29ubmVjdG9yX2Z1bmNzID0gewo+IC0JLmRwbXMgPSBkcm1fYXRvbWljX2hlbHBlcl9jb25uZWN0 b3JfZHBtcywKPiAtCS5kZXRlY3QgPSB2YzRfZHBpX2Nvbm5lY3Rvcl9kZXRlY3QsCj4gLQkuZmls bF9tb2RlcyA9IGRybV9oZWxwZXJfcHJvYmVfc2luZ2xlX2Nvbm5lY3Rvcl9tb2RlcywKPiAtCS5k ZXN0cm95ID0gdmM0X2RwaV9jb25uZWN0b3JfZGVzdHJveSwKPiAtCS5yZXNldCA9IGRybV9hdG9t aWNfaGVscGVyX2Nvbm5lY3Rvcl9yZXNldCwKPiAtCS5hdG9taWNfZHVwbGljYXRlX3N0YXRlID0g ZHJtX2F0b21pY19oZWxwZXJfY29ubmVjdG9yX2R1cGxpY2F0ZV9zdGF0ZSwKPiAtCS5hdG9taWNf ZGVzdHJveV9zdGF0ZSA9IGRybV9hdG9taWNfaGVscGVyX2Nvbm5lY3Rvcl9kZXN0cm95X3N0YXRl LAo+IC19Owo+IC0KPiAtc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fY29ubmVjdG9yX2hlbHBlcl9m dW5jcyB2YzRfZHBpX2Nvbm5lY3Rvcl9oZWxwZXJfZnVuY3MgPSB7Cj4gLQkuZ2V0X21vZGVzID0g dmM0X2RwaV9jb25uZWN0b3JfZ2V0X21vZGVzLAo+IC19Owo+IC0KPiAtc3RhdGljIHN0cnVjdCBk cm1fY29ubmVjdG9yICp2YzRfZHBpX2Nvbm5lY3Rvcl9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpk ZXYsCj4gLQkJCQkJCSAgICBzdHJ1Y3QgdmM0X2RwaSAqZHBpKQo+IC17Cj4gLQlzdHJ1Y3QgZHJt X2Nvbm5lY3RvciAqY29ubmVjdG9yID0gTlVMTDsKPiAtCXN0cnVjdCB2YzRfZHBpX2Nvbm5lY3Rv ciAqZHBpX2Nvbm5lY3RvcjsKPiAtCj4gLQlkcGlfY29ubmVjdG9yID0gZGV2bV9remFsbG9jKGRl di0+ZGV2LCBzaXplb2YoKmRwaV9jb25uZWN0b3IpLAo+IC0JCQkJICAgICBHRlBfS0VSTkVMKTsK PiAtCWlmICghZHBpX2Nvbm5lY3RvcikKPiAtCQlyZXR1cm4gRVJSX1BUUigtRU5PTUVNKTsKPiAt Cj4gLQljb25uZWN0b3IgPSAmZHBpX2Nvbm5lY3Rvci0+YmFzZTsKPiAtCj4gLQlkcGlfY29ubmVj dG9yLT5lbmNvZGVyID0gZHBpLT5lbmNvZGVyOwo+IC0JZHBpX2Nvbm5lY3Rvci0+ZHBpID0gZHBp Owo+IC0KPiAtCWRybV9jb25uZWN0b3JfaW5pdChkZXYsIGNvbm5lY3RvciwgJnZjNF9kcGlfY29u bmVjdG9yX2Z1bmNzLAo+IC0JCQkgICBEUk1fTU9ERV9DT05ORUNUT1JfRFBJKTsKPiAtCWRybV9j b25uZWN0b3JfaGVscGVyX2FkZChjb25uZWN0b3IsICZ2YzRfZHBpX2Nvbm5lY3Rvcl9oZWxwZXJf ZnVuY3MpOwo+IC0KPiAtCWNvbm5lY3Rvci0+cG9sbGVkID0gMDsKPiAtCWNvbm5lY3Rvci0+aW50 ZXJsYWNlX2FsbG93ZWQgPSAwOwo+IC0JY29ubmVjdG9yLT5kb3VibGVzY2FuX2FsbG93ZWQgPSAw Owo+IC0KPiAtCWRybV9tb2RlX2Nvbm5lY3Rvcl9hdHRhY2hfZW5jb2Rlcihjb25uZWN0b3IsIGRw aS0+ZW5jb2Rlcik7Cj4gLQo+IC0JcmV0dXJuIGNvbm5lY3RvcjsKPiAtfQo+IC0KPiAgc3RhdGlj IGNvbnN0IHN0cnVjdCBkcm1fZW5jb2Rlcl9mdW5jcyB2YzRfZHBpX2VuY29kZXJfZnVuY3MgPSB7 Cj4gIAkuZGVzdHJveSA9IGRybV9lbmNvZGVyX2NsZWFudXAsCj4gIH07Cj4gQEAgLTI1MCwxMSAr MTYxLDcgQEAgc3RhdGljIHZvaWQgdmM0X2RwaV9lbmNvZGVyX2Rpc2FibGUoc3RydWN0IGRybV9l bmNvZGVyICplbmNvZGVyKQo+ICAJc3RydWN0IHZjNF9kcGlfZW5jb2RlciAqdmM0X2VuY29kZXIg PSB0b192YzRfZHBpX2VuY29kZXIoZW5jb2Rlcik7Cj4gIAlzdHJ1Y3QgdmM0X2RwaSAqZHBpID0g dmM0X2VuY29kZXItPmRwaTsKPiAgCj4gLQlkcm1fcGFuZWxfZGlzYWJsZShkcGktPnBhbmVsKTsK PiAtCj4gIAljbGtfZGlzYWJsZV91bnByZXBhcmUoZHBpLT5waXhlbF9jbG9jayk7Cj4gLQo+IC0J ZHJtX3BhbmVsX3VucHJlcGFyZShkcGktPnBhbmVsKTsKPiAgfQo+ICAKPiAgc3RhdGljIHZvaWQg dmM0X2RwaV9lbmNvZGVyX2VuYWJsZShzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIpCj4gQEAg LTI2NSwxMiArMTcyLDYgQEAgc3RhdGljIHZvaWQgdmM0X2RwaV9lbmNvZGVyX2VuYWJsZShzdHJ1 Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIpCj4gIAl1MzIgZHBpX2MgPSBEUElfRU5BQkxFIHwgRFBJ X09VVFBVVF9FTkFCTEVfTU9ERTsKPiAgCWludCByZXQ7Cj4gIAo+IC0JcmV0ID0gZHJtX3BhbmVs X3ByZXBhcmUoZHBpLT5wYW5lbCk7Cj4gLQlpZiAocmV0KSB7Cj4gLQkJRFJNX0VSUk9SKCJQYW5l bCBmYWlsZWQgdG8gcHJlcGFyZVxuIik7Cj4gLQkJcmV0dXJuOwo+IC0JfQo+IC0KPiAgCWlmIChk cGktPmNvbm5lY3Rvci0+ZGlzcGxheV9pbmZvLm51bV9idXNfZm9ybWF0cykgewo+ICAJCXUzMiBi dXNfZm9ybWF0ID0gZHBpLT5jb25uZWN0b3ItPmRpc3BsYXlfaW5mby5idXNfZm9ybWF0c1swXTsK PiAgCj4gQEAgLTMyMSwxMyArMjIyLDYgQEAgc3RhdGljIHZvaWQgdmM0X2RwaV9lbmNvZGVyX2Vu YWJsZShzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIpCj4gIAlyZXQgPSBjbGtfcHJlcGFyZV9l bmFibGUoZHBpLT5waXhlbF9jbG9jayk7Cj4gIAlpZiAocmV0KQo+ICAJCURSTV9FUlJPUigiRmFp bGVkIHRvIHNldCBjbG9jayByYXRlOiAlZFxuIiwgcmV0KTsKPiAtCj4gLQlyZXQgPSBkcm1fcGFu ZWxfZW5hYmxlKGRwaS0+cGFuZWwpOwo+IC0JaWYgKHJldCkgewo+IC0JCURSTV9FUlJPUigiUGFu ZWwgZmFpbGVkIHRvIGVuYWJsZVxuIik7Cj4gLQkJZHJtX3BhbmVsX3VucHJlcGFyZShkcGktPnBh bmVsKTsKPiAtCQlyZXR1cm47Cj4gLQl9Cj4gIH0KPiAgCj4gIHN0YXRpYyBib29sIHZjNF9kcGlf ZW5jb2Rlcl9tb2RlX2ZpeHVwKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciwKPiBAQCAtMzUx LDI0ICsyNDUsMzQgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgdmM0X2RwaV9k dF9tYXRjaFtdID0gewo+ICAJe30KPiAgfTsKPiAgCj4gLS8qIFdhbGtzIHRoZSBPRiBncmFwaCB0 byBmaW5kIHRoZSBwYW5lbCBub2RlIGFuZCB0aGVuIGFza3MgRFJNIHRvIGxvb2sKPiAtICogdXAg dGhlIHBhbmVsLgo+ICsvKiBTZXRzIHVwIHRoZSBuZXh0IGxpbmsgaW4gdGhlIGRpc3BsYXkgY2hh aW4sIHdoZXRoZXIgaXQncyBhIHBhbmVsIG9yCj4gKyAqIGEgYnJpZGdlLgo+ICAgKi8KPiAtc3Rh dGljIHN0cnVjdCBkcm1fcGFuZWwgKnZjNF9kcGlfZ2V0X3BhbmVsKHN0cnVjdCBkZXZpY2UgKmRl dikKPiArc3RhdGljIGludCB2YzRfZHBpX2luaXRfYnJpZGdlKHN0cnVjdCB2YzRfZHBpICpkcGkp Cj4gIHsKPiAtCXN0cnVjdCBkZXZpY2Vfbm9kZSAqcGFuZWxfbm9kZTsKPiAtCXN0cnVjdCBkZXZp Y2Vfbm9kZSAqbnAgPSBkZXYtPm9mX25vZGU7Cj4gKwlzdHJ1Y3QgZGV2aWNlICpkZXYgPSAmZHBp LT5wZGV2LT5kZXY7Cj4gIAlzdHJ1Y3QgZHJtX3BhbmVsICpwYW5lbDsKPiArCWludCByZXQ7Cj4g IAo+IC0JLyogZG9uJ3QgcHJvY2VlZCBpZiB3ZSBoYXZlIGFuIGVuZHBvaW50IGJ1dCBubyBwYW5l bF9ub2RlIHRpZWQgdG8gaXQgKi8KPiAtCXBhbmVsX25vZGUgPSBvZl9ncmFwaF9nZXRfcmVtb3Rl X25vZGUobnAsIDAsIDApOwo+IC0JaWYgKCFwYW5lbF9ub2RlKQo+IC0JCXJldHVybiBOVUxMOwo+ ICsJcmV0ID0gZHJtX29mX2ZpbmRfcGFuZWxfb3JfYnJpZGdlKGRldi0+b2Zfbm9kZSwgMCwgMCwK PiArCQkJCQkgICZwYW5lbCwgJmRwaS0+YnJpZGdlKTsKPiArCWlmIChyZXQpIHsKPiArCQkvKiBJ ZiBub3RoaW5nIHdhcyBjb25uZWN0ZWQgaW4gdGhlIERULCB0aGF0J3Mgbm90IGFuCj4gKwkJICog ZXJyb3IuCj4gKwkJICovCj4gKwkJaWYgKHJldCA9PSAtRU5PREVWKQo+ICsJCQlyZXR1cm4gMDsK PiArCQllbHNlCj4gKwkJCXJldHVybiByZXQ7Cj4gKwl9Cj4gIAo+IC0JcGFuZWwgPSBvZl9kcm1f ZmluZF9wYW5lbChwYW5lbF9ub2RlKTsKPiAtCW9mX25vZGVfcHV0KHBhbmVsX25vZGUpOwo+ICsJ aWYgKHBhbmVsKSB7Cj4gKwkJZHBpLT5icmlkZ2UgPSBkcm1fcGFuZWxfYnJpZGdlX2FkZChwYW5l bCwKPiArCQkJCQkJICAgRFJNX01PREVfQ09OTkVDVE9SX0RQSSk7Cj4gKwkJZHBpLT5pc19wYW5l bF9icmlkZ2UgPSB0cnVlOwo+ICsJfQo+ICAKPiAtCXJldHVybiBwYW5lbDsKPiArCXJldHVybiBk cm1fYnJpZGdlX2F0dGFjaChkcGktPmVuY29kZXIsIGRwaS0+YnJpZGdlLCBOVUxMKTsKPiAgfQo+ ICAKPiAgc3RhdGljIGludCB2YzRfZHBpX2JpbmQoc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3Qg ZGV2aWNlICptYXN0ZXIsIHZvaWQgKmRhdGEpCj4gQEAgLTQyMiwyMCArMzI2LDEzIEBAIHN0YXRp YyBpbnQgdmM0X2RwaV9iaW5kKHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IGRldmljZSAqbWFz dGVyLCB2b2lkICpkYXRhKQo+ICAJaWYgKHJldCkKPiAgCQlEUk1fRVJST1IoIkZhaWxlZCB0byB0 dXJuIG9uIGNvcmUgY2xvY2s6ICVkXG4iLCByZXQpOwo+ICAKPiAtCWRwaS0+cGFuZWwgPSB2YzRf ZHBpX2dldF9wYW5lbChkZXYpOwo+IC0KPiAgCWRybV9lbmNvZGVyX2luaXQoZHJtLCBkcGktPmVu Y29kZXIsICZ2YzRfZHBpX2VuY29kZXJfZnVuY3MsCj4gIAkJCSBEUk1fTU9ERV9FTkNPREVSX0RQ SSwgTlVMTCk7Cj4gIAlkcm1fZW5jb2Rlcl9oZWxwZXJfYWRkKGRwaS0+ZW5jb2RlciwgJnZjNF9k cGlfZW5jb2Rlcl9oZWxwZXJfZnVuY3MpOwo+ICAKPiAtCWRwaS0+Y29ubmVjdG9yID0gdmM0X2Rw aV9jb25uZWN0b3JfaW5pdChkcm0sIGRwaSk7Cj4gLQlpZiAoSVNfRVJSKGRwaS0+Y29ubmVjdG9y KSkgewo+IC0JCXJldCA9IFBUUl9FUlIoZHBpLT5jb25uZWN0b3IpOwo+ICsJcmV0ID0gdmM0X2Rw aV9pbml0X2JyaWRnZShkcGkpOwo+ICsJaWYgKHJldCkKPiAgCQlnb3RvIGVycl9kZXN0cm95X2Vu Y29kZXI7Cj4gLQl9Cj4gLQo+IC0JaWYgKGRwaS0+cGFuZWwpCj4gLQkJZHJtX3BhbmVsX2F0dGFj aChkcGktPnBhbmVsLCBkcGktPmNvbm5lY3Rvcik7Cj4gIAo+ICAJZGV2X3NldF9kcnZkYXRhKGRl diwgZHBpKTsKPiAgCj4gQEAgLTQ1NiwxMCArMzUzLDkgQEAgc3RhdGljIHZvaWQgdmM0X2RwaV91 bmJpbmQoc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgZGV2aWNlICptYXN0ZXIsCj4gIAlzdHJ1 Y3QgdmM0X2RldiAqdmM0ID0gdG9fdmM0X2Rldihkcm0pOwo+ICAJc3RydWN0IHZjNF9kcGkgKmRw aSA9IGRldl9nZXRfZHJ2ZGF0YShkZXYpOwo+ICAKPiAtCWlmIChkcGktPnBhbmVsKQo+IC0JCWRy bV9wYW5lbF9kZXRhY2goZHBpLT5wYW5lbCk7Cj4gKwlpZiAoZHBpLT5pc19wYW5lbF9icmlkZ2Up Cj4gKwkJZHJtX3BhbmVsX2JyaWRnZV9yZW1vdmUoZHBpLT5icmlkZ2UpOwo+ICAKPiAtCXZjNF9k cGlfY29ubmVjdG9yX2Rlc3Ryb3koZHBpLT5jb25uZWN0b3IpOwo+ICAJZHJtX2VuY29kZXJfY2xl YW51cChkcGktPmVuY29kZXIpOwo+ICAKPiAgCWNsa19kaXNhYmxlX3VucHJlcGFyZShkcGktPmNv cmVfY2xvY2spOwoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3Jn Cmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVs Cg==