From mboxrd@z Thu Jan 1 00:00:00 1970 From: Helen Koike Subject: Re: [PATCH RFC v3 4/4] drm/atomic: hook atomic_async_{check,update} with PAGE_FLIP_ASYNC flag Date: Fri, 12 Apr 2019 10:39:40 -0300 Message-ID: <6bd78124-8758-d642-7235-ffb772ce4694@collabora.com> References: <20190412125827.5877-1-helen.koike@collabora.com> <20190412125827.5877-5-helen.koike@collabora.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20190412125827.5877-5-helen.koike@collabora.com> Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org, David Airlie Cc: Sean Paul , alexandros.frantzis@collabora.com, Maxime Ripard , daniel.vetter@ffwll.ch, linux-kernel@vger.kernel.org, Mamta Shukla , tina.zhang@intel.com, kernel@collabora.com, Anthony Koo , linux-rockchip@lists.infradead.org, Sean Paul , David Francis , amd-gfx@lists.freedesktop.org, Gustavo Padovan , daniels@collabora.com, Leo Li , linux-arm-msm@vger.kernel.org, Russell King , Bhawanpreet Lakha , linux-arm-kernel@lists.infradead.org, dnicoara@chromium.org, =?UTF-8?Q?St=c3=a9phane_Marchesin?= , tomasz Figa , boris.brezillon@collabora.com, Thomas Zimmermann Alex Deucher List-Id: amd-gfx.lists.freedesktop.org CgpPbiA0LzEyLzE5IDk6NTggQU0sIEhlbGVuIEtvaWtlIHdyb3RlOgo+IEFkZCBhdG9taWNfYXN5 bmNfe2NoZWNrLHVwZGF0ZX0gaG9va3MgaW4gZHJtX3BsYW5lX2hlbHBlcl9mdW5jcy4KPiBUaGVz ZSBob29rcyBhcmUgY2FsbGVkIHdoZW4gdXNlcnNwYWNlIHJlcXVlc3RzIGFzeW5jcm9ub3VzIHBh Z2UgZmxpcCBpbgo+IHRoZSBhdG9taWMgYXBpIHRocm91Z2ggdGhlIGZsYWcgRFJNX01PREVfUEFH RV9GTElQX0FTWU5DLgo+IAo+IFVwZGF0ZSB0aG9zZSBob29rcyBpbiB0aGUgZHJpdmVycyB0aGF0 IGltcGxlbWVudCBhc3luYyBmdW5jdGlvbnMsIGV4Y2VwdAo+IGZvciBhbWRncHUgd2hvIGhhbmRs ZXMgdGhlIGZsYWcgaW4gdGhlIG5vcm1hbCBwYXRoLCBhbmQgcm9ja2NoaXAgd2hvCj4gZG9lc24n dCBzdXBwb3J0IGFzeW5jIHBhZ2UgZmxpcC4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBIZWxlbiBLb2lr ZSA8aGVsZW4ua29pa2VAY29sbGFib3JhLmNvbT4KPiAKPiAtLS0KPiBIaSwKPiAKPiBUaGlzIHBh dGNoIGlzIGFuIGF0dGVtcHQgdG8gZXhwb3NlIHRoZSBpbXBsZW1lbnRhdGlvbiB0aGF0IGFscmVh ZHkgZXhpc3QKPiBmb3IgdHJ1ZSBhc3luYyBwYWdlIGZsaXBzIHVwZGF0ZXMgdGhyb3VnaCBhdG9t aWMgYXBpIHdoZW4gdGhlCj4gRFJNX01PREVfUEFHRV9GTElQX0FTWU5DIGlzIHVzZWQuCj4gCj4g SW4gdGhpcyBjb21taXQgSSdtIHJlLWludHJvZHVjaW5nIHRoZSBhdG9taWNfYXN5bmNfe2NoZWNr LHVwZGF0ZX0gaG9va3MuCj4gSSBrbm93IGl0IGlzIGEgYml0IHdlaXJkIHRvIHJlbW92ZSB0aGVt IGZpcnN0IGFuZCB0aGVtIHJlLWFkZCB0aGVtLCBidXQKPiBJIGRpZCB0aGlzIGluIHRoZSBsYXN0 IGNvbW1pdCB0byBhdm9pZCBhbnkgc3RhdGUgb2YgaW5jb25zaXN0ZW5jeQo+IGJldHdlZW4gY29t bWl0cywgYXMgcm9ja2NoaXAgZG9lc24ndCBzdXBwb3J0IGFzeW5jIHBhZ2UgZmxpcCBhbmQgdGhl eSB3ZXJlCj4gYmVpbmcgdXNlZCBhcyBhbWVuZC4KPiBTbyBJIHJldmVydGVkIHRvIGFtZW5kIGZp cnN0IGFuZCB0aGVuIHJlLWludHJvY2VkIGFzeW5jIGFnYWluCj4gdGllZCB0byB0aGUgRFJNX01P REVfUEFHRV9GTElQX0FTWU5DIGZsYWcgKEkgYWxzbyB0aGluayB0aGlzIGlzIGVhc2llcgo+IHRv IHJlYWQpLgo+IAo+IFRvIHVzZSBhc3luYywgaXQgaXMgcmVxdWlyZWQgdG8gaGF2ZQo+IGRldi0+ bW9kZV9jb25maWcuYXN5bmNfcGFnZV9mbGlwID0gdHJ1ZTsKPiBidXQgSSBzZWUgdGhhdCBvbmx5 IGFtZGdwdSBhbmQgdmM0IGhhdmUgdGhpcywgc28gdGhpcyBwYXRjaCB3b24ndCB0YWtlCj4gZWZm ZWN0IG9uIG1kcDUuCj4gTm91dmVhdSBhbmQgcmFkZW9uIGFsc28gaGF2ZSB0aGlzIGZsYWcsIGJ1 dCB0aGV5IGRvbid0IGltcGxlbWVudCB0aGUKPiBhc3luYyBob29rcyB5ZXQuCj4gCj4gUGxlYXNl IGxldCBtZSBrbm93IHdoYXQgeW91IHRoaW5rLgo+IAo+IFRoYW5rcwo+IEhlbGVuCj4gCj4gQ2hh bmdlcyBpbiB2MzogTm9uZQo+IENoYW5nZXMgaW4gdjI6IE5vbmUKPiBDaGFuZ2VzIGluIHYxOiBO b25lCj4gCj4gIC4uLi9ncHUvZHJtL2FtZC9kaXNwbGF5L2FtZGdwdV9kbS9hbWRncHVfZG0uYyB8 ICA1ICsrKwo+ICBkcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19oZWxwZXIuYyAgICAgICAgICAg fCAzMSArKysrKysrKysrKystLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX3VhcGku YyAgICAgICAgICAgICB8ICAzICstCj4gIGRyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9tZHA1L21k cDVfcGxhbmUuYyAgICB8ICAyICsKPiAgZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL3JvY2tjaGlw X2RybV92b3AuYyAgIHwgIDQgKysKPiAgZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRfcGxhbmUuYyAg ICAgICAgICAgICAgIHwgIDIgKwo+ICBpbmNsdWRlL2RybS9kcm1fYXRvbWljLmggICAgICAgICAg ICAgICAgICAgICAgfCAgMiArCj4gIGluY2x1ZGUvZHJtL2RybV9hdG9taWNfaGVscGVyLmggICAg ICAgICAgICAgICB8ICA5ICsrKy0tCj4gIGluY2x1ZGUvZHJtL2RybV9tb2Rlc2V0X2hlbHBlcl92 dGFibGVzLmggICAgICB8IDM3ICsrKysrKysrKysrKysrKysrKysKPiAgOSBmaWxlcyBjaGFuZ2Vk LCA4MyBpbnNlcnRpb25zKCspLCAxMiBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2FtZGdwdV9kbS9hbWRncHVfZG0uYyBiL2RyaXZlcnMv Z3B1L2RybS9hbWQvZGlzcGxheS9hbWRncHVfZG0vYW1kZ3B1X2RtLmMKPiBpbmRleCA3MTFlNzcx NWUxMTIuLmJiOGE1ZjE5OTdkNiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rp c3BsYXkvYW1kZ3B1X2RtL2FtZGdwdV9kbS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9k aXNwbGF5L2FtZGdwdV9kbS9hbWRncHVfZG0uYwo+IEBAIC0zNzg1LDYgKzM3ODUsMTEgQEAgc3Rh dGljIGNvbnN0IHN0cnVjdCBkcm1fcGxhbmVfaGVscGVyX2Z1bmNzIGRtX3BsYW5lX2hlbHBlcl9m dW5jcyA9IHsKPiAgCSAqLwo+ICAJLmF0b21pY19hbWVuZF9jaGVjayA9IGRtX3BsYW5lX2F0b21p Y19hc3luY19jaGVjaywKPiAgCS5hdG9taWNfYW1lbmRfdXBkYXRlID0gZG1fcGxhbmVfYXRvbWlj X2FzeW5jX3VwZGF0ZQo+ICsJLyoKPiArCSAqIE5vdGU6IGFtZGdwdSB0YWtlcyBjYXJlIG9mIERS TV9NT0RFX1BBR0VfRkxJUF9BU1lOQyBmbGFnIGluIHRoZQo+ICsJICogbm9ybWFsIGNvbW1pdCBw YXRoLCB0aHVzIC5hdG9taWNfYXN5bmNfY2hlY2sgYW5kIC5hdG9taWNfYXN5bmNfdXBkYXRlCj4g KwkgKiBhcmUgbm90IHByb3ZpZGVkIGhlcmUuCj4gKwkgKi8KPiAgfTsKPiAgCj4gIC8qCj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBlci5jIGIvZHJpdmVycy9n cHUvZHJtL2RybV9hdG9taWNfaGVscGVyLmMKPiBpbmRleCA5YjBkZjA4ODM2YzMuLmJmY2Y4ODM1 OWRlNSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19oZWxwZXIuYwo+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBlci5jCj4gQEAgLTk0NywxNiAr OTQ3LDMxIEBAIGludCBkcm1fYXRvbWljX2hlbHBlcl9jaGVjayhzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2LAo+ICAJaWYgKHJldCkKPiAgCQlyZXR1cm4gcmV0Owo+ICAKPiArCS8qCj4gKwkgKiBJZiBh c3luYyBwYWdlIGZsaXAgd2FzIGV4cGxpY2l0bHkgcmVxdWVzdGVkLCBidXQgaXQgaXMgbm90IHBv c3NpYmxlLAo+ICsJICogcmV0dXJuIGVycm9yIGluc3RlYWQgb2YgZmFsbGluZyBiYWNrIHRvIGEg bm9ybWFsIGNvbW1pdC4KPiArCSAqIElmIGFzeW5jX2FtZW5kX2NoZWNrIHJldHVybnMgLUVPUE5P VFNVUFAsIGl0IG1lYW5zCj4gKwkgKiAtPmF0b21pY19hc3luY191cGRhdGUgaG9vayBkb2Vzbid0 IGV4aXN0LCBzbyBmYWxsYmFjayB0byBub3JtYWwKPiArCSAqICBjb21taXQgYW5kIGxldCB0aGUg ZHJpdmVyIGhhbmRsZSBEUk1fTU9ERV9QQUdFX0ZMSVBfQVNZTkMgZmxhZwo+ICsJICogIHRocm91 Z2ggbm9ybWFsIGNvbW1pdCBjb2RlIHBhdGguCj4gKwkgKi8KPiArCWlmIChzdGF0ZS0+YXN5bmNf dXBkYXRlKSB7Cj4gKwkJcmV0ID0gZHJtX2F0b21pY19oZWxwZXJfYXN5bmNfYW1lbmRfY2hlY2so ZGV2LCBzdGF0ZSwgZmFsc2UpOwo+ICsJCXN0YXRlLT5hc3luY191cGRhdGUgPSAhcmV0Owo+ICsJ CXJldHVybiAhcmV0IHx8IHJldCA9PSAtRU9QTk9UU1VQUCA/IDAgOiByZXQ7Cj4gKwl9Cj4gKwo+ ICAJLyoKPiAgCSAqIElmIGFtZW5kIHdhcyBleHBsaWNpdGx5IHJlcXVlc3RlZCwgYnV0IGl0IGlz IG5vdCBwb3NzaWJsZSwKPiAgCSAqIHJldHVybiBlcnJvciBpbnN0ZWFkIG9mIGZhbGxpbmcgYmFj ayB0byBhIG5vcm1hbCBjb21taXQuCj4gIAkgKi8KPiAgCWlmIChzdGF0ZS0+YW1lbmRfdXBkYXRl KQo+IC0JCXJldHVybiBkcm1fYXRvbWljX2hlbHBlcl9hbWVuZF9jaGVjayhkZXYsIHN0YXRlKTsK PiArCQlyZXR1cm4gZHJtX2F0b21pY19oZWxwZXJfYXN5bmNfYW1lbmRfY2hlY2soZGV2LCBzdGF0 ZSwgdHJ1ZSk7Cj4gIAo+ICAJLyogTGVnYWN5IG1vZGUgZmFsbHMgYmFjayB0byBhIG5vcm1hbCBj b21taXQgaWYgYW1lbmQgaXNuJ3QgcG9zc2libGUuICovCj4gIAlpZiAoc3RhdGUtPmxlZ2FjeV9j dXJzb3JfdXBkYXRlKQo+IC0JCXN0YXRlLT5hbWVuZF91cGRhdGUgPSAhZHJtX2F0b21pY19oZWxw ZXJfYW1lbmRfY2hlY2soZGV2LCBzdGF0ZSk7Cj4gKwkJc3RhdGUtPmFtZW5kX3VwZGF0ZSA9Cj4g KwkJCSFkcm1fYXRvbWljX2hlbHBlcl9hc3luY19hbWVuZF9jaGVjayhkZXYsIHN0YXRlLCB0cnVl KTsKPiAgCj4gIAlyZXR1cm4gMDsKPiAgfQo+IEBAIC0xNjUxLDggKzE2NjYsOSBAQCBzdGF0aWMg dm9pZCBjb21taXRfd29yayhzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspCj4gICAqIGlmIG5vdC4g Tm90ZSB0aGF0IGVycm9yIGp1c3QgbWVhbiBpdCBjYW4ndCBiZSBjb21taXR0ZWQgaW4gYW1lbmQg bW9kZSwgaWYgaXQKPiAgICogZmFpbHMgdGhlIGNvbW1pdCBzaG91bGQgYmUgdHJlYXRlZCBsaWtl IGEgbm9ybWFsIGNvbW1pdC4KPiAgICovCj4gLWludCBkcm1fYXRvbWljX2hlbHBlcl9hbWVuZF9j aGVjayhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+IC0JCQkJICAgc3RydWN0IGRybV9hdG9taWNf c3RhdGUgKnN0YXRlKQo+ICtpbnQgZHJtX2F0b21pY19oZWxwZXJfYXN5bmNfYW1lbmRfY2hlY2so c3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiArCQkJCQlzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAq c3RhdGUsCj4gKwkJCQkJYm9vbCBhbWVuZCkKPiAgewo+ICAJc3RydWN0IGRybV9jcnRjICpjcnRj Owo+ICAJc3RydWN0IGRybV9jcnRjX3N0YXRlICpjcnRjX3N0YXRlOwo+IEBAIC0xNjk1LDcgKzE3 MTEsNyBAQCBpbnQgZHJtX2F0b21pY19oZWxwZXJfYW1lbmRfY2hlY2soc3RydWN0IGRybV9kZXZp Y2UgKmRldiwKPiAgCQlyZXR1cm4gLUVJTlZBTDsKPiAgCgpTb3JyeSwgSSBmb3Jnb3QgYSBtb2Rp ZiBoZXJlOgoKLSAgICAgICBpZiAoIWZ1bmNzLT5hdG9taWNfYW1lbmRfdXBkYXRlKQotICAgICAg ICAgICAgICAgcmV0dXJuIC1FSU5WQUw7CisgICAgICAgaWYgKChhbWVuZCAmJiAhZnVuY3MtPmF0 b21pY19hbWVuZF91cGRhdGUpIHx8CisgICAgICAgICAgICFmdW5jcy0+YXRvbWljX2FzeW5jX3Vw ZGF0ZSkKKyAgICAgICAgICAgICAgIHJldHVybiAtRU9QTk9UU1VQUDsKCkkgbmVlZCB0byByZXR1 cm4gLUVPUE5PVFNVUFAgc28gSSBjYW4ga25vdyBpZiBhc3luYyBzaG91bGQgZmFsbGJhY2sgdG8K dGhlIG5vcm1hbCBhc3luYyBwYXRoLCB0aGlzIGlzIHJlcXVpcmVkIGZvciBhbWRncHUgYXMgaXQg aGFuZGxlcyB0aGUKUEFHRV9GTElQX0FTWU5DIGZsYWcgaXQgc2VsZi4KCkknbGwgY29ycmVjdCB0 aGlzIGluIHRoZSBuZXh0IHZlcnNpb24gYWZ0ZXIgeW91ciBjb21tZW50cy4KCllvdSBjYW4gYWxz byBzZWUgdGhlIHNlcmllcyBvbgpodHRwczovL2dpdGxhYi5jb2xsYWJvcmEuY29tL2tvaWtlL2xp bnV4L2NvbW1pdHMvZHJtL2FtZW5kL3VhcGkKClRoYW5rcwoKCj4gIAkvKiBPbmx5IGFsbG93IGFt ZW5kIHVwZGF0ZSBmb3IgY3Vyc29yIHR5cGUgcGxhbmVzLiAqLwo+IC0JaWYgKHBsYW5lLT50eXBl ICE9IERSTV9QTEFORV9UWVBFX0NVUlNPUikKPiArCWlmIChhbWVuZCAmJiBwbGFuZS0+dHlwZSAh PSBEUk1fUExBTkVfVFlQRV9DVVJTT1IpCj4gIAkJcmV0dXJuIC1FSU5WQUw7Cj4gIAo+ICAJLyoK PiBAQCAtMTcwNyw5ICsxNzIzLDEwIEBAIGludCBkcm1fYXRvbWljX2hlbHBlcl9hbWVuZF9jaGVj ayhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ICAJICAgICF0cnlfd2FpdF9mb3JfY29tcGxldGlv bigmb2xkX3BsYW5lX3N0YXRlLT5jb21taXQtPmh3X2RvbmUpKQo+ICAJCXJldHVybiAtRUJVU1k7 Cj4gIAo+IC0JcmV0dXJuIGZ1bmNzLT5hdG9taWNfYW1lbmRfY2hlY2socGxhbmUsIG5ld19wbGFu ZV9zdGF0ZSk7Cj4gKwlyZXR1cm4gYW1lbmQgPyBmdW5jcy0+YXRvbWljX2FtZW5kX2NoZWNrKHBs YW5lLCBuZXdfcGxhbmVfc3RhdGUpIDoKPiArCQkgICAgICAgZnVuY3MtPmF0b21pY19hc3luY19j aGVjayhwbGFuZSwgbmV3X3BsYW5lX3N0YXRlKTsKPiAgfQo+IC1FWFBPUlRfU1lNQk9MKGRybV9h dG9taWNfaGVscGVyX2FtZW5kX2NoZWNrKTsKPiArRVhQT1JUX1NZTUJPTChkcm1fYXRvbWljX2hl bHBlcl9hc3luY19hbWVuZF9jaGVjayk7Cj4gIAo+ICAvKioKPiAgICogZHJtX2F0b21pY19oZWxw ZXJfYW1lbmRfY29tbWl0IC0gY29tbWl0IHN0YXRlIGluIGFtZW5kIG1vZGUKPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfdWFwaS5jIGIvZHJpdmVycy9ncHUvZHJtL2Ry bV9hdG9taWNfdWFwaS5jCj4gaW5kZXggZDE5NjJjZGVhNjAyLi4xZDlhNjE0MjIxOGUgMTAwNjQ0 Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfdWFwaS5jCj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL2RybV9hdG9taWNfdWFwaS5jCj4gQEAgLTEzMTIsOCArMTMxMiw5IEBAIGludCBk cm1fbW9kZV9hdG9taWNfaW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiAgCWRybV9tb2Rl c2V0X2FjcXVpcmVfaW5pdCgmY3R4LCBEUk1fTU9ERVNFVF9BQ1FVSVJFX0lOVEVSUlVQVElCTEUp Owo+ICAJc3RhdGUtPmFjcXVpcmVfY3R4ID0gJmN0eDsKPiAgCXN0YXRlLT5hbGxvd19tb2Rlc2V0 ID0gISEoYXJnLT5mbGFncyAmIERSTV9NT0RFX0FUT01JQ19BTExPV19NT0RFU0VUKTsKPiArCXN0 YXRlLT5hc3luY191cGRhdGUgPSAhIShhcmctPmZsYWdzICYgRFJNX01PREVfUEFHRV9GTElQX0FT WU5DKTsKPiAgCS8qIGFzeW5jIHRha2VzIHByZWNlZGVuY2Ugb3ZlciBhbWVuZCAqLwo+IC0Jc3Rh dGUtPmFtZW5kX3VwZGF0ZSA9IGFyZy0+ZmxhZ3MgJiBEUk1fTU9ERV9QQUdFX0ZMSVBfQVNZTkMg PyAwIDoKPiArCXN0YXRlLT5hbWVuZF91cGRhdGUgPSBzdGF0ZS0+YXN5bmNfdXBkYXRlID8gMCA6 Cj4gIAkJCQkJISEoYXJnLT5mbGFncyAmIERSTV9NT0RFX0FUT01JQ19BTUVORCk7Cj4gIAo+ICBy ZXRyeToKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL21kcDUvbWRwNV9w bGFuZS5jIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL21kcDUvbWRwNV9wbGFuZS5jCj4gaW5k ZXggODE0ZTgyMzBjZWM2Li5lM2IyYTJjNzQ4NTIgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUv ZHJtL21zbS9kaXNwL21kcDUvbWRwNV9wbGFuZS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL21z bS9kaXNwL21kcDUvbWRwNV9wbGFuZS5jCj4gQEAgLTUzMSw2ICs1MzEsOCBAQCBzdGF0aWMgY29u c3Qgc3RydWN0IGRybV9wbGFuZV9oZWxwZXJfZnVuY3MgbWRwNV9wbGFuZV9oZWxwZXJfZnVuY3Mg PSB7Cj4gIAkJLmNsZWFudXBfZmIgPSBtZHA1X3BsYW5lX2NsZWFudXBfZmIsCj4gIAkJLmF0b21p Y19jaGVjayA9IG1kcDVfcGxhbmVfYXRvbWljX2NoZWNrLAo+ICAJCS5hdG9taWNfdXBkYXRlID0g bWRwNV9wbGFuZV9hdG9taWNfdXBkYXRlLAo+ICsJCS5hdG9taWNfYXN5bmNfY2hlY2sgPSBtZHA1 X3BsYW5lX2F0b21pY19hc3luY19jaGVjaywKPiArCQkuYXRvbWljX2FzeW5jX3VwZGF0ZSA9IG1k cDVfcGxhbmVfYXRvbWljX2FzeW5jX3VwZGF0ZSwKPiAgCQkvKgo+ICAJCSAqIEZJWE1FOiBpZGVh bGx5LCBpbnN0ZWFkIG9mIGhvb2tpbmcgYXN5bmMgdXBkYXRlcyB0byBhbWVuZCwKPiAgCQkgKiB3 ZSBjb3VsZCBhdm9pZCB0ZWFyaW5nIGJ5IG1vZGlmeWluZyB0aGUgcGVuZGluZyBjb21taXQuCj4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9yb2NrY2hpcF9kcm1fdm9wLmMg Yi9kcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvcm9ja2NoaXBfZHJtX3ZvcC5jCj4gaW5kZXggMjE2 YWQ3NjExOGRjLi5jMmY3MjAxZTUyYTkgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3Jv Y2tjaGlwL3JvY2tjaGlwX2RybV92b3AuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hp cC9yb2NrY2hpcF9kcm1fdm9wLmMKPiBAQCAtOTU0LDYgKzk1NCwxMCBAQCBzdGF0aWMgY29uc3Qg c3RydWN0IGRybV9wbGFuZV9oZWxwZXJfZnVuY3MgcGxhbmVfaGVscGVyX2Z1bmNzID0gewo+ICAJ LmF0b21pY19kaXNhYmxlID0gdm9wX3BsYW5lX2F0b21pY19kaXNhYmxlLAo+ICAJLmF0b21pY19h bWVuZF9jaGVjayA9IHZvcF9wbGFuZV9hdG9taWNfYW1lbmRfY2hlY2ssCj4gIAkuYXRvbWljX2Ft ZW5kX3VwZGF0ZSA9IHZvcF9wbGFuZV9hdG9taWNfYW1lbmRfdXBkYXRlLAo+ICsJLyoKPiArCSAq IE5vdGU6IHJvY2tjaGlwIGRvZXNuJ3Qgc3VwcG9ydCBhc3luYyBwYWdlIGZsaXAsIHRodXMKPiAr CSAqIC5hdG9taWNfYXN5bmNfdXBkYXRlIGFuZCAuYXRvbWljX2FzeW5jX2NoZWNrIGFyZSBub3Qg cHJvdmlkZWQuCj4gKwkgKi8KPiAgCS5wcmVwYXJlX2ZiID0gZHJtX2dlbV9mYl9wcmVwYXJlX2Zi LAo+ICB9Owo+ICAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRfcGxhbmUu YyBiL2RyaXZlcnMvZ3B1L2RybS92YzQvdmM0X3BsYW5lLmMKPiBpbmRleCBlYTU2MDAwMDIyMmQu LjI0YTliZWZlODllNiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vdmM0L3ZjNF9wbGFu ZS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRfcGxhbmUuYwo+IEBAIC0xMTc1LDYg KzExNzUsOCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9wbGFuZV9oZWxwZXJfZnVuY3MgdmM0 X3BsYW5lX2hlbHBlcl9mdW5jcyA9IHsKPiAgCSAqLwo+ICAJLmF0b21pY19hbWVuZF9jaGVjayA9 IHZjNF9wbGFuZV9hdG9taWNfYXN5bmNfY2hlY2ssCj4gIAkuYXRvbWljX2FtZW5kX3VwZGF0ZSA9 IHZjNF9wbGFuZV9hdG9taWNfYXN5bmNfdXBkYXRlLAo+ICsJLmF0b21pY19hc3luY19jaGVjayA9 IHZjNF9wbGFuZV9hdG9taWNfYXN5bmNfY2hlY2ssCj4gKwkuYXRvbWljX2FzeW5jX3VwZGF0ZSA9 IHZjNF9wbGFuZV9hdG9taWNfYXN5bmNfdXBkYXRlLAo+ICB9Owo+ICAKPiAgc3RhdGljIHZvaWQg dmM0X3BsYW5lX2Rlc3Ryb3koc3RydWN0IGRybV9wbGFuZSAqcGxhbmUpCj4gZGlmZiAtLWdpdCBh L2luY2x1ZGUvZHJtL2RybV9hdG9taWMuaCBiL2luY2x1ZGUvZHJtL2RybV9hdG9taWMuaAo+IGlu ZGV4IGIxY2VkMDY5ZmZjMS4uMDU3NTZhMDllNzYyIDEwMDY0NAo+IC0tLSBhL2luY2x1ZGUvZHJt L2RybV9hdG9taWMuaAo+ICsrKyBiL2luY2x1ZGUvZHJtL2RybV9hdG9taWMuaAo+IEBAIC0zMDAs NiArMzAwLDcgQEAgc3RydWN0IF9fZHJtX3ByaXZhdGVfb2Jqc19zdGF0ZSB7Cj4gICAqIEByZWY6 IGNvdW50IG9mIGFsbCByZWZlcmVuY2VzIHRvIHRoaXMgc3RhdGUgKHdpbGwgbm90IGJlIGZyZWVk IHVudGlsIHplcm8pCj4gICAqIEBkZXY6IHBhcmVudCBEUk0gZGV2aWNlCj4gICAqIEBsZWdhY3lf Y3Vyc29yX3VwZGF0ZTogaGludCB0byBlbmZvcmNlIGxlZ2FjeSBjdXJzb3IgSU9DVEwgc2VtYW50 aWNzCj4gKyAqIEBhc3luY191cGRhdGU6IGhpbnQgZm9yIGFzeW5jcm9ub3VzIHBhZ2UgZmxpcCB1 cGRhdGUKPiAgICogQGFtZW5kX3VwZGF0ZTogaGludCBmb3IgYW1lbmQgcGxhbmUgdXBkYXRlCj4g ICAqIEBwbGFuZXM6IHBvaW50ZXIgdG8gYXJyYXkgb2Ygc3RydWN0dXJlcyB3aXRoIHBlci1wbGFu ZSBkYXRhCj4gICAqIEBjcnRjczogcG9pbnRlciB0byBhcnJheSBvZiBDUlRDIHBvaW50ZXJzCj4g QEAgLTMyOCw2ICszMjksNyBAQCBzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSB7Cj4gIAkgKi8KPiAg CWJvb2wgYWxsb3dfbW9kZXNldCA6IDE7Cj4gIAlib29sIGxlZ2FjeV9jdXJzb3JfdXBkYXRlIDog MTsKPiArCWJvb2wgYXN5bmNfdXBkYXRlIDogMTsKPiAgCWJvb2wgYW1lbmRfdXBkYXRlIDogMTsK PiAgCS8qKgo+ICAJICogQGR1cGxpY2F0ZWQ6Cj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2Ry bV9hdG9taWNfaGVscGVyLmggYi9pbmNsdWRlL2RybS9kcm1fYXRvbWljX2hlbHBlci5oCj4gaW5k ZXggOGNlMDU5NGNjZmI5Li4zOWU1N2Q1NTlhMzAgMTAwNjQ0Cj4gLS0tIGEvaW5jbHVkZS9kcm0v ZHJtX2F0b21pY19oZWxwZXIuaAo+ICsrKyBiL2luY2x1ZGUvZHJtL2RybV9hdG9taWNfaGVscGVy LmgKPiBAQCAtNTUsMTAgKzU1LDExIEBAIHZvaWQgZHJtX2F0b21pY19oZWxwZXJfY29tbWl0X3Rh aWxfcnBtKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSk7Cj4gIGludCBkcm1fYXRvbWlj X2hlbHBlcl9jb21taXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiAgCQkJICAgICBzdHJ1Y3Qg ZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUsCj4gIAkJCSAgICAgYm9vbCBub25ibG9jayk7Cj4gLWlu dCBkcm1fYXRvbWljX2hlbHBlcl9hbWVuZF9jaGVjayhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ IC0JCQkJICBzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpOwo+IC12b2lkIGRybV9hdG9t aWNfaGVscGVyX2FtZW5kX2NvbW1pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+IC0JCQkJICAg IHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSk7Cj4gK2ludCBkcm1fYXRvbWljX2hlbHBl cl9hc3luY19hbWVuZF9jaGVjayhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ICsJCQkJCXN0cnVj dCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSwKPiArCQkJCQlib29sIGFtZW5kKTsKPiArdm9pZCBk cm1fYXRvbWljX2hlbHBlcl9hc3luY19hbWVuZF9jb21taXQoc3RydWN0IGRybV9kZXZpY2UgKmRl diwKPiArCQkJCQkgIHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSk7Cj4gIAo+ICBpbnQg ZHJtX2F0b21pY19oZWxwZXJfd2FpdF9mb3JfZmVuY2VzKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYs Cj4gIAkJCQkJc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlLAo+IGRpZmYgLS1naXQgYS9p bmNsdWRlL2RybS9kcm1fbW9kZXNldF9oZWxwZXJfdnRhYmxlcy5oIGIvaW5jbHVkZS9kcm0vZHJt X21vZGVzZXRfaGVscGVyX3Z0YWJsZXMuaAo+IGluZGV4IGQ5MmU2MmRkNzZjNC4uYzI4NjNkNjJm MTYwIDEwMDY0NAo+IC0tLSBhL2luY2x1ZGUvZHJtL2RybV9tb2Rlc2V0X2hlbHBlcl92dGFibGVz LmgKPiArKysgYi9pbmNsdWRlL2RybS9kcm1fbW9kZXNldF9oZWxwZXJfdnRhYmxlcy5oCj4gQEAg LTExMzUsNiArMTEzNSw0MyBAQCBzdHJ1Y3QgZHJtX3BsYW5lX2hlbHBlcl9mdW5jcyB7Cj4gIAl2 b2lkICgqYXRvbWljX2Rpc2FibGUpKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAo+ICAJCQkgICAg ICAgc3RydWN0IGRybV9wbGFuZV9zdGF0ZSAqb2xkX3N0YXRlKTsKPiAgCj4gKwkvKioKPiArCSAq IEBhdG9taWNfYXN5bmNfY2hlY2s6Cj4gKwkgKgo+ICsJICogRHJpdmVycyBzaG91bGQgc2V0IHRo aXMgZnVuY3Rpb24gcG9pbnRlciB0byBjaGVjayBpZiBhIHBhZ2UgZmxpcCBjYW4KPiArCSAqIGJl IHBlcmZvcm1lZCBhc3luY2hyb25vdXNseSwgaS5lLiwgaW1tZWRpYXRlbHkgd2l0aG91dCB3YWl0 aW5nIGZvciBhCj4gKwkgKiB2YmxhbmsuCj4gKwkgKgo+ICsJICogVGhpcyBob29rIGlzIGNhbGxl ZCBieSBkcm1fYXRvbWljX2FzeW5jX2NoZWNrKCkgdG8gZXN0YWJsaXNoIGlmIGEKPiArCSAqIGdp dmVuIHVwZGF0ZSBjYW4gYmUgY29tbWl0dGVkIGluIGFzeW5jIG1vZGUsIHRoYXQgaXMsIGlmIGl0 IGNhbgo+ICsJICoganVtcCBhaGVhZCBvZiB0aGUgc3RhdGUgY3VycmVudGx5IHF1ZXVlZCBmb3Ig dXBkYXRlLgo+ICsJICoKPiArCSAqIFJFVFVSTlM6Cj4gKwkgKgo+ICsJICogUmV0dXJuIDAgb24g c3VjY2VzcyBhbmQgYW55IGVycm9yIHJldHVybmVkIGluZGljYXRlcyB0aGF0IHRoZSB1cGRhdGUK PiArCSAqIGNhbiBub3QgYmUgYXBwbGllZCBpbiBhc3luZCBtb2RlLgo+ICsJICovCj4gKwlpbnQg KCphdG9taWNfYXN5bmNfY2hlY2spKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAo+ICsJCQkJICBz dHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpzdGF0ZSk7Cj4gKwo+ICsJLyoqCj4gKwkgKiBAYXRvbWlj X2FzeW5jX3VwZGF0ZToKPiArCSAqCj4gKwkgKiBEcml2ZXJzIHNob3VsZCBzZXQgdGhpcyBmdW5j dGlvbiBwb2ludGVyIHRvIHBlcmZvcm0gYXN5bmNocm9ub3VzIHBhZ2UKPiArCSAqIGZsaXBzIHRo cm91Z2ggdGhlIGF0b21pYyBhcGksIGkuZS4gbm90IHZibGFuayBzeW5jaHJvbml6ZWQuCj4gKwkg Kgo+ICsJICogTm90ZSB0aGF0IHVubGlrZSAmZHJtX3BsYW5lX2hlbHBlcl9mdW5jcy5hdG9taWNf dXBkYXRlIHRoaXMgaG9vawo+ICsJICogdGFrZXMgdGhlIG5ldyAmZHJtX3BsYW5lX3N0YXRlIGFz IHBhcmFtZXRlci4gV2hlbiBkb2luZyBhc3luY191cGRhdGUKPiArCSAqIGRyaXZlcnMgc2hvdWxk bid0IHJlcGxhY2UgdGhlICZkcm1fcGxhbmVfc3RhdGUgYnV0IHVwZGF0ZSB0aGUKPiArCSAqIGN1 cnJlbnQgb25lIHdpdGggdGhlIG5ldyBwbGFuZSBjb25maWd1cmF0aW9ucyBpbiB0aGUgbmV3Cj4g KwkgKiBwbGFuZV9zdGF0ZS4KPiArCSAqCj4gKwkgKiBGSVhNRToKPiArCSAqICAtIEl0IG9ubHkg d29ya3MgZm9yIHNpbmdsZSBwbGFuZSB1cGRhdGVzCj4gKwkgKi8KPiArCXZvaWQgKCphdG9taWNf YXN5bmNfdXBkYXRlKShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKPiArCQkJCSAgICBzdHJ1Y3Qg ZHJtX3BsYW5lX3N0YXRlICpuZXdfc3RhdGUpOwo+ICsKPiAgCS8qKgo+ICAJICogQGF0b21pY19h bWVuZF9jaGVjazoKPiAgCSAqCj4gCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVk ZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZv L2RyaS1kZXZlbA==