From mboxrd@z Thu Jan 1 00:00:00 1970 From: Marek Szyprowski Subject: Re: [PATCH v2 06/22] drm/exynos: move dma_addr attribute from exynos plane to exynos fb Date: Fri, 11 Dec 2015 12:27:07 +0100 Message-ID: <566AB30B.9070900@samsung.com> References: <1448891617-18830-1-git-send-email-m.szyprowski@samsung.com> <1448891617-18830-7-git-send-email-m.szyprowski@samsung.com> <566978A1.60302@samsung.com> <566A9115.6040109@samsung.com> <566A96CB.4020309@samsung.com> <566A9E1C.3020404@samsung.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-reply-to: <566A9E1C.3020404@samsung.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Inki Dae , dri-devel@lists.freedesktop.org, linux-samsung-soc@vger.kernel.org Cc: Javier Martinez Canillas , Krzysztof Kozlowski , Tobias Jakobi , Bartlomiej Zolnierkiewicz , Seung-Woo Kim , Andrzej Hajda List-Id: linux-samsung-soc@vger.kernel.org SGkgSW5raSwKCk9uIDIwMTUtMTItMTEgMTA6NTcsIElua2kgRGFlIHdyb3RlOgo+IEhpIE1hcmVr LAo+Cj4gMjAxNeuFhCAxMuyblCAxMeydvCAxODoyNuyXkCBNYXJlayBTenlwcm93c2tpIOydtCjq sIApIOyTtCDquIA6Cj4+IEhpIElua2ksCj4+Cj4+IE9uIDIwMTUtMTItMTEgMTA6MDIsIElua2kg RGFlIHdyb3RlOgo+Pj4gSGkgTWFyZWssCj4+Pgo+Pj4gSSBmb3VuZCBvdXQgd2h5IE5VTEwgcG9p bnQgYWNjZXNzIGhhcHBlbmVkLiBUaGF0IHdhcyBpbmN1cnJlZCBieSBiZWxvdyB5b3VyIHBhdGNo LAo+Pj4gW1BBVENIXSBkcm0vZXh5bm9zOiBtb3ZlIGRtYV9hZGRyIGF0dHJpYnV0ZSBmcm9tIGV4 eW5vcyBwbGFuZSB0byBleHlub3MgZmIKPj4+Cj4+PiBXaGVuIGFub3RoZXIgY3J0YyBkcml2ZXIg aXMgaG90cGx1Z2dlZCBpbiBydW50aW1lIHN1Y2ggYXMgSERNSSBvciBWSURJLAo+Pj4gdGhlIGRy bSBmcmFtYnVmZmVyIG9iamVjdCBvZiBmYl9oZWxwZXIgaXMgc2V0IHRvIHRoZSBwbGFuZSBzdGF0 ZSBvZiB0aGUgbmV3IGNydGMgZHJpdmVyCj4+PiBzbyB0aGUgZHJpdmVyIHNob3VsZCBnZXQgdGhl IGRybSBmcmFtZWJ1ZmZlciBvYmplY3QgZnJvbSB0aGUgcGxhbmUncyBzdGF0ZSBvcgo+Pj4gZXh5 bm9zX3BsYW5lLT5wZW5kaW5nX2ZiIHdoaWNoIGlzIHNldCBieSBleHlub3NfcGxhbmVfYXRvbWlj X3VwZGF0ZSBmdW5jdGlvbi4KPj4+Cj4+PiBBZnRlciB0aGF0LCBJIHRoaW5rIHRoZSBkcm0gZnJh bWVidWZmZXIgc2hvdWxkIGJlIHNldCB0byBkcm0gcGxhbmUgYXMgYSBjdXJyZW50IGZiCj4+PiB3 aGljaCB3b3VsZCBiZSBzY2FubmVkIG91dC4KPj4+Cj4+PiBBbnl3YXksIEkgY2FuIGZpeCBpdCBs aWtlIGJlbG93IGlmIHlvdSBhcmUgb2suCj4+Pgo+Pj4gVGhhbmtzLAo+Pj4gSW5raSBEYWUKPj4+ Cj4+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19kcm1fdmlkaS5jCj4+PiAr KysgYi9kcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19kcm1fdmlkaS5jCj4+PiBAQCAtMTM3 LDcgKzEzNyw3IEBAIHN0YXRpYyB2b2lkIHZpZGlfdXBkYXRlX3BsYW5lKHN0cnVjdCBleHlub3Nf ZHJtX2NydGMgKmNydGMsCj4+PiAgICAgICAgICAgaWYgKGN0eC0+c3VzcGVuZGVkKQo+Pj4gICAg ICAgICAgICAgICAgICAgcmV0dXJuOwo+Pj4gICAgLSAgICAgICBhZGRyID0gZXh5bm9zX2RybV9m Yl9kbWFfYWRkcihwbGFuZS0+YmFzZS5mYiwgMCk7Cj4+PiArICAgICAgIGFkZHIgPSBleHlub3Nf ZHJtX2ZiX2RtYV9hZGRyKHBsYW5lLT5wZW5kaW5nX2ZiLCAwKTsKPj4+ICAgICAgICAgICBEUk1f REVCVUdfS01TKCJkbWFfYWRkciA9ICVwYWRcbiIsICZhZGRyKTsKPj4+Cj4+PiArICAgIHBsYW5l LT5iYXNlLmZiID0gcGxhbmUtPnBlbmRpbmdfZmI7Cj4+IHBsYW5lLT5iYXNlLmZiIHNob3VsZCBu b3QgYmUgbW9kaWZpZWQuIEkgdGhpbmsgdGhhdCB0aGUgZm9sbG93aW5nIGZpeCBpcyBtb3JlCj4g Q291bGQgeW91IGV4cGxhaW4gd2h5IHBsYW5lLT5iYXNlLmZiIHNob3VsZG4ndCBiZSBtb2RpZmll ZD8KCkFsbCAnYmFzZScgY2xhc3NlcyBhcmUgbW9kaWZpZWQgYnkgRFJNIGNvcmUgYW5kIHRoZXJl IHNob3VsZCBiZSBubyBuZWVkCnRvIG1vZGlmeSB0aGVtIGZyb20gdGhlIGRyaXZlcnMuCgpJJ3Zl IGNoZWNrZWQgdGhpcyBpc3N1ZSBhbmQgdGhlIHByb3BlciBmaXggZm9yIGlzIHRoZSBmb2xsb3dp bmcgY29kZToKCi0tLSBhL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2RybV92aWRpLmMK KysrIGIvZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfZHJtX3ZpZGkuYwpAQCAtMTMxLDEz ICsxMzEsMTQgQEAgc3RhdGljIHZvaWQgdmlkaV9kaXNhYmxlX3ZibGFuayhzdHJ1Y3QgCmV4eW5v c19kcm1fY3J0YyAqY3J0YykKICBzdGF0aWMgdm9pZCB2aWRpX3VwZGF0ZV9wbGFuZShzdHJ1Y3Qg ZXh5bm9zX2RybV9jcnRjICpjcnRjLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ry dWN0IGV4eW5vc19kcm1fcGxhbmUgKnBsYW5lKQogIHsKKyAgICAgICBzdHJ1Y3QgZHJtX3BsYW5l X3N0YXRlICpzdGF0ZSA9IHBsYW5lLT5iYXNlLnN0YXRlOwogICAgICAgICBzdHJ1Y3QgdmlkaV9j b250ZXh0ICpjdHggPSBjcnRjLT5jdHg7CiAgICAgICAgIGRtYV9hZGRyX3QgYWRkcjsKCiAgICAg ICAgIGlmIChjdHgtPnN1c3BlbmRlZCkKICAgICAgICAgICAgICAgICByZXR1cm47CgotICAgICAg IGFkZHIgPSBleHlub3NfZHJtX2ZiX2RtYV9hZGRyKHBsYW5lLT5iYXNlLmZiLCAwKTsKKyAgICAg ICBhZGRyID0gZXh5bm9zX2RybV9mYl9kbWFfYWRkcihzdGF0ZS0+ZmIsIDApOwogICAgICAgICBE Uk1fREVCVUdfS01TKCJkbWFfYWRkciA9ICVwYWRcbiIsICZhZGRyKTsKCiAgICAgICAgIGlmIChj dHgtPnZibGFua19vbikKCgpwbGFuZS0+YmFzZS5mYiBpcyB1cGRhdGVkIGZyb20gdGhlIGNvcmUg b25jZSBhbGwgY3J0Yy9wbGFuZSBhdG9taWMgdXBkYXRlCmNhbGxzIGZpbmlzaGVzLiBUaGUgZHJp dmVycyBzaG91bGQgdXNlIHRoZSBmYiBzdG9yZWQgaW4gcGxhbmUtPmJhc2Uuc3RhdGUuCkkndmUg bWlzc2VkIHRoYXQgVklESSBkcml2ZXIgZG9lc24ndCBnZXQgdGhlIGZiIGFuZCBpbmNvcnJlY3Rs eSB1c2VkCnBsYW5lLT5iYXNlLmZiIGluc3RhZCBvZiBzdGF0ZS0+ZmIgd2hpbGUgdXBkYXRpbmcg dGhlIGNvZGUuCgoKPiBJbiBjYXNlIHRoYXQgdXNlcnNwYWNlIHJlcXVlc3RzIHNldHBsYW5lLCBw bGFuZS0+YmFzZS5mYiB3b3VsZCBiZSB1cGRhdGVkIGFmdGVyIHVwZGF0ZV9wbGFuZSBjYWxsYmFj ay4KPiBIb3dldmVyLCBpbiBvdGhlciBjYXNlcywgSSBkb24ndCBzZWUgaG93IHBsYW5lLT5iYXNl LmZiIGNvdWxkIGJlIHVwZGF0ZWQuCj4gSW4gdGhpcyBjYXNlLCBJIHRoaW5rIHZlbmRvciBzcGVj aWZpYyBkcml2ZXJzIHdvdWxkIG5lZWQgdG8gdXBkYXRlIGl0IGFzIGEgY3VycmVudCBmYiB0byBi ZSBzY2FubmVkIG91dCBsaWtlIG90aGVyIHNvbWUgZHJpdmVycyBkaWQuCj4gT2YgY291cnNlLCBp dCBtYXkgYmUgcG9zc2libGUgZm9yIGRybSBjb3JlIHBhcnQgdG8gdGFrZSBjYXJlIG9mIGl0IGFw cHJvcHJpYXRlbHkgbGF0ZXIuCj4KPiBUaGFua3MsCj4gSW5raSBEYWUKPgo+PiBhcHByb3ByaWF0 ZToKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfZHJtX3ZpZGkuYwo+PiAr KysgYi9kcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19kcm1fdmlkaS5jCj4+IEBAIC0xMzIs MTIgKzEzMiwxMyBAQCBzdGF0aWMgdm9pZCB2aWRpX3VwZGF0ZV9wbGFuZShzdHJ1Y3QgZXh5bm9z X2RybV9jcnRjICpjcnRjLAo+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0 IGV4eW5vc19kcm1fcGxhbmUgKnBsYW5lKQo+PiAgIHsKPj4gICAgICAgICAgc3RydWN0IHZpZGlf Y29udGV4dCAqY3R4ID0gY3J0Yy0+Y3R4Owo+PiAtICAgICAgIGRtYV9hZGRyX3QgYWRkcjsKPj4g KyAgICAgICBkbWFfYWRkcl90IGFkZHIgPSAwOwo+Pgo+PiAgICAgICAgICBpZiAoY3R4LT5zdXNw ZW5kZWQpCj4+ICAgICAgICAgICAgICAgICAgcmV0dXJuOwo+Pgo+PiAtICAgICAgIGFkZHIgPSBl eHlub3NfZHJtX2ZiX2RtYV9hZGRyKHBsYW5lLT5iYXNlLmZiLCAwKTsKPj4gKyAgICAgICBpZiAo cGxhbmUtPmJhc2UuZmIpCj4+ICsgICAgICAgICAgICAgICBhZGRyID0gZXh5bm9zX2RybV9mYl9k bWFfYWRkcihwbGFuZS0+YmFzZS5mYiwgMCk7Cj4+ICAgICAgICAgIERSTV9ERUJVR19LTVMoImRt YV9hZGRyID0gJXBhZFxuIiwgJmFkZHIpOwo+Pgo+PiAgICAgICAgICBpZiAoY3R4LT52Ymxhbmtf b24pCj4+Cj4+IEkgd2lsbCBpbnZlc3RpZ2F0ZSB0aGUgY2FzZSBvZiBOVUxMIHBsYW5lLT5zdGF0 ZS5mYiwgYmVjYXVzZSBpdCBtaWdodCBiZSByZWxldmFudAo+PiB0byBvdGhlciBjcnRjIGRyaXZl cnMgYXMgd2VsbC4KPj4KPj4KPj4+ICAgICAgICAgICAgIGlmIChjdHgtPnZibGFua19vbikKPj4+ Cj4+Pgo+Pj4gMjAxNeuFhCAxMuyblCAxMOydvCAyMjowNeyXkCBJbmtpIERhZSDsnbQo6rCAKSDs k7Qg6riAOgo+Pj4+IDIwMTXrhYQgMTHsm5QgMzDsnbwgMjI6NTPsl5AgTWFyZWsgU3p5cHJvd3Nr aSDsnbQo6rCAKSDsk7Qg6riAOgo+Pj4+PiBETUEgYWRkcmVzcyBpcyBhIGZyYW1lYnVmZmVyIGF0 dHJpYnV0ZSBhbmQgdGhlIHJpZ2h0IHBsYWNlIGZvciBpdCBpcwo+Pj4+PiBleHlub3NfZHJtX2Zy YW1lYnVmZmVyIG5vdCBleHlub3NfZHJtX3BsYW5lLiBUaGlzIHBhdGNoIGFsc28gaW50cm9kdWNl cwo+Pj4+PiBoZWxwZXIgZnVuY3Rpb24gZm9yIGdldHRpbmcgZG1hIGFkZHJlc3Mgb2YgdGhlIGdp dmVuIGZyYW1lYnVmZmVyLgo+Pj4+Pgo+Pj4+PiBTaWduZWQtb2ZmLWJ5OiBNYXJlayBTenlwcm93 c2tpIDxtLnN6eXByb3dza2lAc2Ftc3VuZy5jb20+Cj4+Pj4+IFJldmlld2VkLWJ5OiBHdXN0YXZv IFBhZG92YW4gPGd1c3Rhdm8ucGFkb3ZhbkBjb2xsYWJvcmEuY28udWs+Cj4+Pj4+IC0tLQo+Pj4+ PiAgICBkcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vczU0MzNfZHJtX2RlY29uLmMgfCAxMyAr KysrKysrKy0tLS0tCj4+Pj4+ICAgIGRyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zN19kcm1f ZGVjb24uYyAgICB8IDE2ICsrKysrKysrKy0tLS0tLS0KPj4+Pj4gICAgZHJpdmVycy9ncHUvZHJt L2V4eW5vcy9leHlub3NfZHJtX2Rydi5oICAgICAgIHwgIDMgLS0tCj4+Pj4+ICAgIGRyaXZlcnMv Z3B1L2RybS9leHlub3MvZXh5bm9zX2RybV9mYi5jICAgICAgICB8IDE2ICsrKysrKy0tLS0tLS0t LS0KPj4+Pj4gICAgZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfZHJtX2ZiLmggICAgICAg IHwgIDMgKy0tCj4+Pj4+ICAgIGRyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2RybV9maW1k LmMgICAgICB8IDEwICsrKysrKy0tLS0KPj4+Pj4gICAgZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9l eHlub3NfZHJtX3BsYW5lLmMgICAgIHwgMTggLS0tLS0tLS0tLS0tLS0tLS0tCj4+Pj4+ICAgIGRy aXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2RybV92aWRpLmMgICAgICB8ICA1ICsrKystCj4+ Pj4+ICAgIGRyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX21peGVyLmMgICAgICAgICB8ICA3 ICsrKystLS0KPj4+Pj4gICAgOSBmaWxlcyBjaGFuZ2VkLCAzOCBpbnNlcnRpb25zKCspLCA1MyBk ZWxldGlvbnMoLSkKPj4+Pj4KPj4+PiA8LS1zbmlwLS0+Cj4+Pj4KPj4+Pj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2RybV92aWRpLmMgYi9kcml2ZXJzL2dwdS9k cm0vZXh5bm9zL2V4eW5vc19kcm1fdmlkaS5jCj4+Pj4+IGluZGV4IDY2OTM2MmM1M2Y0OS4uM2Nl MTQxMjM2ZmFkIDEwMDY0NAo+Pj4+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5v c19kcm1fdmlkaS5jCj4+Pj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2Ry bV92aWRpLmMKPj4+Pj4gQEAgLTI0LDYgKzI0LDcgQEAKPj4+Pj4gICAgICAjaW5jbHVkZSAiZXh5 bm9zX2RybV9kcnYuaCIKPj4+Pj4gICAgI2luY2x1ZGUgImV4eW5vc19kcm1fY3J0Yy5oIgo+Pj4+ PiArI2luY2x1ZGUgImV4eW5vc19kcm1fZmIuaCIKPj4+Pj4gICAgI2luY2x1ZGUgImV4eW5vc19k cm1fcGxhbmUuaCIKPj4+Pj4gICAgI2luY2x1ZGUgImV4eW5vc19kcm1fdmlkaS5oIgo+Pj4+PiAg ICBAQCAtMTI2LDExICsxMjcsMTMgQEAgc3RhdGljIHZvaWQgdmlkaV91cGRhdGVfcGxhbmUoc3Ry dWN0IGV4eW5vc19kcm1fY3J0YyAqY3J0YywKPj4+Pj4gICAgICAgICAgICAgICAgICAgICAgc3Ry dWN0IGV4eW5vc19kcm1fcGxhbmUgKnBsYW5lKQo+Pj4+PiAgICB7Cj4+Pj4+ICAgICAgICBzdHJ1 Y3QgdmlkaV9jb250ZXh0ICpjdHggPSBjcnRjLT5jdHg7Cj4+Pj4+ICsgICAgZG1hX2FkZHJfdCBh ZGRyOwo+Pj4+PiAgICAgICAgICBpZiAoY3R4LT5zdXNwZW5kZWQpCj4+Pj4+ICAgICAgICAgICAg cmV0dXJuOwo+Pj4+PiAgICAtICAgIERSTV9ERUJVR19LTVMoImRtYV9hZGRyID0gJXBhZFxuIiwg cGxhbmUtPmRtYV9hZGRyKTsKPj4+Pj4gKyAgICBhZGRyID0gZXh5bm9zX2RybV9mYl9kbWFfYWRk cihwbGFuZS0+YmFzZS5mYiwgMCk7Cj4+Pj4gQXQgdGhpcyBwb2ludCwgcGxhbmUtPmJhc2UuZmIg aXMgTlVMTCBzbyBudWxsIHBvaW50ZXIgYWNjZXNzIGhhcHBlbnMgbGlrZSBiZWxvdywKPj4+Pgo+ Pj4+IFsgICAgNS45Njk0MjJdIFVuYWJsZSB0byBoYW5kbGUga2VybmVsIE5VTEwgcG9pbnRlciBk ZXJlZmVyZW5jZSBhdCB2aXJ0dWFsIGFkZHJlc3MgMDAwMDAwOTAKPj4+PiBbICAgIDUuOTc3NDgx XSBwZ2QgPSBlZTU5MDAwMAo+Pj4+IFsgICAgNS45ODAxNDJdIFswMDAwMDA5MF0gKnBnZD02ZTUy NjgzMSwgKnB0ZT0wMDAwMDAwMCwgKnBwdGU9MDAwMDAwMDAKPj4+PiBbICAgIDUuOTg2MzQ3XSBJ bnRlcm5hbCBlcnJvcjogT29wczogMTcgWyMxXSBQUkVFTVBUIFNNUCBBUk0KPj4+PiBbICAgIDUu OTkxNzEyXSBNb2R1bGVzIGxpbmtlZCBpbjoKPj4+PiBbICAgIDUuOTk0NzcwXSBDUFU6IDMgUElE OiAxNTk4IENvbW06IHNoIE5vdCB0YWludGVkIDQuNC4wLXJjMy0wMDA1Mi1nYzYwZDdlMi1kaXJ0 eSAjMTk5Cj4+Pj4gWyAgICA2LjAwMjU2NV0gSGFyZHdhcmUgbmFtZTogU0FNU1VORyBFWFlOT1Mg KEZsYXR0ZW5lZCBEZXZpY2UgVHJlZSkKPj4+PiBbICAgIDYuMDA4NjQ3XSB0YXNrOiBlZjMyODAw MCB0aTogZWU0ZDQwMDAgdGFzay50aTogZWU0ZDQwMDAKPj4+PiBbICAgIDYuMDE0MDUzXSBQQyBp cyBhdCBleHlub3NfZHJtX2ZiX2RtYV9hZGRyKzB4OC8weDE0Cj4+Pj4gWyAgICA2LjAxODk5MF0g TFIgaXMgYXQgdmlkaV91cGRhdGVfcGxhbmUrMHg0Yy8weGM0Cj4+Pj4gWyAgICA2LjAyMzU4MV0g cGMgOiBbPGMwMmIxZmI0Pl0gICAgbHIgOiBbPGMwMmMzY2M0Pl0gICAgcHNyOiA4MDAwMDAxMwo+ Pj4+IFsgICAgNi4wMjM1ODFdIHNwIDogZWU0ZDVkOTAgIGlwIDogMDAwMDAwMDEgIGZwIDogMDAw MDAwMDAKPj4+PiBbICAgIDYuMDM1MDI5XSByMTA6IDAwMDAwMDAwICByOSA6IGMwNWI5NjVjICBy OCA6IGVlODEzZTAwCj4+Pj4gWyAgICA2LjA0MDI0MV0gcjcgOiAwMDAwMDAwMCAgcjYgOiBlZThl MzMzMCAgcjUgOiAwMDAwMDAwMCAgcjQgOiBlZThlMzAxMAo+Pj4+IFsgICAgNi4wNDY3NDldIHIz IDogMDAwMDAwMDAgIHIyIDogMDAwMDAwMDAgIHIxIDogMDAwMDAwMjQgIHIwIDogMDAwMDAwMDAK Pj4+PiBbICAgIDYuMDUzMjY0XSBGbGFnczogTnpjdiAgSVJRcyBvbiAgRklRcyBvbiAgTW9kZSBT VkNfMzIgIElTQSBBUk0gIFNlZ21lbnQgbm9uZQo+Pj4+IFsgICAgNi4wNjAzNzldIENvbnRyb2w6 IDEwYzUzODdkICBUYWJsZTogNmU1OTAwNGEgIERBQzogMDAwMDAwNTEKPj4+PiBbICAgIDYuMDY2 MTA3XSBQcm9jZXNzIHNoIChwaWQ6IDE1OTgsIHN0YWNrIGxpbWl0ID0gMHhlZTRkNDIxMCkKPj4+ PiBbICAgIDYuMDcxNzQ4XSBTdGFjazogKDB4ZWU0ZDVkOTAgdG8gMHhlZTRkNjAwMCkKPj4+PiBb ICAgIDYuMDc2MTAwXSA1ZDgwOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAw MDAwMDAwMCBlZTgxMzMwMCBlZTQ3NmU0MCAwMDAwMDAwNQo+Pj4+IFsgICAgNi4wODQyMzZdIDVk YTA6IGVlOGUzMzMwIGMwMjhhYzE0IDAwMDAwMDA4IGVlNDc2ZTQwIGVlNDc2ZmMwIGVmM2IzODAw IGVlNDc2ZmMwIGVlYjNlMzgwCj4+Pj4gWyAgICA2LjA5MjM5NV0gNWRjMDogMDAwMDAwMDIgYzAy YjA4ZTQgMDAwMDAwMDAgZWViM2UzYTQgZWU0NzZmYzAgZWU0NzZlNDAgZWYzYjM4MDAgZWViM2Uz ODAKPj4+PiBbICAgIDYuMTAwNTU0XSA1ZGUwOiAwMDAwMDAwMiBjMDJiMTJiOCBlZTg1NDQwMCAw MDAwMDAwMCAwMDAwMDAwMSBlZTg1MDFhOCAwMDAwMDAwMCBlZTQ3NmU0MAo+Pj4+IFsgICAgNi4x MDg3MTRdIDVlMDA6IGVmM2IzODAwIDAwMDAwMDAxIGVlNDc2ZTQwIDAwMDAwMDUwIGVlODUwYzgw IDAwMDAwMDAxIGVlNDc2ZTQwIGVmM2IzYWFjCj4+Pj4gWyAgICA2LjExNjg3M10gNWUyMDogMDAw MDAwMDIgMDAwMDAwZmYgMDAwMDAwMDAgYzAyOGUwZWMgMDAwYTgyYjQgYzAyYWNjNTAgZWU4ZTM2 YTAgZWU0NzZjODAKPj4+PiBbICAgIDYuMTI1MDMyXSA1ZTQwOiBlZjNiM2FhYyBlZjNiMzgwMCBl ZTQ3NmM5YyBlZTg1MGM4MCBlZjNiMzgwMCBlZjNiMzgwMCBlZjNiMzgwMCBlZjNiMzk4Ywo+Pj4+ IFsgICAgNi4xMzMxOTFdIDVlNjA6IGMwODhjMzkwIDAwMDAwMDAyIDAwMGE4MmI0IGMwMjhmOGQ0 IDAwMDAwMDAwIGVmM2IzODAwIGVmMGY0MzAwIGMwMjhmOTQ4Cj4+Pj4gWyAgICA2LjE0MTM1MF0g NWU4MDogZWU4NTBjODAgYzAyOGY4NjQgZWYzYjNhODQgMDAwMDAwMDEgZWYzYjNhOTAgYzAyODUz ZTQgMDAwMDAwMDEgMDAwMDAwMDAKPj4+PiBbICAgIDYuMTQ5NTA5XSA1ZWEwOiAwMDBhODJiNCBl ZTRkNWVjMCAwMDAwMDAwMiBlZThlMzAxMCAwMDAwMDAwMiAwMDAwMDAwMiBlZTRkNWY4OCAwMDAw MDAwMAo+Pj4+IFsgICAgNi4xNTc2NjldIDVlYzA6IDAwMDAwMDAwIGVlYjhkZjAwIDAwMGE4MmI0 IGMwMmM0Mjc4IDAwMDAwMDAyIGVlNDc2YjAwIGVlYjhkZjBjIGMwMTM5MGFjCj4+Pj4gWyAgICA2 LjE2NTgyOF0gNWVlMDogMDAwMDAwMDAgMDAwMDAwMDAgZWU0ZTFmMDAgMDAwMDAwMDIgMDAwYTk1 NDAgZWU0ZDVmODggYzAwMGY4NDQgZWU0ZDQwMDAKPj4+PiBbICAgIDYuMTczOTg3XSA1ZjAwOiAw MDAwMDAwMCBjMDBkYmY3MCAwMDBhODJiNCBjMDAwOTNkYyBlZTRkNDAwMCBlZTRkNWY3OCBlZjMy ODIzNCBjMDU3OWJlYwo+Pj4+IFsgICAgNi4xODIxNDZdIDVmMjA6IDAwMDAwMDAxIDAwMDAwMDAx IGVlNGQ1ZjNjIDAwMDAwMDAxIGVlNDVlOWM0IDAwMDAwMDAxIDAwMGE4MmI0IGMwMDVjYTc0Cj4+ Pj4gWyAgICA2LjE5MDMwNl0gNWY0MDogZWU0NWU5YzQgMDAwMDAwMDIgMDAwYTk1NDAgYzAwNWNh ZDQgZWU0ZTFmMDAgMDAwMDAwMDIgMDAwYTk1NDAgZWU0ZDVmODgKPj4+PiBbICAgIDYuMTk4NDY1 XSA1ZjYwOiBjMDAwZjg0NCBjMDBkYzc3MCAwMDAwMDAwMCAwMDAwMDAwMCBlZTRlMWYwMCBlZTRl MWYwMCAwMDAwMDAwMiAwMDBhOTU0MAo+Pj4+IFsgICAgNi4yMDY2MjRdIDVmODA6IGMwMDBmODQ0 IGMwMGRjZjk4IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAzIDAwMGE3YzQwIDAwMDAwMDAxIDAw MGE5NTQwCj4+Pj4gWyAgICA2LjIxNDc4M10gNWZhMDogMDAwMDAwMDQgYzAwMGY2ODAgMDAwYTdj NDAgMDAwMDAwMDEgMDAwMDAwMDEgMDAwYTk1NDAgMDAwMDAwMDIgMDAwMDAwMDAKPj4+PiBbICAg IDYuMjIyOTQyXSA1ZmMwOiAwMDBhN2M0MCAwMDAwMDAwMSAwMDBhOTU0MCAwMDAwMDAwNCAwMDAw MDAyMCAwMDBhODJjOCAwMDBhODI5NCAwMDBhODJiNAo+Pj4+IFsgICAgNi4yMzExMDJdIDVmZTA6 IDAwMDAwMDAwIGJlOGIxNjI0IDAwMDEyMzQ1IGI2ZTk0MTY2IDQwMDAwMDMwIDAwMDAwMDAxIDAw MDAwMDAwIDAwMDAwMDAwCj4+Pj4gWyAgICA2LjIzOTI3MF0gWzxjMDJiMWZiND5dIChleHlub3Nf ZHJtX2ZiX2RtYV9hZGRyKSBmcm9tIFs8YzAyYzNjYzQ+XSAodmlkaV91cGRhdGVfcGxhbmUrMHg0 Yy8weGM0KQo+Pj4+IFsgICAgNi4yNDgxMjJdIFs8YzAyYzNjYzQ+XSAodmlkaV91cGRhdGVfcGxh bmUpIGZyb20gWzxjMDI4YWMxND5dIChkcm1fYXRvbWljX2hlbHBlcl9jb21taXRfcGxhbmVzKzB4 MWY0LzB4MjU4KQo+Pj4+IFsgICAgNi4yNTc5MjhdIFs8YzAyOGFjMTQ+XSAoZHJtX2F0b21pY19o ZWxwZXJfY29tbWl0X3BsYW5lcykgZnJvbSBbPGMwMmIwOGU0Pl0gKGV4eW5vc19hdG9taWNfY29t bWl0X2NvbXBsZXRlKzB4ZTQvMHgxYzQpCj4+Pj4gWyAgICA2LjI2ODY4OF0gWzxjMDJiMDhlND5d IChleHlub3NfYXRvbWljX2NvbW1pdF9jb21wbGV0ZSkgZnJvbSBbPGMwMmIxMmI4Pl0gKGV4eW5v c19hdG9taWNfY29tbWl0KzB4MTgwLzB4MWNjKQo+Pj4+IFsgICAgNi4yNzg1ODRdIFs8YzAyYjEy Yjg+XSAoZXh5bm9zX2F0b21pY19jb21taXQpIGZyb20gWzxjMDI4ZTBlYz5dIChyZXN0b3JlX2Zi ZGV2X21vZGUrMHgyNjAvMHgyOTApCj4+Pj4gWyAgICA2LjI4NzUyNV0gWzxjMDI4ZTBlYz5dIChy ZXN0b3JlX2ZiZGV2X21vZGUpIGZyb20gWzxjMDI4ZjhkND5dIChkcm1fZmJfaGVscGVyX3Jlc3Rv cmVfZmJkZXZfbW9kZV91bmxvY2tlZCsweDMwLzB4NzQpCj4+Pj4gWyAgICA2LjI5ODExMV0gWzxj MDI4ZjhkND5dIChkcm1fZmJfaGVscGVyX3Jlc3RvcmVfZmJkZXZfbW9kZV91bmxvY2tlZCkgZnJv bSBbPGMwMjhmOTQ4Pl0gKGRybV9mYl9oZWxwZXJfc2V0X3BhcisweDMwLzB4NTQpCj4+Pj4gWyAg ICA2LjMwODk2MV0gWzxjMDI4Zjk0OD5dIChkcm1fZmJfaGVscGVyX3NldF9wYXIpIGZyb20gWzxj MDI4Zjg2ND5dIChkcm1fZmJfaGVscGVyX2hvdHBsdWdfZXZlbnQrMHg5Yy8weGRjKQo+Pj4+IFsg ICAgNi4zMTg1OTVdIFs8YzAyOGY4NjQ+XSAoZHJtX2ZiX2hlbHBlcl9ob3RwbHVnX2V2ZW50KSBm cm9tIFs8YzAyODUzZTQ+XSAoZHJtX2hlbHBlcl9ocGRfaXJxX2V2ZW50KzB4ZDQvMHgxNjApCj4+ Pj4gWyAgICA2LjMyODU3OF0gWzxjMDI4NTNlND5dIChkcm1faGVscGVyX2hwZF9pcnFfZXZlbnQp IGZyb20gWzxjMDJjNDI3OD5dICh2aWRpX3N0b3JlX2Nvbm5lY3Rpb24rMHg5NC8weGNjKQo+Pj4+ IFsgICAgNi4zMzc5NTRdIFs8YzAyYzQyNzg+XSAodmlkaV9zdG9yZV9jb25uZWN0aW9uKSBmcm9t IFs8YzAxMzkwYWM+XSAoa2VybmZzX2ZvcF93cml0ZSsweGI4LzB4MWJjKQo+Pj4+IFsgICAgNi4z NDY3MjNdIFs8YzAxMzkwYWM+XSAoa2VybmZzX2ZvcF93cml0ZSkgZnJvbSBbPGMwMGRiZjcwPl0g KF9fdmZzX3dyaXRlKzB4MjAvMHhkOCkKPj4+PiBbICAgIDYuMzU0NTMxXSBbPGMwMGRiZjcwPl0g KF9fdmZzX3dyaXRlKSBmcm9tIFs8YzAwZGM3NzA+XSAodmZzX3dyaXRlKzB4OTAvMHgxNjQpCj4+ Pj4gWyAgICA2LjM2MTgyMV0gWzxjMDBkYzc3MD5dICh2ZnNfd3JpdGUpIGZyb20gWzxjMDBkY2Y5 OD5dIChTeVNfd3JpdGUrMHg0NC8weDljKQo+Pj4+IFsgICAgNi4zNjg4NTVdIFs8YzAwZGNmOTg+ XSAoU3lTX3dyaXRlKSBmcm9tIFs8YzAwMGY2ODA+XSAocmV0X2Zhc3Rfc3lzY2FsbCsweDAvMHgz YykKPj4+PiBbICAgIDYuMzc2NDA0XSBDb2RlOiBlYjBiMTdmMSBlYWZmZmZlNyBlMzUxMDAwMyBk MjgxMTAyNCAoZDc5MDAxMDEpCj4+Pj4KPj4+PiBXaGVuIHZpZGkgZHJpdmVyIGlzIGludGlhdGVk IGJ5IHRyaWdnZXJpbmcgYSBjb25uZWN0aW9uIHN5c2ZzIGZpbGUsIHZpZGkgZHJpdmVyIHRyaWVz IG1vZGVzZXQgYmluZGluZyBieSBjYWxsaW5nIGRybV9mYl9oZWxwZXJfaG90cGx1Z19ldmVudC4K Pj4+PiBIb3dldmVyLCBhdCB0aGlzIHRpbWUgaXQgc2VlbXMgdGhlcmUgaXMgYSBjYXNlIHRoYXQg cGxhbi0+c3RhdGUtPmNydGMgZXhpc3RzIGJ1dCBwbGFuZS0+ZmIgaXMgTlVMTCwgd2hpY2ggd291 bGQgYmUgcmVsYXRlZCB0byB2aWRpIGRyaXZlci4KPj4+Pgo+Pj4+IEkganVzdCBsb29rZWQgaW50 byB0aGlzIGlzc3VlIHJvdWdobHkgc28gd2Ugd291bGQgbmVlZCB0byBjaGVjayB0aGlzIGlzc3Vl IGluIG1vcmUgZGV0YWlscy4KPj4+Pgo+Pj4+IFRoYW5rcywKPj4+PiBJbmtpIERhZQo+Pj4+Cj4+ Pj4+ICsgICAgRFJNX0RFQlVHX0tNUygiZG1hX2FkZHIgPSAlcGFkXG4iLCAmYWRkcik7Cj4+Pj4+ ICAgICAgICAgIGlmIChjdHgtPnZibGFua19vbikKPj4+Pj4gICAgICAgICAgICBzY2hlZHVsZV93 b3JrKCZjdHgtPndvcmspOwo+Pj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2V4eW5v cy9leHlub3NfbWl4ZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX21peGVyLmMK Pj4+Pj4gaW5kZXggNDc3NzdiZTFhNzU0Li5mNDBkZTgyODQ4ZGMgMTAwNjQ0Cj4+Pj4+IC0tLSBh L2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX21peGVyLmMKPj4+Pj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL2V4eW5vcy9leHlub3NfbWl4ZXIuYwo+Pj4+PiBAQCAtMzcsNiArMzcsNyBAQAo+ Pj4+PiAgICAgICNpbmNsdWRlICJleHlub3NfZHJtX2Rydi5oIgo+Pj4+PiAgICAjaW5jbHVkZSAi ZXh5bm9zX2RybV9jcnRjLmgiCj4+Pj4+ICsjaW5jbHVkZSAiZXh5bm9zX2RybV9mYi5oIgo+Pj4+ PiAgICAjaW5jbHVkZSAiZXh5bm9zX2RybV9wbGFuZS5oIgo+Pj4+PiAgICAjaW5jbHVkZSAiZXh5 bm9zX2RybV9pb21tdS5oIgo+Pj4+PiAgICBAQCAtNDIyLDggKzQyMyw4IEBAIHN0YXRpYyB2b2lk IHZwX3ZpZGVvX2J1ZmZlcihzdHJ1Y3QgbWl4ZXJfY29udGV4dCAqY3R4LAo+Pj4+PiAgICAgICAg ICAgIHJldHVybjsKPj4+Pj4gICAgICAgIH0KPj4+Pj4gICAgLSAgICBsdW1hX2FkZHJbMF0gPSBw bGFuZS0+ZG1hX2FkZHJbMF07Cj4+Pj4+IC0gICAgY2hyb21hX2FkZHJbMF0gPSBwbGFuZS0+ZG1h X2FkZHJbMV07Cj4+Pj4+ICsgICAgbHVtYV9hZGRyWzBdID0gZXh5bm9zX2RybV9mYl9kbWFfYWRk cihmYiwgMCk7Cj4+Pj4+ICsgICAgY2hyb21hX2FkZHJbMF0gPSBleHlub3NfZHJtX2ZiX2RtYV9h ZGRyKGZiLCAxKTsKPj4+Pj4gICAgICAgICAgaWYgKG1vZGUtPmZsYWdzICYgRFJNX01PREVfRkxB R19JTlRFUkxBQ0UpIHsKPj4+Pj4gICAgICAgICAgICBjdHgtPmludGVybGFjZSA9IHRydWU7Cj4+ Pj4+IEBAIC01NzUsNyArNTc2LDcgQEAgc3RhdGljIHZvaWQgbWl4ZXJfZ3JhcGhfYnVmZmVyKHN0 cnVjdCBtaXhlcl9jb250ZXh0ICpjdHgsCj4+Pj4+ICAgICAgICBkc3RfeV9vZmZzZXQgPSBwbGFu ZS0+Y3J0Y195Owo+Pj4+PiAgICAgICAgICAvKiBjb252ZXJ0aW5nIGRtYSBhZGRyZXNzIGJhc2Ug YW5kIHNvdXJjZSBvZmZzZXQgKi8KPj4+Pj4gLSAgICBkbWFfYWRkciA9IHBsYW5lLT5kbWFfYWRk clswXQo+Pj4+PiArICAgIGRtYV9hZGRyID0gZXh5bm9zX2RybV9mYl9kbWFfYWRkcihmYiwgMCkK Pj4+Pj4gICAgICAgICAgICArIChwbGFuZS0+c3JjX3ggKiBmYi0+Yml0c19wZXJfcGl4ZWwgPj4g MykKPj4+Pj4gICAgICAgICAgICArIChwbGFuZS0+c3JjX3kgKiBmYi0+cGl0Y2hlc1swXSk7Cj4+ Pj4+ICAgICAgICBzcmNfeF9vZmZzZXQgPSAwOwo+Pj4+Pgo+Pj4+Pgo+Pj4+PgoKQmVzdCByZWdh cmRzCi0tIApNYXJlayBTenlwcm93c2tpLCBQaEQKU2Ftc3VuZyBSJkQgSW5zdGl0dXRlIFBvbGFu ZAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRl dmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9s aXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK