From: Boris Brezillon Subject: Re: [PATCH v2 2/7] drm/vc4: Switch DSI to the panel-bridge layer, and support bridges. Date: Fri, 12 May 2017 10:02:34 +0200 Message-ID: <20170512100234.12177f30@bbrezillon> References: <20170511183128.25085-1-eric@anholt.net> <20170511183128.25085-2-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 DD94C6E097 for ; Fri, 12 May 2017 08:02:50 +0000 (UTC) In-Reply-To: <20170511183128.25085-2-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 T24gVGh1LCAxMSBNYXkgMjAxNyAxMTozMToyMyAtMDcwMApFcmljIEFuaG9sdCA8ZXJpY0Bhbmhv bHQubmV0PiB3cm90ZToKCj4gVGhlIG5ld2VyIHZlcnNpb24gb2YgdGhlIFJQaSBwYW5lbCBkcml2 ZXIgaXMgZ29pbmcgdG8gYmUgYSBjb21iaW5hdGlvbgo+IG9mIGEgYnJpZGdlIGFuZCBhIHBhbmVs LCBidXQgd2Ugc2hvdWxkIGFsc28gc3VwcG9ydCBwYW5lbHMgd2l0aG91dCBhCj4gYnJpZGdlLCBz byB0aGUgcGFuZWwtYnJpZGdlIGxheWVyIGxldHMgdXMgZG8gdGhhdCBjbGVhbmx5Lgo+IAo+IHYy OiBEcm9wICJkZXYiIGFyZ3VtZW50Lgo+IAo+IFNpZ25lZC1vZmYtYnk6IEVyaWMgQW5ob2x0IDxl cmljQGFuaG9sdC5uZXQ+Cj4gQWNrZWQtYnk6IERhbmllbCBWZXR0ZXIgPGRhbmllbC52ZXR0ZXJA ZmZ3bGwuY2g+CgpSZXZpZXdlZC1ieTogQm9yaXMgQnJlemlsbG9uIDxib3Jpcy5icmV6aWxsb25A ZnJlZS1lbGVjdHJvbnMuY29tPgoKPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL3ZjNC9LY29uZmln ICAgfCAgIDIgKy0KPiAgZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRfZHNpLmMgfCAxNTQgKysrKysr LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4gIDIgZmlsZXMgY2hhbmdlZCwg MjEgaW5zZXJ0aW9ucygrKSwgMTM1IGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vdmM0L0tjb25maWcgYi9kcml2ZXJzL2dwdS9kcm0vdmM0L0tjb25maWcKPiBp bmRleCBiMTZhZWZlNGE4ZDMuLjQzNjFiZGNmZDI4YSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vdmM0L0tjb25maWcKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vdmM0L0tjb25maWcKPiBA QCAtNyw3ICs3LDcgQEAgY29uZmlnIERSTV9WQzQKPiAgCXNlbGVjdCBEUk1fS01TX0hFTFBFUgo+ ICAJc2VsZWN0IERSTV9LTVNfQ01BX0hFTFBFUgo+ICAJc2VsZWN0IERSTV9HRU1fQ01BX0hFTFBF Ugo+IC0Jc2VsZWN0IERSTV9QQU5FTAo+ICsJc2VsZWN0IERSTV9QQU5FTF9CUklER0UKPiAgCXNl bGVjdCBTTkRfUENNCj4gIAlzZWxlY3QgU05EX1BDTV9FTEQKPiAgCXNlbGVjdCBTTkRfU09DX0dF TkVSSUNfRE1BRU5HSU5FX1BDTQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdmM0L3Zj NF9kc2kuYyBiL2RyaXZlcnMvZ3B1L2RybS92YzQvdmM0X2RzaS5jCj4gaW5kZXggZGViYTYyMDA4 ZmQwLi5mYjU0YTlkMTAzNjAgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRf ZHNpLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vdmM0L3ZjNF9kc2kuYwo+IEBAIC01MDMsOCAr NTAzLDggQEAgc3RydWN0IHZjNF9kc2kgewo+ICAKPiAgCXN0cnVjdCBtaXBpX2RzaV9ob3N0IGRz aV9ob3N0Owo+ICAJc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyOwo+IC0Jc3RydWN0IGRybV9j b25uZWN0b3IgKmNvbm5lY3RvcjsKPiAtCXN0cnVjdCBkcm1fcGFuZWwgKnBhbmVsOwo+ICsJc3Ry dWN0IGRybV9icmlkZ2UgKmJyaWRnZTsKPiArCWJvb2wgaXNfcGFuZWxfYnJpZGdlOwo+ICAKPiAg CXZvaWQgX19pb21lbSAqcmVnczsKPiAgCj4gQEAgLTYwNCwxOCArNjA0LDYgQEAgdG9fdmM0X2Rz aV9lbmNvZGVyKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlcikKPiAgCXJldHVybiBjb250YWlu ZXJfb2YoZW5jb2Rlciwgc3RydWN0IHZjNF9kc2lfZW5jb2RlciwgYmFzZS5iYXNlKTsKPiAgfQo+ ICAKPiAtLyogVkM0IERTSSBjb25uZWN0b3IgS01TIHN0cnVjdCAqLwo+IC1zdHJ1Y3QgdmM0X2Rz aV9jb25uZWN0b3Igewo+IC0Jc3RydWN0IGRybV9jb25uZWN0b3IgYmFzZTsKPiAtCXN0cnVjdCB2 YzRfZHNpICpkc2k7Cj4gLX07Cj4gLQo+IC1zdGF0aWMgaW5saW5lIHN0cnVjdCB2YzRfZHNpX2Nv bm5lY3RvciAqCj4gLXRvX3ZjNF9kc2lfY29ubmVjdG9yKHN0cnVjdCBkcm1fY29ubmVjdG9yICpj b25uZWN0b3IpCj4gLXsKPiAtCXJldHVybiBjb250YWluZXJfb2YoY29ubmVjdG9yLCBzdHJ1Y3Qg dmM0X2RzaV9jb25uZWN0b3IsIGJhc2UpOwo+IC19Cj4gLQo+ICAjZGVmaW5lIERTSV9SRUcocmVn KSB7IHJlZywgI3JlZyB9Cj4gIHN0YXRpYyBjb25zdCBzdHJ1Y3Qgewo+ICAJdTMyIHJlZzsKPiBA QCAtNzIzLDc5ICs3MTEsNiBAQCBpbnQgdmM0X2RzaV9kZWJ1Z2ZzX3JlZ3Moc3RydWN0IHNlcV9m aWxlICptLCB2b2lkICp1bnVzZWQpCj4gIH0KPiAgI2VuZGlmCj4gIAo+IC1zdGF0aWMgZW51bSBk cm1fY29ubmVjdG9yX3N0YXR1cwo+IC12YzRfZHNpX2Nvbm5lY3Rvcl9kZXRlY3Qoc3RydWN0IGRy bV9jb25uZWN0b3IgKmNvbm5lY3RvciwgYm9vbCBmb3JjZSkKPiAtewo+IC0Jc3RydWN0IHZjNF9k c2lfY29ubmVjdG9yICp2YzRfY29ubmVjdG9yID0KPiAtCQl0b192YzRfZHNpX2Nvbm5lY3Rvcihj b25uZWN0b3IpOwo+IC0Jc3RydWN0IHZjNF9kc2kgKmRzaSA9IHZjNF9jb25uZWN0b3ItPmRzaTsK PiAtCj4gLQlpZiAoZHNpLT5wYW5lbCkKPiAtCQlyZXR1cm4gY29ubmVjdG9yX3N0YXR1c19jb25u ZWN0ZWQ7Cj4gLQllbHNlCj4gLQkJcmV0dXJuIGNvbm5lY3Rvcl9zdGF0dXNfZGlzY29ubmVjdGVk Owo+IC19Cj4gLQo+IC1zdGF0aWMgdm9pZCB2YzRfZHNpX2Nvbm5lY3Rvcl9kZXN0cm95KHN0cnVj dCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCj4gLXsKPiAtCWRybV9jb25uZWN0b3JfdW5yZWdp c3Rlcihjb25uZWN0b3IpOwo+IC0JZHJtX2Nvbm5lY3Rvcl9jbGVhbnVwKGNvbm5lY3Rvcik7Cj4g LX0KPiAtCj4gLXN0YXRpYyBpbnQgdmM0X2RzaV9jb25uZWN0b3JfZ2V0X21vZGVzKHN0cnVjdCBk cm1fY29ubmVjdG9yICpjb25uZWN0b3IpCj4gLXsKPiAtCXN0cnVjdCB2YzRfZHNpX2Nvbm5lY3Rv ciAqdmM0X2Nvbm5lY3RvciA9Cj4gLQkJdG9fdmM0X2RzaV9jb25uZWN0b3IoY29ubmVjdG9yKTsK PiAtCXN0cnVjdCB2YzRfZHNpICpkc2kgPSB2YzRfY29ubmVjdG9yLT5kc2k7Cj4gLQo+IC0JaWYg KGRzaS0+cGFuZWwpCj4gLQkJcmV0dXJuIGRybV9wYW5lbF9nZXRfbW9kZXMoZHNpLT5wYW5lbCk7 Cj4gLQo+IC0JcmV0dXJuIDA7Cj4gLX0KPiAtCj4gLXN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2Nv bm5lY3Rvcl9mdW5jcyB2YzRfZHNpX2Nvbm5lY3Rvcl9mdW5jcyA9IHsKPiAtCS5kcG1zID0gZHJt X2F0b21pY19oZWxwZXJfY29ubmVjdG9yX2RwbXMsCj4gLQkuZGV0ZWN0ID0gdmM0X2RzaV9jb25u ZWN0b3JfZGV0ZWN0LAo+IC0JLmZpbGxfbW9kZXMgPSBkcm1faGVscGVyX3Byb2JlX3NpbmdsZV9j b25uZWN0b3JfbW9kZXMsCj4gLQkuZGVzdHJveSA9IHZjNF9kc2lfY29ubmVjdG9yX2Rlc3Ryb3ks Cj4gLQkucmVzZXQgPSBkcm1fYXRvbWljX2hlbHBlcl9jb25uZWN0b3JfcmVzZXQsCj4gLQkuYXRv bWljX2R1cGxpY2F0ZV9zdGF0ZSA9IGRybV9hdG9taWNfaGVscGVyX2Nvbm5lY3Rvcl9kdXBsaWNh dGVfc3RhdGUsCj4gLQkuYXRvbWljX2Rlc3Ryb3lfc3RhdGUgPSBkcm1fYXRvbWljX2hlbHBlcl9j b25uZWN0b3JfZGVzdHJveV9zdGF0ZSwKPiAtfTsKPiAtCj4gLXN0YXRpYyBjb25zdCBzdHJ1Y3Qg ZHJtX2Nvbm5lY3Rvcl9oZWxwZXJfZnVuY3MgdmM0X2RzaV9jb25uZWN0b3JfaGVscGVyX2Z1bmNz ID0gewo+IC0JLmdldF9tb2RlcyA9IHZjNF9kc2lfY29ubmVjdG9yX2dldF9tb2RlcywKPiAtfTsK PiAtCj4gLXN0YXRpYyBzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqdmM0X2RzaV9jb25uZWN0b3JfaW5p dChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+IC0JCQkJCQkgICAgc3RydWN0IHZjNF9kc2kgKmRz aSkKPiAtewo+IC0Jc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcjsKPiAtCXN0cnVjdCB2 YzRfZHNpX2Nvbm5lY3RvciAqZHNpX2Nvbm5lY3RvcjsKPiAtCj4gLQlkc2lfY29ubmVjdG9yID0g ZGV2bV9remFsbG9jKGRldi0+ZGV2LCBzaXplb2YoKmRzaV9jb25uZWN0b3IpLAo+IC0JCQkJICAg ICBHRlBfS0VSTkVMKTsKPiAtCWlmICghZHNpX2Nvbm5lY3RvcikKPiAtCQlyZXR1cm4gRVJSX1BU UigtRU5PTUVNKTsKPiAtCj4gLQljb25uZWN0b3IgPSAmZHNpX2Nvbm5lY3Rvci0+YmFzZTsKPiAt Cj4gLQlkc2lfY29ubmVjdG9yLT5kc2kgPSBkc2k7Cj4gLQo+IC0JZHJtX2Nvbm5lY3Rvcl9pbml0 KGRldiwgY29ubmVjdG9yLCAmdmM0X2RzaV9jb25uZWN0b3JfZnVuY3MsCj4gLQkJCSAgIERSTV9N T0RFX0NPTk5FQ1RPUl9EU0kpOwo+IC0JZHJtX2Nvbm5lY3Rvcl9oZWxwZXJfYWRkKGNvbm5lY3Rv ciwgJnZjNF9kc2lfY29ubmVjdG9yX2hlbHBlcl9mdW5jcyk7Cj4gLQo+IC0JY29ubmVjdG9yLT5w b2xsZWQgPSAwOwo+IC0JY29ubmVjdG9yLT5pbnRlcmxhY2VfYWxsb3dlZCA9IDA7Cj4gLQljb25u ZWN0b3ItPmRvdWJsZXNjYW5fYWxsb3dlZCA9IDA7Cj4gLQo+IC0JZHJtX21vZGVfY29ubmVjdG9y X2F0dGFjaF9lbmNvZGVyKGNvbm5lY3RvciwgZHNpLT5lbmNvZGVyKTsKPiAtCj4gLQlyZXR1cm4g Y29ubmVjdG9yOwo+IC19Cj4gLQo+ICBzdGF0aWMgdm9pZCB2YzRfZHNpX2VuY29kZXJfZGVzdHJv eShzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIpCj4gIHsKPiAgCWRybV9lbmNvZGVyX2NsZWFu dXAoZW5jb2Rlcik7Cj4gQEAgLTg5MywxMiArODA4LDggQEAgc3RhdGljIHZvaWQgdmM0X2RzaV9l bmNvZGVyX2Rpc2FibGUoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyKQo+ICAJc3RydWN0IHZj NF9kc2kgKmRzaSA9IHZjNF9lbmNvZGVyLT5kc2k7Cj4gIAlzdHJ1Y3QgZGV2aWNlICpkZXYgPSAm ZHNpLT5wZGV2LT5kZXY7Cj4gIAo+IC0JZHJtX3BhbmVsX2Rpc2FibGUoZHNpLT5wYW5lbCk7Cj4g LQo+ICAJdmM0X2RzaV91bHBzKGRzaSwgdHJ1ZSk7Cj4gIAo+IC0JZHJtX3BhbmVsX3VucHJlcGFy ZShkc2ktPnBhbmVsKTsKPiAtCj4gIAljbGtfZGlzYWJsZV91bnByZXBhcmUoZHNpLT5wbGxfcGh5 X2Nsb2NrKTsKPiAgCWNsa19kaXNhYmxlX3VucHJlcGFyZShkc2ktPmVzY2FwZV9jbG9jayk7Cj4g IAljbGtfZGlzYWJsZV91bnByZXBhcmUoZHNpLT5waXhlbF9jbG9jayk7Cj4gQEAgLTkyOSwxMiAr ODQwLDYgQEAgc3RhdGljIHZvaWQgdmM0X2RzaV9lbmNvZGVyX2VuYWJsZShzdHJ1Y3QgZHJtX2Vu Y29kZXIgKmVuY29kZXIpCj4gIAkJcmV0dXJuOwo+ICAJfQo+ICAKPiAtCXJldCA9IGRybV9wYW5l bF9wcmVwYXJlKGRzaS0+cGFuZWwpOwo+IC0JaWYgKHJldCkgewo+IC0JCURSTV9FUlJPUigiUGFu ZWwgZmFpbGVkIHRvIHByZXBhcmVcbiIpOwo+IC0JCXJldHVybjsKPiAtCX0KPiAtCj4gIAlpZiAo ZGVidWdfZHVtcF9yZWdzKSB7Cj4gIAkJRFJNX0lORk8oIkRTSSByZWdzIGJlZm9yZTpcbiIpOwo+ ICAJCXZjNF9kc2lfZHVtcF9yZWdzKGRzaSk7Cj4gQEAgLTExODQsMTMgKzEwODksNiBAQCBzdGF0 aWMgdm9pZCB2YzRfZHNpX2VuY29kZXJfZW5hYmxlKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2Rl cikKPiAgCQlEUk1fSU5GTygiRFNJIHJlZ3MgYWZ0ZXI6XG4iKTsKPiAgCQl2YzRfZHNpX2R1bXBf cmVncyhkc2kpOwo+ICAJfQo+IC0KPiAtCXJldCA9IGRybV9wYW5lbF9lbmFibGUoZHNpLT5wYW5l bCk7Cj4gLQlpZiAocmV0KSB7Cj4gLQkJRFJNX0VSUk9SKCJQYW5lbCBmYWlsZWQgdG8gZW5hYmxl XG4iKTsKPiAtCQlkcm1fcGFuZWxfdW5wcmVwYXJlKGRzaS0+cGFuZWwpOwo+IC0JCXJldHVybjsK PiAtCX0KPiAgfQo+ICAKPiAgc3RhdGljIHNzaXplX3QgdmM0X2RzaV9ob3N0X3RyYW5zZmVyKHN0 cnVjdCBtaXBpX2RzaV9ob3N0ICpob3N0LAo+IEBAIC0xMzY2LDE3ICsxMjY0LDIyIEBAIHN0YXRp YyBpbnQgdmM0X2RzaV9ob3N0X2F0dGFjaChzdHJ1Y3QgbWlwaV9kc2lfaG9zdCAqaG9zdCwKPiAg CQlyZXR1cm4gMDsKPiAgCX0KPiAgCj4gLQlkc2ktPnBhbmVsID0gb2ZfZHJtX2ZpbmRfcGFuZWwo ZGV2aWNlLT5kZXYub2Zfbm9kZSk7Cj4gLQlpZiAoIWRzaS0+cGFuZWwpCj4gLQkJcmV0dXJuIDA7 Cj4gLQo+IC0JcmV0ID0gZHJtX3BhbmVsX2F0dGFjaChkc2ktPnBhbmVsLCBkc2ktPmNvbm5lY3Rv cik7Cj4gLQlpZiAocmV0ICE9IDApCj4gLQkJcmV0dXJuIHJldDsKPiArCWRzaS0+YnJpZGdlID0g b2ZfZHJtX2ZpbmRfYnJpZGdlKGRldmljZS0+ZGV2Lm9mX25vZGUpOwo+ICsJaWYgKCFkc2ktPmJy aWRnZSkgewo+ICsJCXN0cnVjdCBkcm1fcGFuZWwgKnBhbmVsID0KPiArCQkJb2ZfZHJtX2ZpbmRf cGFuZWwoZGV2aWNlLT5kZXYub2Zfbm9kZSk7Cj4gIAo+IC0JZHJtX2hlbHBlcl9ocGRfaXJxX2V2 ZW50KGRzaS0+Y29ubmVjdG9yLT5kZXYpOwo+ICsJCWRzaS0+YnJpZGdlID0gZHJtX3BhbmVsX2Jy aWRnZV9hZGQocGFuZWwsCj4gKwkJCQkJCSAgIERSTV9NT0RFX0NPTk5FQ1RPUl9EU0kpOwo+ICsJ CWlmIChJU19FUlIoZHNpLT5icmlkZ2UpKSB7Cj4gKwkJCXJldCA9IFBUUl9FUlIoZHNpLT5icmlk Z2UpOwo+ICsJCQlkc2ktPmJyaWRnZSA9IE5VTEw7Cj4gKwkJCXJldHVybiByZXQ7Cj4gKwkJfQo+ ICsJCWRzaS0+aXNfcGFuZWxfYnJpZGdlID0gdHJ1ZTsKPiArCX0KPiAgCj4gLQlyZXR1cm4gMDsK PiArCXJldHVybiBkcm1fYnJpZGdlX2F0dGFjaChkc2ktPmVuY29kZXIsIGRzaS0+YnJpZGdlLCBO VUxMKTsKPiAgfQo+ICAKPiAgc3RhdGljIGludCB2YzRfZHNpX2hvc3RfZGV0YWNoKHN0cnVjdCBt aXBpX2RzaV9ob3N0ICpob3N0LAo+IEBAIC0xMzg0LDE1ICsxMjg3LDkgQEAgc3RhdGljIGludCB2 YzRfZHNpX2hvc3RfZGV0YWNoKHN0cnVjdCBtaXBpX2RzaV9ob3N0ICpob3N0LAo+ICB7Cj4gIAlz dHJ1Y3QgdmM0X2RzaSAqZHNpID0gaG9zdF90b19kc2koaG9zdCk7Cj4gIAo+IC0JaWYgKGRzaS0+ cGFuZWwpIHsKPiAtCQlpbnQgcmV0ID0gZHJtX3BhbmVsX2RldGFjaChkc2ktPnBhbmVsKTsKPiAt Cj4gLQkJaWYgKHJldCkKPiAtCQkJcmV0dXJuIHJldDsKPiAtCj4gLQkJZHNpLT5wYW5lbCA9IE5V TEw7Cj4gLQo+IC0JCWRybV9oZWxwZXJfaHBkX2lycV9ldmVudChkc2ktPmNvbm5lY3Rvci0+ZGV2 KTsKPiArCWlmIChkc2ktPmlzX3BhbmVsX2JyaWRnZSkgewo+ICsJCWRybV9wYW5lbF9icmlkZ2Vf cmVtb3ZlKGRzaS0+YnJpZGdlKTsKPiArCQlkc2ktPmJyaWRnZSA9IE5VTEw7Cj4gIAl9Cj4gIAo+ ICAJcmV0dXJuIDA7Cj4gQEAgLTE2NTgsMTIgKzE1NTUsNiBAQCBzdGF0aWMgaW50IHZjNF9kc2lf YmluZChzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBkZXZpY2UgKm1hc3Rlciwgdm9pZCAqZGF0 YSkKPiAgCQkJIERSTV9NT0RFX0VOQ09ERVJfRFNJLCBOVUxMKTsKPiAgCWRybV9lbmNvZGVyX2hl bHBlcl9hZGQoZHNpLT5lbmNvZGVyLCAmdmM0X2RzaV9lbmNvZGVyX2hlbHBlcl9mdW5jcyk7Cj4g IAo+IC0JZHNpLT5jb25uZWN0b3IgPSB2YzRfZHNpX2Nvbm5lY3Rvcl9pbml0KGRybSwgZHNpKTsK PiAtCWlmIChJU19FUlIoZHNpLT5jb25uZWN0b3IpKSB7Cj4gLQkJcmV0ID0gUFRSX0VSUihkc2kt PmNvbm5lY3Rvcik7Cj4gLQkJZ290byBlcnJfZGVzdHJveV9lbmNvZGVyOwo+IC0JfQo+IC0KPiAg CWRzaS0+ZHNpX2hvc3Qub3BzID0gJnZjNF9kc2lfaG9zdF9vcHM7Cj4gIAlkc2ktPmRzaV9ob3N0 LmRldiA9IGRldjsKPiAgCj4gQEAgLTE2NzQsMTEgKzE1NjUsNiBAQCBzdGF0aWMgaW50IHZjNF9k c2lfYmluZChzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBkZXZpY2UgKm1hc3Rlciwgdm9pZCAq ZGF0YSkKPiAgCXBtX3J1bnRpbWVfZW5hYmxlKGRldik7Cj4gIAo+ICAJcmV0dXJuIDA7Cj4gLQo+ IC1lcnJfZGVzdHJveV9lbmNvZGVyOgo+IC0JdmM0X2RzaV9lbmNvZGVyX2Rlc3Ryb3koZHNpLT5l bmNvZGVyKTsKPiAtCj4gLQlyZXR1cm4gcmV0Owo+ICB9Cj4gIAo+ICBzdGF0aWMgdm9pZCB2YzRf ZHNpX3VuYmluZChzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBkZXZpY2UgKm1hc3RlciwKPiBA QCAtMTY5MCw3ICsxNTc2LDcgQEAgc3RhdGljIHZvaWQgdmM0X2RzaV91bmJpbmQoc3RydWN0IGRl dmljZSAqZGV2LCBzdHJ1Y3QgZGV2aWNlICptYXN0ZXIsCj4gIAo+ICAJcG1fcnVudGltZV9kaXNh YmxlKGRldik7Cj4gIAo+IC0JdmM0X2RzaV9jb25uZWN0b3JfZGVzdHJveShkc2ktPmNvbm5lY3Rv cik7Cj4gKwlkcm1fYnJpZGdlX3JlbW92ZShkc2ktPmJyaWRnZSk7Cj4gIAl2YzRfZHNpX2VuY29k ZXJfZGVzdHJveShkc2ktPmVuY29kZXIpOwo+ICAKPiAgCW1pcGlfZHNpX2hvc3RfdW5yZWdpc3Rl cigmZHNpLT5kc2lfaG9zdCk7CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVz a3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9k cmktZGV2ZWwK