From mboxrd@z Thu Jan 1 00:00:00 1970 From: Neil Armstrong Subject: Re: [RFC/RFT PATCH 1/4] drm/bridge: dw-hdmi: Switch to regmap for register access Date: Fri, 20 Jan 2017 16:12:36 +0100 Message-ID: <3d3593cc-ce8d-c8da-6f41-ae7cba688a35@baylibre.com> References: <1484656294-6140-1-git-send-email-narmstrong@baylibre.com> <1484656294-6140-2-git-send-email-narmstrong@baylibre.com> <5238949.NqUKITq39o@avalon> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wm0-x22b.google.com (mail-wm0-x22b.google.com [IPv6:2a00:1450:400c:c09::22b]) by gabe.freedesktop.org (Postfix) with ESMTPS id 169426EBC3 for ; Fri, 20 Jan 2017 15:12:41 +0000 (UTC) Received: by mail-wm0-x22b.google.com with SMTP id c206so48264911wme.0 for ; Fri, 20 Jan 2017 07:12:41 -0800 (PST) In-Reply-To: <5238949.NqUKITq39o@avalon> 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: Jose.Abreu@synopsys.com, laurent.pinchart+renesas@ideasonboard.com, kieran.bingham@ideasonboard.com, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, Mark Brown , linux-amlogic@lists.infradead.org List-Id: dri-devel@lists.freedesktop.org T24gMDEvMTcvMjAxNyAwMzozOSBQTSwgTGF1cmVudCBQaW5jaGFydCB3cm90ZToKPiBIaSBOZWls LAo+IAo+IFRoYW5rIHlvdSBmb3IgdGhlIHBhdGNoLgo+IAo+IE9uIFR1ZXNkYXkgMTcgSmFuIDIw MTcgMTM6MzE6MzEgTmVpbCBBcm1zdHJvbmcgd3JvdGU6Cj4+IFRoZSBTeW5vcHN5cyBEZXNpZ253 YXJlIEhETUkgVFggQ29udHJvbGxlciBkb2VzIG5vdCBlbmZvcmNlIHJlZ2lzdGVyIGFjY2Vzcwo+ PiBvbiBwbGF0Zm9ybXMgaW5zdGFuY2lhdGluZyBpdC4KPj4gVGhlIGN1cnJlbnQgZHJpdmVyIHN1 cHBvcnRzIHR3byBkaWZmZXJlbnQgdHlwZXMgb2YgbWVtb3J5LW1hcHBlZCBmbGF0Cj4+IHJlZ2lz dGVyIGFjY2VzcywgYnV0IGluIG9yZGVyIHRvIHN1cHBvcnQgdGhlIEFtbG9naWMgTWVzb24gU29D cyBpbnRlZ3JhdGlvbiwKPj4gYW5kIHByb3ZpZGUgYSBtb3JlIGdlbmVyaWMgd2F5IHRvIGhhbmRs ZSBhbGwgc29ydHMgb2YgcmVnaXN0ZXIgbWFwcGluZywKPj4gc3dpdGNoIHRoZSByZWdpc3RlciBh Y2Nlc3MgdG8gdXNlIHRoZSByZWdtYXAgaW5mcmFzdHJ1Y3R1cmUuCj4+Cj4+IEluIHRoZSBjYXNl IG9mIHRoZSByZWdpc3RlcnMgYXJlIG5vdCBmbGF0IG1lbW9yeS1tYXBwZWQgb3IgZG9lcyBub3Qg Y29uZm9ybQo+IAo+IHMvZG9lcy9kby8KPiAKPj4gYXQgdGhlIGFjdHVhbCBkcml2ZXIgaW1wbGVt ZW50YXRpb24sIGEgcmVnbWFwIHN0cnVjdCBjYW4gYmUgZ2l2ZW4gaW4gdGhlCj4gCj4gcy9hdCB0 aGUgYWN0dWFsL3RvIHRoZSBjdXJyZW50LyA/Cj4gCj4+IHBsYXRfZGF0YSBhbmQgYmUgdXNlZCBh dCBwcm9iZSBvciBiaW5kLgo+Pgo+PiBTaW5jZSB0aGUgQUhCIGF1ZGlvIGRyaXZlciBvbmx5IHVz ZXMgZGlyZWN0IG1lbW9yeSBhY2Nlc3MsIHVzaW5nIHJlZ21hcCBvbmx5Cj4+IGFsbG93cyB0aGUg STJTIGF1ZGlvIGRyaXZlciB0byBiZSByZWdpc3RlcmVkLgo+IAo+IFRoaXMgc291bmRzIGEgYml0 IHVuY2xlYXIgdG8gbWUsIGhvdyBhYm91dCAiWy4uLl0sIG9ubHkgYWxsb3cgdGhlIEkyQyBhdWRp byAKPiBkcml2ZXIgdG8gYmUgcmVnaXN0ZXJlZCBpZiB0aGUgZGV2aWNlIGlzIGRpcmVjdGx5IG1l bW9yeS1tYXBwZWQuIiA/Cj4gCj4+IFNpZ25lZC1vZmYtYnk6IE5laWwgQXJtc3Ryb25nIDxuYXJt c3Ryb25nQGJheWxpYnJlLmNvbT4KPj4gLS0tCj4+ICBkcml2ZXJzL2dwdS9kcm0vYnJpZGdlL2R3 LWhkbWkuYyB8IDEwNSArKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0KPj4gIGlu Y2x1ZGUvZHJtL2JyaWRnZS9kd19oZG1pLmggICAgIHwgICAxICsKPj4gIDIgZmlsZXMgY2hhbmdl ZCwgNTcgaW5zZXJ0aW9ucygrKSwgNDkgZGVsZXRpb25zKC0pCj4+Cj4+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vYnJpZGdlL2R3LWhkbWkuYwo+PiBiL2RyaXZlcnMvZ3B1L2RybS9icmlk Z2UvZHctaGRtaS5jIGluZGV4IGNhOWQwY2UuLjEzNzQ3ZmUgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZl cnMvZ3B1L2RybS9icmlkZ2UvZHctaGRtaS5jCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9icmlk Z2UvZHctaGRtaS5jCj4+IEBAIC0yMCw2ICsyMCw3IEBACj4+ICAjaW5jbHVkZSA8bGludXgvbXV0 ZXguaD4KPj4gICNpbmNsdWRlIDxsaW51eC9vZl9kZXZpY2UuaD4KPj4gICNpbmNsdWRlIDxsaW51 eC9zcGlubG9jay5oPgo+PiArI2luY2x1ZGUgPGxpbnV4L3JlZ21hcC5oPgo+IAo+IENvdWxkIHlv dSBwbGVhc2Uga2VlcCB0aGUgaGVhZGVycyBhbHBoYWJldGljYWxseSBzb3J0ZWQgPwo+IAo+PiAg I2luY2x1ZGUgPGRybS9kcm1fb2YuaD4KPj4gICNpbmNsdWRlIDxkcm0vZHJtUC5oPgo+PiBAQCAt MTY3LDggKzE2OCw3IEBAIHN0cnVjdCBkd19oZG1pIHsKPj4gIAl1bnNpZ25lZCBpbnQgYXVkaW9f bjsKPj4gIAlib29sIGF1ZGlvX2VuYWJsZTsKPj4KPj4gLQl2b2lkICgqd3JpdGUpKHN0cnVjdCBk d19oZG1pICpoZG1pLCB1OCB2YWwsIGludCBvZmZzZXQpOwo+PiAtCXU4ICgqcmVhZCkoc3RydWN0 IGR3X2hkbWkgKmhkbWksIGludCBvZmZzZXQpOwo+PiArCXN0cnVjdCByZWdtYXAgKnJlZ207Cj4+ ICB9Owo+Pgo+PiAgI2RlZmluZSBIRE1JX0lIX1BIWV9TVEFUMF9SWF9TRU5TRSBcCj4+IEBAIC0x NzksNDIgKzE3OSwyMyBAQCBzdHJ1Y3QgZHdfaGRtaSB7Cj4+ICAJKEhETUlfUEhZX1JYX1NFTlNF MCB8IEhETUlfUEhZX1JYX1NFTlNFMSB8IFwKPj4gIAkgSERNSV9QSFlfUlhfU0VOU0UyIHwgSERN SV9QSFlfUlhfU0VOU0UzKQo+Pgo+PiAtc3RhdGljIHZvaWQgZHdfaGRtaV93cml0ZWwoc3RydWN0 IGR3X2hkbWkgKmhkbWksIHU4IHZhbCwgaW50IG9mZnNldCkKPj4gLXsKPj4gLQl3cml0ZWwodmFs LCBoZG1pLT5yZWdzICsgKG9mZnNldCA8PCAyKSk7Cj4+IC19Cj4+IC0KPj4gLXN0YXRpYyB1OCBk d19oZG1pX3JlYWRsKHN0cnVjdCBkd19oZG1pICpoZG1pLCBpbnQgb2Zmc2V0KQo+PiAtewo+PiAt CXJldHVybiByZWFkbChoZG1pLT5yZWdzICsgKG9mZnNldCA8PCAyKSk7Cj4+IC19Cj4+IC0KPj4g LXN0YXRpYyB2b2lkIGR3X2hkbWlfd3JpdGViKHN0cnVjdCBkd19oZG1pICpoZG1pLCB1OCB2YWws IGludCBvZmZzZXQpCj4+IC17Cj4+IC0Jd3JpdGViKHZhbCwgaGRtaS0+cmVncyArIG9mZnNldCk7 Cj4+IC19Cj4+IC0KPj4gLXN0YXRpYyB1OCBkd19oZG1pX3JlYWRiKHN0cnVjdCBkd19oZG1pICpo ZG1pLCBpbnQgb2Zmc2V0KQo+PiAtewo+PiAtCXJldHVybiByZWFkYihoZG1pLT5yZWdzICsgb2Zm c2V0KTsKPj4gLX0KPj4gLQo+PiAgc3RhdGljIGlubGluZSB2b2lkIGhkbWlfd3JpdGViKHN0cnVj dCBkd19oZG1pICpoZG1pLCB1OCB2YWwsIGludCBvZmZzZXQpCj4gCj4gTm90IHJlbGF0ZWQgdG8g dGhpcyBwYXRjaCwgYnV0IHRoZSB2YWx1ZSwgb2Zmc2V0IG9yZGVyIG9mIGFyZ3VtZW50cyB0byB0 aGUgCj4gd3JpdGUgZnVuY3Rpb24gaGFzIGJlZW4gbWFraW5nIG1lIGNyaW5nZSBzaW5jZSB0aGUg dmVyeSBmaXJzdCB0aW1lIEkgcmVhZCB0aGUgCj4gY29kZS4gSSB3b25kZXIgaWYgbW9kaWZ5aW5n IHRoaXMgd291bGQgYmUgYWNjZXB0ZWQuCj4gCj4+ICB7Cj4+IC0JaGRtaS0+d3JpdGUoaGRtaSwg dmFsLCBvZmZzZXQpOwo+PiArCXJlZ21hcF93cml0ZShoZG1pLT5yZWdtLCBvZmZzZXQsIHZhbCk7 Cj4+ICB9Cj4+Cj4+ICBzdGF0aWMgaW5saW5lIHU4IGhkbWlfcmVhZGIoc3RydWN0IGR3X2hkbWkg KmhkbWksIGludCBvZmZzZXQpCj4+ICB7Cj4+IC0JcmV0dXJuIGhkbWktPnJlYWQoaGRtaSwgb2Zm c2V0KTsKPj4gKwl1bnNpZ25lZCBpbnQgdmFsID0gMDsKPj4gKwo+PiArCXJlZ21hcF9yZWFkKGhk bWktPnJlZ20sIG9mZnNldCwgJnZhbCk7Cj4+ICsKPj4gKwlyZXR1cm4gdmFsOwo+PiAgfQo+Pgo+ PiAgc3RhdGljIHZvaWQgaGRtaV9tb2RiKHN0cnVjdCBkd19oZG1pICpoZG1pLCB1OCBkYXRhLCB1 OCBtYXNrLCB1bnNpZ25lZCByZWcpCj4+IHsKPj4gLQl1OCB2YWwgPSBoZG1pX3JlYWRiKGhkbWks IHJlZykgJiB+bWFzazsKPj4gLQo+PiAtCXZhbCB8PSBkYXRhICYgbWFzazsKPj4gLQloZG1pX3dy aXRlYihoZG1pLCB2YWwsIHJlZyk7Cj4+ICsJcmVnbWFwX3VwZGF0ZV9iaXRzKGhkbWktPnJlZ20s IHJlZywgbWFzaywgZGF0YSk7Cj4+ICB9Cj4+Cj4+ICBzdGF0aWMgdm9pZCBoZG1pX21hc2tfd3Jp dGViKHN0cnVjdCBkd19oZG1pICpoZG1pLCB1OCBkYXRhLCB1bnNpZ25lZCBpbnQKPj4gcmVnLCBA QCAtMTk0OSw2ICsxOTMwLDIxIEBAIHN0YXRpYyBpbnQgZHdfaGRtaV9kZXRlY3RfcGh5KHN0cnVj dCBkd19oZG1pCj4+ICpoZG1pKSByZXR1cm4gMDsKPj4gIH0KPj4KPj4gK3N0YXRpYyBzdHJ1Y3Qg cmVnbWFwX2NvbmZpZyBoZG1pX3JlZ21hcF84Yml0X2NvbmZpZyA9IHsKPj4gKwkucmVnX2JpdHMJ PSAzMiwKPj4gKwkudmFsX2JpdHMJPSA4LAo+PiArCS5yZWdfc3RyaWRlCT0gMSwKPj4gKwkubWF4 X3JlZ2lzdGVyCT0gSERNSV9JMkNNX0ZTX1NDTF9MQ05UXzBfQUREUiwKPj4gK307Cj4+ICsKPj4g K3N0YXRpYyBzdHJ1Y3QgcmVnbWFwX2NvbmZpZyBoZG1pX3JlZ21hcF8zMmJpdF9jb25maWcgPSB7 Cj4+ICsJLnJlZ19iaXRzCT0gOCwKPj4gKwkucGFkX2JpdHMJPSAyNCwKPj4gKwkudmFsX2JpdHMJ PSAzMiwKPj4gKwkucmVnX3N0cmlkZQk9IDQsCj4+ICsJLm1heF9yZWdpc3Rlcgk9IEhETUlfSTJD TV9GU19TQ0xfTENOVF8wX0FERFIsCj4+ICt9Owo+IAo+IEkgYmVsaWV2ZSB5b3UgY2FuIG1ha2Ug dGhlc2UgY29uc3QuCj4gCj4+ICBzdGF0aWMgc3RydWN0IGR3X2hkbWkgKgo+PiAgX19kd19oZG1p X3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYsCj4+ICAJCWNvbnN0IHN0cnVjdCBk d19oZG1pX3BsYXRfZGF0YSAqcGxhdF9kYXRhKQo+PiBAQCAtMTk1OCw3ICsxOTU0LDggQEAgc3Rh dGljIGludCBkd19oZG1pX2RldGVjdF9waHkoc3RydWN0IGR3X2hkbWkgKmhkbWkpCj4+ICAJc3Ry dWN0IHBsYXRmb3JtX2RldmljZV9pbmZvIHBkZXZpbmZvOwo+PiAgCXN0cnVjdCBkZXZpY2Vfbm9k ZSAqZGRjX25vZGU7Cj4+ICAJc3RydWN0IGR3X2hkbWkgKmhkbWk7Cj4+IC0Jc3RydWN0IHJlc291 cmNlICppb3JlczsKPj4gKwlzdHJ1Y3QgcmVnbWFwX2NvbmZpZyAqcmVnX2NvbmZpZyA9ICZoZG1p X3JlZ21hcF84Yml0X2NvbmZpZzsKPiAKPiBObyBuZWVkIHRvIGFzc2lnbiBhIHZhbHVlIGF0IGRl Y2xhcmF0aW9uIHRpbWUgKHVubGVzcyB0aGUgY29tcGlsZXIgaXMgbm90IAo+IHNtYXJ0IGVub3Vn aCBhbmQgY29tcGxhaW5zLCBvciBpcyBzbWFydGVyIHRoYW4gbWUgYW5kIGZpbmRzIGEgcHJvYmxl bSB3aGVyZSBJIAo+IGRvbid0KS4KPiAKPj4gKwlzdHJ1Y3QgcmVzb3VyY2UgKmlvcmVzID0gTlVM TDsKPj4gIAlpbnQgaXJxOwo+PiAgCWludCByZXQ7Cj4+ICAJdTMyIHZhbCA9IDE7Cj4+IEBAIC0x OTgyLDIwICsxOTc5LDIxIEBAIHN0YXRpYyBpbnQgZHdfaGRtaV9kZXRlY3RfcGh5KHN0cnVjdCBk d19oZG1pICpoZG1pKQo+PiAgCW11dGV4X2luaXQoJmhkbWktPmF1ZGlvX211dGV4KTsKPj4gIAlz cGluX2xvY2tfaW5pdCgmaGRtaS0+YXVkaW9fbG9jayk7Cj4+Cj4+IC0Jb2ZfcHJvcGVydHlfcmVh ZF91MzIobnAsICJyZWctaW8td2lkdGgiLCAmdmFsKTsKPj4gLQo+PiAtCXN3aXRjaCAodmFsKSB7 Cj4+IC0JY2FzZSA0Ogo+PiAtCQloZG1pLT53cml0ZSA9IGR3X2hkbWlfd3JpdGVsOwo+PiAtCQlo ZG1pLT5yZWFkID0gZHdfaGRtaV9yZWFkbDsKPj4gLQkJYnJlYWs7Cj4+IC0JY2FzZSAxOgo+PiAt CQloZG1pLT53cml0ZSA9IGR3X2hkbWlfd3JpdGViOwo+PiAtCQloZG1pLT5yZWFkID0gZHdfaGRt aV9yZWFkYjsKPj4gLQkJYnJlYWs7Cj4+IC0JZGVmYXVsdDoKPj4gLQkJZGV2X2VycihkZXYsICJy ZWctaW8td2lkdGggbXVzdCBiZSAxIG9yIDRcbiIpOwo+PiAtCQlyZXR1cm4gRVJSX1BUUigtRUlO VkFMKTsKPj4gKwlpZiAocGxhdF9kYXRhLT5yZWdtKQo+PiArCQloZG1pLT5yZWdtID0gcGxhdF9k YXRhLT5yZWdtOwo+IAo+IFlvdSBuZWVkIGN1cmx5IGJyYWNlcyBhcm91bmQgdGhpcyBzdGF0ZW1l bnQuCj4gCj4+ICsJZWxzZSB7Cj4+ICsJCW9mX3Byb3BlcnR5X3JlYWRfdTMyKG5wLCAicmVnLWlv LXdpZHRoIiwgJnZhbCk7Cj4+ICsJCXN3aXRjaCAodmFsKSB7Cj4+ICsJCWNhc2UgNDoKPj4gKwkJ CXJlZ19jb25maWcgPSAmaGRtaV9yZWdtYXBfMzJiaXRfY29uZmlnOwo+PiArCQkJYnJlYWs7Cj4+ ICsJCWNhc2UgMToKPj4gKwkJCXJlZ19jb25maWcgPSAmaGRtaV9yZWdtYXBfOGJpdF9jb25maWc7 Cj4+ICsJCQlicmVhazsKPj4gKwkJZGVmYXVsdDoKPj4gKwkJCWRldl9lcnIoZGV2LCAicmVnLWlv LXdpZHRoIG11c3QgYmUgMSBvciA0XG4iKTsKPj4gKwkJCXJldHVybiBFUlJfUFRSKC1FSU5WQUwp Owo+PiArCQl9Cj4+ICAJfQo+Pgo+PiAgCWRkY19ub2RlID0gb2ZfcGFyc2VfcGhhbmRsZShucCwg ImRkYy1pMmMtYnVzIiwgMCk7Cj4+IEBAIC0yMDExLDExICsyMDA5LDIwIEBAIHN0YXRpYyBpbnQg ZHdfaGRtaV9kZXRlY3RfcGh5KHN0cnVjdCBkd19oZG1pICpoZG1pKQo+PiAgCQlkZXZfZGJnKGhk bWktPmRldiwgIm5vIGRkYyBwcm9wZXJ0eSBmb3VuZFxuIik7Cj4+ICAJfQo+Pgo+PiAtCWlvcmVz ID0gcGxhdGZvcm1fZ2V0X3Jlc291cmNlKHBkZXYsIElPUkVTT1VSQ0VfTUVNLCAwKTsKPj4gLQlo ZG1pLT5yZWdzID0gZGV2bV9pb3JlbWFwX3Jlc291cmNlKGRldiwgaW9yZXMpOwo+PiAtCWlmIChJ U19FUlIoaGRtaS0+cmVncykpIHsKPj4gLQkJcmV0ID0gUFRSX0VSUihoZG1pLT5yZWdzKTsKPj4g LQkJZ290byBlcnJfcmVzOwo+PiArCWlmICghcGxhdF9kYXRhLT5yZWdtKSB7Cj4+ICsJCWlvcmVz ID0gcGxhdGZvcm1fZ2V0X3Jlc291cmNlKHBkZXYsIElPUkVTT1VSQ0VfTUVNLCAwKTsKPj4gKwkJ aGRtaS0+cmVncyA9IGRldm1faW9yZW1hcF9yZXNvdXJjZShkZXYsIGlvcmVzKTsKPj4gKwkJaWYg KElTX0VSUihoZG1pLT5yZWdzKSkgewo+PiArCQkJcmV0ID0gUFRSX0VSUihoZG1pLT5yZWdzKTsK Pj4gKwkJCWdvdG8gZXJyX3JlczsKPj4gKwkJfQo+PiArCj4+ICsJCWhkbWktPnJlZ20gPSBkZXZt X3JlZ21hcF9pbml0X21taW8oZGV2LCBoZG1pLT5yZWdzLCAKPiByZWdfY29uZmlnKTsKPj4gKwkJ aWYgKElTX0VSUihoZG1pLT5yZWdtKSkgewo+PiArCQkJZGV2X2VycihkZXYsICJGYWlsZWQgdG8g Y29uZmlndXJlIHJlZ21hcFxuIik7Cj4+ICsJCQlyZXQgPSBQVFJfRVJSKGhkbWktPnJlZ20pOwo+ PiArCQkJZ290byBlcnJfcmVzOwo+PiArCQl9Cj4+ICAJfQo+Pgo+PiAgCWhkbWktPmlzZnJfY2xr ID0gZGV2bV9jbGtfZ2V0KGhkbWktPmRldiwgImlzZnIiKTsKPj4gQEAgLTIxMjMsNyArMjEzMCw3 IEBAIHN0YXRpYyBpbnQgZHdfaGRtaV9kZXRlY3RfcGh5KHN0cnVjdCBkd19oZG1pICpoZG1pKQo+ PiAgCWNvbmZpZzAgPSBoZG1pX3JlYWRiKGhkbWksIEhETUlfQ09ORklHMF9JRCk7Cj4+ICAJY29u ZmlnMyA9IGhkbWlfcmVhZGIoaGRtaSwgSERNSV9DT05GSUczX0lEKTsKPj4KPj4gLQlpZiAoY29u ZmlnMyAmIEhETUlfQ09ORklHM19BSEJBVURETUEpIHsKPj4gKwlpZiAoaW9yZXMgJiYgY29uZmln MyAmIEhETUlfQ09ORklHM19BSEJBVURETUEpIHsKPiAKPiBZb3UgdGVzdCAhcGxhdC0+cmVnbSBh Ym92ZSwgYW5kIGlvcmVzIGhlcmUuIEhvdyBhYm91dCBzdGFuZGFyZGl6aW5nIHRoYXQgPyBJZiAK PiB5b3UgdGVzdCBmb3IgIXBsYXQtPnJlZ20gaGVyZSwgeW91IHdvbid0IGhhdmUgdG8gaW5pdGlh bGl6ZSBpb3JlcyB0byBOVUxMLgo+IAo+IEFwYXJ0IGZyb20gdGhlc2Ugc21hbGwgaXNzdWVzIHRo ZSBwYXRjaCBsb29rcyBnb29kIHRvIG1lLgo+IAo+PiAgCQlzdHJ1Y3QgZHdfaGRtaV9hdWRpb19k YXRhIGF1ZGlvOwo+Pgo+PiAgCQlhdWRpby5waHlzID0gaW9yZXMtPnN0YXJ0Owo+PiBkaWZmIC0t Z2l0IGEvaW5jbHVkZS9kcm0vYnJpZGdlL2R3X2hkbWkuaCBiL2luY2x1ZGUvZHJtL2JyaWRnZS9k d19oZG1pLmgKPj4gaW5kZXggNzM1YThhYi4uMTYzODQyZCAxMDA2NDQKPj4gLS0tIGEvaW5jbHVk ZS9kcm0vYnJpZGdlL2R3X2hkbWkuaAo+PiArKysgYi9pbmNsdWRlL2RybS9icmlkZ2UvZHdfaGRt aS5oCj4+IEBAIC02MCw2ICs2MCw3IEBAIHN0cnVjdCBkd19oZG1pX3BsYXRfZGF0YSB7Cj4+ICAJ CQkgICAgIHVuc2lnbmVkIGxvbmcgbXBpeGVsY2xvY2spOwo+PiAgCWVudW0gZHJtX21vZGVfc3Rh dHVzICgqbW9kZV92YWxpZCkoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKPj4gIAkJ CQkJICAgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUpOwo+PiArCXN0cnVjdCByZWdtYXAg KnJlZ207Cj4+ICB9Owo+Pgo+PiAgaW50IGR3X2hkbWlfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2Rl dmljZSAqcGRldiwKPiAKCkhpIEFsbCwKClRoZSBhY3R1YWwgNGJ5dGVzIHJlZ21hcCBjb25maWcg YWN0dWFsbHkgZmFpbHMgb24gcmszMjg4IGJlY2F1c2UgcmVnbWFwIGJ5cGFzc2VzCmFsbCBtb2Rp ZmljYXRpb24gb2YgdGhlIHJlZyBhZGRyZXNzIGJlY2F1c2Ugb2YgdGhlIHJlZ21hcF9tbWlvIGlt cGxlbWVudGF0aW9uLgoKVGhlIG9ubHkgcmVtYWluaW5nIHdheSBpcyB0byBrZWVwIGEgcmVnX3No aWZ0IGluIGluIHRoZSBoZG1pIGNvbnRleHQsIHNlZSB0aGUKcGF0Y2ggYmVsb3cuCgpXaXRoIHN1 Y2ggY2hhbmdlLCBvbiByazMyODggOgpUZXN0ZWQtYnk6IE5laWwgQXJtc3Ryb25nIDxuYXJtc3Ry b25nQGJheWxpYnJlLmNvbT4KCiIKWyAgIDEwLjQwMDI5NF0gZHdoZG1pLXJvY2tjaGlwIGZmOTgw MDAwLmhkbWk6IERldGVjdGVkIEhETUkgVFggY29udHJvbGxlciB2Mi4wMGEgd2l0aCBIRENQIChE V0MgTUhMIFBIWSkKIgoKTmVpbAoKLT48LS0tLS0tLS0tLS0tLS0tLS0tCmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vYnJpZGdlL2R3LWhkbWkuYyBiL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2Uv ZHctaGRtaS5jCmluZGV4IDhiMzVkZjUuLjU2MzY0N2YgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9icmlkZ2UvZHctaGRtaS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvZHctaGRt aS5jCkBAIC0xNjgsNiArMTY4LDcgQEAgc3RydWN0IGR3X2hkbWkgewogCXVuc2lnbmVkIGludCBh dWRpb19uOwogCWJvb2wgYXVkaW9fZW5hYmxlOwoKKwl1bnNpZ25lZCBpbnQgcmVnX3NoaWZ0Owog CXN0cnVjdCByZWdtYXAgKnJlZ207CiB9OwoKQEAgLTE4MSwyMSArMTgyLDIxIEBAIHN0cnVjdCBk d19oZG1pIHsKCiBzdGF0aWMgaW5saW5lIHZvaWQgaGRtaV93cml0ZWIoc3RydWN0IGR3X2hkbWkg KmhkbWksIHU4IHZhbCwgaW50IG9mZnNldCkKIHsKLQlyZWdtYXBfd3JpdGUoaGRtaS0+cmVnbSwg b2Zmc2V0LCB2YWwpOworCXJlZ21hcF93cml0ZShoZG1pLT5yZWdtLCBvZmZzZXQgPDwgaGRtaS0+ cmVnX3NoaWZ0LCB2YWwpOwogfQoKIHN0YXRpYyBpbmxpbmUgdTggaGRtaV9yZWFkYihzdHJ1Y3Qg ZHdfaGRtaSAqaGRtaSwgaW50IG9mZnNldCkKIHsKIAl1bnNpZ25lZCBpbnQgdmFsID0gMDsKCi0J cmVnbWFwX3JlYWQoaGRtaS0+cmVnbSwgb2Zmc2V0LCAmdmFsKTsKKwlyZWdtYXBfcmVhZChoZG1p LT5yZWdtLCBvZmZzZXQgPDwgaGRtaS0+cmVnX3NoaWZ0LCAmdmFsKTsKCiAJcmV0dXJuIHZhbDsK IH0KCiBzdGF0aWMgdm9pZCBoZG1pX21vZGIoc3RydWN0IGR3X2hkbWkgKmhkbWksIHU4IGRhdGEs IHU4IG1hc2ssIHVuc2lnbmVkIHJlZykKIHsKLQlyZWdtYXBfdXBkYXRlX2JpdHMoaGRtaS0+cmVn bSwgcmVnLCBtYXNrLCBkYXRhKTsKKwlyZWdtYXBfdXBkYXRlX2JpdHMoaGRtaS0+cmVnbSwgcmVn IDw8IGhkbWktPnJlZ19zaGlmdCwgbWFzaywgZGF0YSk7CiB9Cgogc3RhdGljIHZvaWQgaGRtaV9t YXNrX3dyaXRlYihzdHJ1Y3QgZHdfaGRtaSAqaGRtaSwgdTggZGF0YSwgdW5zaWduZWQgaW50IHJl ZywKQEAgLTE5ODQsMTEgKzE5ODUsMTAgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCByZWdtYXBfY29u ZmlnIGhkbWlfcmVnbWFwXzhiaXRfY29uZmlnID0gewogfTsKCiBzdGF0aWMgY29uc3Qgc3RydWN0 IHJlZ21hcF9jb25maWcgaGRtaV9yZWdtYXBfMzJiaXRfY29uZmlnID0gewotCS5yZWdfYml0cwk9 IDgsCi0JLnBhZF9iaXRzCT0gMjQsCisJLnJlZ19iaXRzCT0gMzIsCiAJLnZhbF9iaXRzCT0gMzIs CiAJLnJlZ19zdHJpZGUJPSA0LAotCS5tYXhfcmVnaXN0ZXIJPSBIRE1JX0kyQ01fRlNfU0NMX0xD TlRfMF9BRERSLAorCS5tYXhfcmVnaXN0ZXIJPSBIRE1JX0kyQ01fRlNfU0NMX0xDTlRfMF9BRERS IDw8IDIsCiB9OwoKIHN0YXRpYyBzdHJ1Y3QgZHdfaGRtaSAqCkBAIC0yMDQ0LDYgKzIwNDQsNyBA QCBfX2R3X2hkbWlfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwKIAkJc3dpdGNo ICh2YWwpIHsKIAkJY2FzZSA0OgogCQkJcmVnX2NvbmZpZyA9ICZoZG1pX3JlZ21hcF8zMmJpdF9j b25maWc7CisJCQloZG1pLT5yZWdfc2hpZnQgPSAyOwogCQkJYnJlYWs7CiAJCWNhc2UgMToKIAkJ CXJlZ19jb25maWcgPSAmaGRtaV9yZWdtYXBfOGJpdF9jb25maWc7Cl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJp LWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=