From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefan Agner Subject: Re: [PATCH v5] drm/fsl-dcu: Implement gamma_lut atomic crtc properties Date: Fri, 28 Oct 2016 17:52:10 -0700 Message-ID: <2e4a55f00c57b094e376a743d7b056f7@agner.ch> References: <1475051069-24452-1-git-send-email-meng.yi@nxp.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1475051069-24452-1-git-send-email-meng.yi@nxp.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Meng Yi Cc: mark.rutland@arm.com, devicetree@vger.kernel.org, dri-devel@lists.freedesktop.org, robh+dt@kernel.org List-Id: devicetree@vger.kernel.org SGkgTWVuZywKCk9uIDIwMTYtMDktMjggMDE6MjQsIE1lbmcgWWkgd3JvdGU6Cj4gR2FtbWEgY29y cmVjdGlvbiBpcyBvcHRpb25hbCBhbmQgY2FuIGJlIHVzZWQgdG8gYWRqdXN0IHRoZSBjb2xvcgo+ IG91dHB1dCB2YWx1ZXMgdG8gbWF0Y2ggdGhlIGdhbXV0IG9mIGEgcGFydGljdWxhciBURlQgTENE IHBhbmVsCj4gCj4gU3BsaXQgdGhlIERDVSByZWdzIGludG8gInJlZ3MiLCAicGFsZXR0ZSIsICJn YW1tYSIgYW5kICJjdXJzb3IiLgo+IENyZWF0ZSBhIHNlY29uZCByZWdtYXAgZm9yIGdhbW1hIG1l bW9yeSBzcGFjZSB1c2luZyBsaXR0bGUgZW5kaWFuLgo+IFRoZSByZWdpc3RlcnMgYWZ0ZXIgdGhl IGZpcnN0IGFkZHJlc3Mgc3BhY2UgYXJlIG5vdCBhY2Nlc3NlZCB5ZXQsCj4gaGVuY2UgbmV3IGRl dmljZSB0cmVlcyB3b3VsZCBldmVuIHdvcmsgd2l0aCBvbGQga2VybmVscy4gSnVzdCBuZXcKPiBr ZXJuZWwgbmVlZCB0aGUgbmV3IGZvcm1hdCBzbyB3ZSBjYW4gYWNjZXNzIHRoZSBzZXBhcmF0ZSBn YW1tYQo+IHJlZyBzcGFjZS4KPiAKPiBTdWdnZXN0ZWQtYnk6IFN0ZWZhbiBBZ25lciA8c3RlZmFu QGFnbmVyLmNoPgo+IFNpZ25lZC1vZmYtYnk6IE1lbmcgWWkgPG1lbmcueWlAbnhwLmNvbT4KCkhv dyBkaWQgeW91IGFjdHVhbGx5IHRlc3QgdGhhdD8gSSBoYXZlIGEgaGFyZCB0aW1lIHRvIGdldCBh bnl0aGluZwp1c2VhYmxlIHdpdGggdGhpcyBjb2RlLgoKVGhlIGRpc3BsYXkgbG9va3MgY29tcGxl dGVseSBib3JrZWQgKGNvbG9ycyBhcmUgd2F5IG9mZiwgYW5kIGF0IHJhbmRvbQplaXRoZXIgdG9v IGRhcmsgb3IgdG9vIGJyaWdodCkuCgpJIHRoZW4gYWxzbyBhZGRlZCBHYW1tYSAxLjAgKGFuZCBk aWZmZXJlbnQgdmFsdWVzKSB0byB0aGUgTW9uaXRvcgpzZWN0aW9uIG9mIHhvcmcuY29uZiwgYnV0 IHN0aWxsIG5vdCByZWFsbHkgdXNhYmxlLgoKSSBsb29rZWQgYSBiaXQgbW9yZSBpbiBkZXB0aCBp bnRvIGl0LCBhbmQgc29tZSBxdWVzdGlvbnMgYXBwZWFyZWQsIHNlZQpiZWxvdzoKCj4gLS0tCj4g Q2hhbmdlcyBzaW5jZSBWMToKPiAtY3JlYXRlZCBhIHNlY29uZCByZWdtYXAgZm9yIGdhbW1hCj4g LXVwZGF0ZWQgdGhlIERDVSBEVCBiaW5kaW5nCj4gLXJlbW92ZWQgS2NvbmZpZyBmb3IgZ2FtbWEg YW5kIGVuYWJsZSBnYW1tYSB3aGVuIHZhbGlkIGRhdGEgZmlsbGVkLgo+IC1leHRlbmRlZCBhbmQg c2ltcGxpZmllZCBjb21tZW50IGxpbmVzLgo+IC0tLQo+ICAuLi4vZGV2aWNldHJlZS9iaW5kaW5n cy9kaXNwbGF5L2ZzbCxkY3UudHh0ICAgICAgICB8IDEyICsrKysrKystCj4gIGRyaXZlcnMvZ3B1 L2RybS9mc2wtZGN1L2ZzbF9kY3VfZHJtX2NydGMuYyAgICAgICAgIHwgMzMgKysrKysrKysrKysr KysrKysrKysKPiAgZHJpdmVycy9ncHUvZHJtL2ZzbC1kY3UvZnNsX2RjdV9kcm1fZHJ2LmMgICAg ICAgICAgfCAzNSArKysrKysrKysrKysrKysrKysrKystCj4gIGRyaXZlcnMvZ3B1L2RybS9mc2wt ZGN1L2ZzbF9kY3VfZHJtX2Rydi5oICAgICAgICAgIHwgIDcgKysrKysKPiAgNCBmaWxlcyBjaGFu Z2VkLCA4NSBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9E b2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvZGlzcGxheS9mc2wsZGN1LnR4dAo+IGIv RG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2Rpc3BsYXkvZnNsLGRjdS50eHQKPiBp bmRleCA2M2VjMmE2Li44MTQwYjVkIDEwMDY0NAo+IC0tLSBhL0RvY3VtZW50YXRpb24vZGV2aWNl dHJlZS9iaW5kaW5ncy9kaXNwbGF5L2ZzbCxkY3UudHh0Cj4gKysrIGIvRG9jdW1lbnRhdGlvbi9k ZXZpY2V0cmVlL2JpbmRpbmdzL2Rpc3BsYXkvZnNsLGRjdS50eHQKPiBAQCAtNiw2ICs2LDEyIEBA IFJlcXVpcmVkIHByb3BlcnRpZXM6Cj4gIAkqICJmc2wsdmY2MTAtZGN1Ii4KPiAgCj4gIC0gcmVn OgkJCUFkZHJlc3MgYW5kIGxlbmd0aCBvZiB0aGUgcmVnaXN0ZXIgc2V0IGZvciBkY3UuCj4gKwkJ CU11c3QgY29udGFpbiBmb3VyIGFkZHJlc3MvbGVuZ3RoIHR1cGxlczoKPiArCQkJMS4gUmVnaXN0 ZXIgYWRkcmVzcyBzcGFjZQo+ICsJCQkyLiBQYWxldHRlL1RpbGUgYWRkcmVzcyBzcGFjZQo+ICsJ CQkzLiBHYW1tYSBhZGRyZXNzIHNwYWNlCj4gKwkJCTQuIEN1cnNvciBhZGRyZXNzIHNwYWNlCj4g Ky0gcmVnLW5hbWVzOgkJU2hvdWxkIGJlICJyZWdzIiwgInBhbGV0dGUiLCAiZ2FtbWEiIGFuZCAi Y3Vyc29yIgo+ICAtIGNsb2NrczoJCUhhbmRsZSB0byAiZGN1IiBhbmQgInBpeCIgY2xvY2sgKGlu IHRoZSBvcmRlciBiZWxvdykKPiAgCQkJVGhpcyBjYW4gYmUgdGhlIHNhbWUgY2xvY2sgKGUuZy4g TFMxMDIxYSkKPiAgCQkJU2VlIC4uL2Nsb2Nrcy9jbG9jay1iaW5kaW5ncy50eHQgZm9yIGRldGFp bHMuCj4gQEAgLTIwLDcgKzI2LDExIEBAIE9wdGlvbmFsIHByb3BlcnRpZXM6Cj4gIEV4YW1wbGVz Ogo+ICBkY3U6IGRjdUAyY2UwMDAwIHsKPiAgCWNvbXBhdGlibGUgPSAiZnNsLGxzMTAyMWEtZGN1 IjsKPiAtCXJlZyA9IDwweDAgMHgyY2UwMDAwIDB4MCAweDEwMDAwPjsKPiArCXJlZyA9IDwweDAg MHgyY2UwMDAwIDB4MCAweDIwMDA+LAo+ICsJICAgICAgPDB4MCAweDJjZTIwMDAgMHgwIDB4MjAw MD4sCj4gKwkgICAgICA8MHgwIDB4MmNlNDAwMCAweDAgMHhjMDA+LAo+ICsJICAgICAgPDB4MCAw eDJjZTRjMDAgMHgwIDB4NDAwPjsKPiArCXJlZy1uYW1lcyA9ICJyZWdzIiwgInBhbGV0dGUiLCAi Z2FtbWEiLCAiY3Vyc29yIjsKPiAgCWNsb2NrcyA9IDwmcGxhdGZvcm1fY2xrIDA+LCA8JnBsYXRm b3JtX2NsayAwPjsKPiAgCWNsb2NrLW5hbWVzID0gImRjdSIsICJwaXgiOwo+ICAJYmlnLWVuZGlh bjsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2ZzbC1kY3UvZnNsX2RjdV9kcm1fY3J0 Yy5jCj4gYi9kcml2ZXJzL2dwdS9kcm0vZnNsLWRjdS9mc2xfZGN1X2RybV9jcnRjLmMKPiBpbmRl eCAzMzcxNjM1Li42MzcxZTRkIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9mc2wtZGN1 L2ZzbF9kY3VfZHJtX2NydGMuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9mc2wtZGN1L2ZzbF9k Y3VfZHJtX2NydGMuYwo+IEBAIC0yMiw2ICsyMiwzMSBAQAo+ICAjaW5jbHVkZSAiZnNsX2RjdV9k cm1fZHJ2LmgiCj4gICNpbmNsdWRlICJmc2xfZGN1X2RybV9wbGFuZS5oIgo+ICAKPiArc3RhdGlj IHZvaWQgZnNsX2NydGNfZ2FtbWFfc2V0KHN0cnVjdCBkcm1fY3J0YyAqY3J0Yywgc3RydWN0Cj4g ZHJtX2NvbG9yX2x1dCAqbHV0LAo+ICsJCQkgICAgICB1aW50MzJfdCBzaXplKQo+ICt7Cj4gKwlz dHJ1Y3QgZnNsX2RjdV9kcm1fZGV2aWNlICpmc2xfZGV2ID0gY3J0Yy0+ZGV2LT5kZXZfcHJpdmF0 ZTsKPiArCXVuc2lnbmVkIGludCBpOwo+ICsKPiArCWlmIChjcnRjLT5zdGF0ZS0+Z2FtbWFfbHV0 LT5kYXRhKSB7Cj4gKwkJZm9yIChpID0gMDsgaSA8IHNpemU7IGkrKykgewo+ICsJCQlyZWdtYXBf d3JpdGUoZnNsX2Rldi0+cmVnbWFwX2dhbW1hLCBGU0xfR0FNTUFfUiArIDQgKiBpLAo+ICsJCQkJ ICAgICBsdXRbaV0ucmVkKTsKPiArCQkJcmVnbWFwX3dyaXRlKGZzbF9kZXYtPnJlZ21hcF9nYW1t YSwgRlNMX0dBTU1BX0cgKyA0ICogaSwKPiArCQkJCSAgICAgbHV0W2ldLmdyZWVuKTsKPiArCQkJ cmVnbWFwX3dyaXRlKGZzbF9kZXYtPnJlZ21hcF9nYW1tYSwgRlNMX0dBTU1BX0IgKyA0ICogaSwK PiArCQkJCSAgICAgbHV0W2ldLmJsdWUpOwoKSSB0aGluayB5b3Ugc2hvdWxkIG5vdCB1c2UgdGhl IGNvbG9yIHZhbHVlcyBkaXJlY3RseS4gVGhleSBhcmUgYWxzbyB0b28KcHJlY2lzZSBmb3IgRENV LCBEQ1Ugb25seSBzdXBwb3J0IDggYml0LgoKWW91IGNhbiB1c2UgZHJtX2NvbG9yX2x1dF9leHRy YWN0KC4uLCA4KSB0byBnZXQgdGhlIDgtYml0IHByZWNpc2lvbiBvZgp0aGUgTFVULiBTZWUgYWxz bzoKCmh0dHBzOi8vMDEub3JnL2xpbnV4Z3JhcGhpY3MvZ2Z4LWRvY3MvZHJtL2dwdS9kcm0ta21z Lmh0bWw/aGlnaGxpZ2h0PWdhbW1hX2x1dCNjLmRybV9jb2xvcl9sdXRfZXh0cmFjdAoKCj4gKwkJ fQo+ICsKPiArCQlyZWdtYXBfdXBkYXRlX2JpdHMoZnNsX2Rldi0+cmVnbWFwLCBEQ1VfRENVX01P REUsCj4gKwkJCQkgICBEQ1VfTU9ERV9FTl9HQU1NQV9NQVNLLAo+ICsJCQkJICAgRENVX01PREVf R0FNTUFfRU5BQkxFKTsKPiArCX0gZWxzZSB7Cj4gKwkJcmVnbWFwX3VwZGF0ZV9iaXRzKGZzbF9k ZXYtPnJlZ21hcCwgRENVX0RDVV9NT0RFLAo+ICsJCQkJICAgRENVX01PREVfRU5fR0FNTUFfTUFT SywgMCk7Cj4gKwl9Cj4gK30KPiArCj4gIHN0YXRpYyB2b2lkIGZzbF9kY3VfZHJtX2NydGNfYXRv bWljX2ZsdXNoKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKPiAgCQkJCQkgIHN0cnVjdCBkcm1fY3J0 Y19zdGF0ZSAqb2xkX2NydGNfc3RhdGUpCj4gIHsKPiBAQCAtMzcsNiArNjIsMTAgQEAgc3RhdGlj IHZvaWQgZnNsX2RjdV9kcm1fY3J0Y19hdG9taWNfZmx1c2goc3RydWN0Cj4gZHJtX2NydGMgKmNy dGMsCj4gIAkJCWRybV9jcnRjX3NlbmRfdmJsYW5rX2V2ZW50KGNydGMsIGV2ZW50KTsKPiAgCQlz cGluX3VubG9ja19pcnEoJmNydGMtPmRldi0+ZXZlbnRfbG9jayk7Cj4gIAl9Cj4gKwo+ICsJaWYg KGNydGMtPnN0YXRlLT5jb2xvcl9tZ210X2NoYW5nZWQgJiYgY3J0Yy0+c3RhdGUtPmdhbW1hX2x1 dCkKPiArCQlmc2xfY3J0Y19nYW1tYV9zZXQoY3J0YywgKHN0cnVjdCBkcm1fY29sb3JfbHV0ICop Cj4gKwkJCQkgICBjcnRjLT5zdGF0ZS0+Z2FtbWFfbHV0LT5kYXRhLCAyNTYpOwoKU28gdGhpcyBp cyBjYWxsZWQgd2hpbGUgdGhlIENSVEMgaXMgZW5hYmxlZC4gT3RoZXJzIGRvIGl0IHRoZXJlIHRv bywgYnV0CkkgdGhpbmsgaW4gb3VyIGNhc2Ugd2Ugc2hvdWxkIG5vdC4gVGhlIHJlZmVyZW5jZSBt YW51YWwgc2F5czoKCiJUaGUgZ2FtbWEgdGFibGUgY2FuIG9ubHkgYmUgcmVhZCBvciB3cml0dGVu IHdoZW4gdGhlIDJELUFDRSBpcyBub3QKZW5hYmxlZCBvciBkdXJpbmcKdGhlIHZlcnRpY2FsIGJs YW5raW5nIHBlcmlvZC4iCgpUaGlzIGlzIHRoZSBzYW1lIGZvciBWeWJyaWQgYW5kIExTMTAyMWEu CgpJIGFtIG5vdCBzdXJlIGlmIHdlIGNhbiB0aW1lIHdyaXRlcyBpbnRvIHRoZSB2ZXJ0aWNhbCBi bGFua2luZyBwZXJpb2QsCmFyZSBvdGhlciBkcml2ZXJzIGRvaW5nIHRoaXM/CgpTbyB0aGUgb25s eSB3YXkgSSBzZWUgdGhhdCB0aGlzIHdvdWxkIHdvcmsgaXMgaWYgd2Ugc2V0IGl0IHdoZW4gdGhl IENSVEMKaXMgb2ZmLiBJIGd1ZXNzIG1vZGVfc2V0X25vZmIgb3IgY3J0YyBlbmFibGUgY2FsbGJh Y2sgd291bGQgYmUKY2FuZGlkYXRlcy4KCk1heWJlIHNvbWVib2R5IG1vcmUgZmFtaWxpYXIgd2l0 aCB0aGUgRFJNIHN1YnN5c3RlbSBjYW4gaGVscCB1cyBvbiB0aGUKcmlnaHQgdHJhY2s/Cgo+ICB9 Cj4gIAo+ICBzdGF0aWMgdm9pZCBmc2xfZGN1X2RybV9kaXNhYmxlX2NydGMoc3RydWN0IGRybV9j cnRjICpjcnRjKQo+IEBAIC0xMzUsNiArMTY0LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1f Y3J0Y19mdW5jcwo+IGZzbF9kY3VfZHJtX2NydGNfZnVuY3MgPSB7Cj4gIAkucGFnZV9mbGlwID0g ZHJtX2F0b21pY19oZWxwZXJfcGFnZV9mbGlwLAo+ICAJLnJlc2V0ID0gZHJtX2F0b21pY19oZWxw ZXJfY3J0Y19yZXNldCwKPiAgCS5zZXRfY29uZmlnID0gZHJtX2F0b21pY19oZWxwZXJfc2V0X2Nv bmZpZywKPiArCS5nYW1tYV9zZXQgPSBkcm1fYXRvbWljX2hlbHBlcl9sZWdhY3lfZ2FtbWFfc2V0 LAo+ICB9Owo+ICAKPiAgaW50IGZzbF9kY3VfZHJtX2NydGNfY3JlYXRlKHN0cnVjdCBmc2xfZGN1 X2RybV9kZXZpY2UgKmZzbF9kZXYpCj4gQEAgLTE1OCw1ICsxODgsOCBAQCBpbnQgZnNsX2RjdV9k cm1fY3J0Y19jcmVhdGUoc3RydWN0Cj4gZnNsX2RjdV9kcm1fZGV2aWNlICpmc2xfZGV2KQo+ICAK PiAgCWRybV9jcnRjX2hlbHBlcl9hZGQoY3J0YywgJmZzbF9kY3VfZHJtX2NydGNfaGVscGVyX2Z1 bmNzKTsKPiAgCj4gKwlkcm1fY3J0Y19lbmFibGVfY29sb3JfbWdtdChjcnRjLCAwLCBmYWxzZSwg MjU2KTsKPiArCWRybV9tb2RlX2NydGNfc2V0X2dhbW1hX3NpemUoY3J0YywgMjU2KTsKPiArCj4g IAlyZXR1cm4gMDsKPiAgfQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZnNsLWRjdS9m c2xfZGN1X2RybV9kcnYuYwo+IGIvZHJpdmVycy9ncHUvZHJtL2ZzbC1kY3UvZnNsX2RjdV9kcm1f ZHJ2LmMKPiBpbmRleCAwOTJhYWVjLi5lNjYyODkwIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9mc2wtZGN1L2ZzbF9kY3VfZHJtX2Rydi5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2Zz bC1kY3UvZnNsX2RjdV9kcm1fZHJ2LmMKPiBAQCAtNDgsNiArNDgsMjAgQEAgc3RhdGljIGNvbnN0 IHN0cnVjdCByZWdtYXBfY29uZmlnIGZzbF9kY3VfcmVnbWFwX2NvbmZpZyA9IHsKPiAgCS52b2xh dGlsZV9yZWcgPSBmc2xfZGN1X2RybV9pc192b2xhdGlsZV9yZWcsCj4gIH07Cj4gIAo+ICsvKgo+ ICsgKiBmb3JjZSB1c2luZyBsaXR0bGUgZW5kaWFuIGhlcmUgc2luY2UgbHMxMDIxYSdzIGdhbW1h IHJlZ3MgYXJlIGxpdHRsZQo+ICsgKiBlbmRpYW4gd2hpbGUgdGhlIG90aGVyIHJlZ3MgYXJlIGJp ZyBlbmRpYW4sIGFuZCBhbGwgdmY2MTBzJ3MgcmVncwo+ICsgKiBhcmUgbGl0dGxlIGVuZGlhbgo+ ICsgKi8KPiArc3RhdGljIGNvbnN0IHN0cnVjdCByZWdtYXBfY29uZmlnIGZzbF9kY3VfcmVnbWFw X2dhbW1hX2NvbmZpZyA9IHsKPiArCS5yZWdfYml0cyA9IDMyLAo+ICsJLnJlZ19zdHJpZGUgPSA0 LAo+ICsJLnZhbF9iaXRzID0gMzIsCj4gKwkudmFsX2Zvcm1hdF9lbmRpYW4gPSBSRUdNQVBfRU5E SUFOX0xJVFRMRSwKPiArCj4gKwkudm9sYXRpbGVfcmVnID0gZnNsX2RjdV9kcm1faXNfdm9sYXRp bGVfcmVnLAo+ICt9Owo+ICsKPiAgc3RhdGljIGludCBmc2xfZGN1X2RybV9pcnFfaW5pdChzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2KQo+ICB7Cj4gIAlzdHJ1Y3QgZnNsX2RjdV9kcm1fZGV2aWNlICpm c2xfZGV2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKPiBAQCAtMzI3LDcgKzM0MSw3IEBAIHN0YXRpYyBp bnQgZnNsX2RjdV9kcm1fcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKPiAgCXN0 cnVjdCBkcm1fZGV2aWNlICpkcm07Cj4gIAlzdHJ1Y3QgZGV2aWNlICpkZXYgPSAmcGRldi0+ZGV2 Owo+ICAJc3RydWN0IHJlc291cmNlICpyZXM7Cj4gLQl2b2lkIF9faW9tZW0gKmJhc2U7Cj4gKwl2 b2lkIF9faW9tZW0gKmJhc2UsICpiYXNlX2dhbW1hOwo+ICAJc3RydWN0IGRybV9kcml2ZXIgKmRy aXZlciA9ICZmc2xfZGN1X2RybV9kcml2ZXI7Cj4gIAlzdHJ1Y3QgY2xrICpwaXhfY2xrX2luOwo+ ICAJY2hhciBwaXhfY2xrX25hbWVbMzJdOwo+IEBAIC0zNzAsNiArMzg0LDI1IEBAIHN0YXRpYyBp bnQgZnNsX2RjdV9kcm1fcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKPiAgCQly ZXR1cm4gUFRSX0VSUihmc2xfZGV2LT5yZWdtYXApOwo+ICAJfQo+ICAKPiArCXJlcyA9IHBsYXRm b3JtX2dldF9yZXNvdXJjZV9ieW5hbWUocGRldiwgSU9SRVNPVVJDRV9NRU0sICJnYW1tYSIpOwo+ ICsJaWYgKCFyZXMpIHsKCldlIHNob3VsZCBub3QgZmFpbCBoZXJlLCBzaW5jZSBvbmUgY291bGQg dXNlIGEgb2xkIGRldmljZSB0cmVlLgoKSnVzdCBpbnZlcnQgdGhlIGlmICh0byBpZiAocmVzKSks IGFuZCBtb3ZlIGFsbCB0aGUgZ2FtbWEgcmVnbWFwIHNldHVwCmJlbG93IGludG8gdGhpcyBpZi4g QW5kIGFib3ZlLCB3aGVuIGVuYWJsaW5nIGdhbW1hLCBjaGVjayBpZgpmc2xfZGV2LT5yZWdtYXBf Z2FtbWEgaXMgbm90IG51bGwuCgotLQpTdGVmYW4KCj4gKwkJZGV2X2VycihkZXYsICJjb3VsZCBu b3QgZ2V0IGdhbW1hIG1lbW9yeSByZXNvdXJjZVxuIik7Cj4gKwkJcmV0dXJuIC1FTk9ERVY7Cj4g Kwl9Cj4gKwo+ICsJYmFzZV9nYW1tYSA9IGRldm1faW9yZW1hcF9yZXNvdXJjZShkZXYsIHJlcyk7 Cj4gKwlpZiAoSVNfRVJSKGJhc2VfZ2FtbWEpKSB7Cj4gKwkJcmV0ID0gUFRSX0VSUihiYXNlX2dh bW1hKTsKPiArCQlyZXR1cm4gcmV0Owo+ICsJfQo+ICsKPiArCWZzbF9kZXYtPnJlZ21hcF9nYW1t YSA9IGRldm1fcmVnbWFwX2luaXRfbW1pbyhkZXYsIGJhc2VfZ2FtbWEsCj4gKwkJCSZmc2xfZGN1 X3JlZ21hcF9nYW1tYV9jb25maWcpOwo+ICsJaWYgKElTX0VSUihmc2xfZGV2LT5yZWdtYXBfZ2Ft bWEpKSB7Cj4gKwkJZGV2X2VycihkZXYsICJyZWdtYXBfZ2FtbWEgaW5pdCBmYWlsZWRcbiIpOwo+ ICsJCXJldHVybiBQVFJfRVJSKGZzbF9kZXYtPnJlZ21hcF9nYW1tYSk7Cj4gKwl9Cj4gKwo+ICAJ ZnNsX2Rldi0+Y2xrID0gZGV2bV9jbGtfZ2V0KGRldiwgImRjdSIpOwo+ICAJaWYgKElTX0VSUihm c2xfZGV2LT5jbGspKSB7Cj4gIAkJZGV2X2VycihkZXYsICJmYWlsZWQgdG8gZ2V0IGRjdSBjbG9j a1xuIik7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9mc2wtZGN1L2ZzbF9kY3VfZHJt X2Rydi5oCj4gYi9kcml2ZXJzL2dwdS9kcm0vZnNsLWRjdS9mc2xfZGN1X2RybV9kcnYuaAo+IGlu ZGV4IDNiMzcxZmU3Li4yNjEwYjZjIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9mc2wt ZGN1L2ZzbF9kY3VfZHJtX2Rydi5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2ZzbC1kY3UvZnNs X2RjdV9kcm1fZHJ2LmgKPiBAQCAtMjUsNiArMjUsOCBAQAo+ICAjZGVmaW5lIERDVV9NT0RFX05P Uk1BTAkJCTEKPiAgI2RlZmluZSBEQ1VfTU9ERV9URVNUCQkJMgo+ICAjZGVmaW5lIERDVV9NT0RF X0NPTE9SQkFSCQkzCj4gKyNkZWZpbmUgRENVX01PREVfRU5fR0FNTUFfTUFTSwkJMHgwNAo+ICsj ZGVmaW5lIERDVV9NT0RFX0dBTU1BX0VOQUJMRQkJQklUKDIpCj4gIAo+ICAjZGVmaW5lIERDVV9C R05ECQkJMHgwMDE0Cj4gICNkZWZpbmUgRENVX0JHTkRfUih4KQkJCSgoeCkgPDwgMTYpCj4gQEAg LTE2NSw2ICsxNjcsMTAgQEAKPiAgI2RlZmluZSBWRjYxMF9MQVlFUl9SRUdfTlVNCQk5Cj4gICNk ZWZpbmUgTFMxMDIxQV9MQVlFUl9SRUdfTlVNCQkxMAo+ICAKPiArI2RlZmluZSBGU0xfR0FNTUFf UgkJCTB4MDAwCj4gKyNkZWZpbmUgRlNMX0dBTU1BX0cJCQkweDQwMAo+ICsjZGVmaW5lIEZTTF9H QU1NQV9CCQkJMHg4MDAKPiArCj4gIHN0cnVjdCBjbGs7Cj4gIHN0cnVjdCBkZXZpY2U7Cj4gIHN0 cnVjdCBkcm1fZGV2aWNlOwo+IEBAIC0xODIsNiArMTg4LDcgQEAgc3RydWN0IGZzbF9kY3VfZHJt X2RldmljZSB7Cj4gIAlzdHJ1Y3QgZGV2aWNlICpkZXY7Cj4gIAlzdHJ1Y3QgZGV2aWNlX25vZGUg Km5wOwo+ICAJc3RydWN0IHJlZ21hcCAqcmVnbWFwOwo+ICsJc3RydWN0IHJlZ21hcCAqcmVnbWFw X2dhbW1hOwo+ICAJaW50IGlycTsKPiAgCXN0cnVjdCBjbGsgKmNsazsKPiAgCXN0cnVjdCBjbGsg KnBpeF9jbGs7Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f CmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpo dHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=