From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH 02/10] drm: xlnx: Add xlnx crtc of Xilinx DRM KMS Date: Tue, 9 Jan 2018 10:37:33 +0100 Message-ID: <20180109093733.GG26573@phenom.ffwll.local> References: <1515117959-18068-1-git-send-email-hyun.kwon@xilinx.com> <1515117959-18068-3-git-send-email-hyun.kwon@xilinx.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <1515117959-18068-3-git-send-email-hyun.kwon@xilinx.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Hyun Kwon Cc: devicetree@vger.kernel.org, Michal Simek , dri-devel@lists.freedesktop.org List-Id: devicetree@vger.kernel.org T24gVGh1LCBKYW4gMDQsIDIwMTggYXQgMDY6MDU6NTFQTSAtMDgwMCwgSHl1biBLd29uIHdyb3Rl Ogo+IHhsbnhfY3J0YyBpcyBhIHBhcnQgb2YgWGlsaW54IERSTSBLTVMgYW5kIGEgbGF5ZXIgdGhh dAo+IHByb3ZpZGVzIHNvbWUgaW50ZXJmYWNlIGJldHdlZW4gdGhlIFhpbGlueCBEUk0gS01TIGFu ZAo+IGNydGMgZHJpdmVycy4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBIeXVuIEt3b24gPGh5dW4ua3dv bkB4aWxpbnguY29tPgoKUGVyc29uYWwgc3R5bGUsIGJ1dCBJIGRvbid0IHNlZSBtdWNoIHZhbHVl IGluIHRoZXNlIHNtYWxsIGhlbHBlcnMuClNwbGl0dGluZyB0aGVtIGZyb20gdGhlIG1haW4gZHJp dmVyIGF0IGxlYXN0IG1ha2VzIHJlYWRpbmcgdGhlIHBhdGNoZXMgYQpiaXQgaGFyZGVyLiBCdXQg bm8gc3Ryb25nIG9waW5pb24sIGp1c3QgYSBiaWtlc2hlZCwgZmVlbCBmcmVlIHRvIGlnbm9yZQo6 LSkKLURhbmllbAoKPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL3hsbngveGxueF9jcnRjLmMgfCAx OTQgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCj4gIGRyaXZlcnMvZ3B1 L2RybS94bG54L3hsbnhfY3J0Yy5oIHwgIDcwICsrKysrKysrKysrKysrCj4gIDIgZmlsZXMgY2hh bmdlZCwgMjY0IGluc2VydGlvbnMoKykKPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvZ3B1 L2RybS94bG54L3hsbnhfY3J0Yy5jCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2dwdS9k cm0veGxueC94bG54X2NydGMuaAo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0veGxu eC94bG54X2NydGMuYyBiL2RyaXZlcnMvZ3B1L2RybS94bG54L3hsbnhfY3J0Yy5jCj4gbmV3IGZp bGUgbW9kZSAxMDA2NDQKPiBpbmRleCAwMDAwMDAwLi41N2VlOTM5Cj4gLS0tIC9kZXYvbnVsbAo+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS94bG54L3hsbnhfY3J0Yy5jCj4gQEAgLTAsMCArMSwxOTQg QEAKPiArLyoKPiArICogWGlsaW54IERSTSBjcnRjIGRyaXZlcgo+ICsgKgo+ICsgKiAgQ29weXJp Z2h0IChDKSAyMDE3IC0gMjAxOCBYaWxpbngsIEluYy4KPiArICoKPiArICogIEF1dGhvcjogSHl1 biBXb28gS3dvbiA8aHl1bi5rd29uQHhpbGlueC5jb20+Cj4gKyAqCj4gKyAqIFNQRFgtTGljZW5z ZS1JZGVudGlmaWVyOiBHUEwtMi4wCj4gKyAqLwo+ICsKPiArI2luY2x1ZGUgPGRybS9kcm1QLmg+ Cj4gKwo+ICsjaW5jbHVkZSA8bGludXgvbGlzdC5oPgo+ICsKPiArI2luY2x1ZGUgInhsbnhfY3J0 Yy5oIgo+ICsKPiArLyoKPiArICogT3ZlcnZpZXcKPiArICogLS0tLS0tLS0KPiArICoKPiArICog VGhlIFhpbGlueCBDUlRDIGxheWVyIGlzIHRvIGVuYWJsZSB0aGUgY3VzdG9tIGludGVyZmFjZSB0 byBDUlRDIGRyaXZlcnMuCj4gKyAqIFRoZSBpbnRlcmZhY2UgaXMgdXNlZCBieSBYaWxpbnggRFJN IGRyaXZlciB3aGVyZSBpdCBuZWVkcyBDUlRDCj4gKyAqIGZ1bmN0aW9uYWlsdHkuIENSVEMgZHJp dmVycyBzaG91bGQgYXR0YWNoIHRoZSBkZXNpcmVkIGNhbGxiYWNrcwo+ICsgKiB0byBzdHJ1Y3Qg eGxueF9jcnRjIGFuZCByZWdpc3RlciB0aGUgeGxueF9jcnRjIHdpdGggY29ycmVjc3BvbmRpbmcK PiArICogZHJtX2RldmljZS4gSXQncyBoaWdobHkgcmVjb21tZW5kZWQgQ1JUQyBkcml2ZXJzIHJl Z2lzdGVyIGFsbCBjYWxsYmFja3MKPiArICogZXZlbiB0aG91Z2ggbWFueSBvZiB0aGVtIGFyZSBv cHRpb25hbC4KPiArICogVGhlIENSVEMgaGVscGVyIHNpbXBseSB3YWxrcyB0aHJvdWdoIHRoZSBy ZWdpc3RlcmVkIENSVEMgZGV2aWNlLAo+ICsgKiBhbmQgY2FsbCB0aGUgY2FsbGJhY2tzLgo+ICsg Ki8KPiArCj4gKy8qKgo+ICsgKiBzdHJ1Y3QgeGxueF9jcnRjX2hlbHBlciAtIFhpbGlueCBDUlRD IGhlbHBlcgo+ICsgKiBAeGxueF9jcnRjczogbGlzdCBvZiBYaWxpbnggQ1JUQyBkZXZpY2VzCj4g KyAqIEBsb2NrOiBsb2NrIHRvIHByb3RlY3QgQHhsbnhfY3J0Y3MKPiArICogQGRybTogYmFjayBw b2ludGVyIHRvIERSTSBjb3JlCj4gKyAqLwo+ICtzdHJ1Y3QgeGxueF9jcnRjX2hlbHBlciB7Cj4g KwlzdHJ1Y3QgbGlzdF9oZWFkIHhsbnhfY3J0Y3M7Cj4gKwlzdHJ1Y3QgbXV0ZXggbG9jazsgLyog bG9jayBmb3IgQHhsbnhfY3J0Y3MgKi8KPiArCXN0cnVjdCBkcm1fZGV2aWNlICpkcm07Cj4gK307 Cj4gKwo+ICsjZGVmaW5lIFhMTlhfQ1JUQ19NQVhfSEVJR0hUX1dJRFRICVVJTlRfTUFYCj4gKwo+ ICtpbnQgeGxueF9jcnRjX2hlbHBlcl9lbmFibGVfdmJsYW5rKHN0cnVjdCB4bG54X2NydGNfaGVs cGVyICpoZWxwZXIsCj4gKwkJCQkgICB1bnNpZ25lZCBpbnQgY3J0Y19pZCkKPiArewo+ICsJc3Ry dWN0IHhsbnhfY3J0YyAqY3J0YzsKPiArCj4gKwlsaXN0X2Zvcl9lYWNoX2VudHJ5KGNydGMsICZo ZWxwZXItPnhsbnhfY3J0Y3MsIGxpc3QpCj4gKwkJaWYgKGRybV9jcnRjX2luZGV4KCZjcnRjLT5j cnRjKSA9PSBjcnRjX2lkKQo+ICsJCQlpZiAoY3J0Yy0+ZW5hYmxlX3ZibGFuaykKPiArCQkJCXJl dHVybiBjcnRjLT5lbmFibGVfdmJsYW5rKGNydGMpOwo+ICsJcmV0dXJuIC1FTk9ERVY7Cj4gK30K PiArCj4gK3ZvaWQgeGxueF9jcnRjX2hlbHBlcl9kaXNhYmxlX3ZibGFuayhzdHJ1Y3QgeGxueF9j cnRjX2hlbHBlciAqaGVscGVyLAo+ICsJCQkJICAgICB1bnNpZ25lZCBpbnQgY3J0Y19pZCkKPiAr ewo+ICsJc3RydWN0IHhsbnhfY3J0YyAqY3J0YzsKPiArCj4gKwlsaXN0X2Zvcl9lYWNoX2VudHJ5 KGNydGMsICZoZWxwZXItPnhsbnhfY3J0Y3MsIGxpc3QpIHsKPiArCQlpZiAoZHJtX2NydGNfaW5k ZXgoJmNydGMtPmNydGMpID09IGNydGNfaWQpIHsKPiArCQkJaWYgKGNydGMtPmRpc2FibGVfdmJs YW5rKQo+ICsJCQkJY3J0Yy0+ZGlzYWJsZV92YmxhbmsoY3J0Yyk7Cj4gKwkJCXJldHVybjsKPiAr CQl9Cj4gKwl9Cj4gK30KPiArCj4gK3Vuc2lnbmVkIGludCB4bG54X2NydGNfaGVscGVyX2dldF9h bGlnbihzdHJ1Y3QgeGxueF9jcnRjX2hlbHBlciAqaGVscGVyKQo+ICt7Cj4gKwlzdHJ1Y3QgeGxu eF9jcnRjICpjcnRjOwo+ICsJdW5zaWduZWQgaW50IGFsaWduID0gMSwgdG1wOwo+ICsKPiArCWxp c3RfZm9yX2VhY2hfZW50cnkoY3J0YywgJmhlbHBlci0+eGxueF9jcnRjcywgbGlzdCkgewo+ICsJ CWlmIChjcnRjLT5nZXRfYWxpZ24pIHsKPiArCQkJdG1wID0gY3J0Yy0+Z2V0X2FsaWduKGNydGMp Owo+ICsJCQlhbGlnbiA9IEFMSUdOKGFsaWduLCB0bXApOwo+ICsJCX0KPiArCX0KPiArCj4gKwly ZXR1cm4gYWxpZ247Cj4gK30KPiArCj4gK3U2NCB4bG54X2NydGNfaGVscGVyX2dldF9kbWFfbWFz ayhzdHJ1Y3QgeGxueF9jcnRjX2hlbHBlciAqaGVscGVyKQo+ICt7Cj4gKwlzdHJ1Y3QgeGxueF9j cnRjICpjcnRjOwo+ICsJdTY0IG1hc2sgPSBETUFfQklUX01BU0soc2l6ZW9mKGRtYV9hZGRyX3Qp ICogOCksIHRtcDsKPiArCj4gKwlsaXN0X2Zvcl9lYWNoX2VudHJ5KGNydGMsICZoZWxwZXItPnhs bnhfY3J0Y3MsIGxpc3QpIHsKPiArCQlpZiAoY3J0Yy0+Z2V0X2RtYV9tYXNrKSB7Cj4gKwkJCXRt cCA9IGNydGMtPmdldF9kbWFfbWFzayhjcnRjKTsKPiArCQkJbWFzayA9IG1pbihtYXNrLCB0bXAp Owo+ICsJCX0KPiArCX0KPiArCj4gKwlyZXR1cm4gbWFzazsKPiArfQo+ICsKPiAraW50IHhsbnhf Y3J0Y19oZWxwZXJfZ2V0X21heF93aWR0aChzdHJ1Y3QgeGxueF9jcnRjX2hlbHBlciAqaGVscGVy KQo+ICt7Cj4gKwlzdHJ1Y3QgeGxueF9jcnRjICpjcnRjOwo+ICsJdW5zaWduZWQgaW50IHdpZHRo ID0gWExOWF9DUlRDX01BWF9IRUlHSFRfV0lEVEgsIHRtcDsKPiArCj4gKwlsaXN0X2Zvcl9lYWNo X2VudHJ5KGNydGMsICZoZWxwZXItPnhsbnhfY3J0Y3MsIGxpc3QpIHsKPiArCQlpZiAoY3J0Yy0+ Z2V0X21heF93aWR0aCkgewo+ICsJCQl0bXAgPSBjcnRjLT5nZXRfbWF4X3dpZHRoKGNydGMpOwo+ ICsJCQl3aWR0aCA9IG1pbih3aWR0aCwgdG1wKTsKPiArCQl9Cj4gKwl9Cj4gKwo+ICsJcmV0dXJu IHdpZHRoOwo+ICt9Cj4gKwo+ICtpbnQgeGxueF9jcnRjX2hlbHBlcl9nZXRfbWF4X2hlaWdodChz dHJ1Y3QgeGxueF9jcnRjX2hlbHBlciAqaGVscGVyKQo+ICt7Cj4gKwlzdHJ1Y3QgeGxueF9jcnRj ICpjcnRjOwo+ICsJdW5zaWduZWQgaW50IGhlaWdodCA9IFhMTlhfQ1JUQ19NQVhfSEVJR0hUX1dJ RFRILCB0bXA7Cj4gKwo+ICsJbGlzdF9mb3JfZWFjaF9lbnRyeShjcnRjLCAmaGVscGVyLT54bG54 X2NydGNzLCBsaXN0KSB7Cj4gKwkJaWYgKGNydGMtPmdldF9tYXhfaGVpZ2h0KSB7Cj4gKwkJCXRt cCA9IGNydGMtPmdldF9tYXhfaGVpZ2h0KGNydGMpOwo+ICsJCQloZWlnaHQgPSBtaW4oaGVpZ2h0 LCB0bXApOwo+ICsJCX0KPiArCX0KPiArCj4gKwlyZXR1cm4gaGVpZ2h0Owo+ICt9Cj4gKwo+ICt1 aW50MzJfdCB4bG54X2NydGNfaGVscGVyX2dldF9mb3JtYXQoc3RydWN0IHhsbnhfY3J0Y19oZWxw ZXIgKmhlbHBlcikKPiArewo+ICsJc3RydWN0IHhsbnhfY3J0YyAqY3J0YzsKPiArCXUzMiBmb3Jt YXQgPSAwLCB0bXA7Cj4gKwo+ICsJbGlzdF9mb3JfZWFjaF9lbnRyeShjcnRjLCAmaGVscGVyLT54 bG54X2NydGNzLCBsaXN0KSB7Cj4gKwkJaWYgKGNydGMtPmdldF9mb3JtYXQpIHsKPiArCQkJdG1w ID0gY3J0Yy0+Z2V0X2Zvcm1hdChjcnRjKTsKPiArCQkJaWYgKGZvcm1hdCAmJiBmb3JtYXQgIT0g dG1wKQo+ICsJCQkJcmV0dXJuIDA7Cj4gKwkJCWZvcm1hdCA9IHRtcDsKPiArCQl9Cj4gKwl9Cj4g Kwo+ICsJcmV0dXJuIGZvcm1hdDsKPiArfQo+ICsKPiArc3RydWN0IHhsbnhfY3J0Y19oZWxwZXIg KnhsbnhfY3J0Y19oZWxwZXJfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZHJtKQo+ICt7Cj4gKwlz dHJ1Y3QgeGxueF9jcnRjX2hlbHBlciAqaGVscGVyOwo+ICsKPiArCWhlbHBlciA9IGRldm1fa3ph bGxvYyhkcm0tPmRldiwgc2l6ZW9mKCpoZWxwZXIpLCBHRlBfS0VSTkVMKTsKPiArCWlmICghaGVs cGVyKQo+ICsJCXJldHVybiBFUlJfUFRSKC1FTk9NRU0pOwo+ICsKPiArCUlOSVRfTElTVF9IRUFE KCZoZWxwZXItPnhsbnhfY3J0Y3MpOwo+ICsJbXV0ZXhfaW5pdCgmaGVscGVyLT5sb2NrKTsKPiAr CWhlbHBlci0+ZHJtID0gZHJtOwo+ICsKPiArCXJldHVybiBoZWxwZXI7Cj4gK30KPiArCj4gK3Zv aWQgeGxueF9jcnRjX2hlbHBlcl9maW5pKHN0cnVjdCBkcm1fZGV2aWNlICpkcm0sCj4gKwkJCSAg IHN0cnVjdCB4bG54X2NydGNfaGVscGVyICpoZWxwZXIpCj4gK3sKPiArCWlmIChXQVJOX09OKGhl bHBlci0+ZHJtICE9IGRybSkpCj4gKwkJcmV0dXJuOwo+ICsKPiArCWlmIChXQVJOX09OKCFsaXN0 X2VtcHR5KCZoZWxwZXItPnhsbnhfY3J0Y3MpKSkKPiArCQlyZXR1cm47Cj4gKwo+ICsJbXV0ZXhf ZGVzdHJveSgmaGVscGVyLT5sb2NrKTsKPiArCWRldm1fa2ZyZWUoZHJtLT5kZXYsIGhlbHBlcik7 Cj4gK30KPiArCj4gK3ZvaWQgeGxueF9jcnRjX3JlZ2lzdGVyKHN0cnVjdCBkcm1fZGV2aWNlICpk cm0sIHN0cnVjdCB4bG54X2NydGMgKmNydGMpCj4gK3sKPiArCXN0cnVjdCB4bG54X2NydGNfaGVs cGVyICpoZWxwZXIgPSB4bG54X2dldF9jcnRjX2hlbHBlcihkcm0pOwo+ICsKPiArCW11dGV4X2xv Y2soJmhlbHBlci0+bG9jayk7Cj4gKwlsaXN0X2FkZF90YWlsKCZjcnRjLT5saXN0LCAmaGVscGVy LT54bG54X2NydGNzKTsKPiArCW11dGV4X3VubG9jaygmaGVscGVyLT5sb2NrKTsKPiArfQo+ICtF WFBPUlRfU1lNQk9MX0dQTCh4bG54X2NydGNfcmVnaXN0ZXIpOwo+ICsKPiArdm9pZCB4bG54X2Ny dGNfdW5yZWdpc3RlcihzdHJ1Y3QgZHJtX2RldmljZSAqZHJtLCBzdHJ1Y3QgeGxueF9jcnRjICpj cnRjKQo+ICt7Cj4gKwlzdHJ1Y3QgeGxueF9jcnRjX2hlbHBlciAqaGVscGVyID0geGxueF9nZXRf Y3J0Y19oZWxwZXIoZHJtKTsKPiArCj4gKwltdXRleF9sb2NrKCZoZWxwZXItPmxvY2spOwo+ICsJ bGlzdF9kZWwoJmNydGMtPmxpc3QpOwo+ICsJbXV0ZXhfdW5sb2NrKCZoZWxwZXItPmxvY2spOwo+ ICt9Cj4gK0VYUE9SVF9TWU1CT0xfR1BMKHhsbnhfY3J0Y191bnJlZ2lzdGVyKTsKPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL3hsbngveGxueF9jcnRjLmggYi9kcml2ZXJzL2dwdS9kcm0v eGxueC94bG54X2NydGMuaAo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gaW5kZXggMDAwMDAwMC4u ZGI3NDA0ZQo+IC0tLSAvZGV2L251bGwKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0veGxueC94bG54 X2NydGMuaAo+IEBAIC0wLDAgKzEsNzAgQEAKPiArLyoKPiArICogWGlsaW54IERSTSBjcnRjIGhl YWRlcgo+ICsgKgo+ICsgKiAgQ29weXJpZ2h0IChDKSAyMDE3IC0gMjAxOCBYaWxpbngsIEluYy4K PiArICoKPiArICogIEF1dGhvcjogSHl1biBXb28gS3dvbiA8aHl1bi5rd29uQHhpbGlueC5jb20+ Cj4gKyAqCj4gKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wCj4gKyAqLwo+ICsK PiArI2lmbmRlZiBfWExOWF9DUlRDX0hfCj4gKyNkZWZpbmUgX1hMTlhfQ1JUQ19IXwo+ICsKPiAr LyoqCj4gKyAqIHN0cnVjdCB4bG54X2NydGMgLSBYaWxpbnggQ1JUQyBkZXZpY2UKPiArICogQGNy dGM6IERSTSBDUlRDIGRldmljZQo+ICsgKiBAbGlzdDogbGlzdCBub2RlIGZvciBYaWxpbnggQ1JU QyBkZXZpY2UgbGlzdAo+ICsgKiBAZW5hYmxlX3ZibGFuazogRW5hYmxlIHZibGFuawo+ICsgKiBA ZGlzYWJsZV92Ymxhbms6IERpc2FibGUgdmJsYW5rCj4gKyAqIEBnZXRfYWxpZ246IEdldCB0aGUg YWxpZ25tZW50IHJlcXVpcmVtZW50IG9mIENSVEMgZGV2aWNlCj4gKyAqIEBnZXRfZG1hX21hc2s6 IEdldCB0aGUgZG1hIG1hc2sgb2YgQ1JUQyBkZXZpY2UKPiArICogQGdldF9tYXhfd2lkdGg6IEdl dCB0aGUgbWF4aW11bSBzdXBwb3J0ZWQgd2lkdGgKPiArICogQGdldF9tYXhfaGVpZ2h0OiBHZXQg dGhlIG1heGltdW0gc3VwcG9ydGVkIGhlaWdodAo+ICsgKiBAZ2V0X2Zvcm1hdDogR2V0IHRoZSBj dXJyZW50IGZvcm1hdCBvZiBDUlRDIGRldmljZQo+ICsgKi8KPiArc3RydWN0IHhsbnhfY3J0YyB7 Cj4gKwlzdHJ1Y3QgZHJtX2NydGMgY3J0YzsKPiArCXN0cnVjdCBsaXN0X2hlYWQgbGlzdDsKPiAr CWludCAoKmVuYWJsZV92YmxhbmspKHN0cnVjdCB4bG54X2NydGMgKmNydGMpOwo+ICsJdm9pZCAo KmRpc2FibGVfdmJsYW5rKShzdHJ1Y3QgeGxueF9jcnRjICpjcnRjKTsKPiArCXVuc2lnbmVkIGlu dCAoKmdldF9hbGlnbikoc3RydWN0IHhsbnhfY3J0YyAqY3J0Yyk7Cj4gKwl1NjQgKCpnZXRfZG1h X21hc2spKHN0cnVjdCB4bG54X2NydGMgKmNydGMpOwo+ICsJaW50ICgqZ2V0X21heF93aWR0aCko c3RydWN0IHhsbnhfY3J0YyAqY3J0Yyk7Cj4gKwlpbnQgKCpnZXRfbWF4X2hlaWdodCkoc3RydWN0 IHhsbnhfY3J0YyAqY3J0Yyk7Cj4gKwl1aW50MzJfdCAoKmdldF9mb3JtYXQpKHN0cnVjdCB4bG54 X2NydGMgKmNydGMpOwo+ICt9Owo+ICsKPiArLyoKPiArICogSGVscGVyIGZ1bmN0aW9uczogdXNl ZCB3aXRoaW4gWGxueCBEUk0KPiArICovCj4gKwo+ICtzdHJ1Y3QgeGxueF9jcnRjX2hlbHBlcjsK PiArCj4gK2ludCB4bG54X2NydGNfaGVscGVyX2VuYWJsZV92Ymxhbmsoc3RydWN0IHhsbnhfY3J0 Y19oZWxwZXIgKmhlbHBlciwKPiArCQkJCSAgIHVuc2lnbmVkIGludCBjcnRjX2lkKTsKPiArdm9p ZCB4bG54X2NydGNfaGVscGVyX2Rpc2FibGVfdmJsYW5rKHN0cnVjdCB4bG54X2NydGNfaGVscGVy ICpoZWxwZXIsCj4gKwkJCQkgICAgIHVuc2lnbmVkIGludCBjcnRjX2lkKTsKPiArdW5zaWduZWQg aW50IHhsbnhfY3J0Y19oZWxwZXJfZ2V0X2FsaWduKHN0cnVjdCB4bG54X2NydGNfaGVscGVyICpo ZWxwZXIpOwo+ICt1NjQgeGxueF9jcnRjX2hlbHBlcl9nZXRfZG1hX21hc2soc3RydWN0IHhsbnhf Y3J0Y19oZWxwZXIgKmhlbHBlcik7Cj4gK2ludCB4bG54X2NydGNfaGVscGVyX2dldF9tYXhfd2lk dGgoc3RydWN0IHhsbnhfY3J0Y19oZWxwZXIgKmhlbHBlcik7Cj4gK2ludCB4bG54X2NydGNfaGVs cGVyX2dldF9tYXhfaGVpZ2h0KHN0cnVjdCB4bG54X2NydGNfaGVscGVyICpoZWxwZXIpOwo+ICt1 aW50MzJfdCB4bG54X2NydGNfaGVscGVyX2dldF9mb3JtYXQoc3RydWN0IHhsbnhfY3J0Y19oZWxw ZXIgKmhlbHBlcik7Cj4gKwo+ICtzdHJ1Y3QgeGxueF9jcnRjX2hlbHBlciAqeGxueF9jcnRjX2hl bHBlcl9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkcm0pOwo+ICt2b2lkIHhsbnhfY3J0Y19oZWxw ZXJfZmluaShzdHJ1Y3QgZHJtX2RldmljZSAqZHJtLAo+ICsJCQkgICBzdHJ1Y3QgeGxueF9jcnRj X2hlbHBlciAqaGVscGVyKTsKPiArCj4gKy8qCj4gKyAqIENSVEMgcmVnaXN0cmF0aW9uOiB1c2Vk IGJ5IG90aGVyIHN1Yi1kcml2ZXIgbW9kdWxlcwo+ICsgKi8KPiArCj4gK3N0YXRpYyBpbmxpbmUg c3RydWN0IHhsbnhfY3J0YyAqdG9feGxueF9jcnRjKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKPiAr ewo+ICsJcmV0dXJuIGNvbnRhaW5lcl9vZihjcnRjLCBzdHJ1Y3QgeGxueF9jcnRjLCBjcnRjKTsK PiArfQo+ICsKPiArdm9pZCB4bG54X2NydGNfcmVnaXN0ZXIoc3RydWN0IGRybV9kZXZpY2UgKmRy bSwgc3RydWN0IHhsbnhfY3J0YyAqY3J0Yyk7Cj4gK3ZvaWQgeGxueF9jcnRjX3VucmVnaXN0ZXIo c3RydWN0IGRybV9kZXZpY2UgKmRybSwgc3RydWN0IHhsbnhfY3J0YyAqY3J0Yyk7Cj4gKwo+ICsj ZW5kaWYgLyogX1hMTlhfQ1JUQ19IXyAqLwo+IC0tIAo+IDIuNy40Cj4gCj4gX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiBkcmktZGV2ZWwgbWFpbGluZyBs aXN0Cj4gZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+IGh0dHBzOi8vbGlzdHMuZnJl ZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCgotLSAKRGFuaWVsIFZldHRl cgpTb2Z0d2FyZSBFbmdpbmVlciwgSW50ZWwgQ29ycG9yYXRpb24KaHR0cDovL2Jsb2cuZmZ3bGwu Y2gKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRl dmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8v bGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==