From mboxrd@z Thu Jan 1 00:00:00 1970 From: Boris Brezillon Subject: Re: [PATCH v3 01/21] drm/vc4: Declare the DSI encoder as a bridge element Date: Sun, 24 Nov 2019 11:47:41 +0100 Message-ID: <20191124114741.215886cc@collabora.com> References: <20191023154512.9762-1-boris.brezillon@collabora.com> <20191023154512.9762-2-boris.brezillon@collabora.com> <20191124100130.GC4727@pendragon.ideasonboard.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from bhuna.collabora.co.uk (bhuna.collabora.co.uk [46.235.227.227]) by gabe.freedesktop.org (Postfix) with ESMTPS id 3CD1989DFA for ; Sun, 24 Nov 2019 10:48:00 +0000 (UTC) In-Reply-To: <20191124100130.GC4727@pendragon.ideasonboard.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Laurent Pinchart Cc: Mark Rutland , Neil Armstrong , dri-devel@lists.freedesktop.org, Thierry Reding , kernel@collabora.com, Sam Ravnborg , Nikita Yushchenko , Andrey Smirnov , Kyungmin Park , Chris Healy , devicetree@vger.kernel.org, Jonas Karlman , Rob Herring , Jernej Skrabec , Seung-Woo Kim List-Id: dri-devel@lists.freedesktop.org T24gU3VuLCAyNCBOb3YgMjAxOSAxMjowMTozMCArMDIwMApMYXVyZW50IFBpbmNoYXJ0IDxsYXVy ZW50LnBpbmNoYXJ0QGlkZWFzb25ib2FyZC5jb20+IHdyb3RlOgoKPiBIaSBCb3JpcywKPiAKPiBU aGFuayB5b3UgZm9yIHRoZSBwYXRjaC4KPiAKPiBPbiBXZWQsIE9jdCAyMywgMjAxOSBhdCAwNTo0 NDo1MlBNICswMjAwLCBCb3JpcyBCcmV6aWxsb24gd3JvdGU6Cj4gPiBFbmNvZGVyIGRyaXZlcnMg d2lsbCBwcm9ncmVzc2l2ZWx5IHRyYW5zaXRpb24gdG8gdGhlIGRybV9icmlkZ2UKPiA+IGludGVy ZmFjZSBpbiBwbGFjZSBvZiB0aGUgZHJtX2VuY29kZXIgb25lLgo+ID4gCj4gPiBMZXQncyBzdGFy dCB3aXRoIHRoZSBWQzQgZHJpdmVyLCBhbmQgdXNlIHRoZSAtPnByZV97ZW5hYmxlLGRpc2FibGV9 KCkKPiA+IGhvb2tzIHRvIGdldCByaWQgb2YgdGhlIGhhY2sgcmVzZXR0aW5nIGVuY29kZXItPmJy aWRnZS5uZXh0ICh3aGljaCB3YXMKPiA+IG5lZWRlZCB0byBjb250cm9sIHRoZSBlbmNvZGVyL2Jy aWRnZSBlbmFibGUvZGlzYWJsZSBzZXF1ZW5jZSkuCj4gPiAKPiA+IFNpZ25lZC1vZmYtYnk6IEJv cmlzIEJyZXppbGxvbiA8Ym9yaXMuYnJlemlsbG9uQGNvbGxhYm9yYS5jb20+Cj4gPiAtLS0KPiA+ IENoYW5nZXMgaW4gdjM6Cj4gPiAqIEVtYmVkIGEgZHJtX2JyaWRnZSBvYmplY3QgaW4gdmM0X2Rz aSBzaW5jZSBkcm1fZW5jb2RlciBubyBsb25nZXIgaGFzCj4gPiAgIGEgZHVtbXkgYnJpZGdlCj4g PiAKPiA+IENoYW5nZXMgaW4gdjI6Cj4gPiAqIE5ldyBwYXRjaCAocmVwbGFjZXMgImRybS92YzQ6 IEdldCByaWQgb2YgdGhlIGRzaS0+YnJpZGdlIGZpZWxkIikKPiA+IC0tLQo+ID4gIGRyaXZlcnMv Z3B1L2RybS92YzQvdmM0X2RzaS5jIHwgODggKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0t LS0tLS0KPiA+ICAxIGZpbGUgY2hhbmdlZCwgNTIgaW5zZXJ0aW9ucygrKSwgMzYgZGVsZXRpb25z KC0pCj4gPiAKPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdmM0L3ZjNF9kc2kuYyBi L2RyaXZlcnMvZ3B1L2RybS92YzQvdmM0X2RzaS5jCj4gPiBpbmRleCBjOWJhODNlZDQ5YjkuLjQ5 ZjhhMzEzZTc1OSAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS92YzQvdmM0X2RzaS5j Cj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vdmM0L3ZjNF9kc2kuYwo+ID4gQEAgLTQ5OCw3ICs0 OTgsMTEgQEAgc3RydWN0IHZjNF9kc2kgewo+ID4gIAo+ID4gIAlzdHJ1Y3QgbWlwaV9kc2lfaG9z dCBkc2lfaG9zdDsKPiA+ICAJc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyOwo+ID4gLQlzdHJ1 Y3QgZHJtX2JyaWRnZSAqYnJpZGdlOwo+ID4gKwo+ID4gKwkvKiBFbWJlZCBhIGJyaWRnZSBvYmpl Y3Qgc28gd2UgY2FuIGltcGxlbWVudCBicmlkZ2UgZnVuY3MgaW5zdGVhZCBvZgo+ID4gKwkgKiBl bmNvZGVyIG9uZXMuCj4gPiArCSAqLwo+ID4gKwlzdHJ1Y3QgZHJtX2JyaWRnZSBicmlkZ2U7Cj4g PiAgCj4gPiAgCXZvaWQgX19pb21lbSAqcmVnczsKPiA+ICAKPiA+IEBAIC01NDMsNiArNTQ3LDEx IEBAIHN0cnVjdCB2YzRfZHNpIHsKPiA+ICAJc3RydWN0IGRlYnVnZnNfcmVnc2V0MzIgcmVnc2V0 Owo+ID4gIH07Cj4gPiAgCj4gPiArc3RhdGljIGlubGluZSBzdHJ1Y3QgdmM0X2RzaSAqYnJpZGdl X3RvX3ZjNF9kc2koc3RydWN0IGRybV9icmlkZ2UgKmJyaWRnZSkKPiA+ICt7Cj4gPiArCXJldHVy biBjb250YWluZXJfb2YoYnJpZGdlLCBzdHJ1Y3QgdmM0X2RzaSwgYnJpZGdlKTsKPiA+ICt9Cj4g PiArCj4gPiAgI2RlZmluZSBob3N0X3RvX2RzaShob3N0KSBjb250YWluZXJfb2YoaG9zdCwgc3Ry dWN0IHZjNF9kc2ksIGRzaV9ob3N0KQo+ID4gIAo+ID4gIHN0YXRpYyBpbmxpbmUgdm9pZAo+ID4g QEAgLTc0NywxNiArNzU2LDExIEBAIGRzaV9lc2NfdGltaW5nKHUzMiBucykKPiA+ICAJcmV0dXJu IERJVl9ST1VORF9VUChucywgRVNDX1RJTUVfTlMpOwo+ID4gIH0KPiA+ICAKPiA+IC1zdGF0aWMg dm9pZCB2YzRfZHNpX2VuY29kZXJfZGlzYWJsZShzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIp Cj4gPiArc3RhdGljIHZvaWQgdmM0X2RzaV9icmlkZ2VfcG9zdF9kaXNhYmxlKHN0cnVjdCBkcm1f YnJpZGdlICpicmlkZ2UpCj4gPiAgewo+ID4gLQlzdHJ1Y3QgdmM0X2RzaV9lbmNvZGVyICp2YzRf ZW5jb2RlciA9IHRvX3ZjNF9kc2lfZW5jb2RlcihlbmNvZGVyKTsKPiA+IC0Jc3RydWN0IHZjNF9k c2kgKmRzaSA9IHZjNF9lbmNvZGVyLT5kc2k7Cj4gPiArCXN0cnVjdCB2YzRfZHNpICpkc2kgPSBi cmlkZ2VfdG9fdmM0X2RzaShicmlkZ2UpOwo+ID4gIAlzdHJ1Y3QgZGV2aWNlICpkZXYgPSAmZHNp LT5wZGV2LT5kZXY7Cj4gPiAgCj4gPiAtCWRybV9icmlkZ2VfZGlzYWJsZShkc2ktPmJyaWRnZSk7 Cj4gPiAtCXZjNF9kc2lfdWxwcyhkc2ksIHRydWUpOwo+ID4gLQlkcm1fYnJpZGdlX3Bvc3RfZGlz YWJsZShkc2ktPmJyaWRnZSk7Cj4gPiAtCj4gPiAgCWNsa19kaXNhYmxlX3VucHJlcGFyZShkc2kt PnBsbF9waHlfY2xvY2spOwo+ID4gIAljbGtfZGlzYWJsZV91bnByZXBhcmUoZHNpLT5lc2NhcGVf Y2xvY2spOwo+ID4gIAljbGtfZGlzYWJsZV91bnByZXBhcmUoZHNpLT5waXhlbF9jbG9jayk7Cj4g PiBAQCAtNzY0LDYgKzc2OCwxMyBAQCBzdGF0aWMgdm9pZCB2YzRfZHNpX2VuY29kZXJfZGlzYWJs ZShzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIpCj4gPiAgCXBtX3J1bnRpbWVfcHV0KGRldik7 Cj4gPiAgfQo+ID4gIAo+ID4gK3N0YXRpYyB2b2lkIHZjNF9kc2lfYnJpZGdlX2Rpc2FibGUoc3Ry dWN0IGRybV9icmlkZ2UgKmJyaWRnZSkKPiA+ICt7Cj4gPiArCXN0cnVjdCB2YzRfZHNpICpkc2kg PSBicmlkZ2VfdG9fdmM0X2RzaShicmlkZ2UpOwo+ID4gKwo+ID4gKwl2YzRfZHNpX3VscHMoZHNp LCB0cnVlKTsKPiA+ICt9Cj4gPiArCj4gPiAgLyogRXh0ZW5kcyB0aGUgbW9kZSdzIGJsYW5rIGlu dGVydmFscyB0byBoYW5kbGUgQkNNMjgzNSdzIGludGVnZXItb25seQo+ID4gICAqIERTSSBQTEwg ZGl2aWRlci4KPiA+ICAgKgo+ID4gQEAgLTc3NywxMiArNzg4LDExIEBAIHN0YXRpYyB2b2lkIHZj NF9kc2lfZW5jb2Rlcl9kaXNhYmxlKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlcikKPiA+ICAg KiBoaWdoZXItdGhhbi1leHBlY3RlZCBjbG9jayByYXRlIHRvIHRoZSBwYW5lbCwgYnV0IHRoYXQn cyB3aGF0IHRoZQo+ID4gICAqIGZpcm13YXJlIGRvZXMgdG9vLgo+ID4gICAqLwo+ID4gLXN0YXRp YyBib29sIHZjNF9kc2lfZW5jb2Rlcl9tb2RlX2ZpeHVwKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5j b2RlciwKPiA+IC0JCQkJICAgICAgIGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2Rl LAo+ID4gLQkJCQkgICAgICAgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmFkanVzdGVkX21vZGUp Cj4gPiArc3RhdGljIGJvb2wgdmM0X2RzaV9icmlkZ2VfbW9kZV9maXh1cChzdHJ1Y3QgZHJtX2Jy aWRnZSAqYnJpZGdlLAo+ID4gKwkJCQkgICAgICBjb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9k ZSAqbW9kZSwKPiA+ICsJCQkJICAgICAgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmFkanVzdGVk X21vZGUpCj4gPiAgewo+ID4gLQlzdHJ1Y3QgdmM0X2RzaV9lbmNvZGVyICp2YzRfZW5jb2RlciA9 IHRvX3ZjNF9kc2lfZW5jb2RlcihlbmNvZGVyKTsKPiA+IC0Jc3RydWN0IHZjNF9kc2kgKmRzaSA9 IHZjNF9lbmNvZGVyLT5kc2k7Cj4gPiArCXN0cnVjdCB2YzRfZHNpICpkc2kgPSBicmlkZ2VfdG9f dmM0X2RzaShicmlkZ2UpOwo+ID4gIAlzdHJ1Y3QgY2xrICpwaHlfcGFyZW50ID0gY2xrX2dldF9w YXJlbnQoZHNpLT5wbGxfcGh5X2Nsb2NrKTsKPiA+ICAJdW5zaWduZWQgbG9uZyBwYXJlbnRfcmF0 ZSA9IGNsa19nZXRfcmF0ZShwaHlfcGFyZW50KTsKPiA+ICAJdW5zaWduZWQgbG9uZyBwaXhlbF9j bG9ja19oeiA9IG1vZGUtPmNsb2NrICogMTAwMDsKPiA+IEBAIC04MTYsMTEgKzgyNiwxMSBAQCBz dGF0aWMgYm9vbCB2YzRfZHNpX2VuY29kZXJfbW9kZV9maXh1cChzdHJ1Y3QgZHJtX2VuY29kZXIg KmVuY29kZXIsCj4gPiAgCXJldHVybiB0cnVlOwo+ID4gIH0KPiA+ICAKPiA+IC1zdGF0aWMgdm9p ZCB2YzRfZHNpX2VuY29kZXJfZW5hYmxlKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlcikKPiA+ ICtzdGF0aWMgdm9pZCB2YzRfZHNpX2JyaWRnZV9wcmVfZW5hYmxlKHN0cnVjdCBkcm1fYnJpZGdl ICpicmlkZ2UpCj4gPiAgewo+ID4gKwlzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIgPSBicmlk Z2UtPmVuY29kZXI7Cj4gPiAgCXN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlID0gJmVuY29k ZXItPmNydGMtPnN0YXRlLT5hZGp1c3RlZF9tb2RlOwo+ID4gLQlzdHJ1Y3QgdmM0X2RzaV9lbmNv ZGVyICp2YzRfZW5jb2RlciA9IHRvX3ZjNF9kc2lfZW5jb2RlcihlbmNvZGVyKTsKPiA+IC0Jc3Ry dWN0IHZjNF9kc2kgKmRzaSA9IHZjNF9lbmNvZGVyLT5kc2k7Cj4gPiArCXN0cnVjdCB2YzRfZHNp ICpkc2kgPSBicmlkZ2VfdG9fdmM0X2RzaShicmlkZ2UpOwo+ID4gIAlzdHJ1Y3QgZGV2aWNlICpk ZXYgPSAmZHNpLT5wZGV2LT5kZXY7Cj4gPiAgCWJvb2wgZGVidWdfZHVtcF9yZWdzID0gZmFsc2U7 Cj4gPiAgCXVuc2lnbmVkIGxvbmcgaHNfY2xvY2s7Cj4gPiBAQCAtMTA1NCw4ICsxMDY0LDEyIEBA IHN0YXRpYyB2b2lkIHZjNF9kc2lfZW5jb2Rlcl9lbmFibGUoc3RydWN0IGRybV9lbmNvZGVyICpl bmNvZGVyKQo+ID4gIAl9Cj4gPiAgCj4gPiAgCXZjNF9kc2lfdWxwcyhkc2ksIGZhbHNlKTsKPiA+ ICt9Cj4gPiAgCj4gPiAtCWRybV9icmlkZ2VfcHJlX2VuYWJsZShkc2ktPmJyaWRnZSk7ICAKPiAK PiBJZiBJJ20gbm90IG1pc3Rha2VuIHRoaXMgc3dpdGNoZXMgdGhlIG9yZGVyIG9mIHRoZSBEU0kn cyBlbmNvZGVyCj4gcHJlLWVuYWJsZSBhbmQgdGhlIG5leHQgYnJpZGdlJ3MgcHJlLWVuYWJsZS4g SSB0aGluayBpdCdzIHRydWUgZm9yCj4gcG9zdC1kaXNhYmxlIHRvby4gSXQgbWF5IG5vdCBiZSBh IHByb2JsZW0sIGJ1dCBoYXZlIHRoaXMgYmVlbiB0ZXN0ZWQgPwoKCk5vLCBpdCBoYXNuJ3QgYmVl biB0ZXN0ZWQgKEkgZG9uJ3QgaGF2ZSBhIFJwaSB3aXRoIGEgRFNJIHBhbmVsIGF0CmhhbmQpLCBh bmQgbm93IHRoYXQgeW91IG1lbnRpb24gaXQsIEkgZG9uJ3QgdGhpbmsgaXQgd2lsbCB3b3JrIChJ IGhhZApmb3Jnb3R0ZW4gZHJtX2JyaWRnZV9wcmVfZW5hYmxlKCkgaXRlcmF0ZXMgdGhlIGJyaWRn ZSBjaGFpbiBpbiByZXZlcnNlCm9yZGVyKS4KV2VsbCwgaXQgd2lsbCB3b3JrIGlmIHRoZSBEU0kg ZW5jb2RlciBpcyBjb25uZWN0ZWQgdG8gdGhlIFJQaSBEU0kgcGFuZWwKc2luY2UgLT5wcmVwYXJl KCkgZG9lc24ndCBkbyBhbnl0aGluZywgYnV0IEkgc2VlIHRoYXQgc29tZSBEU0kgcGFuZWwKZHJp dmVycyBzZW5kIERTSSBjb21tYW5kcyBpbiB0aGVpciAtPnByZXBhcmUoKSBtZXRob2QgKEJUVywg d2Ugc2hvdWxkCnJlYWxseSBkb2N1bWVudCB0aGUgZmFjdCB0aGF0IHBhbmVsIGRyaXZlcnMgY2Fu IHNlbmQgRFNJIGNvbW1hbmRzIGluCnRoZSAtPnByZXBhcmUoKSBob29rKS4KClRoZSBvbmx5IHdh eSB0aGlzIGNhbiBiZSBmaXhlZCBpcyBieSBwdXR0aW5nIHRoZQp2YzRfZHNpX3ByZV9lbmFibGUv cG9zdF9kaXNhYmxlKCkgY29kZSBpbiBydW50aW1lIFBNIHJlc3VtZS9zdXNwZW5kCmhvb2tzIGFu ZCBsZXQgdGhlIHZjNF9kc2lfaG9zdF90cmFuc2ZlcigpIGNhbGwgcG1fcnVudGltZV9nZXRfc3lu YygpLApwbV9ydW50aW1lX3B1dCgpIGV2ZXJ5IHRpbWUgYSBtc2cgaXMgc2VudC4KCj4gCj4gPiAr c3RhdGljIHZvaWQgdmM0X2RzaV9icmlkZ2VfZW5hYmxlKHN0cnVjdCBkcm1fYnJpZGdlICpicmlk Z2UpCj4gPiArewo+ID4gKwlzdHJ1Y3QgdmM0X2RzaSAqZHNpID0gYnJpZGdlX3RvX3ZjNF9kc2ko YnJpZGdlKTsKPiA+ICsJYm9vbCBkZWJ1Z19kdW1wX3JlZ3MgPSBmYWxzZTsKPiA+ICAKPiA+ICAJ aWYgKGRzaS0+bW9kZV9mbGFncyAmIE1JUElfRFNJX01PREVfVklERU8pIHsKPiA+ICAJCURTSV9Q T1JUX1dSSVRFKERJU1AwX0NUUkwsCj4gPiBAQCAtMTA3Miw4ICsxMDg2LDYgQEAgc3RhdGljIHZv aWQgdmM0X2RzaV9lbmNvZGVyX2VuYWJsZShzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIpCj4g PiAgCQkJICAgICAgIERTSV9ESVNQMF9FTkFCTEUpOwo+ID4gIAl9Cj4gPiAgCj4gPiAtCWRybV9i cmlkZ2VfZW5hYmxlKGRzaS0+YnJpZGdlKTsKPiA+IC0KPiA+ICAJaWYgKGRlYnVnX2R1bXBfcmVn cykgewo+ID4gIAkJc3RydWN0IGRybV9wcmludGVyIHAgPSBkcm1faW5mb19wcmludGVyKCZkc2kt PnBkZXYtPmRldik7Cj4gPiAgCQlkZXZfaW5mbygmZHNpLT5wZGV2LT5kZXYsICJEU0kgcmVncyBh ZnRlcjpcbiIpOwo+ID4gQEAgLTEyOTAsMTAgKzEzMDIsMTIgQEAgc3RhdGljIGNvbnN0IHN0cnVj dCBtaXBpX2RzaV9ob3N0X29wcyB2YzRfZHNpX2hvc3Rfb3BzID0gewo+ID4gIAkudHJhbnNmZXIg PSB2YzRfZHNpX2hvc3RfdHJhbnNmZXIsCj4gPiAgfTsKPiA+ICAKPiA+IC1zdGF0aWMgY29uc3Qg c3RydWN0IGRybV9lbmNvZGVyX2hlbHBlcl9mdW5jcyB2YzRfZHNpX2VuY29kZXJfaGVscGVyX2Z1 bmNzID0gewo+ID4gLQkuZGlzYWJsZSA9IHZjNF9kc2lfZW5jb2Rlcl9kaXNhYmxlLAo+ID4gLQku ZW5hYmxlID0gdmM0X2RzaV9lbmNvZGVyX2VuYWJsZSwKPiA+IC0JLm1vZGVfZml4dXAgPSB2YzRf ZHNpX2VuY29kZXJfbW9kZV9maXh1cCwKPiA+ICtzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9icmlk Z2VfZnVuY3MgdmM0X2RzaV9icmlkZ2VfZnVuY3MgPSB7Cj4gPiArCS5wcmVfZW5hYmxlID0gdmM0 X2RzaV9icmlkZ2VfcHJlX2VuYWJsZSwKPiA+ICsJLmVuYWJsZSA9IHZjNF9kc2lfYnJpZGdlX2Vu YWJsZSwKPiA+ICsJLmRpc2FibGUgPSB2YzRfZHNpX2JyaWRnZV9kaXNhYmxlLAo+ID4gKwkucG9z dF9kaXNhYmxlID0gdmM0X2RzaV9icmlkZ2VfcG9zdF9kaXNhYmxlLAo+ID4gKwkubW9kZV9maXh1 cCA9IHZjNF9kc2lfYnJpZGdlX21vZGVfZml4dXAsCj4gPiAgfTsKPiA+ICAKPiA+ICBzdGF0aWMg Y29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCB2YzRfZHNpX2R0X21hdGNoW10gPSB7Cj4gPiBAQCAt MTQ0NSw2ICsxNDU5LDcgQEAgc3RhdGljIGludCB2YzRfZHNpX2JpbmQoc3RydWN0IGRldmljZSAq ZGV2LCBzdHJ1Y3QgZGV2aWNlICptYXN0ZXIsIHZvaWQgKmRhdGEpCj4gPiAgCXN0cnVjdCB2YzRf ZGV2ICp2YzQgPSB0b192YzRfZGV2KGRybSk7Cj4gPiAgCXN0cnVjdCB2YzRfZHNpICpkc2kgPSBk ZXZfZ2V0X2RydmRhdGEoZGV2KTsKPiA+ICAJc3RydWN0IHZjNF9kc2lfZW5jb2RlciAqdmM0X2Rz aV9lbmNvZGVyOwo+ID4gKwlzdHJ1Y3QgZHJtX2JyaWRnZSAqbmV4dF9icmlkZ2U7Cj4gPiAgCXN0 cnVjdCBkcm1fcGFuZWwgKnBhbmVsOwo+ID4gIAljb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkICpt YXRjaDsKPiA+ICAJZG1hX2NhcF9tYXNrX3QgZG1hX21hc2s7Cj4gPiBAQCAtMTU2MSw3ICsxNTc2 LDcgQEAgc3RhdGljIGludCB2YzRfZHNpX2JpbmQoc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3Qg ZGV2aWNlICptYXN0ZXIsIHZvaWQgKmRhdGEpCj4gPiAgCX0KPiA+ICAKPiA+ICAJcmV0ID0gZHJt X29mX2ZpbmRfcGFuZWxfb3JfYnJpZGdlKGRldi0+b2Zfbm9kZSwgMCwgMCwKPiA+IC0JCQkJCSAg JnBhbmVsLCAmZHNpLT5icmlkZ2UpOwo+ID4gKwkJCQkJICAmcGFuZWwsICZuZXh0X2JyaWRnZSk7 Cj4gPiAgCWlmIChyZXQpIHsKPiA+ICAJCS8qIElmIHRoZSBicmlkZ2Ugb3IgcGFuZWwgcG9pbnRl ZCBieSBkZXYtPm9mX25vZGUgaXMgbm90Cj4gPiAgCQkgKiBlbmFibGVkLCBqdXN0IHJldHVybiAw IGhlcmUgc28gdGhhdCB3ZSBkb24ndCBwcmV2ZW50IHRoZSBEUk0KPiA+IEBAIC0xNTc2LDEwICsx NTkxLDEwIEBAIHN0YXRpYyBpbnQgdmM0X2RzaV9iaW5kKHN0cnVjdCBkZXZpY2UgKmRldiwgc3Ry dWN0IGRldmljZSAqbWFzdGVyLCB2b2lkICpkYXRhKQo+ID4gIAl9Cj4gPiAgCj4gPiAgCWlmIChw YW5lbCkgewo+ID4gLQkJZHNpLT5icmlkZ2UgPSBkZXZtX2RybV9wYW5lbF9icmlkZ2VfYWRkX3R5 cGVkKGRldiwgcGFuZWwsCj4gPiArCQluZXh0X2JyaWRnZSA9IGRldm1fZHJtX3BhbmVsX2JyaWRn ZV9hZGRfdHlwZWQoZGV2LCBwYW5lbCwKPiA+ICAJCQkJCQkJICAgICAgRFJNX01PREVfQ09OTkVD VE9SX0RTSSk7Cj4gPiAtCQlpZiAoSVNfRVJSKGRzaS0+YnJpZGdlKSkKPiA+IC0JCQlyZXR1cm4g UFRSX0VSUihkc2ktPmJyaWRnZSk7Cj4gPiArCQlpZiAoSVNfRVJSKG5leHRfYnJpZGdlKSkKPiA+ ICsJCQlyZXR1cm4gUFRSX0VSUihuZXh0X2JyaWRnZSk7Cj4gPiAgCX0KPiA+ICAKPiA+ICAJLyog VGhlIGVzYyBjbG9jayByYXRlIGlzIHN1cHBvc2VkIHRvIGFsd2F5cyBiZSAxMDBNaHouICovCj4g PiBAQCAtMTU5OCwxOSArMTYxMywyMCBAQCBzdGF0aWMgaW50IHZjNF9kc2lfYmluZChzdHJ1Y3Qg ZGV2aWNlICpkZXYsIHN0cnVjdCBkZXZpY2UgKm1hc3Rlciwgdm9pZCAqZGF0YSkKPiA+ICAKPiA+ ICAJZHJtX2VuY29kZXJfaW5pdChkcm0sIGRzaS0+ZW5jb2RlciwgJnZjNF9kc2lfZW5jb2Rlcl9m dW5jcywKPiA+ICAJCQkgRFJNX01PREVfRU5DT0RFUl9EU0ksIE5VTEwpOwo+ID4gLQlkcm1fZW5j b2Rlcl9oZWxwZXJfYWRkKGRzaS0+ZW5jb2RlciwgJnZjNF9kc2lfZW5jb2Rlcl9oZWxwZXJfZnVu Y3MpOwo+ID4gIAo+ID4gLQlyZXQgPSBkcm1fYnJpZGdlX2F0dGFjaChkc2ktPmVuY29kZXIsIGRz aS0+YnJpZGdlLCBOVUxMKTsKPiA+ICsJLyogRGVjbGFyZSBvdXJzZWxmIGFzIHRoZSBmaXJzdCBi cmlkZ2UgZWxlbWVudC4gKi8KPiA+ICsJZHNpLT5icmlkZ2UuZnVuY3MgPSAmdmM0X2RzaV9icmlk Z2VfZnVuY3M7Cj4gPiArCXJldCA9IGRybV9icmlkZ2VfYXR0YWNoKGRzaS0+ZW5jb2RlciwgJmRz aS0+YnJpZGdlLCBOVUxMKTsKPiA+ICsJaWYgKHJldCkgewo+ID4gKwkJZGV2X2VycihkZXYsICJi cmlkZ2UgYXR0YWNoIGZhaWxlZDogJWRcbiIsIHJldCk7Cj4gPiArCQlyZXR1cm4gcmV0Owo+ID4g Kwl9Cj4gPiArCj4gPiArCXJldCA9IGRybV9icmlkZ2VfYXR0YWNoKGRzaS0+ZW5jb2RlciwgbmV4 dF9icmlkZ2UsICZkc2ktPmJyaWRnZSk7Cj4gPiAgCWlmIChyZXQpIHsKPiA+ICAJCWRldl9lcnIo ZGV2LCAiYnJpZGdlIGF0dGFjaCBmYWlsZWQ6ICVkXG4iLCByZXQpOwo+ID4gIAkJcmV0dXJuIHJl dDsKPiA+ICAJfSAgCj4gCj4gVGhpcyBpcyB1c3VhbGx5IGRvbmUgaW4gdGhlIGJyaWRnZSBhdHRh Y2ggb3BlcmF0aW9uLiBBcyB3ZSdyZSBpbiBjb250cm9sCj4gd2UgY2FuIGF0dGFjaCB0aGUgbmV4 dCBicmlkZ2UgaGVyZSwgYnV0IEkgdGhpbmsgdGhlIGRyaXZlciB3b3VsZCBsb29rCj4gbW9yZSBz dGFuZGFyZCBpZiB5b3UgbW92ZWQgdGhlIHNlY29uZCBhdHRhY2ggY2FsbCB0byB0aGlzIGJyaWRn ZSdzCj4gYXR0YWNoIG9wZXJhdGlvbi4KCkkgYWdyZWUuCgo+IAo+IFdpdGggdGhpcyBmaXhlZCwg YW5kIGlmIHRoZSBkcml2ZXIgaGFzIGJlZW4gdGVzdGVkIGFuZCB0aGUKPiBlbmFibGUvZGlzYWJs ZSBvcmRlciBjaGFuZ2UgZG9lc24ndCBjYXVzZSBpc3N1ZXMsCj4gCj4gUmV2aWV3ZWQtYnk6IExh dXJlbnQgUGluY2hhcnQgPGxhdXJlbnQucGluY2hhcnRAaWRlYXNvbmJvYXJkLmNvbT4KPiAKPiA+ IC0JLyogRGlzYWJsZSB0aGUgYXRvbWljIGhlbHBlciBjYWxscyBpbnRvIHRoZSBicmlkZ2UuICBX ZQo+ID4gLQkgKiBtYW51YWxseSBjYWxsIHRoZSBicmlkZ2UgcHJlX2VuYWJsZSAvIGVuYWJsZSAv IGV0Yy4gY2FsbHMKPiA+IC0JICogZnJvbSBvdXIgZHJpdmVyLCBzaW5jZSB3ZSBuZWVkIHRvIHNl cXVlbmNlIHRoZW0gd2l0aGluIHRoZQo+ID4gLQkgKiBlbmNvZGVyJ3MgZW5hYmxlL2Rpc2FibGUg cGF0aHMuCj4gPiAtCSAqLwo+ID4gLQlkc2ktPmVuY29kZXItPmJyaWRnZSA9IE5VTEw7Cj4gPiAg Cj4gPiAgCWlmIChkc2ktPnBvcnQgPT0gMCkKPiA+ICAJCXZjNF9kZWJ1Z2ZzX2FkZF9yZWdzZXQz Mihkcm0sICJkc2kwX3JlZ3MiLCAmZHNpLT5yZWdzZXQpOwo+ID4gQEAgLTE2MjksNyArMTY0NSw3 IEBAIHN0YXRpYyB2b2lkIHZjNF9kc2lfdW5iaW5kKHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0 IGRldmljZSAqbWFzdGVyLAo+ID4gIAlzdHJ1Y3QgdmM0X2RldiAqdmM0ID0gdG9fdmM0X2Rldihk cm0pOwo+ID4gIAlzdHJ1Y3QgdmM0X2RzaSAqZHNpID0gZGV2X2dldF9kcnZkYXRhKGRldik7Cj4g PiAgCj4gPiAtCWlmIChkc2ktPmJyaWRnZSkKPiA+ICsJaWYgKGRzaS0+YnJpZGdlLm5leHQpCj4g PiAgCQlwbV9ydW50aW1lX2Rpc2FibGUoZGV2KTsKPiA+ICAKPiA+ICAJdmM0X2RzaV9lbmNvZGVy X2Rlc3Ryb3koZHNpLT5lbmNvZGVyKTsgIAo+IAoKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlz dHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4v bGlzdGluZm8vZHJpLWRldmVs